@webiny/app-admin 5.17.4 → 5.18.0-beta.3

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 (287) hide show
  1. package/components/AdminLayout.js +1 -2
  2. package/components/AppInstaller/Sidebar.js +1 -2
  3. package/components/AppInstaller/index.js +1 -2
  4. package/components/AppInstaller/styled.d.ts +4 -4
  5. package/components/AppInstaller/styled.js +1 -2
  6. package/components/AppInstaller/useInstaller.js +1 -2
  7. package/components/EmptyView.js +1 -2
  8. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +1 -2
  9. package/components/FileManager/BottomInfoBar/UploadStatus.js +1 -2
  10. package/components/FileManager/BottomInfoBar.js +1 -2
  11. package/components/FileManager/DropFilesHere.js +1 -2
  12. package/components/FileManager/File.js +1 -2
  13. package/components/FileManager/FileDetails/Name.js +1 -2
  14. package/components/FileManager/FileDetails/Tags.js +1 -2
  15. package/components/FileManager/FileDetails.js +1 -2
  16. package/components/FileManager/FileManagerContext.js +1 -2
  17. package/components/FileManager/FileManagerView.js +1 -2
  18. package/components/FileManager/LeftSidebar.js +1 -2
  19. package/components/FileManager/NoPermissionView.js +1 -2
  20. package/components/FileManager/NoResults.js +1 -2
  21. package/components/FileManager/getFileTypePlugin.js +1 -2
  22. package/components/FileManager/getFileUploader.js +1 -2
  23. package/components/FileManager/graphql.js +1 -2
  24. package/components/FileManager/outputFileSelectionError.js +1 -2
  25. package/components/FileManager.js +1 -2
  26. package/components/FloatingActionButton.js +1 -2
  27. package/components/MultiImageUpload.js +1 -2
  28. package/components/OverlayLayout/OverlayLayout.js +1 -2
  29. package/components/OverlayLayout/index.js +1 -2
  30. package/components/Permissions/Permissions.js +1 -2
  31. package/components/Permissions/StyledComponents.js +1 -2
  32. package/components/Permissions/index.js +1 -2
  33. package/components/RichTextEditor/RichTextEditor.js +1 -2
  34. package/components/RichTextEditor/index.js +1 -2
  35. package/components/RichTextEditor/tools/header/index.js +1 -2
  36. package/components/RichTextEditor/tools/image/index.d.ts +7 -6
  37. package/components/RichTextEditor/tools/image/index.js +6 -2
  38. package/components/RichTextEditor/tools/image/svgs.js +1 -2
  39. package/components/RichTextEditor/tools/image/tunes.js +1 -2
  40. package/components/RichTextEditor/tools/image/ui.js +1 -2
  41. package/components/RichTextEditor/tools/paragraph/index.js +1 -2
  42. package/components/RichTextEditor/tools/textColor/index.js +1 -2
  43. package/components/RichTextEditor/tools/utils.js +1 -2
  44. package/components/SearchUI.js +1 -2
  45. package/components/SimpleForm/SimpleForm.js +1 -2
  46. package/components/SimpleForm/index.js +1 -2
  47. package/components/SimpleUI/InputField.js +1 -2
  48. package/components/SingleImageUpload.js +1 -2
  49. package/components/SplitView/SplitView.js +1 -2
  50. package/components/SplitView/index.js +1 -2
  51. package/components/index.js +1 -2
  52. package/hooks/useConfirmationDialog.js +1 -2
  53. package/hooks/useDialog.js +1 -2
  54. package/hooks/useSnackbar.js +1 -2
  55. package/package.json +13 -13
  56. package/plugins/FileManagerFileTypePlugin.js +1 -2
  57. package/plugins/MenuPlugin.js +1 -2
  58. package/plugins/PermissionRendererPlugin.js +1 -2
  59. package/plugins/fileManager/fileDefault.js +1 -2
  60. package/plugins/fileManager/fileImage/DeleteAction.js +1 -2
  61. package/plugins/fileManager/fileImage/EditAction.js +1 -2
  62. package/plugins/fileManager/fileImage/index.js +1 -2
  63. package/plugins/fileManager/index.js +1 -2
  64. package/plugins/globalSearch/SearchBar.js +1 -2
  65. package/plugins/globalSearch/SearchBarDropdown.js +1 -2
  66. package/plugins/globalSearch/index.js +1 -2
  67. package/plugins/globalSearch/styled.d.ts +3 -3
  68. package/plugins/globalSearch/styled.js +1 -2
  69. package/plugins/index.js +1 -2
  70. package/plugins/logo/Logo.d.ts +1 -1
  71. package/plugins/logo/Logo.js +2 -3
  72. package/plugins/logo/index.js +1 -2
  73. package/plugins/menu/documentation.js +3 -3
  74. package/plugins/menu/fileManager.js +1 -2
  75. package/plugins/menu/index.js +1 -2
  76. package/plugins/menu/renderers/MenuGroupRenderer.js +1 -2
  77. package/plugins/menu/renderers/MenuLinkRenderer.js +4 -3
  78. package/plugins/menu/renderers/MenuSectionItemRenderer.js +1 -2
  79. package/plugins/menu/renderers/MenuSectionRenderer.js +1 -2
  80. package/plugins/menu/slack.js +3 -3
  81. package/plugins/menu/source.js +3 -3
  82. package/plugins/uiLayoutRenderer/index.js +1 -2
  83. package/plugins/userMenu/UserMenuElement.js +1 -2
  84. package/plugins/userMenu/UserMenuRenderer.js +1 -2
  85. package/plugins/userMenu/index.js +1 -2
  86. package/types.js +1 -2
  87. package/ui/UIElement.js +1 -2
  88. package/ui/UILayout.js +1 -2
  89. package/ui/UIRenderer.js +1 -2
  90. package/ui/UIView.js +1 -2
  91. package/ui/elements/AccordionElement.js +1 -2
  92. package/ui/elements/ButtonElement.js +1 -2
  93. package/ui/elements/ButtonGroupElement.js +1 -2
  94. package/ui/elements/GenericElement.js +1 -2
  95. package/ui/elements/LabelElement.js +1 -2
  96. package/ui/elements/NavigationMenuElement.d.ts +1 -0
  97. package/ui/elements/NavigationMenuElement.js +1 -2
  98. package/ui/elements/PanelElement.js +1 -2
  99. package/ui/elements/PlaceholderElement.js +1 -2
  100. package/ui/elements/SmallButtonElement.js +1 -2
  101. package/ui/elements/TypographyElement.js +1 -2
  102. package/ui/elements/ViewElement.js +1 -2
  103. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +1 -2
  104. package/ui/elements/form/DynamicFieldsetElement.js +1 -2
  105. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +1 -2
  106. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +1 -2
  107. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +1 -2
  108. package/ui/elements/form/FileManagerElement/styled.d.ts +9 -9
  109. package/ui/elements/form/FileManagerElement/styled.js +1 -2
  110. package/ui/elements/form/FileManagerElement.d.ts +3 -2
  111. package/ui/elements/form/FileManagerElement.js +1 -2
  112. package/ui/elements/form/FormElement.js +1 -2
  113. package/ui/elements/form/FormFieldElement.js +1 -2
  114. package/ui/elements/form/HiddenElement.js +1 -2
  115. package/ui/elements/form/InputElement.js +1 -2
  116. package/ui/elements/form/PasswordElement.js +1 -2
  117. package/ui/elements/form/SelectElement.js +1 -2
  118. package/ui/elements/form/TextareaElement.js +1 -2
  119. package/ui/views/AdminView/ContentElement.js +1 -2
  120. package/ui/views/AdminView/HeaderElement.js +1 -2
  121. package/ui/views/AdminView/HeaderSectionCenterElement.js +1 -2
  122. package/ui/views/AdminView/HeaderSectionLeftElement.js +1 -2
  123. package/ui/views/AdminView/HeaderSectionRightElement.js +1 -2
  124. package/ui/views/AdminView/components/Dialog.js +1 -2
  125. package/ui/views/AdminView/components/Hamburger.js +1 -2
  126. package/ui/views/AdminView/components/Snackbar.js +1 -2
  127. package/ui/views/AdminView.js +1 -2
  128. package/ui/views/FormView/FormContainerElement.js +1 -2
  129. package/ui/views/FormView/FormContentElement.js +1 -2
  130. package/ui/views/FormView/FormFooterElement.js +1 -2
  131. package/ui/views/FormView/FormHeaderElement.js +1 -2
  132. package/ui/views/FormView.js +1 -2
  133. package/ui/views/NavigationView/ContentElement.js +1 -2
  134. package/ui/views/NavigationView/FooterElement.js +1 -2
  135. package/ui/views/NavigationView/HeaderElement.js +1 -2
  136. package/ui/views/NavigationView/NavigationViewRenderer.js +1 -2
  137. package/ui/views/NavigationView/Styled.d.ts +2 -2
  138. package/ui/views/NavigationView/Styled.js +1 -2
  139. package/ui/views/NavigationView/legacyMenu.js +1 -2
  140. package/ui/views/NavigationView/useNavigation.js +1 -2
  141. package/ui/views/NavigationView.js +1 -2
  142. package/ui/views/OverlayView/ContentElement.js +1 -2
  143. package/ui/views/OverlayView/HeaderElement.js +1 -2
  144. package/ui/views/OverlayView/HeaderTitleElement.js +1 -2
  145. package/ui/views/OverlayView/useOverlayView.js +1 -2
  146. package/ui/views/OverlayView.js +1 -2
  147. package/ui/views/SplitView/SplitViewPanelElement.js +1 -2
  148. package/ui/views/SplitView.js +1 -2
  149. package/components/AdminLayout.js.map +0 -1
  150. package/components/AppInstaller/Sidebar.js.map +0 -1
  151. package/components/AppInstaller/index.js.map +0 -1
  152. package/components/AppInstaller/styled.js.map +0 -1
  153. package/components/AppInstaller/useInstaller.js.map +0 -1
  154. package/components/EmptyView.js.map +0 -1
  155. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
  156. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
  157. package/components/FileManager/BottomInfoBar.js.map +0 -1
  158. package/components/FileManager/DropFilesHere.js.map +0 -1
  159. package/components/FileManager/File.js.map +0 -1
  160. package/components/FileManager/FileDetails/Name.js.map +0 -1
  161. package/components/FileManager/FileDetails/Tags.js.map +0 -1
  162. package/components/FileManager/FileDetails.js.map +0 -1
  163. package/components/FileManager/FileManagerContext.js.map +0 -1
  164. package/components/FileManager/FileManagerView.js.map +0 -1
  165. package/components/FileManager/LeftSidebar.js.map +0 -1
  166. package/components/FileManager/NoPermissionView.js.map +0 -1
  167. package/components/FileManager/NoResults.js.map +0 -1
  168. package/components/FileManager/getFileTypePlugin.js.map +0 -1
  169. package/components/FileManager/getFileUploader.js.map +0 -1
  170. package/components/FileManager/graphql.js.map +0 -1
  171. package/components/FileManager/outputFileSelectionError.js.map +0 -1
  172. package/components/FileManager.js.map +0 -1
  173. package/components/FloatingActionButton.js.map +0 -1
  174. package/components/MultiImageUpload.js.map +0 -1
  175. package/components/OverlayLayout/OverlayLayout.js.map +0 -1
  176. package/components/OverlayLayout/index.js.map +0 -1
  177. package/components/Permissions/Permissions.js.map +0 -1
  178. package/components/Permissions/StyledComponents.js.map +0 -1
  179. package/components/Permissions/index.js.map +0 -1
  180. package/components/RichTextEditor/RichTextEditor.js.map +0 -1
  181. package/components/RichTextEditor/index.js.map +0 -1
  182. package/components/RichTextEditor/tools/header/index.js.map +0 -1
  183. package/components/RichTextEditor/tools/image/index.js.map +0 -1
  184. package/components/RichTextEditor/tools/image/svgs.js.map +0 -1
  185. package/components/RichTextEditor/tools/image/tunes.js.map +0 -1
  186. package/components/RichTextEditor/tools/image/ui.js.map +0 -1
  187. package/components/RichTextEditor/tools/paragraph/index.js.map +0 -1
  188. package/components/RichTextEditor/tools/textColor/index.js.map +0 -1
  189. package/components/RichTextEditor/tools/utils.js.map +0 -1
  190. package/components/SearchUI.js.map +0 -1
  191. package/components/SimpleForm/SimpleForm.js.map +0 -1
  192. package/components/SimpleForm/index.js.map +0 -1
  193. package/components/SimpleUI/InputField.js.map +0 -1
  194. package/components/SingleImageUpload.js.map +0 -1
  195. package/components/SplitView/SplitView.js.map +0 -1
  196. package/components/SplitView/index.js.map +0 -1
  197. package/components/index.js.map +0 -1
  198. package/hooks/useConfirmationDialog.js.map +0 -1
  199. package/hooks/useDialog.js.map +0 -1
  200. package/hooks/useSnackbar.js.map +0 -1
  201. package/plugins/FileManagerFileTypePlugin.js.map +0 -1
  202. package/plugins/MenuPlugin.js.map +0 -1
  203. package/plugins/PermissionRendererPlugin.js.map +0 -1
  204. package/plugins/fileManager/fileDefault.js.map +0 -1
  205. package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
  206. package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
  207. package/plugins/fileManager/fileImage/index.js.map +0 -1
  208. package/plugins/fileManager/index.js.map +0 -1
  209. package/plugins/globalSearch/SearchBar.js.map +0 -1
  210. package/plugins/globalSearch/SearchBarDropdown.js.map +0 -1
  211. package/plugins/globalSearch/index.js.map +0 -1
  212. package/plugins/globalSearch/styled.js.map +0 -1
  213. package/plugins/index.js.map +0 -1
  214. package/plugins/logo/Logo.js.map +0 -1
  215. package/plugins/logo/index.js.map +0 -1
  216. package/plugins/menu/documentation.js.map +0 -1
  217. package/plugins/menu/fileManager.js.map +0 -1
  218. package/plugins/menu/index.js.map +0 -1
  219. package/plugins/menu/renderers/MenuGroupRenderer.js.map +0 -1
  220. package/plugins/menu/renderers/MenuLinkRenderer.js.map +0 -1
  221. package/plugins/menu/renderers/MenuSectionItemRenderer.js.map +0 -1
  222. package/plugins/menu/renderers/MenuSectionRenderer.js.map +0 -1
  223. package/plugins/menu/slack.js.map +0 -1
  224. package/plugins/menu/source.js.map +0 -1
  225. package/plugins/uiLayoutRenderer/index.js.map +0 -1
  226. package/plugins/userMenu/UserMenuElement.js.map +0 -1
  227. package/plugins/userMenu/UserMenuRenderer.js.map +0 -1
  228. package/plugins/userMenu/index.js.map +0 -1
  229. package/types.js.map +0 -1
  230. package/ui/UIElement.js.map +0 -1
  231. package/ui/UILayout.js.map +0 -1
  232. package/ui/UIRenderer.js.map +0 -1
  233. package/ui/UIView.js.map +0 -1
  234. package/ui/elements/AccordionElement.js.map +0 -1
  235. package/ui/elements/ButtonElement.js.map +0 -1
  236. package/ui/elements/ButtonGroupElement.js.map +0 -1
  237. package/ui/elements/GenericElement.js.map +0 -1
  238. package/ui/elements/LabelElement.js.map +0 -1
  239. package/ui/elements/NavigationMenuElement.js.map +0 -1
  240. package/ui/elements/PanelElement.js.map +0 -1
  241. package/ui/elements/PlaceholderElement.js.map +0 -1
  242. package/ui/elements/SmallButtonElement.js.map +0 -1
  243. package/ui/elements/TypographyElement.js.map +0 -1
  244. package/ui/elements/ViewElement.js.map +0 -1
  245. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +0 -1
  246. package/ui/elements/form/DynamicFieldsetElement.js.map +0 -1
  247. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +0 -1
  248. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +0 -1
  249. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +0 -1
  250. package/ui/elements/form/FileManagerElement/styled.js.map +0 -1
  251. package/ui/elements/form/FileManagerElement.js.map +0 -1
  252. package/ui/elements/form/FormElement.js.map +0 -1
  253. package/ui/elements/form/FormFieldElement.js.map +0 -1
  254. package/ui/elements/form/HiddenElement.js.map +0 -1
  255. package/ui/elements/form/InputElement.js.map +0 -1
  256. package/ui/elements/form/PasswordElement.js.map +0 -1
  257. package/ui/elements/form/SelectElement.js.map +0 -1
  258. package/ui/elements/form/TextareaElement.js.map +0 -1
  259. package/ui/views/AdminView/ContentElement.js.map +0 -1
  260. package/ui/views/AdminView/HeaderElement.js.map +0 -1
  261. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +0 -1
  262. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +0 -1
  263. package/ui/views/AdminView/HeaderSectionRightElement.js.map +0 -1
  264. package/ui/views/AdminView/components/Dialog.js.map +0 -1
  265. package/ui/views/AdminView/components/Hamburger.js.map +0 -1
  266. package/ui/views/AdminView/components/Snackbar.js.map +0 -1
  267. package/ui/views/AdminView.js.map +0 -1
  268. package/ui/views/FormView/FormContainerElement.js.map +0 -1
  269. package/ui/views/FormView/FormContentElement.js.map +0 -1
  270. package/ui/views/FormView/FormFooterElement.js.map +0 -1
  271. package/ui/views/FormView/FormHeaderElement.js.map +0 -1
  272. package/ui/views/FormView.js.map +0 -1
  273. package/ui/views/NavigationView/ContentElement.js.map +0 -1
  274. package/ui/views/NavigationView/FooterElement.js.map +0 -1
  275. package/ui/views/NavigationView/HeaderElement.js.map +0 -1
  276. package/ui/views/NavigationView/NavigationViewRenderer.js.map +0 -1
  277. package/ui/views/NavigationView/Styled.js.map +0 -1
  278. package/ui/views/NavigationView/legacyMenu.js.map +0 -1
  279. package/ui/views/NavigationView/useNavigation.js.map +0 -1
  280. package/ui/views/NavigationView.js.map +0 -1
  281. package/ui/views/OverlayView/ContentElement.js.map +0 -1
  282. package/ui/views/OverlayView/HeaderElement.js.map +0 -1
  283. package/ui/views/OverlayView/HeaderTitleElement.js.map +0 -1
  284. package/ui/views/OverlayView/useOverlayView.js.map +0 -1
  285. package/ui/views/OverlayView.js.map +0 -1
  286. package/ui/views/SplitView/SplitViewPanelElement.js.map +0 -1
  287. package/ui/views/SplitView.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.tsx"],"names":["React","UIRenderer","Ui","Image","AddImageIconWrapper","AddImageWrapper","FilePreviewWrapper","RemoveImage","Typography","EmptyStateElementRenderer","props","accept","fileManagerElement","getAccept","acceptsOnlyImages","every","el","startsWith","renderImageProps","width","height","value","showFileManager","onChange","src","split","pop"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,UAAT;AACA,OAAO,KAAKC,EAAZ,MAAoB,wBAApB;AACA,SAASC,KAAT,QAAsB,wBAAtB;AAEA,SAASC,mBAAT,EAA8BC,eAA9B,EAA+CC,kBAA/C,EAAmEC,WAAnE;;AAEA,SAASC,UAAT,QAA2B,uBAA3B;;AAGA,WAAaC,yBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAII,sBAEsF;AAAA,UADlFC,KACkF,QADlFA,KACkF;AAClF,UAAMC,MAAM,GAAGD,KAAK,CAACE,kBAAN,CAAyBC,SAAzB,EAAf;AACA,UAAMC,iBAAiB,GAAG,CAACH,MAAD,IAAWA,MAAM,CAACI,KAAP,CAAa,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACC,UAAH,CAAc,QAAd,CAAJ;AAAA,OAAf,CAArC;;AAEA,UAAIH,iBAAJ,EAAuB;AACnB,4BACI,oBAAC,EAAD,CAAI,KAAJ;AACI,UAAA,WAAW,EAAE,iBADjB;AAEI,UAAA,kBAAkB,EAAE,4BAAAI,gBAAgB;AAAA,gCAAI,oBAAC,KAAD,EAAWA,gBAAX,CAAJ;AAAA,WAFxC;AAGI,UAAA,KAAK,EAAE;AAAEC,YAAAA,KAAK,EAAE,MAAT;AAAiBC,YAAAA,MAAM,EAAE;AAAzB,WAHX;AAII,UAAA,KAAK,EAAEV,KAAK,CAACW,KAJjB;AAKI,UAAA,WAAW,EAAEX,KAAK,CAACY,eALvB;AAMI,UAAA,WAAW,EAAEZ,KAAK,CAACa;AANvB,UADJ;AAUH;;AAED,UAAIb,KAAK,CAACW,KAAV,EAAiB;AACb,4BACI,oBAAC,kBAAD,qBACI,kEACmB,oCAASX,KAAK,CAACW,KAAN,CAAYG,GAAZ,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,GAA3B,EAAT,CADnB,CADJ,eAKI,oBAAC,WAAD;AAAa,UAAA,OAAO,EAAE;AAAA,mBAAMhB,KAAK,CAACa,QAAN,CAAe,IAAf,CAAN;AAAA;AAAtB,wBACI,oBAAC,eAAD,OADJ,CALJ,eASI,oBAAC,eAAD;AAAiB,uBAAW,aAA5B;AAA2C,UAAA,OAAO,EAAEb,KAAK,CAACY;AAA1D,wBACI,oBAAC,mBAAD,qBACI,oBAAC,WAAD,OADJ,eAEI,oBAAC,UAAD;AAAY,UAAA,GAAG,EAAE;AAAjB,2BAFJ,CADJ,CATJ,CADJ;AAkBH;;AAED,0BACI,oBAAC,eAAD;AAAiB,qBAAW,aAA5B;AAA2C,QAAA,OAAO,EAAEZ,KAAK,CAACY;AAA1D,sBACI,oBAAC,mBAAD,qBACI,oBAAC,WAAD,OADJ,eAEI,oBAAC,UAAD;AAAY,QAAA,GAAG,EAAE;AAAjB,yBAFJ,CADJ,CADJ;AAQH;AApDL;;AAAA;AAAA,EAA+CrB,UAA/C","sourcesContent":["import React from \"react\";\nimport { EmptyStateElement } from \"./EmptyStateElement\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport * as Ui from \"@webiny/ui/ImageUpload\";\nimport { Image } from \"@webiny/app/components\";\nimport { FileManagerElementRenderProps } from \"~/ui/elements/form/FileManagerElement/FileManagerElementRenderer\";\nimport { AddImageIconWrapper, AddImageWrapper, FilePreviewWrapper, RemoveImage } from \"./styled\";\nimport { ReactComponent as AddFileIcon } from \"~/assets/icons/attach_file_black_24dp.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as RemoveImageIcon } from \"@webiny/ui/ImageUpload/icons/round-close-24px.svg\";\n\nexport class EmptyStateElementRenderer extends UIRenderer<\n EmptyStateElement,\n FileManagerElementRenderProps\n> {\n render({\n props\n }: UIRenderParams<EmptyStateElement, FileManagerElementRenderProps>): React.ReactNode {\n const accept = props.fileManagerElement.getAccept();\n const acceptsOnlyImages = !accept || accept.every(el => el.startsWith(\"image/\"));\n\n if (acceptsOnlyImages) {\n return (\n <Ui.Image\n placeholder={\"Select an image\"}\n renderImagePreview={renderImageProps => <Image {...renderImageProps} />}\n style={{ width: \"100%\", height: \"auto\" }}\n value={props.value}\n uploadImage={props.showFileManager}\n removeImage={props.onChange}\n />\n );\n }\n\n if (props.value) {\n return (\n <FilePreviewWrapper>\n <span>\n Attached file: <strong>{props.value.src.split(\"/\").pop()}</strong>\n </span>\n\n <RemoveImage onClick={() => props.onChange(null)}>\n <RemoveImageIcon />\n </RemoveImage>\n\n <AddImageWrapper data-role={\"select-file\"} onClick={props.showFileManager}>\n <AddImageIconWrapper>\n <AddFileIcon />\n <Typography use={\"caption\"}>Select a file</Typography>\n </AddImageIconWrapper>\n </AddImageWrapper>\n </FilePreviewWrapper>\n );\n }\n\n return (\n <AddImageWrapper data-role={\"select-file\"} onClick={props.showFileManager}>\n <AddImageIconWrapper>\n <AddFileIcon />\n <Typography use={\"caption\"}>Select a file</Typography>\n </AddImageIconWrapper>\n </AddImageWrapper>\n );\n }\n}\n"],"file":"EmptyStateElementRenderer.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/elements/form/FileManagerElement/FileManagerElementRenderer.tsx"],"names":["React","styled","UIRenderer","FormElementMessage","FileManager","ImageUploadWrapper","position","opacity","pointerEvents","transform","top","left","color","FileManagerElementRenderer","element","props","formProps","Error","Bind","accept","getAccept","label","getLabel","description","getDescription","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","onChange","validation","getOnChangePickAttributes","getMaxSize","getMultipleMaxCount","getMultipleMaxSize","showFileManager","getEmptyStateElement","render","fileManagerElement","isValid","message"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { FileManagerElement } from \"~/ui/elements/form/FileManagerElement\";\nimport { FileManager } from \"~/components\";\nimport { FormFieldElementRenderProps } from \"~/ui/elements/form/FormFieldElement\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\nexport interface FileManagerElementRenderProps extends FormFieldElementRenderProps {\n fileManagerElement: FileManagerElement;\n value: any;\n showFileManager: () => void;\n onChange: (value: any) => void;\n}\n\nexport class FileManagerElementRenderer extends UIRenderer<\n FileManagerElement,\n FormFieldElementRenderProps\n> {\n render({\n element,\n props\n }: UIRenderParams<FileManagerElement, FormFieldElementRenderProps>): React.ReactNode {\n if (!props.formProps) {\n throw Error(`FileManagerElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n const accept = element.getAccept();\n const label = element.getLabel(props);\n const description = element.getDescription(props);\n\n return (\n <Bind\n name={element.getName()}\n validators={element.getValidators(props)}\n defaultValue={element.getDefaultValue(props)}\n beforeChange={(value, cb) => element.onBeforeChange(value, cb)}\n afterChange={(value, form) => element.onAfterChange(value, form)}\n >\n {({ value, onChange, validation }) => (\n <ImageUploadWrapper>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <FileManager\n onChange={onChange}\n onChangePick={element.getOnChangePickAttributes()}\n accept={accept}\n images={!accept}\n maxSize={element.getMaxSize()}\n multipleMaxCount={element.getMultipleMaxCount()}\n multipleMaxSize={element.getMultipleMaxSize()}\n >\n {({ showFileManager }) =>\n element.getEmptyStateElement().render({\n ...props,\n fileManagerElement: element,\n showFileManager,\n value,\n onChange\n })\n }\n </FileManager>\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </ImageUploadWrapper>\n )}\n </Bind>\n );\n }\n}\n"],"file":"FileManagerElementRenderer.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/elements/form/FileManagerElement/styled.ts"],"names":["styled","AddImageIconWrapper","color","width","height","maxWidth","maxHeight","display","opacity","margin","AddImageWrapper","minHeight","minWidth","textAlign","backgroundColor","borderRadius","borderBottom","alignItems","justifyContent","flexDirection","transition","cursor","padding","boxSizing","AddImageWrapperRound","RemoveImage","position","top","right","FilePreviewWrapper","zIndex","left","transform"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport styled from \"@emotion/styled\";\n\nexport const AddImageIconWrapper = styled(\"div\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n \">svg\": {\n width: \"100%\",\n height: \"100%\",\n maxWidth: 50,\n maxHeight: 50,\n display: \"block\",\n opacity: 0.5,\n margin: \"0 auto\"\n }\n});\n\nexport const AddImageWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n minHeight: 50,\n minWidth: 50,\n textAlign: \"center\",\n backgroundColor: \"var(--mdc-theme-on-background)\",\n borderRadius: 0,\n borderBottom: \"1px solid var(--mdc-theme-text-hint-on-background)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n flexDirection: \"column\",\n transition: \"color 0.2s\",\n cursor: \"pointer\",\n padding: 10,\n boxSizing: \"border-box\",\n \"&:hover\": {\n backgroundColor: \"rgba(0,0,0, 0.5)\",\n borderBottom: \"1px solid var(--mdc-theme-on-surface)\"\n }\n});\n\nexport const AddImageWrapperRound = styled(AddImageWrapper)({\n margin: \"auto\",\n width: \"150px\",\n height: \"150px\",\n borderRadius: \"50%\"\n});\n\nexport const RemoveImage = styled(\"div\")({\n position: \"absolute\",\n cursor: \"pointer\",\n top: 10,\n right: 10,\n display: \"none\",\n color: \"white\",\n opacity: 0.5,\n \"&:hover\": {\n opacity: 0.75\n }\n});\n\nexport const FilePreviewWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n minHeight: 90,\n minWidth: 50,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n flexDirection: \"column\",\n boxSizing: \"border-box\",\n position: \"relative\",\n backgroundColor: \"var(--mdc-theme-on-background)\",\n borderRadius: 0,\n borderBottom: \"1px solid var(--mdc-theme-text-hint-on-background)\",\n [AddImageWrapper]: {\n position: \"absolute\",\n display: \"none\",\n top: 0,\n height: \"100%\",\n zIndex: 1,\n backgroundColor: \"rgba(0,0,0, 0.75)\",\n [AddImageIconWrapper]: {\n top: \"50%\",\n left: \"50%\",\n transform: \"translateY(-50%) translateX(-50%)\",\n position: \"absolute\",\n color: \"white\"\n }\n },\n \"&:hover\": {\n [AddImageWrapper]: {\n display: \"block\"\n },\n [RemoveImage]: {\n display: \"block\",\n zIndex: 2\n }\n }\n});\n"],"file":"styled.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/FileManagerElement.tsx"],"names":["FormFieldElement","FileManagerElementRenderer","EmptyStateElement","FileManagerElement","id","config","addRenderer","_emptyStateElement","applyPlugins","accept","maxSize","multipleMaxCount","multipleMaxSize","onChangePickAttributes","attributes"],"mappings":";;;;;;AACA,SAASA,gBAAT;AACA,SAASC,0BAAT;AACA,SAASC,iBAAT;AAwBA,WAAaC,kBAAb;AAAA;;AAAA;;AAGI,8BAAYC,EAAZ,EAAwBC,MAAxB,EAA0D;AAAA;;AAAA;;AACtD,8BAAMD,EAAN,EAAUC,MAAV;;AADsD;;AAGtD,UAAKC,WAAL,CAAiB,IAAIL,0BAAJ,EAAjB;;AAEA,UAAKM,kBAAL,GAA0B,IAAIL,iBAAJ,CAAsB,YAAtB,CAA1B;;AAEA,UAAKM,YAAL,CAAkBL,kBAAlB;;AAPsD;AAQzD;;AAXL;AAAA;AAAA,WAaI,gCAAuB;AACnB,aAAO,KAAKI,kBAAZ;AACH;AAfL;AAAA;AAAA,WAiBI,qBAAY;AACR,aAAO,KAAKF,MAAL,CAAYI,MAAnB;AACH;AAnBL;AAAA;AAAA,WAqBI,mBAAUA,MAAV,EAA4B;AACxB,WAAKJ,MAAL,CAAYI,MAAZ,GAAqBA,MAArB;AACH;AAvBL;AAAA;AAAA,WAyBI,sBAAa;AACT,aAAO,KAAKJ,MAAL,CAAYK,OAAnB;AACH;AA3BL;AAAA;AAAA,WA6BI,oBAAWA,OAAX,EAAqC;AACjC,WAAKL,MAAL,CAAYK,OAAZ,GAAsBA,OAAtB;AACH;AA/BL;AAAA;AAAA,WAiCI,+BAAsB;AAClB,aAAO,KAAKL,MAAL,CAAYM,gBAAnB;AACH;AAnCL;AAAA;AAAA,WAqCI,6BAAoBA,gBAApB,EAA8C;AAC1C,WAAKN,MAAL,CAAYM,gBAAZ,GAA+BA,gBAA/B;AACH;AAvCL;AAAA;AAAA,WAyCI,8BAAqB;AACjB,aAAO,KAAKN,MAAL,CAAYO,eAAnB;AACH;AA3CL;AAAA;AAAA,WA6CI,4BAAmBA,eAAnB,EAAqD;AACjD,WAAKP,MAAL,CAAYO,eAAZ,GAA8BA,eAA9B;AACH;AA/CL;AAAA;AAAA,WAiDI,qCAA4B;AACxB,aAAO,KAAKP,MAAL,CAAYQ,sBAAnB;AACH;AAnDL;AAAA;AAAA,WAqDI,mCAA0BC,UAA1B,EAAgD;AAC5C,WAAKT,MAAL,CAAYQ,sBAAZ,GAAqCC,UAArC;AACH;AAvDL;;AAAA;AAAA,EAAwCd,gBAAxC","sourcesContent":["import { UIElement } from \"~/ui/UIElement\";\nimport { FormFieldElement, FormFieldElementConfig } from \"./FormFieldElement\";\nimport { FileManagerElementRenderer } from \"./FileManagerElement/FileManagerElementRenderer\";\nimport { EmptyStateElement } from \"./FileManagerElement/EmptyStateElement\";\n\nexport interface FileManagerElementConfig extends FormFieldElementConfig {\n // Define mime types that will be shown and accepted by FileManager\n accept?: string[];\n\n // Define file's max allowed size (default is \"10mb\").\n // Uses \"bytes\" (https://www.npmjs.com/package/bytes) library to convert string notation to actual number.\n maxSize?: number | string;\n\n // Max number of files in a single batch.\n multipleMaxCount?: number;\n\n // Max size of files in a single batch.\n multipleMaxSize?: number | string;\n\n // Define properties that are returned on file(s) selection.\n onChangePickAttributes?: string[];\n\n // Define whether multiple files can be selected1.\n // TODO: multiple?: boolean; - create a new renderer for \"multiple=true\" to render multiple files\n // It should work as in Headless CMS content entry form, see that for an example.\n}\n\nexport class FileManagerElement extends FormFieldElement<FileManagerElementConfig> {\n private _emptyStateElement: UIElement;\n\n constructor(id: string, config: FileManagerElementConfig) {\n super(id, config);\n\n this.addRenderer(new FileManagerElementRenderer());\n\n this._emptyStateElement = new EmptyStateElement(\"emptyState\");\n\n this.applyPlugins(FileManagerElement);\n }\n\n getEmptyStateElement() {\n return this._emptyStateElement;\n }\n\n getAccept() {\n return this.config.accept;\n }\n\n setAccept(accept: string[]) {\n this.config.accept = accept;\n }\n\n getMaxSize() {\n return this.config.maxSize;\n }\n\n setMaxSize(maxSize: number | string) {\n this.config.maxSize = maxSize;\n }\n\n getMultipleMaxCount() {\n return this.config.multipleMaxCount;\n }\n\n setMultipleMaxCount(multipleMaxCount: number) {\n this.config.multipleMaxCount = multipleMaxCount;\n }\n\n getMultipleMaxSize() {\n return this.config.multipleMaxSize;\n }\n\n setMultipleMaxSize(multipleMaxSize: number | string) {\n this.config.multipleMaxSize = multipleMaxSize;\n }\n\n getOnChangePickAttributes() {\n return this.config.onChangePickAttributes;\n }\n\n setOnChangePickAttributes(attributes: string[]) {\n this.config.onChangePickAttributes = attributes;\n }\n}\n"],"file":"FileManagerElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/FormElement.tsx"],"names":["React","Fragment","Form","UIElement","FormElement","id","config","useGrid","props","onSubmit","getData","formProps"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,IAAT,QAAyD,cAAzD;AACA,SAASC,SAAT;AAiBA,WAAaC,WAAb;AAAA;;AAAA;;AACI,uBAAYC,EAAZ,EAAgBC,MAAhB,EAAwB;AAAA;;AAAA;;AACpB,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHoB;AAIvB;;AALL;AAAA;AAAA,WAOI,gBAAOC,KAAP,EAAc;AAAA;;AACV,0BACI,oBAAC,IAAD;AAAM,QAAA,QAAQ,EAAE,KAAKF,MAAL,CAAYG,QAA5B;AAAsC,QAAA,IAAI,EAAE,KAAKH,MAAL,CAAYI,OAAZ;AAA5C,SACK,UAAAC,SAAS;AAAA,4BAAI,oBAAC,QAAD,oHAA6BH,KAA7B;AAAoCG,UAAAA,SAAS,EAATA;AAApC,YAAJ;AAAA,OADd,CADJ;AAKH;AAbL;;AAAA;AAAA,EAAiCR,SAAjC","sourcesContent":["import React, { Fragment } from \"react\";\nimport { Form, FormOnSubmit, FormRenderPropParams } from \"@webiny/form\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\n\ninterface FormElementConfig extends UIElementConfig {\n onSubmit: FormOnSubmit;\n getData(): Record<string, any>;\n getInvalidFields?(): Record<string, any>;\n isDisabled?(): boolean;\n onChange?: FormOnSubmit;\n onInvalid?: () => void;\n submitOnEnter?: boolean;\n validateOnFirstSubmit?: boolean;\n}\n\nexport interface FormElementRenderProps {\n formProps: FormRenderPropParams;\n}\n\nexport class FormElement extends UIElement<FormElementConfig> {\n constructor(id, config) {\n super(id, config);\n\n this.useGrid(false);\n }\n\n render(props) {\n return (\n <Form onSubmit={this.config.onSubmit} data={this.config.getData()}>\n {formProps => <Fragment>{super.render({ ...props, formProps })}</Fragment>}\n </Form>\n );\n }\n}\n"],"file":"FormElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/FormFieldElement.tsx"],"names":["UIElement","FormFieldElement","id","config","beforeChange","_beforeChange","push","afterChange","_afterChange","applyPlugins","name","props","validators","defaultValue","label","description","placeholder","value","isDisabled","cb","callbacks","next","length","pop","form"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams, FormAPI } from \"@webiny/form\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\n\nexport interface FormFieldElementConfig<TRenderProps = FormRenderPropParams>\n extends UIElementConfig<TRenderProps> {\n name: string;\n validators?: GetterWithProps<Function | Function[]>;\n beforeChange?: BeforeChange;\n afterChange?: AfterChange;\n defaultValue?: any | GetterWithProps<any>;\n isDisabled?: boolean | GetterWithProps<boolean>;\n label?: string | GetterWithProps<string>;\n description?: string | React.ReactElement | GetterWithProps<string | React.ReactElement>;\n placeholder?: string | GetterWithProps<string>;\n}\n\nexport interface FormFieldElementRenderProps {\n formProps: FormRenderPropParams;\n}\n\ninterface BeforeChange {\n (value: any, callback: BeforeChangeCallback): void;\n}\n\ninterface BeforeChangeCallback {\n (value: any): void;\n}\n\ninterface AfterChange {\n (value: any, form: FormAPI): void;\n}\n\ninterface GetterWithProps<T> {\n (props: FormElementRenderProps): T;\n}\n\nexport class FormFieldElement<\n TConfig extends FormFieldElementConfig = FormFieldElementConfig\n> extends UIElement<TConfig> {\n private _beforeChange: BeforeChange[] = [];\n private _afterChange: AfterChange[] = [];\n\n constructor(id: string, config: TConfig) {\n super(id, config);\n\n if (config.beforeChange) {\n this._beforeChange.push(config.beforeChange);\n }\n\n if (config.afterChange) {\n this._afterChange.push(config.afterChange);\n }\n\n this.applyPlugins(FormFieldElement);\n }\n\n getName() {\n return this.config.name;\n }\n\n getValidators(props?: FormFieldElementRenderProps): Function | Function[] {\n if (!this.config.validators || typeof this.config.validators !== \"function\") {\n return () => true;\n }\n\n return this.config.validators(props);\n }\n\n getDefaultValue(props?: FormFieldElementRenderProps): any {\n if (typeof this.config.defaultValue === \"function\") {\n return this.config.defaultValue(props);\n }\n\n return this.config.defaultValue;\n }\n\n getLabel(props?: FormFieldElementRenderProps): string {\n if (typeof this.config.label === \"function\") {\n return this.config.label(props);\n }\n\n return this.config.label;\n }\n\n getDescription(props?: FormFieldElementRenderProps): string | React.ReactElement {\n if (typeof this.config.description === \"function\") {\n return this.config.description(props);\n }\n\n return this.config.description;\n }\n\n getPlaceholder(props?: FormFieldElementRenderProps): string {\n if (typeof this.config.placeholder === \"function\") {\n return this.config.placeholder(props);\n }\n\n return this.config.placeholder;\n }\n\n setLabel(label: string | GetterWithProps<string>) {\n this.config.label = label;\n }\n\n setDescription(\n description: string | React.ReactElement | GetterWithProps<string | React.ReactElement>\n ) {\n this.config.description = description;\n }\n\n setPlaceholder(placeholder: string | GetterWithProps<string>) {\n this.config.placeholder = placeholder;\n }\n\n setDefaultValue(value: any | GetterWithProps<any>) {\n this.config.defaultValue = value;\n }\n\n getIsDisabled(props?: FormFieldElementRenderProps) {\n if (typeof this.config.isDisabled === \"function\") {\n return this.config.isDisabled(props);\n }\n return this.config.isDisabled;\n }\n\n setIsDisabled(isDisabled: boolean | GetterWithProps<boolean>) {\n this.config.isDisabled = isDisabled;\n }\n\n setValidators(validators: GetterWithProps<Function>) {\n this.config.validators = validators;\n }\n\n onBeforeChange(value, cb) {\n const callbacks = [...this._beforeChange];\n const next = value => {\n if (!callbacks.length) {\n cb(value);\n return;\n }\n callbacks.pop()(value, next);\n };\n\n next(value);\n }\n\n onAfterChange(value, form) {\n const callbacks = [...this._afterChange];\n const next = value => {\n if (!callbacks.length) {\n return;\n }\n callbacks.pop()(value, form);\n };\n\n next(value);\n }\n\n addBeforeChange(cb: BeforeChange) {\n this._beforeChange.push(cb);\n }\n\n addAfterChange(cb: AfterChange) {\n this._afterChange.push(cb);\n }\n\n setBeforeChange(cb: BeforeChange) {\n this._beforeChange = [cb];\n }\n\n setAfterChange(cb: AfterChange) {\n this._afterChange = [cb];\n }\n}\n"],"file":"FormFieldElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/HiddenElement.tsx"],"names":["React","FormFieldElement","HiddenElement","id","config","applyPlugins","props","formProps","Error","Bind","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SACIC,gBADJ;AAMA,WAAaC,aAAb;AAAA;;AAAA;;AACI,yBAAYC,EAAZ,EAAwBC,MAAxB,EAAwD;AAAA;;AAAA;;AACpD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,aAAlB;;AAHoD;AAIvD;;AALL;AAAA;AAAA,WAOI,gBAAOI,KAAP,EAA4D;AAAA;;AACxD,UAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;AAClB,cAAMC,KAAK,yDAAX;AACH;;AAED,UAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;AAEA,0BACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,KAAKC,OAAL,EADV;AAEI,QAAA,UAAU,EAAE,KAAKC,aAAL,CAAmBL,KAAnB,CAFhB;AAGI,QAAA,YAAY,EAAE,KAAKM,eAAL,CAAqBN,KAArB,CAHlB;AAII,QAAA,YAAY,EAAE,sBAACO,KAAD,EAAQC,EAAR;AAAA,iBAAe,MAAI,CAACC,cAAL,CAAoBF,KAApB,EAA2BC,EAA3B,CAAf;AAAA,SAJlB;AAKI,QAAA,WAAW,EAAE,qBAACD,KAAD,EAAQG,IAAR;AAAA,iBAAiB,MAAI,CAACC,aAAL,CAAmBJ,KAAnB,EAA0BG,IAA1B,CAAjB;AAAA;AALjB,QADJ;AASH;AAvBL;;AAAA;AAAA,EAAmCf,gBAAnC","sourcesContent":["import React from \"react\";\nimport {\n FormFieldElement,\n FormFieldElementConfig,\n FormFieldElementRenderProps\n} from \"~/ui/elements/form/FormFieldElement\";\n\nexport class HiddenElement extends FormFieldElement {\n constructor(id: string, config: FormFieldElementConfig) {\n super(id, config);\n\n this.applyPlugins(HiddenElement);\n }\n\n render(props: FormFieldElementRenderProps): React.ReactNode {\n if (!props.formProps) {\n throw Error(`HiddenElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n return (\n <Bind\n name={this.getName()}\n validators={this.getValidators(props)}\n defaultValue={this.getDefaultValue(props)}\n beforeChange={(value, cb) => this.onBeforeChange(value, cb)}\n afterChange={(value, form) => this.onAfterChange(value, form)}\n />\n );\n }\n}\n"],"file":"HiddenElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/InputElement.tsx"],"names":["React","Input","FormFieldElement","InputElement","id","config","applyPlugins","props","formProps","Error","Bind","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","getLabel","getPlaceholder","getIsDisabled","getDescription"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SACIC,gBADJ;AAMA,WAAaC,YAAb;AAAA;;AAAA;;AACI,wBAAYC,EAAZ,EAAwBC,MAAxB,EAAwD;AAAA;;AAAA;;AACpD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,YAAlB;;AAHoD;AAIvD;;AALL;AAAA;AAAA,WAOI,gBAAOI,KAAP,EAA4D;AAAA;;AACxD,UAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;AAClB,cAAMC,KAAK,wDAAX;AACH;;AAED,UAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;AAEA,0BACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,KAAKC,OAAL,EADV;AAEI,QAAA,UAAU,EAAE,KAAKC,aAAL,CAAmBL,KAAnB,CAFhB;AAGI,QAAA,YAAY,EAAE,KAAKM,eAAL,CAAqBN,KAArB,CAHlB;AAII,QAAA,YAAY,EAAE,sBAACO,KAAD,EAAQC,EAAR;AAAA,iBAAe,MAAI,CAACC,cAAL,CAAoBF,KAApB,EAA2BC,EAA3B,CAAf;AAAA,SAJlB;AAKI,QAAA,WAAW,EAAE,qBAACD,KAAD,EAAQG,IAAR;AAAA,iBAAiB,MAAI,CAACC,aAAL,CAAmBJ,KAAnB,EAA0BG,IAA1B,CAAjB;AAAA;AALjB,sBAOI,oBAAC,KAAD;AACI,QAAA,KAAK,EAAE,KAAKE,QAAL,CAAcZ,KAAd,CADX;AAEI,QAAA,WAAW,EAAE,KAAKa,cAAL,CAAoBb,KAApB,CAFjB;AAGI,QAAA,QAAQ,EAAE,KAAKc,aAAL,CAAmBd,KAAnB,CAHd;AAII,QAAA,WAAW,EAAE,KAAKe,cAAL,CAAoBf,KAApB;AAJjB,QAPJ,CADJ;AAgBH;AA9BL;;AAAA;AAAA,EAAkCL,gBAAlC","sourcesContent":["import React from \"react\";\nimport { Input } from \"@webiny/ui/Input\";\nimport {\n FormFieldElement,\n FormFieldElementConfig,\n FormFieldElementRenderProps\n} from \"~/ui/elements/form/FormFieldElement\";\n\nexport class InputElement extends FormFieldElement {\n constructor(id: string, config: FormFieldElementConfig) {\n super(id, config);\n\n this.applyPlugins(InputElement);\n }\n\n render(props: FormFieldElementRenderProps): React.ReactNode {\n if (!props.formProps) {\n throw Error(`InputElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n return (\n <Bind\n name={this.getName()}\n validators={this.getValidators(props)}\n defaultValue={this.getDefaultValue(props)}\n beforeChange={(value, cb) => this.onBeforeChange(value, cb)}\n afterChange={(value, form) => this.onAfterChange(value, form)}\n >\n <Input\n label={this.getLabel(props)}\n placeholder={this.getPlaceholder(props)}\n disabled={this.getIsDisabled(props)}\n description={this.getDescription(props)}\n />\n </Bind>\n );\n }\n}\n"],"file":"InputElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/PasswordElement.tsx"],"names":["React","InputElement","Input","PasswordElement","props","formProps","Error","Bind","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","getLabel","getPlaceholder","getIsDisabled","getDescription"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,YAAT;AAEA,SAASC,KAAT,QAAsB,kBAAtB;AAEA,WAAaC,eAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACI,gBAAOC,KAAP,EAA+D;AAAA;;AAC3D,UAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;AAClB,cAAMC,KAAK,2DAAX;AACH;;AAED,UAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;AAEA,0BACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,KAAKC,OAAL,EADV;AAEI,QAAA,UAAU,EAAE,KAAKC,aAAL,CAAmBL,KAAnB,CAFhB;AAGI,QAAA,YAAY,EAAE,KAAKM,eAAL,CAAqBN,KAArB,CAHlB;AAII,QAAA,YAAY,EAAE,sBAACO,KAAD,EAAQC,EAAR;AAAA,iBAAe,KAAI,CAACC,cAAL,CAAoBF,KAApB,EAA2BC,EAA3B,CAAf;AAAA,SAJlB;AAKI,QAAA,WAAW,EAAE,qBAACD,KAAD,EAAQG,IAAR;AAAA,iBAAiB,KAAI,CAACC,aAAL,CAAmBJ,KAAnB,EAA0BG,IAA1B,CAAjB;AAAA;AALjB,sBAOI,oBAAC,KAAD;AACI,QAAA,IAAI,EAAE,UADV;AAEI,QAAA,KAAK,EAAE,KAAKE,QAAL,CAAcZ,KAAd,CAFX;AAGI,QAAA,WAAW,EAAE,KAAKa,cAAL,CAAoBb,KAApB,CAHjB;AAII,QAAA,QAAQ,EAAE,KAAKc,aAAL,CAAmBd,KAAnB,CAJd;AAKI,QAAA,WAAW,EAAE,KAAKe,cAAL,CAAoBf,KAApB;AALjB,QAPJ,CADJ;AAiBH;AAzBL;;AAAA;AAAA,EAAqCH,YAArC","sourcesContent":["import React from \"react\";\nimport { InputElement } from \"./InputElement\";\nimport { FormFieldElementRenderProps } from \"~/ui/elements/form/FormFieldElement\";\nimport { Input } from \"@webiny/ui/Input\";\n\nexport class PasswordElement extends InputElement {\n render(props: FormFieldElementRenderProps): React.ReactElement {\n if (!props.formProps) {\n throw Error(`PasswordElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n return (\n <Bind\n name={this.getName()}\n validators={this.getValidators(props)}\n defaultValue={this.getDefaultValue(props)}\n beforeChange={(value, cb) => this.onBeforeChange(value, cb)}\n afterChange={(value, form) => this.onAfterChange(value, form)}\n >\n <Input\n type={\"password\"}\n label={this.getLabel(props)}\n placeholder={this.getPlaceholder(props)}\n disabled={this.getIsDisabled(props)}\n description={this.getDescription(props)}\n />\n </Bind>\n );\n }\n}\n"],"file":"PasswordElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/SelectElement.tsx"],"names":["React","Select","FormFieldElement","SelectElement","id","config","applyPlugins","options","props","formProps","Error","Bind","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","getLabel","getIsDisabled","getOptions","map","label"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SACIC,gBADJ;AAeA,WAAaC,aAAb;AAAA;;AAAA;;AACI,yBAAYC,EAAZ,EAAwBC,MAAxB,EAAqD;AAAA;;AAAA;;AACjD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,aAAlB;;AAHiD;AAIpD;;AALL;AAAA;AAAA,WAOI,oBAAWI,OAAX,EAA2C;AACvC,WAAKF,MAAL,CAAYE,OAAZ,GAAsBA,OAAtB;AACH;AATL;AAAA;AAAA,WAWI,sBAAa;AACT,aAAO,KAAKF,MAAL,CAAYE,OAAnB;AACH;AAbL;AAAA;AAAA,WAeI,gBAAOC,KAAP,EAA4D;AAAA;;AACxD,UAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;AAClB,cAAMC,KAAK,yDAAX;AACH;;AAED,UAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;AAEA,0BACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,KAAKC,OAAL,EADV;AAEI,QAAA,UAAU,EAAE,KAAKC,aAAL,CAAmBL,KAAnB,CAFhB;AAGI,QAAA,YAAY,EAAE,KAAKM,eAAL,CAAqBN,KAArB,CAHlB;AAII,QAAA,YAAY,EAAE,sBAACO,KAAD,EAAQC,EAAR;AAAA,iBAAe,MAAI,CAACC,cAAL,CAAoBF,KAApB,EAA2BC,EAA3B,CAAf;AAAA,SAJlB;AAKI,QAAA,WAAW,EAAE,qBAACD,KAAD,EAAQG,IAAR;AAAA,iBAAiB,MAAI,CAACC,aAAL,CAAmBJ,KAAnB,EAA0BG,IAA1B,CAAjB;AAAA;AALjB,sBAOI,oBAAC,MAAD;AACI,QAAA,KAAK,EAAE,KAAKE,QAAL,CAAcZ,KAAd,CADX;AAEI,QAAA,QAAQ,EAAE,KAAKa,aAAL,CAAmBb,KAAnB,CAFd;AAGI,QAAA,WAAW,EAAE,KAAKM,eAAL,CAAqBN,KAArB;AAHjB,SAKK,KAAKc,UAAL,GAAkBC,GAAlB,CAAsB;AAAA,YAAGR,KAAH,QAAGA,KAAH;AAAA,YAAUS,KAAV,QAAUA,KAAV;AAAA,4BACnB;AAAQ,UAAA,GAAG,EAAET,KAAb;AAAoB,UAAA,KAAK,EAAEA;AAA3B,WACKS,KADL,CADmB;AAAA,OAAtB,CALL,CAPJ,CADJ;AAqBH;AA3CL;;AAAA;AAAA,EAAmCtB,gBAAnC","sourcesContent":["import React from \"react\";\nimport { Select } from \"@webiny/ui/Select\";\nimport {\n FormFieldElement,\n FormFieldElementConfig,\n FormFieldElementRenderProps\n} from \"~/ui/elements/form/FormFieldElement\";\n\nexport interface SelectElementOption {\n value: string;\n label: string;\n}\n\nexport interface SelectElementConfig extends FormFieldElementConfig {\n options?: SelectElementOption[];\n}\n\nexport class SelectElement extends FormFieldElement<SelectElementConfig> {\n constructor(id: string, config: SelectElementConfig) {\n super(id, config);\n\n this.applyPlugins(SelectElement);\n }\n\n setOptions(options: SelectElementOption[]) {\n this.config.options = options;\n }\n\n getOptions() {\n return this.config.options;\n }\n\n render(props: FormFieldElementRenderProps): React.ReactNode {\n if (!props.formProps) {\n throw Error(`SelectElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n return (\n <Bind\n name={this.getName()}\n validators={this.getValidators(props)}\n defaultValue={this.getDefaultValue(props)}\n beforeChange={(value, cb) => this.onBeforeChange(value, cb)}\n afterChange={(value, form) => this.onAfterChange(value, form)}\n >\n <Select\n label={this.getLabel(props)}\n disabled={this.getIsDisabled(props)}\n description={this.getDefaultValue(props)}\n >\n {this.getOptions().map(({ value, label }) => (\n <option key={value} value={value}>\n {label}\n </option>\n ))}\n </Select>\n </Bind>\n );\n }\n}\n"],"file":"SelectElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/elements/form/TextareaElement.tsx"],"names":["React","Input","FormFieldElement","TextareaElement","id","config","applyPlugins","rows","props","formProps","Error","Bind","getName","getValidators","getLabel","getIsDisabled","getRows","getDescription"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AAEA,SAASC,gBAAT;AAUA,WAAaC,eAAb;AAAA;;AAAA;;AACI,2BAAYC,EAAZ,EAAwBC,MAAxB,EAAuD;AAAA;;AAAA;;AACnD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,eAAlB;;AAHmD;AAItD;;AALL;AAAA;AAAA,WAOI,iBAAQI,IAAR,EAAsB;AAClB,WAAKF,MAAL,CAAYE,IAAZ,GAAmBA,IAAnB;AACH;AATL;AAAA;AAAA,WAWI,mBAAU;AACN,aAAO,KAAKF,MAAL,CAAYE,IAAnB;AACH;AAbL;AAAA;AAAA,WAeI,gBAAOC,KAAP,EAA2D;AACvD,UAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;AAClB,cAAMC,KAAK,2DAAX;AACH;;AAED,UAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;AAEA,0BACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,KAAKC,OAAL,EAAZ;AAA4B,QAAA,UAAU,EAAE,KAAKC,aAAL,CAAmBL,KAAnB;AAAxC,sBACI,oBAAC,KAAD;AACI,QAAA,KAAK,EAAE,KAAKM,QAAL,CAAcN,KAAd,CADX;AAEI,QAAA,QAAQ,EAAE,KAAKO,aAAL,CAAmBP,KAAnB,CAFd;AAGI,QAAA,IAAI,EAAE,KAAKQ,OAAL,EAHV;AAII,QAAA,WAAW,EAAE,KAAKC,cAAL,CAAoBT,KAApB;AAJjB,QADJ,CADJ;AAUH;AAhCL;;AAAA;AAAA,EAAqCN,gBAArC","sourcesContent":["import React from \"react\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { FormFieldElement, FormFieldElementConfig } from \"~/ui/elements/form/FormFieldElement\";\n\nexport interface TextareaElementRenderProps {\n formProps: FormRenderPropParams;\n}\n\nexport interface TextareaElementConfig extends FormFieldElementConfig {\n rows: number;\n}\n\nexport class TextareaElement extends FormFieldElement<TextareaElementConfig> {\n constructor(id: string, config: TextareaElementConfig) {\n super(id, config);\n\n this.applyPlugins(TextareaElement);\n }\n\n setRows(rows: number) {\n this.config.rows = rows;\n }\n\n getRows() {\n return this.config.rows;\n }\n\n render(props: TextareaElementRenderProps): React.ReactNode {\n if (!props.formProps) {\n throw Error(`TextareaElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n return (\n <Bind name={this.getName()} validators={this.getValidators(props)}>\n <Input\n label={this.getLabel(props)}\n disabled={this.getIsDisabled(props)}\n rows={this.getRows()}\n description={this.getDescription(props)}\n />\n </Bind>\n );\n }\n}\n"],"file":"TextareaElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/AdminView/ContentElement.tsx"],"names":["React","styled","UIElement","UIRenderer","ContentWrapper","width","paddingTop","ContentElementRenderer","next","props","children","ContentElement","id","useGrid","addRenderer","applyPlugins"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,SAAT;AACA,SAASC,UAAT;AAEA,IAAMC,cAAc,gBAAGH,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACjCI,EAAAA,KAAK,EAAE,MAD0B;AAEjCC,EAAAA,UAAU,EAAE;AAFqB,CAAjB,CAApB;;IAKMC,sB;;;;;;;;;;;;;WACF,sBAAyC;AAAA,UAAhCC,IAAgC,QAAhCA,IAAgC;AAAA,UAA1BC,KAA0B,QAA1BA,KAA0B;AACrC,0BAAO,oBAAC,cAAD,QAAiBA,KAAK,CAACC,QAAN,GAAiBD,KAAK,CAACC,QAAvB,GAAkCF,IAAI,EAAvD,CAAP;AACH;;;;EAHgCL,U;;AAMrC,WAAaQ,cAAb;AAAA;;AAAA;;AACI,0BAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,+BAAMA,EAAN;;AACA,UAAKC,OAAL,CAAa,KAAb;;AACA,UAAKC,WAAL,CAAiB,IAAIP,sBAAJ,EAAjB;;AACA,UAAKQ,YAAL,CAAkBJ,cAAlB;;AAJoB;AAKvB;;AANL;AAAA,EAAoCT,SAApC","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { UIRenderer } from \"~/ui/UIRenderer\";\n\nconst ContentWrapper = styled(\"div\")({\n width: \"100%\",\n paddingTop: 67\n});\n\nclass ContentElementRenderer extends UIRenderer<ContentElement> {\n render({ next, props }): React.ReactNode {\n return <ContentWrapper>{props.children ? props.children : next()}</ContentWrapper>;\n }\n}\n\nexport class ContentElement extends UIElement {\n constructor(id: string) {\n super(id);\n this.useGrid(false);\n this.addRenderer(new ContentElementRenderer());\n this.applyPlugins(ContentElement);\n }\n}\n"],"file":"ContentElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/AdminView/HeaderElement.tsx"],"names":["React","UIElement","TopAppBarPrimary","TopAppBarTitle","GenericElement","PlaceholderElement","HeaderSectionLeftElement","HeaderSectionCenterElement","HeaderSectionRightElement","Hamburger","UIRenderer","ElementID","HeaderElementRenderer","next","HeaderElement","id","useGrid","leftSection","addElement","MenuButton","Logo","addRenderer","setMenuButton","applyPlugins","getElement","logo","replaceWith","menuButton"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT;AACA,SAASC,gBAAT,EAA2BC,cAA3B,QAAiD,sBAAjD;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,wBAAT;AACA,SAASC,0BAAT;AACA,SAASC,yBAAT;AACA,OAAOC,SAAP;AACA,SAASC,UAAT;IAEKC,S;;WAAAA,S;AAAAA,EAAAA,S;AAAAA,EAAAA,S;GAAAA,S,KAAAA,S;;IAKCC,qB;;;;;;;;;;;;;WACF,sBAAkC;AAAA,UAAzBC,IAAyB,QAAzBA,IAAyB;AAC9B,0BAAO,oBAAC,gBAAD;AAAkB,QAAA,KAAK;AAAvB,SAAyBA,IAAI,EAA7B,CAAP;AACH;;;;EAH+BH,U;;AAMpC,WAAaI,aAAb;AAAA;;AAAA;;AACI,yBAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,+BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAEA,QAAMC,WAAW,GAAG,MAAKC,UAAL,CAAgB,IAAIZ,wBAAJ,CAA6B,YAA7B,CAAhB,CAApB;;AACAW,IAAAA,WAAW,CAACC,UAAZ,CAAuB,IAAIb,kBAAJ,CAAuBM,SAAS,CAACQ,UAAjC,CAAvB;AACAF,IAAAA,WAAW,CAACC,UAAZ,CAAuB,IAAIb,kBAAJ,CAAuBM,SAAS,CAACS,IAAjC,CAAvB;;AAEA,UAAKF,UAAL,CAAgB,IAAIX,0BAAJ,CAA+B,cAA/B,CAAhB;;AACA,UAAKW,UAAL,CAAgB,IAAIV,yBAAJ,CAA8B,aAA9B,CAAhB;;AAEA,UAAKa,WAAL,CAAiB,IAAIT,qBAAJ,EAAjB;;AAEA,UAAKU,aAAL,eAAmB,oBAAC,SAAD,OAAnB;;AACA,UAAKC,YAAL,CAAkBT,aAAlB;;AAfoB;AAgBvB;;AAjBL;AAAA;AAAA,WAmBI,0BAA2C;AACvC,aAAO,KAAKU,UAAL,CAAgB,YAAhB,CAAP;AACH;AArBL;AAAA;AAAA,WAuBI,4BAA+C;AAC3C,aAAO,KAAKA,UAAL,CAAgB,cAAhB,CAAP;AACH;AAzBL;AAAA;AAAA,WA2BI,2BAA6C;AACzC,aAAO,KAAKA,UAAL,CAAgB,aAAhB,CAAP;AACH;AA7BL;AAAA;AAAA,WA+BI,iBAAQC,IAAR,EAAkC;AAC9B;AACA,WAAKD,UAAL,CAAgBb,SAAS,CAACS,IAA1B,EAAgCM,WAAhC,CACI,IAAItB,cAAJ,CAAmBO,SAAS,CAACS,IAA7B,EAAmC,YAAM;AACrC,4BAAO,oBAAC,cAAD,QAAiBK,IAAjB,CAAP;AACH,OAFD,CADJ;AAKH;AAtCL;AAAA;AAAA,WAwCI,uBAAcE,UAAd,EAA8C;AAC1C,WAAKH,UAAL,CAAgBb,SAAS,CAACQ,UAA1B,EAAsCO,WAAtC,CACI,IAAItB,cAAJ,CAAmBO,SAAS,CAACQ,UAA7B,EAAyC,YAAM;AAC3C,eAAOQ,UAAP;AACH,OAFD,CADJ;AAKH;AA9CL;;AAAA;AAAA,EAAmC1B,SAAnC","sourcesContent":["import React from \"react\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { TopAppBarPrimary, TopAppBarTitle } from \"@webiny/ui/TopAppBar\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { HeaderSectionLeftElement } from \"./HeaderSectionLeftElement\";\nimport { HeaderSectionCenterElement } from \"./HeaderSectionCenterElement\";\nimport { HeaderSectionRightElement } from \"./HeaderSectionRightElement\";\nimport Hamburger from \"./components/Hamburger\";\nimport { UIRenderer } from \"~/ui/UIRenderer\";\n\nenum ElementID {\n MenuButton = \"headerMenuButton\",\n Logo = \"headerLogo\"\n}\n\nclass HeaderElementRenderer extends UIRenderer<HeaderElement> {\n render({ next }): React.ReactNode {\n return <TopAppBarPrimary fixed>{next()}</TopAppBarPrimary>;\n }\n}\n\nexport class HeaderElement extends UIElement {\n constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n\n const leftSection = this.addElement(new HeaderSectionLeftElement(\"headerLeft\"));\n leftSection.addElement(new PlaceholderElement(ElementID.MenuButton));\n leftSection.addElement(new PlaceholderElement(ElementID.Logo));\n\n this.addElement(new HeaderSectionCenterElement(\"headerCenter\"));\n this.addElement(new HeaderSectionRightElement(\"headerRight\"));\n\n this.addRenderer(new HeaderElementRenderer());\n\n this.setMenuButton(<Hamburger />);\n this.applyPlugins(HeaderElement);\n }\n\n getLeftSection(): HeaderSectionLeftElement {\n return this.getElement(\"headerLeft\");\n }\n\n getCenterSection(): HeaderSectionCenterElement {\n return this.getElement(\"headerCenter\");\n }\n\n getRightSection(): HeaderSectionRightElement {\n return this.getElement(\"headerRight\");\n }\n\n setLogo(logo: React.ReactElement) {\n // TODO: extract into a `LogoElement` class\n this.getElement(ElementID.Logo).replaceWith(\n new GenericElement(ElementID.Logo, () => {\n return <TopAppBarTitle>{logo}</TopAppBarTitle>;\n })\n );\n }\n\n setMenuButton(menuButton: React.ReactElement) {\n this.getElement(ElementID.MenuButton).replaceWith(\n new GenericElement(ElementID.MenuButton, () => {\n return menuButton;\n })\n );\n }\n}\n"],"file":"HeaderElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/AdminView/HeaderSectionCenterElement.tsx"],"names":["React","css","UIElement","TopAppBarSection","middleBar","width","HeaderSectionCenterElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,SAAT;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA,IAAMC,SAAS,gBAAGH,GAAG,CAAC;AAClBI,EAAAA,KAAK,EAAE;AADW,CAAD,qBAArB;AAIA,WAAaC,0BAAb;AAAA;;AAAA;;AACI,sCAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,8BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHoB;AAIvB;;AALL;AAAA;AAAA,WAOI,gBAAOC,KAAP,EAA+B;AAC3B,0BACI,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEL,SAA7B;AAAwC,QAAA,QAAQ;AAAhD,gGACkBK,KADlB,EADJ;AAKH;AAbL;;AAAA;AAAA,EAAgDP,SAAhD","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { TopAppBarSection } from \"@webiny/ui/TopAppBar\";\n\nconst middleBar = css({\n width: \"50%\"\n});\n\nexport class HeaderSectionCenterElement extends UIElement {\n constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n }\n\n render(props): React.ReactNode {\n return (\n <TopAppBarSection className={middleBar} alignEnd>\n {super.render(props)}\n </TopAppBarSection>\n );\n }\n}\n"],"file":"HeaderSectionCenterElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/AdminView/HeaderSectionLeftElement.tsx"],"names":["React","css","UIElement","TopAppBarSection","edgeBars","width","HeaderSectionLeftElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,SAAT;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA,IAAMC,QAAQ,gBAAGH,GAAG,CAAC;AACjBI,EAAAA,KAAK,EAAE;AADU,CAAD,oBAApB;AAIA,WAAaC,wBAAb;AAAA;;AAAA;;AACI,oCAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,8BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHoB;AAIvB;;AALL;AAAA;AAAA,WAOI,gBAAOC,KAAP,EAA+B;AAC3B,0BACI,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEL,QAA7B;AAAuC,QAAA,UAAU;AAAjD,8FACkBK,KADlB,EADJ;AAKH;AAbL;;AAAA;AAAA,EAA8CP,SAA9C","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { TopAppBarSection } from \"@webiny/ui/TopAppBar\";\n\nconst edgeBars = css({\n width: \"25%\"\n});\n\nexport class HeaderSectionLeftElement extends UIElement {\n constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n }\n\n render(props): React.ReactNode {\n return (\n <TopAppBarSection className={edgeBars} alignStart>\n {super.render(props)}\n </TopAppBarSection>\n );\n }\n}\n"],"file":"HeaderSectionLeftElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/AdminView/HeaderSectionRightElement.tsx"],"names":["React","css","UIElement","TopAppBarSection","edgeBars","width","HeaderSectionRightElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,SAAT;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA,IAAMC,QAAQ,gBAAGH,GAAG,CAAC;AACjBI,EAAAA,KAAK,EAAE;AADU,CAAD,oBAApB;AAIA,WAAaC,yBAAb;AAAA;;AAAA;;AACI,qCAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,8BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHoB;AAIvB;;AALL;AAAA;AAAA,WAOI,gBAAOC,KAAP,EAA+B;AAC3B,0BACI,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEL,QAA7B;AAAuC,QAAA,QAAQ;AAA/C,+FACkBK,KADlB,EADJ;AAKH;AAbL;;AAAA;AAAA,EAA+CP,SAA/C","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { TopAppBarSection } from \"@webiny/ui/TopAppBar\";\n\nconst edgeBars = css({\n width: \"25%\"\n});\n\nexport class HeaderSectionRightElement extends UIElement {\n constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n }\n\n render(props): React.ReactNode {\n return (\n <TopAppBarSection className={edgeBars} alignEnd>\n {super.render(props)}\n </TopAppBarSection>\n );\n }\n}\n"],"file":"HeaderSectionRightElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/views/AdminView/components/Dialog.tsx"],"names":["React","useCallback","useUi","Dialog","DialogAccept","DialogTitle","DialogActions","DialogContent","DialogContainer","ui","message","dataTestId","title","actions","cancel","accept","label","style","hideDialog","setState","dialog","onClick"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AAEA,SAASC,KAAT,QAAsB,yBAAtB;AACA,SAASC,MAAT,EAAiBC,YAAjB,EAA+BC,WAA/B,EAA4CC,aAA5C,EAA2DC,aAA3D,QAAgF,mBAAhF;AAEA,OAAO,IAAMC,eAAyB,GAAG,SAA5BA,eAA4B,GAAM;AAC3C,MAAMC,EAAE,GAAGP,KAAK,EAAhB;;AACA,MAAMQ,OAAO,GAAG,KAAID,EAAJ,EAAQ,gBAAR,CAAhB;;AACA,cAKI,KAAIA,EAAJ,EAAQ,gBAAR,EAA0B,EAA1B,CALJ;AAAA,MACIE,UADJ,SACIA,UADJ;AAAA,MAEIC,KAFJ,SAEIA,KAFJ;AAAA,4BAGIC,OAHJ;AAAA,MAGIA,OAHJ,8BAGc;AAAEC,IAAAA,MAAM,EAAE,IAAV;AAAgBC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,KAAK,EAAE;AAAT;AAAxB,GAHd;AAAA,MAIIC,KAJJ,SAIIA,KAJJ;;AAOA,MAAMC,UAAU,GAAGjB,WAAW,CAAC,YAAM;AACjCQ,IAAAA,EAAE,CAACU,QAAH,CAAY,UAAAV,EAAE;AAAA,6CAAUA,EAAV;AAAcW,QAAAA,MAAM,EAAE;AAAtB;AAAA,KAAd;AACH,GAF6B,EAE3B,CAACX,EAAD,CAF2B,CAA9B;AAIA,sBACI,oBAAC,MAAD;AAAQ,IAAA,IAAI,EAAE,CAAC,CAACC,OAAhB;AAAyB,IAAA,OAAO,EAAEQ,UAAlC;AAA8C,mBAAaP,UAA3D;AAAuE,IAAA,KAAK,EAAEM;AAA9E,KACKL,KAAK,iBAAI,oBAAC,WAAD,QAAcA,KAAd,CADd,eAEI,oBAAC,aAAD,QAAgBF,OAAhB,CAFJ,eAGI,oBAAC,aAAD,QACKG,OAAO,CAACC,MAAR,iBACG,oBAAC,YAAD;AAAc,IAAA,OAAO,EAAED,OAAO,CAACC,MAAR,CAAeO;AAAtC,KACKR,OAAO,CAACC,MAAR,CAAeE,KADpB,CAFR,EAMKH,OAAO,CAACE,MAAR,iBACG,oBAAC,YAAD;AAAc,IAAA,OAAO,EAAEF,OAAO,CAACE,MAAR,CAAeM;AAAtC,KACKR,OAAO,CAACE,MAAR,CAAeC,KADpB,CAPR,CAHJ,CADJ;AAkBH,CAhCM","sourcesContent":["import React, { useCallback } from \"react\";\nimport { get } from \"lodash\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { Dialog, DialogAccept, DialogTitle, DialogActions, DialogContent } from \"@webiny/ui/Dialog\";\n\nexport const DialogContainer: React.FC = () => {\n const ui = useUi();\n const message = get(ui, \"dialog.message\");\n const {\n dataTestId,\n title,\n actions = { cancel: null, accept: { label: \"OK\" } },\n style\n } = get(ui, \"dialog.options\", {});\n\n const hideDialog = useCallback(() => {\n ui.setState(ui => ({ ...ui, dialog: null }));\n }, [ui]);\n\n return (\n <Dialog open={!!message} onClose={hideDialog} data-testid={dataTestId} style={style}>\n {title && <DialogTitle>{title}</DialogTitle>}\n <DialogContent>{message}</DialogContent>\n <DialogActions>\n {actions.cancel && (\n <DialogAccept onClick={actions.cancel.onClick}>\n {actions.cancel.label}\n </DialogAccept>\n )}\n {actions.accept && (\n <DialogAccept onClick={actions.accept.onClick}>\n {actions.accept.label}\n </DialogAccept>\n )}\n </DialogActions>\n </Dialog>\n );\n};\n"],"file":"Dialog.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/views/AdminView/components/Hamburger.tsx"],"names":["React","useCallback","get","set","useUi","IconButton","Hamburger","ui","toggleMenu","setState","color"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,GAAT,EAAcC,GAAd,QAAyB,oBAAzB;AACA,SAASC,KAAT,QAAsB,yBAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;;;AAGA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACpB,MAAMC,EAAE,GAAGH,KAAK,EAAhB;AAEA,MAAMI,UAAU,GAAGP,WAAW,CAAC,YAAM;AACjCM,IAAAA,EAAE,CAACE,QAAH,CAAY,UAAAF,EAAE;AAAA,aAAIJ,GAAG,CAACI,EAAD,EAAK,eAAL,EAAsB,EAAEL,GAAG,CAACK,EAAD,EAAK,eAAL,CAAH,IAA4B,KAA9B,CAAtB,CAAP;AAAA,KAAd;AACH,GAF6B,EAE3B,CAACA,EAAD,CAF2B,CAA9B;AAIA,sBACI,oBAAC,UAAD;AACI,IAAA,IAAI,eAAE,oBAAC,QAAD;AAAU,MAAA,KAAK,EAAE;AAAEG,QAAAA,KAAK,EAAE;AAAT;AAAjB,MADV;AAEI,IAAA,OAAO,EAAEF,UAFb;AAGI,mBAAa;AAHjB,IADJ;AAOH,CAdD;;AAgBA,eAAeF,SAAf","sourcesContent":["import React, { useCallback } from \"react\";\nimport { get, set } from \"dot-prop-immutable\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as MenuIcon } from \"~/assets/icons/baseline-menu-24px.svg\";\n\nconst Hamburger = () => {\n const ui = useUi();\n\n const toggleMenu = useCallback(() => {\n ui.setState(ui => set(ui, \"appsMenu.show\", !(get(ui, \"appsMenu.show\") || false)));\n }, [ui]);\n\n return (\n <IconButton\n icon={<MenuIcon style={{ color: \"white\" }} />}\n onClick={toggleMenu}\n data-testid={\"apps-menu\"}\n />\n );\n};\n\nexport default Hamburger;\n"],"file":"Hamburger.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/ui/views/AdminView/components/Snackbar.tsx"],"names":["React","useCallback","Snackbar","useUi","SnackbarMain","ui","message","options","hideSnackbar","setState","snackbar"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,QAAT,QAAyB,qBAAzB;AAEA,SAASC,KAAT,QAAsB,yBAAtB;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACvB,MAAMC,EAAE,GAAGF,KAAK,EAAhB;;AACA,MAAMG,OAAO,GAAG,KAAID,EAAJ,EAAQ,kBAAR,CAAhB;;AACA,MAAME,OAAO,GAAG,KAAIF,EAAJ,EAAQ,kBAAR,EAA4B,EAA5B,CAAhB;;AAEA,MAAMG,YAAY,GAAGP,WAAW,CAAC,YAAM;AACnCI,IAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE;AAAA,6CAAUA,EAAV;AAAcK,QAAAA,QAAQ,EAAE;AAAxB;AAAA,KAAd;AACH,GAF+B,EAE7B,CAACL,EAAD,CAF6B,CAAhC;AAIA,sBAAO,oBAAC,QAAD;AAAU,IAAA,IAAI,EAAE,CAAC,CAACC,OAAlB;AAA2B,IAAA,OAAO,EAAEE,YAApC;AAAkD,IAAA,OAAO,EAAEF;AAA3D,KAAwEC,OAAxE,EAAP;AACH,CAVD;;AAYA,eAAeH,YAAf","sourcesContent":["import React, { useCallback } from \"react\";\nimport { Snackbar } from \"@webiny/ui/Snackbar\";\nimport { get } from \"lodash\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\n\nconst SnackbarMain = () => {\n const ui = useUi();\n const message = get(ui, \"snackbar.message\");\n const options = get(ui, \"snackbar.options\", {});\n\n const hideSnackbar = useCallback(() => {\n ui.setState(ui => ({ ...ui, snackbar: null }));\n }, [ui]);\n\n return <Snackbar open={!!message} onClose={hideSnackbar} message={message} {...options} />;\n};\n\nexport default SnackbarMain;\n"],"file":"Snackbar.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ui/views/AdminView.tsx"],"names":["React","Helmet","UIView","GenericElement","ViewElement","HeaderElement","ContentElement","NavigationView","Snackbar","DialogContainer","AdminView","useGrid","addElement","_title","view","applyPlugins","title","element","content","getContentElement","getChildren","forEach","el","remove","getElement"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASC,MAAT;AAEA,SAASC,cAAT;AACA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,SAASC,cAAT;AACA,SAASC,cAAT;AACA,OAAOC,QAAP;AACA,SAASC,eAAT;AAEA,WAAaC,SAAb;AAAA;;AAAA;;AAGI,uBAAc;AAAA;;AAAA;;AACV,8BAAM,WAAN;;AADU;;AAGV,UAAKC,OAAL,CAAa,KAAb;;AAEA,UAAKC,UAAL,CACI,IAAIT,cAAJ,CAAmB,QAAnB,EAA6B,YAAM;AAC/B,aAAO,MAAKU,MAAL,gBAAc,oBAAC,MAAD;AAAQ,QAAA,KAAK,EAAE,MAAKA;AAApB,QAAd,GAA+C,IAAtD;AACH,KAFD,CADJ;;AAMA,UAAKD,UAAL,CAAgB,IAAIP,aAAJ,CAAkB,QAAlB,CAAhB;;AACA,UAAKO,UAAL,CAAgB,IAAIN,cAAJ,CAAmB,SAAnB,CAAhB;;AACA,UAAKM,UAAL,CAAgB,IAAIR,WAAJ,CAAgB,YAAhB,EAA8B;AAAEU,MAAAA,IAAI,EAAE,IAAIP,cAAJ;AAAR,KAA9B,CAAhB;;AACA,UAAKK,UAAL,CAAgB,IAAIT,cAAJ,CAAmB,mBAAnB,EAAwC;AAAA,0BAAM,oBAAC,QAAD,OAAN;AAAA,KAAxC,CAAhB;;AACA,UAAKS,UAAL,CAAgB,IAAIT,cAAJ,CAAmB,iBAAnB,EAAsC;AAAA,0BAAM,oBAAC,eAAD,OAAN;AAAA,KAAtC,CAAhB,EAfU,CAiBV;;;AACA,UAAKY,YAAL,CAAkBL,SAAlB;;AAlBU;AAmBb;;AAtBL;AAAA;AAAA,WAwBI,kBAASM,KAAT,EAAwB;AACpB,WAAKH,MAAL,GAAcG,KAAd;AACH;AA1BL;AAAA;AAAA,WA4BI,2BAAkBC,OAAlB,EAAsC;AAClC,UAAMC,OAAO,GAAG,KAAKC,iBAAL,EAAhB,CADkC,CAGlC;;AACAD,MAAAA,OAAO,CAACE,WAAR,GAAsBC,OAAtB,CAA8B,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACC,MAAH,EAAJ;AAAA,OAAhC,EAJkC,CAMlC;;AACAL,MAAAA,OAAO,CAACN,UAAR,CAAmBK,OAAnB;AACH;AApCL;AAAA;AAAA,WAsCI,4BAAkC;AAC9B,aAAO,KAAKO,UAAL,CAAgB,QAAhB,CAAP;AACH;AAxCL;AAAA;AAAA,WA0CI,6BAAoC;AAChC,aAAO,KAAKA,UAAL,CAAgB,SAAhB,CAAP;AACH;AA5CL;;AAAA;AAAA,EAA+BtB,MAA/B","sourcesContent":["import React from \"react\";\nimport Helmet from \"react-helmet\";\nimport { UIView } from \"~/ui/UIView\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { ViewElement } from \"~/ui/elements/ViewElement\";\nimport { HeaderElement } from \"./AdminView/HeaderElement\";\nimport { ContentElement } from \"./AdminView/ContentElement\";\nimport { NavigationView } from \"~/ui/views/NavigationView\";\nimport Snackbar from \"./AdminView/components/Snackbar\";\nimport { DialogContainer } from \"./AdminView/components/Dialog\";\n\nexport class AdminView extends UIView {\n private _title: string;\n\n constructor() {\n super(\"AdminView\");\n\n this.useGrid(false);\n\n this.addElement(\n new GenericElement(\"helmet\", () => {\n return this._title ? <Helmet title={this._title} /> : null;\n })\n );\n\n this.addElement(new HeaderElement(\"header\"));\n this.addElement(new ContentElement(\"content\"));\n this.addElement(new ViewElement(\"navigation\", { view: new NavigationView() }));\n this.addElement(new GenericElement(\"snackbarContainer\", () => <Snackbar />));\n this.addElement(new GenericElement(\"dialogContainer\", () => <DialogContainer />));\n\n // Apply plugins\n this.applyPlugins(AdminView);\n }\n\n setTitle(title: string) {\n this._title = title;\n }\n\n setContentElement(element: UIElement) {\n const content = this.getContentElement();\n\n // Remove previous content\n content.getChildren().forEach(el => el.remove());\n\n // Add new content\n content.addElement(element);\n }\n\n getHeaderElement(): HeaderElement {\n return this.getElement(\"header\");\n }\n\n getContentElement(): ContentElement {\n return this.getElement(\"content\");\n }\n}\n"],"file":"AdminView.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/FormView/FormContainerElement.tsx"],"names":["React","classNames","styled","Elevation","UIElement","FormContainerWrapper","position","margin","FormContainerElement","id","config","useGrid","props","children","className","testId","noElevation"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,sBAA1B;AACA,SAASC,SAAT;AAEA,IAAMC,oBAAoB,gBAAGH,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACvCI,EAAAA,QAAQ,EAAE,UAD6B;AAEvCC,EAAAA,MAAM,EAAE;AAF+B,CAAjB,CAA1B;AAWA,WAAaC,oBAAb;AAAA;;AAAA;;AACI,gCAAYC,EAAZ,EAAwBC,MAAxB,EAAqD;AAAA;;AAAA;;AACjD,8BAAMD,EAAN,EAAUC,MAAV;;AACA,UAAKC,OAAL,CAAa,KAAb;;AAFiD;AAGpD;;AAJL;AAAA;AAAA,WAMI,gBAAOC,KAAP,EAAc;AACV,UAAMC,QAAQ,oFAAgBD,KAAhB,CAAd;;AAEA,0BACI,oBAAC,oBAAD;AACI,QAAA,SAAS,EAAEX,UAAU,CAAC,kBAAD,EAAqB,KAAKS,MAAL,CAAYI,SAAjC,CADzB;AAEI,uBAAa,KAAKJ,MAAL,CAAYK;AAF7B,SAIK,KAAKL,MAAL,CAAYM,WAAZ,GAA0BH,QAA1B,gBAAqC,oBAAC,SAAD;AAAW,QAAA,CAAC,EAAE;AAAd,SAAkBA,QAAlB,CAJ1C,CADJ;AAQH;AAjBL;;AAAA;AAAA,EAA0CT,SAA1C","sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\n\nconst FormContainerWrapper = styled(\"div\")({\n position: \"relative\",\n margin: \"17px 50px\"\n});\n\ninterface FormContainerConfig extends UIElementConfig {\n testId?: string;\n noElevation?: boolean;\n className?: string;\n}\n\nexport class FormContainerElement extends UIElement<FormContainerConfig> {\n constructor(id: string, config: FormContainerConfig) {\n super(id, config);\n this.useGrid(false);\n }\n\n render(props) {\n const children = super.render(props);\n\n return (\n <FormContainerWrapper\n className={classNames(\"webiny-data-list\", this.config.className)}\n data-testid={this.config.testId}\n >\n {this.config.noElevation ? children : <Elevation z={1}>{children}</Elevation>}\n </FormContainerWrapper>\n );\n }\n}\n"],"file":"FormContainerElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/FormView/FormContentElement.tsx"],"names":["UIElement","FormContentElement"],"mappings":";;;AAAA,SAASA,SAAT;AAEA,WAAaC,kBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA,EAAwCD,SAAxC","sourcesContent":["import { UIElement } from \"~/ui/UIElement\";\n\nexport class FormContentElement extends UIElement {}\n"],"file":"FormContentElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/FormView/FormFooterElement.tsx"],"names":["React","styled","UIElement","ButtonWrapper","display","justifyContent","borderTop","color","textAlign","padding","marginLeft","FormFooterElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,SAAT;AAEA,IAAMC,aAAa,gBAAGF,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAChCG,EAAAA,OAAO,EAAE,MADuB;AAEhCC,EAAAA,cAAc,EAAE,eAFgB;AAGhCC,EAAAA,SAAS,EAAE,0CAHqB;AAIhCC,EAAAA,KAAK,EAAE,6CAJyB;AAKhCC,EAAAA,SAAS,EAAE,OALqB;AAMhCC,EAAAA,OAAO,EAAE,EANuB;AAOhC,kBAAgB;AACZC,IAAAA,UAAU,EAAE;AADA;AAPgB,CAAjB,CAAnB;AAYA,WAAaC,iBAAb;AAAA;;AAAA;;AACI,6BAAYC,EAAZ,EAAgB;AAAA;;AAAA;;AACZ,8BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHY;AAIf;;AALL;AAAA;AAAA,WAOI,gBAAOC,KAAP,EAAc;AACV,0BAAO,oBAAC,aAAD,sFAA6BA,KAA7B,EAAP;AACH;AATL;;AAAA;AAAA,EAAuCZ,SAAvC","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement } from \"~/ui/UIElement\";\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\",\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textAlign: \"right\",\n padding: 25,\n \">:last-child\": {\n marginLeft: \"auto\"\n }\n});\n\nexport class FormFooterElement extends UIElement {\n constructor(id) {\n super(id);\n\n this.useGrid(false);\n }\n\n render(props) {\n return <ButtonWrapper>{super.render(props)}</ButtonWrapper>;\n }\n}\n"],"file":"FormFooterElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/FormView/FormHeaderElement.tsx"],"names":["React","css","Cell","Grid","Typography","UIElement","Icon","iconClass","marginRight","color","headerClass","borderBottom","titleClass","display","alignItems","actionsClass","justifyContent","FormHeaderElement","id","config","useGrid","icon","element","addElement","props","getTitle"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASC,SAAT;AACA,SAASC,IAAT,QAAqB,iBAArB;AAGA,IAAMC,SAAS,gBAAGN,GAAG,CAAC;AAClBO,EAAAA,WAAW,EAAE,EADK;AAElBC,EAAAA,KAAK,EAAE;AAFW,CAAD,qBAArB;AAKA,IAAMC,WAAW,gBAAGT,GAAG,CAAC;AACpBU,EAAAA,YAAY,EAAE,0CADM;AAEpBF,EAAAA,KAAK,EAAE;AAFa,CAAD,uBAAvB;AAKA,IAAMG,UAAU,gBAAGX,GAAG,CAAC;AACnBY,EAAAA,OAAO,EAAE,MADU;AAEnBC,EAAAA,UAAU,EAAE;AAFO,CAAD,sBAAtB;AAKA,IAAMC,YAAY,gBAAGd,GAAG,CAAC;AACrBY,EAAAA,OAAO,EAAE,MADY;AAErBG,EAAAA,cAAc,EAAE,UAFK;AAGrBF,EAAAA,UAAU,EAAE;AAHS,CAAD,wBAAxB;AAWA,WAAaG,iBAAb;AAAA;;AAAA;;AACI,6BAAYC,EAAZ,EAAgBC,MAAhB,EAA0C;AAAA;;AAAA;;AACtC,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAHsC;AAIzC;;AALL;AAAA;AAAA,WAOI,iBAAQC,IAAR,EAAkC;AAC9B,WAAKF,MAAL,CAAYE,IAAZ,GAAmBA,IAAnB;AACH;AATL;AAAA;AAAA,WAWI,mBAAUC,OAAV,EAA8B;AAC1B,WAAKC,UAAL,CAAgBD,OAAhB;AACH;AAbL;AAAA;AAAA,WAeI,gBAAOE,KAAP,EAAwB;AACpB,yBAA2B,KAAKL,MAAhC;AAAA,UAAQE,IAAR,gBAAQA,IAAR;AAAA,UAAcI,QAAd,gBAAcA,QAAd;AAEA,0BACI,oBAAC,IAAD;AAAM,QAAA,SAAS,EAAEf;AAAjB,sBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,CAAZ;AAAe,QAAA,SAAS,EAAEE;AAA1B,sBACI,oBAAC,KAAD,CAAO,QAAP,QACKS,IAAI,iBAAI,oBAAC,IAAD;AAAM,QAAA,SAAS,EAAEd,SAAjB;AAA4B,QAAA,IAAI,EAAEc;AAAlC,QADb,eAEI,oBAAC,UAAD;AAAY,QAAA,GAAG,EAAC;AAAhB,SAA6BI,QAAQ,CAACD,KAAD,CAArC,CAFJ,CADJ,CADJ,eAOI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,CAAZ;AAAe,QAAA,SAAS,EAAET;AAA1B,uFACkBS,KADlB,EAPJ,CADJ;AAaH;AA/BL;;AAAA;AAAA,EAAuCnB,SAAvC","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 constructor(id, config: FormHeaderConfig) {\n super(id, config);\n\n this.useGrid(false);\n }\n\n setIcon(icon: React.ReactElement) {\n this.config.icon = icon;\n }\n\n addAction(element: UIElement) {\n this.addElement(element);\n }\n\n render(props: any): any {\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"],"file":"FormHeaderElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ui/views/FormView.tsx"],"names":["React","CircularProgress","FormElement","ButtonElement","GenericElement","FormContentElement","FormHeaderElement","FormFooterElement","FormContainerElement","UIView","FormView","id","config","setupForm","addElements","useGrid","applyPlugins","element","getFormContainer","addElement","title","getTitle","onSubmit","getter","getFormData","getElement","getFormFooterElement","formContainer","testId","className","noElevation","form","data","getData","isLoading","props","footer","submitButton","type","label","onClick","formProps","submit","moveToTheEndOf","cancelButton","onCancel","shouldRender","moveToTheBeginningOf"],"mappings":"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","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 constructor(id, config?: FormViewConfig) {\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 addElement<TElement extends UIElement = UIElement>(element: TElement): 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 setTitle(title: string | GetterWithProps<string>) {\n if (typeof title === \"string\") {\n this.config.getTitle = () => title;\n } else {\n this.config.getTitle = title;\n }\n }\n\n setOnSubmit(onSubmit: FormOnSubmit) {\n this.config.onSubmit = onSubmit;\n }\n\n setFormData(getter: GetterWithoutProps<Record<string, any>>) {\n this.config.getFormData = getter;\n }\n\n getFormContainer(): FormContainerElement {\n return this.getElement(\"formContainer\");\n }\n\n getFormContentElement(): FormContentElement {\n return this.getElement(\"formContent\");\n }\n\n getFormHeaderElement(): FormHeaderElement {\n return this.getElement(\"formHeader\");\n }\n\n getFormFooterElement(): FormFooterElement {\n return this.getElement(\"formFooter\");\n }\n\n getSubmitButtonElement(): ButtonElement {\n return this.getFormFooterElement().getElement(\"submit\");\n }\n\n private addElements() {\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) => this.config.onSubmit(data, form),\n getData: () => this.config.getFormData()\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 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: () => this.config.onCancel(),\n shouldRender: () => typeof this.config.onCancel === \"function\"\n })\n );\n\n cancelButton.moveToTheBeginningOf(footer);\n }\n}\n"],"file":"FormView.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/ContentElement.tsx"],"names":["React","UIElement","DrawerContent","navContent","TAGS","ContentElement","id","useGrid","addSorter","a","b","hasTag","APP","UTILS","config","label","localeCompare","element","runSorters","sorter","_sorters","push","props","getLayout","sort"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AAEA,WAAaC,cAAb;AAAA;;AAAA;;AAGI,0BAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,8BAAMA,EAAN;;AADoB,+DAFL,EAEK;;AAGpB,UAAKC,OAAL,CAAa,KAAb;;AAEA,UAAKC,SAAL,CAAe,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACrB,UAAID,CAAC,CAACE,MAAF,CAASP,IAAI,CAACQ,GAAd,KAAsBF,CAAC,CAACC,MAAF,CAASP,IAAI,CAACS,KAAd,CAA1B,EAAgD;AAC5C,eAAO,CAAC,CAAR;AACH;;AAED,UAAIJ,CAAC,CAACE,MAAF,CAASP,IAAI,CAACS,KAAd,KAAwBH,CAAC,CAACC,MAAF,CAASP,IAAI,CAACQ,GAAd,CAA5B,EAAgD;AAC5C,eAAO,CAAP;AACH;;AAED,aAAOH,CAAC,CAACK,MAAF,CAASC,KAAT,CAAeC,aAAf,CAA6BN,CAAC,CAACI,MAAF,CAASC,KAAtC,CAAP;AACH,KAVD;;AALoB;AAgBvB;;AAnBL;AAAA;AAAA,WAqBI,oBAAmDE,OAAnD,EAAgF;AAC5E,qFAAiBA,OAAjB;;AACA,WAAKC,UAAL;AACA,aAAOD,OAAP;AACH;AAzBL;AAAA;AAAA,WA2BI,mBAAUE,MAAV,EAA4B;AACxB,WAAKC,QAAL,CAAcC,IAAd,CAAmBF,MAAnB;AACH;AA7BL;AAAA;AAAA,WA+BI,gBAAOG,KAAP,EAAqC;AACjC,0BAAO,oBAAC,aAAD;AAAe,QAAA,SAAS,EAAEnB;AAA1B,oFAAoDmB,KAApD,EAAP;AACH;AAjCL;AAAA;AAAA,WAmCI,sBAAqB;AAAA,iDACI,KAAKF,QADT;AAAA;;AAAA;AACjB,4DAAoC;AAAA,cAAzBD,MAAyB;AAChC,eAAKI,SAAL,GAAiBC,IAAjB,CAAsBL,MAAtB;AACH;AAHgB;AAAA;AAAA;AAAA;AAAA;AAIpB;AAvCL;;AAAA;AAAA,EAAoClB,SAApC","sourcesContent":["import React from \"react\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { DrawerContent } from \"@webiny/ui/Drawer\";\nimport { navContent } from \"~/ui/views/NavigationView/Styled\";\nimport { TAGS } from \"~/ui/elements/NavigationMenuElement\";\n\nexport class ContentElement extends UIElement {\n private _sorters = [];\n\n constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n\n this.addSorter((a, b) => {\n if (a.hasTag(TAGS.APP) && b.hasTag(TAGS.UTILS)) {\n return -1;\n }\n\n if (a.hasTag(TAGS.UTILS) && b.hasTag(TAGS.APP)) {\n return 1;\n }\n\n return a.config.label.localeCompare(b.config.label);\n });\n }\n\n addElement<TElement extends UIElement = UIElement>(element: TElement): TElement {\n super.addElement(element);\n this.runSorters();\n return element;\n }\n\n addSorter(sorter: Function) {\n this._sorters.push(sorter);\n }\n\n render(props?: any): React.ReactNode {\n return <DrawerContent className={navContent}>{super.render(props)}</DrawerContent>;\n }\n\n private runSorters() {\n for (const sorter of this._sorters) {\n this.getLayout().sort(sorter);\n }\n }\n}\n"],"file":"ContentElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/FooterElement.tsx"],"names":["React","List","ListItem","UIElement","GenericElement","PlaceholderElement","MenuFooter","subFooter","FooterElement","id","config","useGrid","_footerPlaceholder","addElement","process","env","REACT_APP_WEBINY_VERSION","moveAfter","element","moveBefore","props"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,iBAA/B;AACA,SAASC,SAAT;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AAEA,SAASC,UAAT,EAAqBC,SAArB;AAMA,WAAaC,aAAb;AAAA;;AAAA;;AAGI,yBAAYC,EAAZ,EAAwBC,MAAxB,EAAqD;AAAA;;AAAA;;AACjD,8BAAMD,EAAN,EAAUC,MAAV;;AADiD;;AAGjD,UAAKC,OAAL,CAAa,KAAb;;AAEA,UAAKC,kBAAL,GAA0B,MAAKC,UAAL,CACtB,IAAIR,kBAAJ,CAAuB,+BAAvB,CADsB,CAA1B;AAIA,QAAID,cAAJ,CAAmB,gBAAnB,EAAqC,YAAM;AACvC,0BACI,oBAAC,QAAD;AAAU,QAAA,MAAM,EAAE,KAAlB;AAAyB,QAAA,SAAS,EAAEG;AAApC,qBACaO,OAAO,CAACC,GAAR,CAAYC,wBADzB,CADJ;AAKH,KAND,EAMGC,SANH,CAMa,MAAKL,kBANlB;AATiD;AAgBpD;;AAnBL;AAAA;AAAA,WAqBI,wBAAeM,OAAf,EAA+C;AAC3CA,MAAAA,OAAO,CAACC,UAAR,CAAmB,KAAKP,kBAAxB;AACA,aAAOM,OAAP;AACH;AAxBL;AAAA;AAAA,WA0BI,gBAAOE,KAAP,EAAqC;AACjC,0BACI,oBAAC,UAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,cAAc;AAApB,mFAAmCA,KAAnC,EADJ,CADJ;AAKH;AAhCL;;AAAA;AAAA,EAAmCjB,SAAnC","sourcesContent":["import React from \"react\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { NavigationMenuElement } from \"~/ui/elements/NavigationMenuElement\";\nimport { MenuFooter, subFooter } from \"./Styled\";\n\ninterface FooterElementConfig extends UIElementConfig {\n closeMenu: () => void;\n}\n\nexport class FooterElement extends UIElement<FooterElementConfig> {\n private _footerPlaceholder: PlaceholderElement;\n\n constructor(id: string, config: FooterElementConfig) {\n super(id, config);\n\n this.useGrid(false);\n\n this._footerPlaceholder = this.addElement(\n new PlaceholderElement(\"navigation.footer.placeholder\")\n );\n\n new GenericElement(\"webiny.version\", () => {\n return (\n <ListItem ripple={false} className={subFooter}>\n Webiny v{process.env.REACT_APP_WEBINY_VERSION}\n </ListItem>\n );\n }).moveAfter(this._footerPlaceholder);\n }\n\n addMenuElement(element: NavigationMenuElement) {\n element.moveBefore(this._footerPlaceholder);\n return element;\n }\n\n render(props?: any): React.ReactNode {\n return (\n <MenuFooter>\n <List nonInteractive>{super.render(props)}</List>\n </MenuFooter>\n );\n }\n}\n"],"file":"FooterElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/HeaderElement.tsx"],"names":["React","UIElement","DrawerHeader","GenericElement","PlaceholderElement","TopAppBarTitle","MenuHeader","navHeader","ElementID","HeaderElement","id","config","useGrid","addElement","MenuButton","Logo","logo","getElement","replaceWith","menuButton","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT;AACA,SAASC,YAAT,QAA6B,mBAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,cAAT,QAA+B,sBAA/B;AACA,SAASC,UAAT,EAAqBC,SAArB;AAEA,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S;AAAAA,EAAAA,S;GAAAA,S,KAAAA,S;;AASZ,WAAaC,aAAb;AAAA;;AAAA;;AACI,yBAAYC,EAAZ,EAAwBC,MAAxB,EAAqD;AAAA;;AAAA;;AACjD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AACA,UAAKC,UAAL,CAAgB,IAAIT,kBAAJ,CAAuBI,SAAS,CAACM,UAAjC,CAAhB;;AACA,UAAKD,UAAL,CAAgB,IAAIT,kBAAJ,CAAuBI,SAAS,CAACO,IAAjC,CAAhB;;AALiD;AAMpD;;AAPL;AAAA;AAAA,WASI,iBAAQC,IAAR,EAAkC;AAC9B,WAAKC,UAAL,CAAgBT,SAAS,CAACO,IAA1B,EAAgCG,WAAhC,CACI,IAAIf,cAAJ,CAAmBK,SAAS,CAACO,IAA7B,EAAmC,YAAM;AACrC,4BAAO,oBAAC,cAAD,QAAiBC,IAAjB,CAAP;AACH,OAFD,CADJ;AAKH;AAfL;AAAA;AAAA,WAiBI,uBAAcG,UAAd,EAA8C;AAC1C,WAAKF,UAAL,CAAgBT,SAAS,CAACM,UAA1B,EAAsCI,WAAtC,CACI,IAAIf,cAAJ,CAAmBK,SAAS,CAACM,UAA7B,EAAyC,YAAM;AAC3C,eAAOK,UAAP;AACH,OAFD,CADJ;AAKH;AAvBL;AAAA;AAAA,WAyBI,gBAAOC,KAAP,EAAqC;AACjC,0BACI,oBAAC,YAAD;AAAc,QAAA,SAAS,EAAEb;AAAzB,sBACI,oBAAC,UAAD,kFAA0Ba,KAA1B,EADJ,CADJ;AAKH;AA/BL;;AAAA;AAAA,EAAmCnB,SAAnC","sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { DrawerHeader } from \"@webiny/ui/Drawer\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { TopAppBarTitle } from \"@webiny/ui/TopAppBar\";\nimport { MenuHeader, navHeader } from \"./Styled\";\n\nexport enum ElementID {\n Logo = \"headerLogo\",\n MenuButton = \"headerMenuButton\"\n}\n\ninterface HeaderElementConfig extends UIElementConfig {\n closeMenu: () => void;\n}\n\nexport class HeaderElement extends UIElement<HeaderElementConfig> {\n constructor(id: string, config: HeaderElementConfig) {\n super(id, config);\n\n this.useGrid(false);\n this.addElement(new PlaceholderElement(ElementID.MenuButton));\n this.addElement(new PlaceholderElement(ElementID.Logo));\n }\n\n setLogo(logo: React.ReactElement) {\n this.getElement(ElementID.Logo).replaceWith(\n new GenericElement(ElementID.Logo, () => {\n return <TopAppBarTitle>{logo}</TopAppBarTitle>;\n })\n );\n }\n\n setMenuButton(menuButton: React.ReactElement) {\n this.getElement(ElementID.MenuButton).replaceWith(\n new GenericElement(ElementID.MenuButton, () => {\n return menuButton;\n })\n );\n }\n\n render(props?: any): React.ReactNode {\n return (\n <DrawerHeader className={navHeader}>\n <MenuHeader>{super.render(props)}</MenuHeader>\n </DrawerHeader>\n );\n }\n}\n"],"file":"HeaderElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/NavigationViewRenderer.tsx"],"names":["React","UIRenderer","Drawer","NavigationViewRenderer","element","children","getNavigationHook","menuIsShown","hideMenu"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT;AAEA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,WAAaC,sBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACI,sBAA+E;AAAA,UAAtEC,OAAsE,QAAtEA,OAAsE;AAAA,UAA7DC,QAA6D,QAA7DA,QAA6D;;AAC3E,kCAAkCD,OAAO,CAACE,iBAAR,EAAlC;AAAA,UAAQC,WAAR,yBAAQA,WAAR;AAAA,UAAqBC,QAArB,yBAAqBA,QAArB;;AAEA,0BACI,oBAAC,MAAD;AAAQ,QAAA,KAAK,MAAb;AAAc,QAAA,IAAI,EAAED,WAAW,EAA/B;AAAmC,QAAA,OAAO,EAAEC;AAA5C,SACKH,QAAQ,EADb,CADJ;AAKH;AATL;;AAAA;AAAA,EAA4CJ,UAA5C","sourcesContent":["import React from \"react\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport { NavigationView } from \"~/ui/views/NavigationView\";\nimport { Drawer } from \"@webiny/ui/Drawer\";\n\nexport class NavigationViewRenderer extends UIRenderer<NavigationView> {\n render({ element, children }: UIRenderParams<NavigationView>): React.ReactNode {\n const { menuIsShown, hideMenu } = element.getNavigationHook();\n\n return (\n <Drawer modal open={menuIsShown()} onClose={hideMenu}>\n {children()}\n </Drawer>\n );\n }\n}\n"],"file":"NavigationViewRenderer.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/Styled.ts"],"names":["styled","css","MenuHeader","display","alignItems","padding","backgroundColor","borderBottom","navHeader","minHeight","navContent","logoStyle","paddingLeft","color","MenuFooter","borderTop","a","textDecoration","subFooter","margin"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,SAASC,GAAT,QAAoB,SAApB;AAEA,OAAO,IAAMC,UAAU,gBAAGF,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACpCG,EAAAA,OAAO,EAAE,MAD2B;AAEpCC,EAAAA,UAAU,EAAE,QAFwB;AAGpCC,EAAAA,OAAO,EAAE,CAH2B;AAIpCC,EAAAA,eAAe,EAAE,0BAJmB;AAKpCC,EAAAA,YAAY,EAAE;AALsB,CAAjB,CAAhB;AAQP,OAAO,IAAMC,SAAS,gBAAGP,GAAG,CAAC;AACzBI,EAAAA,OAAO,EAAE,CADgB;AAEzB,0BAAwB;AACpBA,IAAAA,OAAO,EAAE,cADW;AAEpBI,IAAAA,SAAS,EAAE;AAFS;AAFC,CAAD,qBAArB;AAQP,OAAO,IAAMC,UAAU,gBAAGT,GAAG,CAAC;AAC1BI,EAAAA,OAAO,EAAE;AADiB,CAAD,sBAAtB;AAIP,OAAO,IAAMM,SAAS,gBAAGV,GAAG,CAAC;AACzB,8BAA4B;AACxBW,IAAAA,WAAW,EAAE,EADW;AAExB,oBAAgB;AACZC,MAAAA,KAAK,EAAE;AADK;AAFQ;AADH,CAAD,qBAArB;AASP,OAAO,IAAMC,UAAU,gBAAGd,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACpCe,EAAAA,SAAS,EAAE,0CADyB;AAEpCC,EAAAA,CAAC,EAAE;AACCH,IAAAA,KAAK,EAAE,kCADR;AAECI,IAAAA,cAAc,EAAE;AAFjB;AAFiC,CAAjB,CAAhB;AAQP,OAAO,IAAMC,SAAS,gBAAGjB,GAAG,CAAC;AACzB,iCAA+B;AAC3Bc,IAAAA,SAAS,EAAE,0CADgB;AAE3BV,IAAAA,OAAO,EAAE,WAFkB;AAG3Bc,IAAAA,MAAM,EAAE;AAHmB;AADN,CAAD,qBAArB","sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\n\nexport const MenuHeader = styled(\"div\")({\n display: \"flex\",\n alignItems: \"center\",\n padding: 5,\n backgroundColor: \"var(--mdc-theme-surface)\",\n borderBottom: \"1px solid var(--mdc-theme-on-background)\"\n});\n\nexport const navHeader = css({\n padding: 0,\n \"&.mdc-drawer__header\": {\n padding: \"0 !important\",\n minHeight: 0\n }\n});\n\nexport const navContent = css({\n padding: \"0 !important\"\n});\n\nexport const logoStyle = css({\n \"&.mdc-top-app-bar__title\": {\n paddingLeft: 15,\n \".webiny-logo\": {\n color: \"var(--mdc-theme-primary)\"\n }\n }\n});\n\nexport const MenuFooter = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n a: {\n color: \"var(--mdc-theme-text-on-primary)\",\n textDecoration: \"none\"\n }\n});\n\nexport const subFooter = css({\n \".mdc-drawer &.mdc-list-item\": {\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n padding: \"10px 16px\",\n margin: 0\n }\n});\n"],"file":"Styled.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"legacyMenu.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/NavigationView/useNavigation.ts"],"names":["useUi","set","useNavigation","ui","hook","showMenu","setState","hideMenu","menuIsShown"],"mappings":";AAAA,SAASA,KAAT,QAAsB,yBAAtB;AAEA,SAASC,GAAT,QAAoB,oBAApB;AAIA,OAAO,SAASC,aAAT,GAAyB;AAC5B,MAAMC,EAAE,GAAGH,KAAK,EAAhB;AAEA,MAAMI,IAAI,GAAG;AACTC,IAAAA,QAAQ,EAAE,oBAAM;AACZF,MAAAA,EAAE,CAACG,QAAH,CAAY,UAAAH,EAAE;AAAA,eAAIF,GAAG,CAACE,EAAD,EAAK,eAAL,EAAsB,IAAtB,CAAP;AAAA,OAAd;AACH,KAHQ;AAITI,IAAAA,QAAQ,EAAE,oBAAM;AACZJ,MAAAA,EAAE,CAACG,QAAH,CAAY,UAAAH,EAAE;AAAA,eAAIF,GAAG,CAACE,EAAD,EAAK,eAAL,EAAsB,KAAtB,CAAP;AAAA,OAAd;AACH,KANQ;AAOTK,IAAAA,WAPS,yBAOc;AACnB,aAAO,KAAIL,EAAJ,EAAQ,eAAR,EAAyB,KAAzB,CAAP;AACH;AATQ,GAAb;AAYA,SAAOC,IAAP;AACH","sourcesContent":["import { useUi } from \"@webiny/app/hooks/useUi\";\nimport { get } from \"lodash\";\nimport { set } from \"dot-prop-immutable\";\n\nexport type UseNavigation = ReturnType<typeof useNavigation>;\n\nexport function useNavigation() {\n const ui = useUi();\n\n const hook = {\n showMenu: () => {\n ui.setState(ui => set(ui, \"appsMenu.show\", true));\n },\n hideMenu: () => {\n ui.setState(ui => set(ui, \"appsMenu.show\", false));\n },\n menuIsShown(): boolean {\n return get(ui, \"appsMenu.show\", false);\n }\n };\n\n return hook;\n}\n"],"file":"useNavigation.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ui/views/NavigationView.tsx"],"names":["React","Fragment","sortBy","nanoid","UIView","plugins","GenericElement","useSecurity","HeaderElement","ContentElement","FooterElement","useNavigation","NavigationMenuElement","TAGS","NavigationViewRenderer","ElementID","NavigationView","useGrid","addHookDefinition","elementConfig","closeMenu","getHook","hideMenu","addElement","Header","Content","Footer","addUtilityMenuElement","SettingsMenu","label","icon","setupLegacyMenuPlugins","addRenderer","applyPlugins","element","addTag","APP","getContentElement","UTILS","getSettingsMenuElement","getElement","menuPlugins","byType","legacyMenu","Menu","props","menuItem","addAppMenuElement","name","Children","map","children","child","isValidElement","cloneElement","parent","Section","sectionMenu","Item","path","p","order","forEach","plugin","render","setTimeout","remove"],"mappings":"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","sourcesContent":["import React, { Fragment } from \"react\";\nimport sortBy from \"lodash/sortBy\";\nimport { nanoid } from \"nanoid\";\nimport { UIView } from \"~/ui/UIView\";\nimport { plugins } from \"@webiny/plugins\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { UseSecurity, useSecurity } from \"@webiny/app-security\";\nimport { HeaderElement } from \"./NavigationView/HeaderElement\";\nimport { ContentElement } from \"./NavigationView/ContentElement\";\nimport { FooterElement } from \"./NavigationView/FooterElement\";\nimport { useNavigation, UseNavigation } from \"~/ui/views/NavigationView/useNavigation\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { NavigationMenuElement, TAGS } from \"~/ui/elements/NavigationMenuElement\";\nimport { ItemProps, MenuProps, SectionProps } from \"./NavigationView/legacyMenu\";\nimport { ReactComponent as SettingsIcon } from \"~/assets/icons/round-settings-24px.svg\";\nimport { NavigationViewRenderer } from \"./NavigationView/NavigationViewRenderer\";\n\nexport enum ElementID {\n Header = \"navigationHeader\",\n Content = \"navigationContent\",\n Footer = \"navigationFooter\",\n SettingsMenu = \"menu.settings\"\n}\n\nexport class NavigationView extends UIView {\n constructor() {\n super(\"NavigationView\");\n\n this.useGrid(false);\n this.addHookDefinition(\"navigation\", useNavigation);\n this.addHookDefinition(\"security\", useSecurity);\n\n const elementConfig = {\n closeMenu: () => this.getHook<UseNavigation>(\"navigation\").hideMenu()\n };\n\n this.addElement(new HeaderElement(ElementID.Header, elementConfig));\n this.addElement(new ContentElement(ElementID.Content));\n this.addElement(new FooterElement(ElementID.Footer, elementConfig));\n\n this.addUtilityMenuElement(\n new NavigationMenuElement(ElementID.SettingsMenu, {\n label: \"Settings\",\n icon: <SettingsIcon />\n })\n );\n\n // Load legacy plugins and convert them into elements\n this.setupLegacyMenuPlugins();\n\n this.addRenderer(new NavigationViewRenderer());\n\n this.applyPlugins(NavigationView);\n }\n\n addAppMenuElement(element: NavigationMenuElement) {\n element.addTag(TAGS.APP);\n return this.getContentElement().addElement(element);\n }\n\n addUtilityMenuElement(element: NavigationMenuElement) {\n element.addTag(TAGS.UTILS);\n return this.getContentElement().addElement(element);\n }\n\n addSettingsMenuElement(element: NavigationMenuElement) {\n return this.getSettingsMenuElement().addElement(element);\n }\n\n getNavigationHook(): UseNavigation {\n return this.getHook(\"navigation\");\n }\n\n getSecurityHook(): UseSecurity {\n return this.getHook(\"security\");\n }\n\n getHeaderElement(): HeaderElement {\n return this.getElement(ElementID.Header);\n }\n\n getContentElement(): ContentElement {\n return this.getElement(ElementID.Content);\n }\n\n getFooterElement(): FooterElement {\n return this.getElement(ElementID.Footer);\n }\n\n getSettingsMenuElement(): NavigationMenuElement {\n return this.getElement(ElementID.SettingsMenu);\n }\n\n private setupLegacyMenuPlugins() {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const legacyMenu = new GenericElement(\"legacy-menu\");\n\n const Menu = (props: MenuProps) => {\n const menuItem = this.addAppMenuElement(\n new NavigationMenuElement(`navigation.content.${props.name}`, {\n label: props.label,\n icon: props.icon\n })\n );\n\n return (\n <Fragment>\n {React.Children.map(props.children, child => {\n if (!React.isValidElement(child)) {\n return child;\n }\n return React.cloneElement(child, { parent: menuItem });\n })}\n </Fragment>\n );\n };\n\n const Section = ({ parent, ...props }: SectionProps) => {\n const sectionMenu = parent.addElement<NavigationMenuElement>(\n new NavigationMenuElement(nanoid(), {\n label: props.label\n })\n );\n\n return (\n <Fragment>\n {React.Children.map(props.children, child => {\n if (!React.isValidElement(child)) {\n return child;\n }\n return React.cloneElement(child, { parent: sectionMenu });\n })}\n </Fragment>\n );\n };\n\n const Item = ({ parent, ...props }: ItemProps) => {\n parent.addElement<NavigationMenuElement>(\n new NavigationMenuElement(nanoid(), {\n label: props.label,\n path: props.path\n })\n );\n\n return null;\n };\n\n sortBy(menuPlugins, [p => p.order || 50, p => p.name]).forEach(plugin => {\n legacyMenu.addElement(\n new GenericElement(plugin.name, () => plugin.render({ Menu, Section, Item }))\n );\n });\n\n this.addElement(legacyMenu);\n\n setTimeout(() => {\n legacyMenu.remove();\n }, 100);\n }\n}\n"],"file":"NavigationView.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/OverlayView/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,gBAAOC,KAAP,EAA+B;AAC3B,0BAAO,oBAAC,cAAD,mFAA8BA,KAA9B,EAAP;AACH;AARL;;AAAA;AAAA,EAAoCP,SAApC","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement } 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 render(props): React.ReactNode {\n return <ContentWrapper>{super.render(props)}</ContentWrapper>;\n }\n}\n"],"file":"ContentElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/OverlayView/HeaderElement.tsx"],"names":["React","css","UIElement","TopAppBarSecondary","TopAppBarSection","IconButton","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;;AAEA,SAASC,kBAAT;AACA,SAASC,kBAAT;AAOA,IAAMC,KAAK,gBAAGP,GAAG,CAAC;AACdO,EAAAA,KAAK,EAAE;AADO,CAAD,iBAAjB,C,CAIA;AACA;;AAMA,WAAaC,aAAb;AAAA;;AAAA;;AAKI,yBAAYC,EAAZ,EAAwBC,MAAxB,EAAqD;AAAA;;AAAA;;AACjD,8BAAMD,EAAN,EAAUC,MAAV;;AADiD,mEAJnB,IAAIL,kBAAJ,CAAuB,aAAvB,CAImB;;AAAA;;AAAA,oEAFlB,IAAIA,kBAAJ,CAAuB,cAAvB,CAEkB;;AAGjD,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;;AATiD;AAUpD;;AAfL;AAAA;AAAA,WAiBI,kBAASF,KAAT,EAA4C;AACxC,WAAKF,MAAL,CAAYG,QAAZ,GAAuBD,KAAvB;AACH;AAnBL;AAAA;AAAA,WAqBI,+BAAsBG,OAAtB,EAA0C;AACtC,WAAKC,YAAL,GAAoBD,OAApB;AACH;AAvBL;AAAA;AAAA,WAyBI,iCAAwBA,OAAxB,EAA4C;AACxC,WAAKJ,cAAL,GAAsBI,OAAtB;AACH;AA3BL;AAAA;AAAA,WA6BI,gCAAuBA,OAAvB,EAA2C;AACvC,WAAKE,aAAL,GAAqBF,OAArB;AACH;AA/BL;AAAA;AAAA,WAiCI,iCAAwB;AACpB,aAAO,KAAKC,YAAZ;AACH;AAnCL;AAAA;AAAA,WAqCI,mCAA0B;AACtB,aAAO,KAAKL,cAAZ;AACH;AAvCL;AAAA;AAAA,WAyCI,kCAAyB;AACrB,aAAO,KAAKM,aAAZ;AACH;AA3CL;AAAA;AAAA,WA6CI,gBAAOC,KAAP,EAA+B;AAC3B,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,EAAmCxB,SAAnC","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement, UIElementConfig } 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 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 setTitle(title: GetterWithoutProps<string>) {\n this.config.getTitle = title;\n }\n\n setLeftSectionElement(element: UIElement) {\n this._leftSection = element;\n }\n\n setCenterSectionElement(element: UIElement) {\n this._centerSection = element;\n }\n\n setRightSectionElement(element: UIElement) {\n this._rightSection = element;\n }\n\n getLeftSectionElement() {\n return this._leftSection;\n }\n\n getCenterSectionElement() {\n return this._centerSection;\n }\n\n getRightSectionElement() {\n return this._rightSection;\n }\n\n render(props): 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"],"file":"HeaderElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/OverlayView/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,sBAAyE;AAAA,UAAhEC,OAAgE,QAAhEA,OAAgE;AACrE,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,8BAAYC,EAAZ,EAAwBH,MAAxB,EAA0D;AAAA;;AAAA;;AACtD,+BAAMG,EAAN,EAAUH,MAAV;;AAEA,UAAKI,WAAL,CAAiB,IAAIR,0BAAJ,EAAjB;;AAHsD;AAIzD;;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;\n}\n\nexport class HeaderTitleElementRenderer extends UIRenderer<HeaderTitleElement> {\n 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 constructor(id: string, config: HeaderTitleElementConfig) {\n super(id, config);\n\n this.addRenderer(new HeaderTitleElementRenderer());\n }\n}\n"],"file":"HeaderTitleElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/OverlayView/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;AAOA,OAAO,SAASC,cAAT,GAA0B;AAC7B,kBAAkCN,QAAQ,CAAC,KAAD,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","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 type UseOverlayView = ReturnType<typeof useOverlayView>;\n\nexport function useOverlayView() {\n const [isVisible, setIsVisible] = useState(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"],"file":"useOverlayView.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ui/views/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 } 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 = {\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 = {\n entering: { transform: \"translateY(75vh)\", opacity: 0 },\n entered: { transform: \"translateY(0px)\", opacity: 1 }\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 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 setTitle(title: () => string) {\n this.getHeaderElement().setTitle(title);\n }\n\n onEntered() {\n [...this._onEntered].reverse().forEach(cb => cb(this));\n }\n\n onExited() {\n [...this._onExited].reverse().forEach(cb => cb(this));\n }\n\n addOnEntered(cb: OnExited) {\n this._onEntered.push(cb);\n }\n\n addOnExited(cb: OnExited) {\n this._onExited.push(cb);\n }\n\n getOverlayHook() {\n return this.getHook<UseOverlayView>(\"overlay\");\n }\n\n setIsVisible(visible: boolean) {\n this.getOverlayHook().setIsVisible(visible);\n }\n\n getHeaderElement(): HeaderElement {\n return this.getElement(\"overlayHeader\");\n }\n\n getContentElement(): ContentElement {\n return this.getElement(\"overlayContent\");\n }\n\n render(props) {\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"],"file":"OverlayView.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ui/views/SplitView/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,kEAE0B,IAAIC,GAAJ,EAF1B;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAII,kBAASC,KAAT,EAAwB;AACpB,WAAKC,MAAL,GAAcD,KAAd;AACH;AANL;AAAA;AAAA,WAQI,sBAAaE,SAAb,EAAgC;AAC5B,WAAKC,WAAL,CAAiBC,GAAjB,CAAqBF,SAArB;AACH;AAVL;AAAA;AAAA,WAYI,yBAAgBA,SAAhB,EAAmC;AAC/B,WAAKC,WAAL,CAAiBE,MAAjB,CAAwBH,SAAxB;AACH;AAdL;AAAA;AAAA,WAgBI,2BAAkBI,OAAlB,EAAsC;AAClC;AACA,WAAKC,WAAL,GAAmBC,OAAnB,CAA2B,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACC,MAAH,EAAJ;AAAA,OAA7B,EAFkC,CAIlC;;AACA,WAAKC,UAAL,CAAgBL,OAAhB;AACH;AAtBL;AAAA;AAAA,WAwBI,gBAAOM,KAAP,EAAmB;AACf,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 } from \"~/ui/UIElement\";\nimport { Cell } from \"@webiny/ui/Grid\";\n\nexport class SplitViewPanelElement extends UIElement<any> {\n private _width = 12;\n private _classNames = new Set();\n\n setWidth(width: number) {\n this._width = width;\n }\n\n addClassName(className: string) {\n this._classNames.add(className);\n }\n\n removeClassName(className: string) {\n this._classNames.delete(className);\n }\n\n setContentElement(element: UIElement) {\n // Remove previous content\n this.getChildren().forEach(el => el.remove());\n\n // Add new content\n this.addElement(element);\n }\n\n render(props: any) {\n return (\n <Cell span={this._width} className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Cell>\n );\n }\n}\n"],"file":"SplitViewPanelElement.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ui/views/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":"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","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 constructor(id, 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 addClassName(className: string) {\n this._classNames.add(className);\n }\n\n removeClassName(className: string) {\n this._classNames.delete(className);\n }\n\n getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\");\n }\n\n getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\");\n }\n\n 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() {\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"],"file":"SplitView.js"}