@webiny/app-admin 5.43.2 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/base/Admin.js +25 -35
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base/Menus/SupportMenuItems.d.ts +2 -0
  4. package/base/Base/Menus/SupportMenuItems.js +20 -0
  5. package/base/Base/Menus/SupportMenuItems.js.map +1 -0
  6. package/base/Base/Menus/WebinyVersion.d.ts +2 -0
  7. package/base/Base/Menus/WebinyVersion.js +24 -0
  8. package/base/Base/Menus/WebinyVersion.js.map +1 -0
  9. package/base/Base/Menus.d.ts +2 -0
  10. package/base/Base/Menus.js +129 -0
  11. package/base/Base/Menus.js.map +1 -0
  12. package/base/Base/Routes.d.ts +2 -0
  13. package/base/Base/Routes.js +24 -0
  14. package/base/Base/Routes.js.map +1 -0
  15. package/base/Base/Tenant/wby-logo.svg +3 -0
  16. package/base/Base/Tenant.d.ts +2 -0
  17. package/base/Base/Tenant.js +19 -0
  18. package/base/Base/Tenant.js.map +1 -0
  19. package/base/Base.js +11 -79
  20. package/base/Base.js.map +1 -1
  21. package/base/WebinyVersion.d.ts +2 -0
  22. package/base/WebinyVersion.js +24 -0
  23. package/base/WebinyVersion.js.map +1 -0
  24. package/base/plugins/AddGraphQLQuerySelection.js +11 -21
  25. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  26. package/base/providers/AdminUiStateProvider.d.ts +1 -0
  27. package/base/providers/AdminUiStateProvider.js +14 -0
  28. package/base/providers/AdminUiStateProvider.js.map +1 -0
  29. package/base/providers/ApolloProvider.js +9 -15
  30. package/base/providers/ApolloProvider.js.map +1 -1
  31. package/base/providers/TelemetryProvider.js +12 -18
  32. package/base/providers/TelemetryProvider.js.map +1 -1
  33. package/base/providers/UiProviders.d.ts +1 -0
  34. package/base/providers/UiProviders.js +14 -0
  35. package/base/providers/UiProviders.js.map +1 -0
  36. package/base/providers/UiStateProvider.js +9 -15
  37. package/base/providers/UiStateProvider.js.map +1 -1
  38. package/base/providers/ViewCompositionProvider.js +33 -44
  39. package/base/providers/ViewCompositionProvider.js.map +1 -1
  40. package/base/ui/Brand.js +5 -12
  41. package/base/ui/Brand.js.map +1 -1
  42. package/base/ui/CenteredView.js +12 -43
  43. package/base/ui/CenteredView.js.map +1 -1
  44. package/base/ui/Dashboard.js +5 -12
  45. package/base/ui/Dashboard.js.map +1 -1
  46. package/base/ui/FileManager.js +42 -56
  47. package/base/ui/FileManager.js.map +1 -1
  48. package/base/ui/Layout.js +8 -16
  49. package/base/ui/Layout.js.map +1 -1
  50. package/base/ui/LocaleSelector.js +5 -12
  51. package/base/ui/LocaleSelector.js.map +1 -1
  52. package/base/ui/LoginScreen.js +9 -15
  53. package/base/ui/LoginScreen.js.map +1 -1
  54. package/base/ui/Logo.d.ts +0 -5
  55. package/base/ui/Logo.js +5 -26
  56. package/base/ui/Logo.js.map +1 -1
  57. package/base/ui/Navigation.d.ts +0 -57
  58. package/base/ui/Navigation.js +5 -146
  59. package/base/ui/Navigation.js.map +1 -1
  60. package/base/ui/NotFound.js +5 -12
  61. package/base/ui/NotFound.js.map +1 -1
  62. package/base/ui/Tags.js +14 -19
  63. package/base/ui/Tags.js.map +1 -1
  64. package/base/ui/{Search.d.ts → TenantSelector.d.ts} +2 -18
  65. package/base/ui/TenantSelector.js +8 -0
  66. package/base/ui/TenantSelector.js.map +1 -0
  67. package/base/ui/UserMenu/UserMenu.d.ts +39 -0
  68. package/base/ui/UserMenu/UserMenu.js +8 -0
  69. package/base/ui/UserMenu/UserMenu.js.map +1 -0
  70. package/base/ui/UserMenu/UserMenuHandle.d.ts +39 -0
  71. package/base/ui/UserMenu/UserMenuHandle.js +8 -0
  72. package/base/ui/UserMenu/UserMenuHandle.js.map +1 -0
  73. package/base/ui/UserMenu/UserMenuItem.d.ts +81 -0
  74. package/base/ui/UserMenu/UserMenuItem.js +19 -0
  75. package/base/ui/UserMenu/UserMenuItem.js.map +1 -0
  76. package/base/ui/UserMenu/UserMenuLink.d.ts +81 -0
  77. package/base/ui/UserMenu/UserMenuLink.js +19 -0
  78. package/base/ui/UserMenu/UserMenuLink.js.map +1 -0
  79. package/base/ui/UserMenu/UserMenuSeparator.d.ts +42 -0
  80. package/base/ui/UserMenu/UserMenuSeparator.js +9 -0
  81. package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -0
  82. package/base/ui/UserMenu.d.ts +3 -79
  83. package/base/ui/UserMenu.js +14 -101
  84. package/base/ui/UserMenu.js.map +1 -1
  85. package/components/AdminLayout.js +7 -13
  86. package/components/AdminLayout.js.map +1 -1
  87. package/components/AppInstaller/AppInstaller.js +57 -67
  88. package/components/AppInstaller/AppInstaller.js.map +1 -1
  89. package/components/AppInstaller/Sidebar.js +49 -69
  90. package/components/AppInstaller/Sidebar.js.map +1 -1
  91. package/components/AppInstaller/index.js +10 -16
  92. package/components/AppInstaller/index.js.map +1 -1
  93. package/components/AppInstaller/styled.js +8 -15
  94. package/components/AppInstaller/styled.js.map +1 -1
  95. package/components/AppInstaller/useInstaller.js +81 -91
  96. package/components/AppInstaller/useInstaller.js.map +1 -1
  97. package/components/BulkActions/Worker.js +95 -141
  98. package/components/BulkActions/Worker.js.map +1 -1
  99. package/components/BulkActions/index.js +2 -27
  100. package/components/BulkActions/index.js.map +1 -1
  101. package/components/BulkActions/useDialogWithReport/DialogMessage.js +20 -33
  102. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -1
  103. package/components/BulkActions/useDialogWithReport/index.js +1 -16
  104. package/components/BulkActions/useDialogWithReport/index.js.map +1 -1
  105. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +45 -52
  106. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
  107. package/components/Buttons/Buttons.d.ts +7 -6
  108. package/components/Buttons/Buttons.js +58 -56
  109. package/components/Buttons/Buttons.js.map +1 -1
  110. package/components/Buttons/Buttons.styles.js +2 -9
  111. package/components/Buttons/Buttons.styles.js.map +1 -1
  112. package/components/Buttons/index.js +2 -25
  113. package/components/Buttons/index.js.map +1 -1
  114. package/components/Buttons/useButtons.js +13 -19
  115. package/components/Buttons/useButtons.js.map +1 -1
  116. package/components/Dialogs/CustomDialog.js +30 -37
  117. package/components/Dialogs/CustomDialog.js.map +1 -1
  118. package/components/Dialogs/Dialog.d.ts +8 -4
  119. package/components/Dialogs/Dialog.js +56 -41
  120. package/components/Dialogs/Dialog.js.map +1 -1
  121. package/components/Dialogs/DialogsContext.d.ts +9 -3
  122. package/components/Dialogs/DialogsContext.js +96 -107
  123. package/components/Dialogs/DialogsContext.js.map +1 -1
  124. package/components/Dialogs/useDialogs.js +5 -17
  125. package/components/Dialogs/useDialogs.js.map +1 -1
  126. package/components/EmptyView.d.ts +1 -1
  127. package/components/EmptyView.js +31 -41
  128. package/components/EmptyView.js.map +1 -1
  129. package/components/Filters/Filters.js +12 -20
  130. package/components/Filters/Filters.js.map +1 -1
  131. package/components/Filters/FiltersToggle.d.ts +7 -0
  132. package/components/Filters/FiltersToggle.js +26 -0
  133. package/components/Filters/FiltersToggle.js.map +1 -0
  134. package/components/Filters/index.d.ts +1 -0
  135. package/components/Filters/index.js +2 -16
  136. package/components/Filters/index.js.map +1 -1
  137. package/components/FloatingActionButton.js +7 -13
  138. package/components/FloatingActionButton.js.map +1 -1
  139. package/components/FloatingPanel.js +44 -68
  140. package/components/FloatingPanel.js.map +1 -1
  141. package/components/IconPicker/IconPicker.d.ts +1 -1
  142. package/components/IconPicker/IconPicker.js +25 -32
  143. package/components/IconPicker/IconPicker.js.map +1 -1
  144. package/components/IconPicker/IconPickerComponent.d.ts +5 -5
  145. package/components/IconPicker/IconPickerComponent.js +67 -87
  146. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  147. package/components/IconPicker/IconPickerPresenter.d.ts +5 -4
  148. package/components/IconPicker/IconPickerPresenter.js +68 -109
  149. package/components/IconPicker/IconPickerPresenter.js.map +1 -1
  150. package/components/IconPicker/IconPickerPresenter.test.js +21 -23
  151. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -1
  152. package/components/IconPicker/IconPickerPresenterProvider.js +10 -17
  153. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -1
  154. package/components/IconPicker/IconPickerTab.d.ts +2 -1
  155. package/components/IconPicker/IconPickerTab.js +103 -113
  156. package/components/IconPicker/IconPickerTab.js.map +1 -1
  157. package/components/IconPicker/IconRenderer.js +16 -24
  158. package/components/IconPicker/IconRenderer.js.map +1 -1
  159. package/components/IconPicker/IconRepository.js +41 -73
  160. package/components/IconPicker/IconRepository.js.map +1 -1
  161. package/components/IconPicker/IconRepository.test.js +11 -13
  162. package/components/IconPicker/IconRepository.test.js.map +1 -1
  163. package/components/IconPicker/IconRepositoryFactory.js +14 -37
  164. package/components/IconPicker/IconRepositoryFactory.js.map +1 -1
  165. package/components/IconPicker/Loading.js +42 -68
  166. package/components/IconPicker/Loading.js.map +1 -1
  167. package/components/IconPicker/components/IconPickerCell.d.ts +12 -0
  168. package/components/IconPicker/components/IconPickerCell.js +27 -0
  169. package/components/IconPicker/components/IconPickerCell.js.map +1 -0
  170. package/components/IconPicker/components/IconPickerContent.d.ts +11 -0
  171. package/components/IconPicker/components/IconPickerContent.js +41 -0
  172. package/components/IconPicker/components/IconPickerContent.js.map +1 -0
  173. package/components/IconPicker/components/IconPickerRow.d.ts +4 -0
  174. package/components/IconPicker/components/IconPickerRow.js +14 -0
  175. package/components/IconPicker/components/IconPickerRow.js.map +1 -0
  176. package/components/IconPicker/components/IconPickerTrigger.d.ts +13 -0
  177. package/components/IconPicker/components/IconPickerTrigger.js +52 -0
  178. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -0
  179. package/components/IconPicker/components/index.d.ts +4 -0
  180. package/components/IconPicker/components/index.js +6 -0
  181. package/components/IconPicker/components/index.js.map +1 -0
  182. package/components/IconPicker/config/Emojis.js +9 -16
  183. package/components/IconPicker/config/Emojis.js.map +1 -1
  184. package/components/IconPicker/config/FontAwesomeIcons.js +30 -43
  185. package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -1
  186. package/components/IconPicker/config/IconPackProvider.js +10 -16
  187. package/components/IconPicker/config/IconPackProvider.js.map +1 -1
  188. package/components/IconPicker/config/IconType.js +52 -55
  189. package/components/IconPicker/config/IconType.js.map +1 -1
  190. package/components/IconPicker/config/index.js +35 -53
  191. package/components/IconPicker/config/index.js.map +1 -1
  192. package/components/IconPicker/defaultIcon.js +1 -7
  193. package/components/IconPicker/defaultIcon.js.map +1 -1
  194. package/components/IconPicker/index.js +6 -47
  195. package/components/IconPicker/index.js.map +1 -1
  196. package/components/IconPicker/plugins/customPlugin.js +71 -96
  197. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  198. package/components/IconPicker/plugins/emojisPlugin.js +80 -117
  199. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -1
  200. package/components/IconPicker/plugins/graphql.js +19 -10
  201. package/components/IconPicker/plugins/graphql.js.map +1 -1
  202. package/components/IconPicker/plugins/iconsPlugin.js +62 -93
  203. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -1
  204. package/components/IconPicker/types.d.ts +1 -1
  205. package/components/IconPicker/types.js +3 -8
  206. package/components/IconPicker/types.js.map +1 -1
  207. package/components/LexicalEditor/LexicalEditor.js +24 -31
  208. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  209. package/components/LexicalEditor/index.js +1 -12
  210. package/components/LexicalEditor/index.js.map +1 -1
  211. package/components/MultiImageUpload.d.ts +1 -1
  212. package/components/MultiImageUpload.js +8 -31
  213. package/components/MultiImageUpload.js.map +1 -1
  214. package/components/OptionsMenu/OptionsMenu.d.ts +1 -0
  215. package/components/OptionsMenu/OptionsMenu.js +17 -23
  216. package/components/OptionsMenu/OptionsMenu.js.map +1 -1
  217. package/components/OptionsMenu/OptionsMenuItem.d.ts +1 -0
  218. package/components/OptionsMenu/OptionsMenuItem.js +12 -17
  219. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  220. package/components/OptionsMenu/OptionsMenuLink.d.ts +1 -0
  221. package/components/OptionsMenu/OptionsMenuLink.js +13 -36
  222. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -1
  223. package/components/OptionsMenu/index.js +4 -51
  224. package/components/OptionsMenu/index.js.map +1 -1
  225. package/components/OptionsMenu/useOptionsMenuItem.js +12 -18
  226. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -1
  227. package/components/OverlayLayout/OverlayLayout.d.ts +6 -16
  228. package/components/OverlayLayout/OverlayLayout.js +42 -147
  229. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  230. package/components/OverlayLayout/components/OverlayBackdrop.d.ts +7 -0
  231. package/components/OverlayLayout/components/OverlayBackdrop.js +15 -0
  232. package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -0
  233. package/components/OverlayLayout/components/OverlayContent.d.ts +6 -0
  234. package/components/OverlayLayout/components/OverlayContent.js +21 -0
  235. package/components/OverlayLayout/components/OverlayContent.js.map +1 -0
  236. package/components/OverlayLayout/components/OverlayHeader.d.ts +13 -0
  237. package/components/OverlayLayout/components/OverlayHeader.js +44 -0
  238. package/components/OverlayLayout/components/OverlayHeader.js.map +1 -0
  239. package/components/OverlayLayout/components/OverlayRoot.d.ts +9 -0
  240. package/components/OverlayLayout/components/OverlayRoot.js +19 -0
  241. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -0
  242. package/components/OverlayLayout/components/index.d.ts +4 -0
  243. package/components/OverlayLayout/components/index.js +6 -0
  244. package/components/OverlayLayout/components/index.js.map +1 -0
  245. package/components/OverlayLayout/index.js +1 -16
  246. package/components/OverlayLayout/index.js.map +1 -1
  247. package/components/Permissions/CannotUseAaclAlert.js +5 -12
  248. package/components/Permissions/CannotUseAaclAlert.js.map +1 -1
  249. package/components/Permissions/Permissions.js +37 -48
  250. package/components/Permissions/Permissions.js.map +1 -1
  251. package/components/Permissions/PermissionsGroup.d.ts +6 -0
  252. package/components/Permissions/PermissionsGroup.js +18 -0
  253. package/components/Permissions/PermissionsGroup.js.map +1 -0
  254. package/components/Permissions/StyledComponents.d.ts +1 -2
  255. package/components/Permissions/StyledComponents.js +12 -25
  256. package/components/Permissions/StyledComponents.js.map +1 -1
  257. package/components/Permissions/index.d.ts +1 -0
  258. package/components/Permissions/index.js +4 -35
  259. package/components/Permissions/index.js.map +1 -1
  260. package/components/ResizablePanels/index.js +1 -42
  261. package/components/ResizablePanels/index.js.map +1 -1
  262. package/components/RichTextEditor/RichTextEditor.js +13 -21
  263. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  264. package/components/RichTextEditor/index.js +2 -19
  265. package/components/RichTextEditor/index.js.map +1 -1
  266. package/components/RichTextEditor/tools/header/index.js +455 -521
  267. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  268. package/components/RichTextEditor/tools/image/index.js +147 -182
  269. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  270. package/components/RichTextEditor/tools/image/svgs.js +4 -10
  271. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  272. package/components/RichTextEditor/tools/image/tunes.js +75 -96
  273. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  274. package/components/RichTextEditor/tools/image/types.js +1 -5
  275. package/components/RichTextEditor/tools/image/ui.js +143 -174
  276. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  277. package/components/RichTextEditor/tools/paragraph/index.js +337 -389
  278. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  279. package/components/RichTextEditor/tools/textColor/index.js +164 -202
  280. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  281. package/components/RichTextEditor/tools/utils.js +3 -9
  282. package/components/RichTextEditor/tools/utils.js.map +1 -1
  283. package/components/Routes.js +14 -23
  284. package/components/Routes.js.map +1 -1
  285. package/components/SearchUI.d.ts +2 -1
  286. package/components/SearchUI.js +22 -48
  287. package/components/SearchUI.js.map +1 -1
  288. package/components/SimpleForm/SimpleForm.d.ts +14 -7
  289. package/components/SimpleForm/SimpleForm.js +72 -77
  290. package/components/SimpleForm/SimpleForm.js.map +1 -1
  291. package/components/SimpleForm/index.js +1 -30
  292. package/components/SimpleForm/index.js.map +1 -1
  293. package/components/SimpleUI/InputField.js +39 -47
  294. package/components/SimpleUI/InputField.js.map +1 -1
  295. package/components/SingleImageUpload.d.ts +19 -1
  296. package/components/SingleImageUpload.js +39 -75
  297. package/components/SingleImageUpload.js.map +1 -1
  298. package/components/SplitView/SplitView.d.ts +4 -4
  299. package/components/SplitView/SplitView.js +41 -88
  300. package/components/SplitView/SplitView.js.map +1 -1
  301. package/components/SplitView/index.js +1 -24
  302. package/components/SplitView/index.js.map +1 -1
  303. package/components/StateInspector.js +28 -28
  304. package/components/StateInspector.js.map +1 -1
  305. package/components/Wcp.js +21 -25
  306. package/components/Wcp.js.map +1 -1
  307. package/components/index.js +3 -26
  308. package/components/index.js.map +1 -1
  309. package/config/AdminConfig/Menu/MenuGroup.d.ts +62 -0
  310. package/config/AdminConfig/Menu/MenuGroup.js +14 -0
  311. package/config/AdminConfig/Menu/MenuGroup.js.map +1 -0
  312. package/config/AdminConfig/Menu/MenuItem.d.ts +43 -0
  313. package/config/AdminConfig/Menu/MenuItem.js +14 -0
  314. package/config/AdminConfig/Menu/MenuItem.js.map +1 -0
  315. package/config/AdminConfig/Menu/MenuLink.d.ts +43 -0
  316. package/config/AdminConfig/Menu/MenuLink.js +18 -0
  317. package/config/AdminConfig/Menu/MenuLink.js.map +1 -0
  318. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +43 -0
  319. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +13 -0
  320. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -0
  321. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +24 -0
  322. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +13 -0
  323. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -0
  324. package/config/AdminConfig/Menu/SupportMenu.d.ts +72 -0
  325. package/config/AdminConfig/Menu/SupportMenu.js +49 -0
  326. package/config/AdminConfig/Menu/SupportMenu.js.map +1 -0
  327. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.d.ts +41 -0
  328. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +7 -0
  329. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -0
  330. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.d.ts +41 -0
  331. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +7 -0
  332. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -0
  333. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.d.ts +1 -0
  334. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +3 -0
  335. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +1 -0
  336. package/config/AdminConfig/Menu/UserMenu/types.d.ts +7 -0
  337. package/config/AdminConfig/Menu/UserMenu/types.js +3 -0
  338. package/config/AdminConfig/Menu/UserMenu/types.js.map +1 -0
  339. package/config/AdminConfig/Menu/UserMenu.d.ts +129 -0
  340. package/config/AdminConfig/Menu/UserMenu.js +61 -0
  341. package/config/AdminConfig/Menu/UserMenu.js.map +1 -0
  342. package/config/AdminConfig/Menu/types.d.ts +7 -0
  343. package/config/AdminConfig/Menu/types.js +3 -0
  344. package/config/AdminConfig/Menu/types.js.map +1 -0
  345. package/config/AdminConfig/Menu.d.ts +350 -0
  346. package/config/AdminConfig/Menu.js +75 -0
  347. package/config/AdminConfig/Menu.js.map +1 -0
  348. package/config/AdminConfig/Route.d.ts +3 -0
  349. package/config/AdminConfig/Route.js +8 -0
  350. package/config/AdminConfig/Route.js.map +1 -0
  351. package/config/AdminConfig/Tenant/TenantLogo.d.ts +23 -0
  352. package/config/AdminConfig/Tenant/TenantLogo.js +16 -0
  353. package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -0
  354. package/config/AdminConfig/Tenant/TenantName.d.ts +23 -0
  355. package/config/AdminConfig/Tenant/TenantName.js +16 -0
  356. package/config/AdminConfig/Tenant/TenantName.js.map +1 -0
  357. package/config/AdminConfig/Tenant.d.ts +66 -0
  358. package/config/AdminConfig/Tenant.js +23 -0
  359. package/config/AdminConfig/Tenant.js.map +1 -0
  360. package/config/AdminConfig/Theme/assignColor.d.ts +2 -0
  361. package/config/AdminConfig/Theme/assignColor.js +22 -0
  362. package/config/AdminConfig/Theme/assignColor.js.map +1 -0
  363. package/config/AdminConfig/Theme/consts.d.ts +2 -0
  364. package/config/AdminConfig/Theme/consts.js +4 -0
  365. package/config/AdminConfig/Theme/consts.js.map +1 -0
  366. package/config/AdminConfig/Theme/types.d.ts +3 -0
  367. package/config/AdminConfig/Theme/types.js +3 -0
  368. package/config/AdminConfig/Theme/types.js.map +1 -0
  369. package/config/AdminConfig/Theme.d.ts +16 -0
  370. package/config/AdminConfig/Theme.js +22 -0
  371. package/config/AdminConfig/Theme.js.map +1 -0
  372. package/config/AdminConfig.d.ts +434 -0
  373. package/config/AdminConfig.js +47 -0
  374. package/config/AdminConfig.js.map +1 -0
  375. package/config/createAdminConfig.d.ts +57 -0
  376. package/config/createAdminConfig.js +94 -0
  377. package/config/createAdminConfig.js.map +1 -0
  378. package/hooks/index.js +10 -115
  379. package/hooks/index.js.map +1 -1
  380. package/hooks/useConfirmationDialog.js +26 -39
  381. package/hooks/useConfirmationDialog.js.map +1 -1
  382. package/hooks/useDialog.js +16 -21
  383. package/hooks/useDialog.js.map +1 -1
  384. package/hooks/useIsMounted.js +6 -14
  385. package/hooks/useIsMounted.js.map +1 -1
  386. package/hooks/useKeyHandler.js +28 -46
  387. package/hooks/useKeyHandler.js.map +1 -1
  388. package/hooks/useModKey.js +9 -20
  389. package/hooks/useModKey.js.map +1 -1
  390. package/hooks/useShiftKey.js +13 -26
  391. package/hooks/useShiftKey.js.map +1 -1
  392. package/hooks/useSnackbar.js +22 -43
  393. package/hooks/useSnackbar.js.map +1 -1
  394. package/hooks/useStateIfMounted.js +8 -18
  395. package/hooks/useStateIfMounted.js.map +1 -1
  396. package/hooks/useStateWithCallback.js +7 -20
  397. package/hooks/useStateWithCallback.js.map +1 -1
  398. package/index.d.ts +2 -5
  399. package/index.js +52 -491
  400. package/index.js.map +1 -1
  401. package/package.json +25 -23
  402. package/plugins/MenuPlugin.js +15 -36
  403. package/plugins/MenuPlugin.js.map +1 -1
  404. package/plugins/PermissionRendererPlugin.js +15 -36
  405. package/plugins/PermissionRendererPlugin.js.map +1 -1
  406. package/plugins/uiLayoutRenderer/index.js +39 -48
  407. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  408. package/styles.scss +7 -3
  409. package/types.d.ts +1 -36
  410. package/types.js +4 -11
  411. package/types.js.map +1 -1
  412. package/ui/UIElement.js +1 -18
  413. package/ui/UIElement.js.map +1 -1
  414. package/ui/UILayout.js +1 -18
  415. package/ui/UILayout.js.map +1 -1
  416. package/ui/UIRenderer.js +1 -12
  417. package/ui/UIRenderer.js.map +1 -1
  418. package/ui/UIView.js +1 -24
  419. package/ui/UIView.js.map +1 -1
  420. package/ui/elements/AccordionElement.js +43 -74
  421. package/ui/elements/AccordionElement.js.map +1 -1
  422. package/ui/elements/ButtonElement.js +46 -79
  423. package/ui/elements/ButtonElement.js.map +1 -1
  424. package/ui/elements/ButtonGroupElement.js +12 -31
  425. package/ui/elements/ButtonGroupElement.js.map +1 -1
  426. package/ui/elements/GenericElement.js +1 -16
  427. package/ui/elements/GenericElement.js.map +1 -1
  428. package/ui/elements/LabelElement.js +15 -37
  429. package/ui/elements/LabelElement.js.map +1 -1
  430. package/ui/elements/NavigationMenuElement.js +67 -119
  431. package/ui/elements/NavigationMenuElement.js.map +1 -1
  432. package/ui/elements/PanelElement.js +2 -20
  433. package/ui/elements/PanelElement.js.map +1 -1
  434. package/ui/elements/PlaceholderElement.js +8 -29
  435. package/ui/elements/PlaceholderElement.js.map +1 -1
  436. package/ui/elements/SmallButtonElement.js +20 -40
  437. package/ui/elements/SmallButtonElement.js.map +1 -1
  438. package/ui/elements/TypographyElement.js +20 -43
  439. package/ui/elements/TypographyElement.js.map +1 -1
  440. package/ui/elements/ViewElement.js +1 -16
  441. package/ui/elements/ViewElement.js.map +1 -1
  442. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +17 -33
  443. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  444. package/ui/elements/form/DynamicFieldsetElement.js +90 -127
  445. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  446. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +7 -23
  447. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  448. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +40 -65
  449. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  450. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +56 -82
  451. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  452. package/ui/elements/form/FileManagerElement/styled.js +37 -35
  453. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  454. package/ui/elements/form/FileManagerElement.js +43 -81
  455. package/ui/elements/form/FileManagerElement.js.map +1 -1
  456. package/ui/elements/form/FormElement.js +17 -40
  457. package/ui/elements/form/FormElement.js.map +1 -1
  458. package/ui/elements/form/FormFieldElement.js +100 -158
  459. package/ui/elements/form/FormFieldElement.js.map +1 -1
  460. package/ui/elements/form/HiddenElement.js +21 -42
  461. package/ui/elements/form/HiddenElement.js.map +1 -1
  462. package/ui/elements/form/InputElement.js +28 -49
  463. package/ui/elements/form/InputElement.js.map +1 -1
  464. package/ui/elements/form/PasswordElement.js +26 -48
  465. package/ui/elements/form/PasswordElement.js.map +1 -1
  466. package/ui/elements/form/SelectElement.js +38 -64
  467. package/ui/elements/form/SelectElement.js.map +1 -1
  468. package/ui/elements/form/TextareaElement.js +30 -50
  469. package/ui/elements/form/TextareaElement.js.map +1 -1
  470. package/ui/views/AdminView/ContentElement.js +19 -42
  471. package/ui/views/AdminView/ContentElement.js.map +1 -1
  472. package/ui/views/AdminView/HeaderElement.js +57 -90
  473. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  474. package/ui/views/AdminView/HeaderSectionCenterElement.js +16 -35
  475. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  476. package/ui/views/AdminView/HeaderSectionLeftElement.js +16 -35
  477. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  478. package/ui/views/AdminView/HeaderSectionRightElement.js +16 -35
  479. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  480. package/ui/views/AdminView/components/Dialog.js +30 -36
  481. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  482. package/ui/views/AdminView/components/Hamburger.js +12 -21
  483. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  484. package/ui/views/FormView/FormContainerElement.js +16 -53
  485. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  486. package/ui/views/FormView/FormContentElement.d.ts +3 -1
  487. package/ui/views/FormView/FormContentElement.js +7 -19
  488. package/ui/views/FormView/FormContentElement.js.map +1 -1
  489. package/ui/views/FormView/FormFooterElement.js +11 -45
  490. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  491. package/ui/views/FormView/FormHeaderElement.js +26 -75
  492. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  493. package/ui/views/FormView.js +104 -148
  494. package/ui/views/FormView.js.map +1 -1
  495. package/ui/views/OverlayView/ContentElement.js +12 -31
  496. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  497. package/ui/views/OverlayView/HeaderElement.js +62 -99
  498. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  499. package/ui/views/OverlayView/HeaderTitleElement.js +21 -44
  500. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  501. package/ui/views/OverlayView/useOverlayView.js +16 -27
  502. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  503. package/ui/views/OverlayView.js +72 -123
  504. package/ui/views/OverlayView.js.map +1 -1
  505. package/ui/views/SplitView/SplitViewPanelElement.js +28 -64
  506. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  507. package/ui/views/SplitView.js +51 -82
  508. package/ui/views/SplitView.js.map +1 -1
  509. package/base/Version.d.ts +0 -3
  510. package/base/Version.js +0 -56
  511. package/base/Version.js.map +0 -1
  512. package/base/ui/Menu.d.ts +0 -51
  513. package/base/ui/Menu.js +0 -133
  514. package/base/ui/Menu.js.map +0 -1
  515. package/base/ui/Search.js +0 -61
  516. package/base/ui/Search.js.map +0 -1
  517. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.d.ts +0 -20
  518. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.js +0 -48
  519. package/components/BulkActions/useDialogWithReport/useDialogWithReport.styled.js.map +0 -1
  520. package/components/Dialogs/styled.d.ts +0 -10
  521. package/components/Dialogs/styled.js +0 -40
  522. package/components/Dialogs/styled.js.map +0 -1
  523. package/components/Filters/Filters.styled.d.ts +0 -13
  524. package/components/Filters/Filters.styled.js +0 -53
  525. package/components/Filters/Filters.styled.js.map +0 -1
  526. package/components/IconPicker/IconPicker.styles.d.ts +0 -63
  527. package/components/IconPicker/IconPicker.styles.js +0 -187
  528. package/components/IconPicker/IconPicker.styles.js.map +0 -1
  529. package/components/OptionsMenu/OptionsMenu.styled.d.ts +0 -3
  530. package/components/OptionsMenu/OptionsMenu.styled.js +0 -26
  531. package/components/OptionsMenu/OptionsMenu.styled.js.map +0 -1
  532. package/components/OverlayLayout/icons/close.svg +0 -13
  533. package/components/OverlayLayout/icons/navigate_before.svg +0 -16
  534. package/plugins/globalSearch/SearchBar.d.ts +0 -34
  535. package/plugins/globalSearch/SearchBar.js +0 -225
  536. package/plugins/globalSearch/SearchBar.js.map +0 -1
  537. package/plugins/globalSearch/SearchBarDropdown.d.ts +0 -23
  538. package/plugins/globalSearch/SearchBarDropdown.js +0 -82
  539. package/plugins/globalSearch/SearchBarDropdown.js.map +0 -1
  540. package/plugins/globalSearch/icons/round-search-24px.svg +0 -20
  541. package/plugins/globalSearch/index.d.ts +0 -6
  542. package/plugins/globalSearch/index.js +0 -17
  543. package/plugins/globalSearch/index.js.map +0 -1
  544. package/plugins/globalSearch/styled.d.ts +0 -18
  545. package/plugins/globalSearch/styled.js +0 -133
  546. package/plugins/globalSearch/styled.js.map +0 -1
  547. package/styles/material-theme-assignments.scss +0 -375
  548. package/styles/material.scss +0 -42
  549. package/styles/reset.scss +0 -1
  550. package/styles/theme.scss +0 -76
  551. package/ui/views/AdminView/components/Snackbar.d.ts +0 -3
  552. package/ui/views/AdminView/components/Snackbar.js +0 -33
  553. package/ui/views/AdminView/components/Snackbar.js.map +0 -1
@@ -1,101 +1,81 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.IconPickerComponent = void 0;
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _mobxReactLite = require("mobx-react-lite");
12
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
13
- var _close = require("@material-design-icons/svg/outlined/close.svg");
14
- var _Menu = require("@webiny/ui/Menu");
15
- var _Tabs = require("@webiny/ui/Tabs");
16
- var _Typography = require("@webiny/ui/Typography");
17
- var _FormElementMessage = require("@webiny/ui/FormElementMessage");
18
- var _Progress = require("@webiny/ui/Progress");
19
- var _IconRenderer = require("./IconRenderer");
20
- var _IconPicker = require("./IconPicker.styles");
21
- var _IconPickerTab = require("./IconPickerTab");
22
- var _IconPickerPresenterProvider = require("./IconPickerPresenterProvider");
23
- var _IconType = require("./config/IconType");
24
- var _excluded = ["presenter", "label", "description", "removable"];
25
- var IconPickerComponent = exports.IconPickerComponent = (0, _mobxReactLite.observer)(function (_ref) {
26
- var presenter = _ref.presenter,
27
- label = _ref.label,
28
- description = _ref.description,
29
- removable = _ref.removable,
30
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
- var value = props.value,
32
- onChange = props.onChange;
33
- var _ref2 = props.validation || {},
34
- validationIsValid = _ref2.isValid,
35
- validationMessage = _ref2.message;
36
- var _presenter$vm = presenter.vm,
37
- activeTab = _presenter$vm.activeTab,
38
- isMenuOpened = _presenter$vm.isMenuOpened,
39
- isLoading = _presenter$vm.isLoading,
40
- iconTypes = _presenter$vm.iconTypes,
41
- selectedIcon = _presenter$vm.selectedIcon,
42
- size = _presenter$vm.size;
43
- (0, _react.useEffect)(function () {
44
- if (onChange && selectedIcon && !(0, _isEqual.default)(selectedIcon, value)) {
1
+ import React, { useEffect, useCallback, useMemo } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import isEqual from "lodash/isEqual";
4
+ import { FormComponentDescription, FormComponentErrorMessage, FormComponentLabel, PopoverPrimitive } from "@webiny/admin-ui";
5
+ import { IconPickerContent, IconPickerTrigger } from "./components";
6
+ import { IconPickerPresenterProvider } from "./IconPickerPresenterProvider";
7
+ import { ICON_PICKER_SIZE } from "./types";
8
+ export const IconPickerComponent = observer(({
9
+ presenter,
10
+ label,
11
+ description,
12
+ removable,
13
+ required,
14
+ disabled,
15
+ ...props
16
+ }) => {
17
+ const {
18
+ value,
19
+ onChange
20
+ } = props;
21
+ const {
22
+ isValid: validationIsValid,
23
+ message: validationMessage
24
+ } = props.validation || {};
25
+ const invalid = useMemo(() => validationIsValid === false, [validationIsValid]);
26
+ const {
27
+ activeTab,
28
+ isMenuOpened,
29
+ isLoading,
30
+ iconTypes,
31
+ selectedIcon,
32
+ size
33
+ } = presenter.vm;
34
+ useEffect(() => {
35
+ if (onChange && selectedIcon && !isEqual(selectedIcon, value)) {
45
36
  onChange(selectedIcon);
46
37
  }
47
38
  }, [JSON.stringify(selectedIcon)]);
48
- var setActiveTab = function setActiveTab(index) {
49
- return presenter.setActiveTab(index);
50
- };
51
- var openMenu = function openMenu() {
52
- return presenter.openMenu();
53
- };
54
- var closeMenu = function closeMenu() {
55
- return presenter.closeMenu();
56
- };
57
- var removeIcon = (0, _react.useCallback)(function () {
39
+ const removeIcon = useCallback(() => {
58
40
  if (onChange) {
59
41
  presenter.setIcon(null);
60
42
  onChange(undefined);
61
43
  }
62
44
  }, [onChange]);
63
- return /*#__PURE__*/_react.default.createElement(_IconPickerPresenterProvider.IconPickerPresenterProvider, {
45
+ const handleOnOpenChange = useCallback(open => {
46
+ if (open) {
47
+ return presenter.openMenu();
48
+ } else {
49
+ return presenter.closeMenu();
50
+ }
51
+ }, [presenter.openMenu, presenter.closeMenu]);
52
+ return /*#__PURE__*/React.createElement(IconPickerPresenterProvider, {
64
53
  presenter: presenter
65
- }, /*#__PURE__*/_react.default.createElement(_IconPicker.IconPickerWrapper, null, label && /*#__PURE__*/_react.default.createElement(_IconPicker.IconPickerLabel, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
66
- use: "body1"
67
- }, label)), /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
54
+ }, /*#__PURE__*/React.createElement(FormComponentLabel, {
55
+ text: label,
56
+ required: required,
57
+ disabled: disabled
58
+ }), /*#__PURE__*/React.createElement(FormComponentDescription, {
59
+ text: description
60
+ }), /*#__PURE__*/React.createElement(PopoverPrimitive, {
68
61
  open: isMenuOpened,
69
- handle: /*#__PURE__*/_react.default.createElement(_IconPicker.IconPickerInput, null, selectedIcon ? /*#__PURE__*/_react.default.createElement(_IconRenderer.IconProvider, {
70
- icon: selectedIcon
71
- }, /*#__PURE__*/_react.default.createElement(_IconRenderer.IconRenderer, null)) : /*#__PURE__*/_react.default.createElement(_IconPicker.PlaceholderIcon, {
72
- width: 32,
73
- height: 32
74
- })),
75
- onClose: closeMenu,
76
- onOpen: openMenu,
77
- portalZIndex: 20
78
- }, /*#__PURE__*/_react.default.createElement(_IconPicker.MenuHeader, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
79
- use: "body1"
80
- }, "Select an icon"), value && removable && /*#__PURE__*/_react.default.createElement(_IconPicker.RemoveButton, {
81
- onClick: removeIcon
82
- }, "Remove"), /*#__PURE__*/_react.default.createElement(_close.ReactComponent, {
83
- onClick: closeMenu
84
- })), /*#__PURE__*/_react.default.createElement(_IconPicker.MenuContent, {
85
- size: size
86
- }, isLoading && /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, {
87
- value: activeTab,
88
- onActivate: function onActivate(value) {
89
- return setActiveTab(value);
62
+ onOpenChange: handleOnOpenChange
63
+ }, /*#__PURE__*/React.createElement(PopoverPrimitive.Trigger, null, /*#__PURE__*/React.createElement(IconPickerTrigger, {
64
+ icon: selectedIcon
65
+ })), /*#__PURE__*/React.createElement(PopoverPrimitive.Content, {
66
+ style: {
67
+ width: size === ICON_PICKER_SIZE.SMALL ? "248px" : "328px"
90
68
  }
91
- }, iconTypes.map(function (iconType) {
92
- return /*#__PURE__*/_react.default.createElement(_IconType.IconTypeProvider, {
93
- key: iconType.name,
94
- type: iconType.name
95
- }, /*#__PURE__*/_react.default.createElement(_IconPickerTab.IconPickerTabRenderer, null));
96
- })))), validationIsValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
97
- error: true
98
- }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, description)));
69
+ }, /*#__PURE__*/React.createElement(IconPickerContent, {
70
+ loading: isLoading,
71
+ removable: value && removable,
72
+ iconTypes: iconTypes,
73
+ activeTab: activeTab,
74
+ removeIcon: removeIcon
75
+ }))), /*#__PURE__*/React.createElement(FormComponentErrorMessage, {
76
+ text: validationMessage,
77
+ invalid: invalid
78
+ }));
99
79
  });
100
80
 
101
81
  //# sourceMappingURL=IconPickerComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_isEqual","_interopRequireDefault","_close","_Menu","_Tabs","_Typography","_FormElementMessage","_Progress","_IconRenderer","_IconPicker","_IconPickerTab","_IconPickerPresenterProvider","_IconType","_excluded","IconPickerComponent","exports","observer","_ref","presenter","label","description","removable","props","_objectWithoutProperties2","default","value","onChange","_ref2","validation","validationIsValid","isValid","validationMessage","message","_presenter$vm","vm","activeTab","isMenuOpened","isLoading","iconTypes","selectedIcon","size","useEffect","isEqual","JSON","stringify","setActiveTab","index","openMenu","closeMenu","removeIcon","useCallback","setIcon","undefined","createElement","IconPickerPresenterProvider","IconPickerWrapper","IconPickerLabel","Typography","use","Menu","open","handle","IconPickerInput","IconProvider","icon","IconRenderer","PlaceholderIcon","width","height","onClose","onOpen","portalZIndex","MenuHeader","RemoveButton","onClick","ReactComponent","MenuContent","CircularProgress","Tabs","onActivate","map","iconType","IconTypeProvider","key","name","type","IconPickerTabRenderer","FormElementMessage","error"],"sources":["IconPickerComponent.tsx"],"sourcesContent":["import React, { useEffect, useCallback } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport isEqual from \"lodash/isEqual\";\nimport { ReactComponent as CloseIcon } from \"@material-design-icons/svg/outlined/close.svg\";\n\nimport { Menu } from \"@webiny/ui/Menu\";\nimport { Tabs } from \"@webiny/ui/Tabs\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { FormComponentProps } from \"@webiny/ui/types\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nimport { IconPickerPresenter } from \"./IconPickerPresenter\";\nimport { IconProvider, IconRenderer } from \"./IconRenderer\";\nimport {\n IconPickerWrapper,\n IconPickerLabel,\n IconPickerInput,\n MenuContent,\n MenuHeader,\n PlaceholderIcon,\n RemoveButton\n} from \"./IconPicker.styles\";\nimport { IconPickerTabRenderer } from \"./IconPickerTab\";\nimport { IconPickerPresenterProvider } from \"./IconPickerPresenterProvider\";\nimport { IconTypeProvider } from \"./config/IconType\";\nimport { Icon, ICON_PICKER_SIZE } from \"./types\";\n\nexport interface IconPickerProps extends FormComponentProps<Icon | undefined> {\n label?: string;\n description?: string;\n size?: ICON_PICKER_SIZE;\n removable?: boolean;\n}\n\nexport interface IconPickerComponentProps extends IconPickerProps {\n presenter: IconPickerPresenter;\n}\n\nexport const IconPickerComponent = observer(\n ({ presenter, label, description, removable, ...props }: IconPickerComponentProps) => {\n const { value, onChange } = props;\n const { isValid: validationIsValid, message: validationMessage } = props.validation || {};\n const { activeTab, isMenuOpened, isLoading, iconTypes, selectedIcon, size } = presenter.vm;\n\n useEffect(() => {\n if (onChange && selectedIcon && !isEqual(selectedIcon, value)) {\n onChange(selectedIcon);\n }\n }, [JSON.stringify(selectedIcon)]);\n\n const setActiveTab = (index: number) => presenter.setActiveTab(index);\n\n const openMenu = () => presenter.openMenu();\n const closeMenu = () => presenter.closeMenu();\n\n const removeIcon = useCallback(() => {\n if (onChange) {\n presenter.setIcon(null);\n onChange(undefined);\n }\n }, [onChange]);\n\n return (\n <IconPickerPresenterProvider presenter={presenter}>\n <IconPickerWrapper>\n {label && (\n <IconPickerLabel>\n <Typography use={\"body1\"}>{label}</Typography>\n </IconPickerLabel>\n )}\n\n <Menu\n open={isMenuOpened}\n handle={\n <IconPickerInput>\n {selectedIcon ? (\n <IconProvider icon={selectedIcon}>\n <IconRenderer />\n </IconProvider>\n ) : (\n <PlaceholderIcon width={32} height={32} />\n )}\n </IconPickerInput>\n }\n onClose={closeMenu}\n onOpen={openMenu}\n portalZIndex={20}\n >\n <MenuHeader>\n <Typography use={\"body1\"}>Select an icon</Typography>\n {value && removable && (\n <RemoveButton onClick={removeIcon}>Remove</RemoveButton>\n )}\n <CloseIcon onClick={closeMenu} />\n </MenuHeader>\n <MenuContent size={size}>\n {isLoading && <CircularProgress />}\n <Tabs value={activeTab} onActivate={value => setActiveTab(value)}>\n {iconTypes.map(iconType => (\n <IconTypeProvider key={iconType.name} type={iconType.name}>\n <IconPickerTabRenderer />\n </IconTypeProvider>\n ))}\n </Tabs>\n </MenuContent>\n </Menu>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </IconPickerWrapper>\n </IconPickerPresenterProvider>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useCallback","useMemo","observer","isEqual","FormComponentDescription","FormComponentErrorMessage","FormComponentLabel","PopoverPrimitive","IconPickerContent","IconPickerTrigger","IconPickerPresenterProvider","ICON_PICKER_SIZE","IconPickerComponent","presenter","label","description","removable","required","disabled","props","value","onChange","isValid","validationIsValid","message","validationMessage","validation","invalid","activeTab","isMenuOpened","isLoading","iconTypes","selectedIcon","size","vm","JSON","stringify","removeIcon","setIcon","undefined","handleOnOpenChange","open","openMenu","closeMenu","createElement","text","onOpenChange","Trigger","icon","Content","style","width","SMALL","loading"],"sources":["IconPickerComponent.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport isEqual from \"lodash/isEqual\";\nimport {\n FormComponentDescription,\n FormComponentErrorMessage,\n FormComponentLabel,\n FormComponentProps,\n PopoverPrimitive\n} from \"@webiny/admin-ui\";\nimport { IconPickerContent, IconPickerTrigger } from \"./components\";\nimport { IconPickerPresenter } from \"./IconPickerPresenter\";\nimport { IconPickerPresenterProvider } from \"./IconPickerPresenterProvider\";\nimport { Icon, ICON_PICKER_SIZE } from \"./types\";\n\nexport interface IconPickerProps extends FormComponentProps {\n size?: ICON_PICKER_SIZE;\n removable?: boolean;\n value?: Icon;\n onChange?: (value: Icon | undefined) => void;\n}\n\nexport interface IconPickerComponentProps extends IconPickerProps {\n presenter: IconPickerPresenter;\n}\n\nexport const IconPickerComponent = observer(\n ({\n presenter,\n label,\n description,\n removable,\n required,\n disabled,\n ...props\n }: IconPickerComponentProps) => {\n const { value, onChange } = props;\n const { isValid: validationIsValid, message: validationMessage } = props.validation || {};\n const invalid = useMemo(() => validationIsValid === false, [validationIsValid]);\n const { activeTab, isMenuOpened, isLoading, iconTypes, selectedIcon, size } = presenter.vm;\n\n useEffect(() => {\n if (onChange && selectedIcon && !isEqual(selectedIcon, value)) {\n onChange(selectedIcon);\n }\n }, [JSON.stringify(selectedIcon)]);\n\n const removeIcon = useCallback(() => {\n if (onChange) {\n presenter.setIcon(null);\n onChange(undefined);\n }\n }, [onChange]);\n\n const handleOnOpenChange = useCallback(\n (open: boolean) => {\n if (open) {\n return presenter.openMenu();\n } else {\n return presenter.closeMenu();\n }\n },\n [presenter.openMenu, presenter.closeMenu]\n );\n\n return (\n <IconPickerPresenterProvider presenter={presenter}>\n <FormComponentLabel text={label} required={required} disabled={disabled} />\n <FormComponentDescription text={description} />\n <PopoverPrimitive open={isMenuOpened} onOpenChange={handleOnOpenChange}>\n <PopoverPrimitive.Trigger>\n <IconPickerTrigger icon={selectedIcon} />\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Content\n style={{ width: size === ICON_PICKER_SIZE.SMALL ? \"248px\" : \"328px\" }}\n >\n <IconPickerContent\n loading={isLoading}\n removable={value && removable}\n iconTypes={iconTypes}\n activeTab={activeTab}\n removeIcon={removeIcon}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n <FormComponentErrorMessage text={validationMessage} invalid={invalid} />\n </IconPickerPresenterProvider>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -6,12 +6,12 @@ export interface IconPickerPresenterInterface {
6
6
  setIcon(icon: Icon): void;
7
7
  addIcon(icon: Icon): void;
8
8
  setFilter(value: string): void;
9
- setActiveTab(index: number): void;
9
+ setActiveTab(index: string): void;
10
10
  openMenu(): void;
11
11
  closeMenu(): void;
12
12
  get vm(): {
13
13
  isLoading: boolean;
14
- activeTab: number;
14
+ activeTab?: string;
15
15
  isMenuOpened: boolean;
16
16
  icons: Icon[];
17
17
  iconTypes: IconType[];
@@ -30,7 +30,7 @@ export declare class IconPickerPresenter implements IconPickerPresenterInterface
30
30
  constructor(repository: IconRepository, size?: string);
31
31
  load(icon?: Icon | null): Promise<void>;
32
32
  get vm(): {
33
- activeTab: number;
33
+ activeTab: string | undefined;
34
34
  isMenuOpened: boolean;
35
35
  isLoading: boolean;
36
36
  icons: Icon[];
@@ -42,11 +42,12 @@ export declare class IconPickerPresenter implements IconPickerPresenterInterface
42
42
  addIcon(icon: Icon): void;
43
43
  closeMenu(): void;
44
44
  openMenu(): void;
45
- setActiveTab(index: number): void;
45
+ setActiveTab(value?: string): void;
46
46
  setIcon(icon: Icon | null): void;
47
47
  setFilter(value: string): void;
48
48
  private getFilteredIcons;
49
49
  private getActiveTabByType;
50
+ private getDefaultTab;
50
51
  private resetActiveTab;
51
52
  private detectSelectedIcon;
52
53
  }
@@ -1,118 +1,77 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.IconPickerPresenter = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _mobx = require("mobx");
12
- var IconPickerPresenter = exports.IconPickerPresenter = /*#__PURE__*/function () {
13
- function IconPickerPresenter(repository, size) {
14
- (0, _classCallCheck2.default)(this, IconPickerPresenter);
15
- (0, _defineProperty2.default)(this, "selectedIcon", null);
16
- (0, _defineProperty2.default)(this, "filter", "");
17
- (0, _defineProperty2.default)(this, "activeTab", 0);
18
- (0, _defineProperty2.default)(this, "isMenuOpened", false);
1
+ import { makeAutoObservable, toJS } from "mobx";
2
+ export class IconPickerPresenter {
3
+ selectedIcon = null;
4
+ filter = "";
5
+ activeTab = undefined;
6
+ isMenuOpened = false;
7
+ constructor(repository, size) {
19
8
  this.repository = repository;
20
9
  this.size = size;
21
- (0, _mobx.makeAutoObservable)(this);
10
+ makeAutoObservable(this);
22
11
  }
23
- return (0, _createClass2.default)(IconPickerPresenter, [{
24
- key: "load",
25
- value: async function load() {
26
- var icon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
27
- if (icon?.value) {
28
- this.selectedIcon = icon;
29
- }
30
- await this.repository.loadIcons();
31
- if (icon && !icon?.value) {
32
- this.detectSelectedIcon(icon);
33
- }
34
- }
35
- }, {
36
- key: "vm",
37
- get: function get() {
38
- return {
39
- activeTab: this.activeTab,
40
- isMenuOpened: this.isMenuOpened,
41
- isLoading: this.repository.getLoading().isLoading,
42
- icons: this.getFilteredIcons(),
43
- iconTypes: this.repository.getIconTypes(),
44
- // `toJS` will unwrap an observable into a POJO. This will make it simple to use in child components.
45
- selectedIcon: (0, _mobx.toJS)(this.selectedIcon),
46
- filter: this.filter,
47
- size: this.size
48
- };
49
- }
50
- }, {
51
- key: "addIcon",
52
- value: function addIcon(icon) {
53
- this.repository.addIcon(icon);
54
- }
55
- }, {
56
- key: "closeMenu",
57
- value: function closeMenu() {
58
- this.isMenuOpened = false;
59
- }
60
- }, {
61
- key: "openMenu",
62
- value: function openMenu() {
63
- this.isMenuOpened = true;
64
- this.resetActiveTab();
65
- }
66
- }, {
67
- key: "setActiveTab",
68
- value: function setActiveTab(index) {
69
- this.activeTab = index;
70
- }
71
- }, {
72
- key: "setIcon",
73
- value: function setIcon(icon) {
12
+ async load(icon = null) {
13
+ if (icon?.value) {
74
14
  this.selectedIcon = icon;
75
15
  }
76
- }, {
77
- key: "setFilter",
78
- value: function setFilter(value) {
79
- this.filter = value;
80
- }
81
- }, {
82
- key: "getFilteredIcons",
83
- value: function getFilteredIcons() {
84
- var _this = this;
85
- var hyphenUnderscoreRegex = /[-_]/g;
86
- var icons = this.repository.getIcons();
87
- return icons.filter(function (icon) {
88
- return icon.name.replace(hyphenUnderscoreRegex, " ").toLowerCase().includes(_this.filter.toLowerCase());
89
- });
90
- }
91
- }, {
92
- key: "getActiveTabByType",
93
- value: function getActiveTabByType(type) {
94
- var iconTypes = this.repository.getIconTypes();
95
- var index = iconTypes.findIndex(function (iconsByType) {
96
- return iconsByType.name === type;
97
- });
98
- return index !== -1 ? index : 0;
16
+ await this.repository.loadIcons();
17
+ if (icon && !icon?.value) {
18
+ this.detectSelectedIcon(icon);
99
19
  }
100
- }, {
101
- key: "resetActiveTab",
102
- value: function resetActiveTab() {
103
- this.setActiveTab(this.selectedIcon ? this.getActiveTabByType(this.selectedIcon.type) : 0);
104
- }
105
- }, {
106
- key: "detectSelectedIcon",
107
- value: function detectSelectedIcon(icon) {
108
- var iconByName = this.repository.getIcons().find(function (x) {
109
- return x.name === icon.name && icon.type === x.type;
110
- });
111
- if (iconByName) {
112
- this.selectedIcon = iconByName;
113
- }
20
+ }
21
+ get vm() {
22
+ return {
23
+ activeTab: this.activeTab,
24
+ isMenuOpened: this.isMenuOpened,
25
+ isLoading: this.repository.getLoading().isLoading,
26
+ icons: this.getFilteredIcons(),
27
+ iconTypes: this.repository.getIconTypes(),
28
+ // `toJS` will unwrap an observable into a POJO. This will make it simple to use in child components.
29
+ selectedIcon: toJS(this.selectedIcon),
30
+ filter: this.filter,
31
+ size: this.size
32
+ };
33
+ }
34
+ addIcon(icon) {
35
+ this.repository.addIcon(icon);
36
+ }
37
+ closeMenu() {
38
+ this.isMenuOpened = false;
39
+ }
40
+ openMenu() {
41
+ this.isMenuOpened = true;
42
+ this.resetActiveTab();
43
+ }
44
+ setActiveTab(value) {
45
+ this.activeTab = value;
46
+ }
47
+ setIcon(icon) {
48
+ this.selectedIcon = icon;
49
+ }
50
+ setFilter(value) {
51
+ this.filter = value;
52
+ }
53
+ getFilteredIcons() {
54
+ const hyphenUnderscoreRegex = /[-_]/g;
55
+ const icons = this.repository.getIcons();
56
+ return icons.filter(icon => icon.name.replace(hyphenUnderscoreRegex, " ").toLowerCase().includes(this.filter.toLowerCase()));
57
+ }
58
+ getActiveTabByType(type) {
59
+ const iconTypes = this.repository.getIconTypes();
60
+ const iconType = iconTypes.find(iconsByType => iconsByType.name === type);
61
+ return iconType?.name || iconTypes[0].name;
62
+ }
63
+ getDefaultTab() {
64
+ return this.repository.getIconTypes()[0].name;
65
+ }
66
+ resetActiveTab() {
67
+ this.setActiveTab(this.selectedIcon ? this.getActiveTabByType(this.selectedIcon.type) : this.getDefaultTab());
68
+ }
69
+ detectSelectedIcon(icon) {
70
+ const iconByName = this.repository.getIcons().find(x => x.name === icon.name && icon.type === x.type);
71
+ if (iconByName) {
72
+ this.selectedIcon = iconByName;
114
73
  }
115
- }]);
116
- }();
74
+ }
75
+ }
117
76
 
118
77
  //# sourceMappingURL=IconPickerPresenter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","IconPickerPresenter","exports","repository","size","_classCallCheck2","default","_defineProperty2","makeAutoObservable","_createClass2","key","value","load","icon","arguments","length","undefined","selectedIcon","loadIcons","detectSelectedIcon","get","activeTab","isMenuOpened","isLoading","getLoading","icons","getFilteredIcons","iconTypes","getIconTypes","toJS","filter","addIcon","closeMenu","openMenu","resetActiveTab","setActiveTab","index","setIcon","setFilter","_this","hyphenUnderscoreRegex","getIcons","name","replace","toLowerCase","includes","getActiveTabByType","type","findIndex","iconsByType","iconByName","find","x"],"sources":["IconPickerPresenter.ts"],"sourcesContent":["import { makeAutoObservable, toJS } from \"mobx\";\n\nimport { IconRepository } from \"./IconRepository\";\nimport { Icon } from \"./types\";\nimport { IconType } from \"./config\";\n\nexport interface IconPickerPresenterInterface {\n load(icon: Icon): Promise<void>;\n setIcon(icon: Icon): void;\n addIcon(icon: Icon): void;\n setFilter(value: string): void;\n setActiveTab(index: number): void;\n openMenu(): void;\n closeMenu(): void;\n get vm(): {\n isLoading: boolean;\n activeTab: number;\n isMenuOpened: boolean;\n icons: Icon[];\n iconTypes: IconType[];\n selectedIcon: Icon | null;\n filter: string;\n size?: string;\n };\n}\n\nexport class IconPickerPresenter implements IconPickerPresenterInterface {\n private repository: IconRepository;\n private selectedIcon: Icon | null = null;\n private filter = \"\";\n private activeTab = 0;\n private isMenuOpened = false;\n private size: string | undefined;\n\n constructor(repository: IconRepository, size?: string) {\n this.repository = repository;\n this.size = size;\n makeAutoObservable(this);\n }\n\n async load(icon: Icon | null = null) {\n if (icon?.value) {\n this.selectedIcon = icon;\n }\n\n await this.repository.loadIcons();\n\n if (icon && !icon?.value) {\n this.detectSelectedIcon(icon);\n }\n }\n\n get vm() {\n return {\n activeTab: this.activeTab,\n isMenuOpened: this.isMenuOpened,\n isLoading: this.repository.getLoading().isLoading,\n icons: this.getFilteredIcons(),\n iconTypes: this.repository.getIconTypes(),\n // `toJS` will unwrap an observable into a POJO. This will make it simple to use in child components.\n selectedIcon: toJS(this.selectedIcon),\n filter: this.filter,\n size: this.size\n };\n }\n\n addIcon(icon: Icon) {\n this.repository.addIcon(icon);\n }\n\n closeMenu(): void {\n this.isMenuOpened = false;\n }\n\n openMenu(): void {\n this.isMenuOpened = true;\n this.resetActiveTab();\n }\n\n setActiveTab(index: number) {\n this.activeTab = index;\n }\n\n setIcon(icon: Icon | null) {\n this.selectedIcon = icon;\n }\n\n setFilter(value: string) {\n this.filter = value;\n }\n\n private getFilteredIcons() {\n const hyphenUnderscoreRegex = /[-_]/g;\n const icons = this.repository.getIcons();\n\n return icons.filter(icon =>\n icon.name\n .replace(hyphenUnderscoreRegex, \" \")\n .toLowerCase()\n .includes(this.filter.toLowerCase())\n );\n }\n\n private getActiveTabByType(type: string) {\n const iconTypes = this.repository.getIconTypes();\n const index = iconTypes.findIndex(iconsByType => iconsByType.name === type);\n\n return index !== -1 ? index : 0;\n }\n\n private resetActiveTab() {\n this.setActiveTab(this.selectedIcon ? this.getActiveTabByType(this.selectedIcon.type) : 0);\n }\n\n private detectSelectedIcon(icon: Icon) {\n const iconByName = this.repository\n .getIcons()\n .find(x => x.name === icon.name && icon.type === x.type);\n\n if (iconByName) {\n this.selectedIcon = iconByName;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","toJS","IconPickerPresenter","selectedIcon","filter","activeTab","undefined","isMenuOpened","constructor","repository","size","load","icon","value","loadIcons","detectSelectedIcon","vm","isLoading","getLoading","icons","getFilteredIcons","iconTypes","getIconTypes","addIcon","closeMenu","openMenu","resetActiveTab","setActiveTab","setIcon","setFilter","hyphenUnderscoreRegex","getIcons","name","replace","toLowerCase","includes","getActiveTabByType","type","iconType","find","iconsByType","getDefaultTab","iconByName","x"],"sources":["IconPickerPresenter.ts"],"sourcesContent":["import { makeAutoObservable, toJS } from \"mobx\";\n\nimport { IconRepository } from \"./IconRepository\";\nimport { Icon } from \"./types\";\nimport { IconType } from \"./config\";\n\nexport interface IconPickerPresenterInterface {\n load(icon: Icon): Promise<void>;\n setIcon(icon: Icon): void;\n addIcon(icon: Icon): void;\n setFilter(value: string): void;\n setActiveTab(index: string): void;\n openMenu(): void;\n closeMenu(): void;\n get vm(): {\n isLoading: boolean;\n activeTab?: string;\n isMenuOpened: boolean;\n icons: Icon[];\n iconTypes: IconType[];\n selectedIcon: Icon | null;\n filter: string;\n size?: string;\n };\n}\n\nexport class IconPickerPresenter implements IconPickerPresenterInterface {\n private repository: IconRepository;\n private selectedIcon: Icon | null = null;\n private filter = \"\";\n private activeTab: string | undefined = undefined;\n private isMenuOpened = false;\n private size: string | undefined;\n\n constructor(repository: IconRepository, size?: string) {\n this.repository = repository;\n this.size = size;\n makeAutoObservable(this);\n }\n\n async load(icon: Icon | null = null) {\n if (icon?.value) {\n this.selectedIcon = icon;\n }\n\n await this.repository.loadIcons();\n\n if (icon && !icon?.value) {\n this.detectSelectedIcon(icon);\n }\n }\n\n get vm() {\n return {\n activeTab: this.activeTab,\n isMenuOpened: this.isMenuOpened,\n isLoading: this.repository.getLoading().isLoading,\n icons: this.getFilteredIcons(),\n iconTypes: this.repository.getIconTypes(),\n // `toJS` will unwrap an observable into a POJO. This will make it simple to use in child components.\n selectedIcon: toJS(this.selectedIcon),\n filter: this.filter,\n size: this.size\n };\n }\n\n addIcon(icon: Icon) {\n this.repository.addIcon(icon);\n }\n\n closeMenu(): void {\n this.isMenuOpened = false;\n }\n\n openMenu(): void {\n this.isMenuOpened = true;\n this.resetActiveTab();\n }\n\n setActiveTab(value?: string) {\n this.activeTab = value;\n }\n\n setIcon(icon: Icon | null) {\n this.selectedIcon = icon;\n }\n\n setFilter(value: string) {\n this.filter = value;\n }\n\n private getFilteredIcons() {\n const hyphenUnderscoreRegex = /[-_]/g;\n const icons = this.repository.getIcons();\n\n return icons.filter(icon =>\n icon.name\n .replace(hyphenUnderscoreRegex, \" \")\n .toLowerCase()\n .includes(this.filter.toLowerCase())\n );\n }\n\n private getActiveTabByType(type: string) {\n const iconTypes = this.repository.getIconTypes();\n const iconType = iconTypes.find(iconsByType => iconsByType.name === type);\n\n return iconType?.name || iconTypes[0].name;\n }\n\n private getDefaultTab() {\n return this.repository.getIconTypes()[0].name;\n }\n\n private resetActiveTab() {\n this.setActiveTab(\n this.selectedIcon\n ? this.getActiveTabByType(this.selectedIcon.type)\n : this.getDefaultTab()\n );\n }\n\n private detectSelectedIcon(icon: Icon) {\n const iconByName = this.repository\n .getIcons()\n .find(x => x.name === icon.name && icon.type === x.type);\n\n if (iconByName) {\n this.selectedIcon = iconByName;\n }\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,IAAI,QAAQ,MAAM;AA0B/C,OAAO,MAAMC,mBAAmB,CAAyC;EAE7DC,YAAY,GAAgB,IAAI;EAChCC,MAAM,GAAG,EAAE;EACXC,SAAS,GAAuBC,SAAS;EACzCC,YAAY,GAAG,KAAK;EAG5BC,WAAWA,CAACC,UAA0B,EAAEC,IAAa,EAAE;IACnD,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChBV,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,MAAMW,IAAIA,CAACC,IAAiB,GAAG,IAAI,EAAE;IACjC,IAAIA,IAAI,EAAEC,KAAK,EAAE;MACb,IAAI,CAACV,YAAY,GAAGS,IAAI;IAC5B;IAEA,MAAM,IAAI,CAACH,UAAU,CAACK,SAAS,CAAC,CAAC;IAEjC,IAAIF,IAAI,IAAI,CAACA,IAAI,EAAEC,KAAK,EAAE;MACtB,IAAI,CAACE,kBAAkB,CAACH,IAAI,CAAC;IACjC;EACJ;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO;MACHX,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BU,SAAS,EAAE,IAAI,CAACR,UAAU,CAACS,UAAU,CAAC,CAAC,CAACD,SAAS;MACjDE,KAAK,EAAE,IAAI,CAACC,gBAAgB,CAAC,CAAC;MAC9BC,SAAS,EAAE,IAAI,CAACZ,UAAU,CAACa,YAAY,CAAC,CAAC;MACzC;MACAnB,YAAY,EAAEF,IAAI,CAAC,IAAI,CAACE,YAAY,CAAC;MACrCC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBM,IAAI,EAAE,IAAI,CAACA;IACf,CAAC;EACL;EAEAa,OAAOA,CAACX,IAAU,EAAE;IAChB,IAAI,CAACH,UAAU,CAACc,OAAO,CAACX,IAAI,CAAC;EACjC;EAEAY,SAASA,CAAA,EAAS;IACd,IAAI,CAACjB,YAAY,GAAG,KAAK;EAC7B;EAEAkB,QAAQA,CAAA,EAAS;IACb,IAAI,CAAClB,YAAY,GAAG,IAAI;IACxB,IAAI,CAACmB,cAAc,CAAC,CAAC;EACzB;EAEAC,YAAYA,CAACd,KAAc,EAAE;IACzB,IAAI,CAACR,SAAS,GAAGQ,KAAK;EAC1B;EAEAe,OAAOA,CAAChB,IAAiB,EAAE;IACvB,IAAI,CAACT,YAAY,GAAGS,IAAI;EAC5B;EAEAiB,SAASA,CAAChB,KAAa,EAAE;IACrB,IAAI,CAACT,MAAM,GAAGS,KAAK;EACvB;EAEQO,gBAAgBA,CAAA,EAAG;IACvB,MAAMU,qBAAqB,GAAG,OAAO;IACrC,MAAMX,KAAK,GAAG,IAAI,CAACV,UAAU,CAACsB,QAAQ,CAAC,CAAC;IAExC,OAAOZ,KAAK,CAACf,MAAM,CAACQ,IAAI,IACpBA,IAAI,CAACoB,IAAI,CACJC,OAAO,CAACH,qBAAqB,EAAE,GAAG,CAAC,CACnCI,WAAW,CAAC,CAAC,CACbC,QAAQ,CAAC,IAAI,CAAC/B,MAAM,CAAC8B,WAAW,CAAC,CAAC,CAC3C,CAAC;EACL;EAEQE,kBAAkBA,CAACC,IAAY,EAAE;IACrC,MAAMhB,SAAS,GAAG,IAAI,CAACZ,UAAU,CAACa,YAAY,CAAC,CAAC;IAChD,MAAMgB,QAAQ,GAAGjB,SAAS,CAACkB,IAAI,CAACC,WAAW,IAAIA,WAAW,CAACR,IAAI,KAAKK,IAAI,CAAC;IAEzE,OAAOC,QAAQ,EAAEN,IAAI,IAAIX,SAAS,CAAC,CAAC,CAAC,CAACW,IAAI;EAC9C;EAEQS,aAAaA,CAAA,EAAG;IACpB,OAAO,IAAI,CAAChC,UAAU,CAACa,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAACU,IAAI;EACjD;EAEQN,cAAcA,CAAA,EAAG;IACrB,IAAI,CAACC,YAAY,CACb,IAAI,CAACxB,YAAY,GACX,IAAI,CAACiC,kBAAkB,CAAC,IAAI,CAACjC,YAAY,CAACkC,IAAI,CAAC,GAC/C,IAAI,CAACI,aAAa,CAAC,CAC7B,CAAC;EACL;EAEQ1B,kBAAkBA,CAACH,IAAU,EAAE;IACnC,MAAM8B,UAAU,GAAG,IAAI,CAACjC,UAAU,CAC7BsB,QAAQ,CAAC,CAAC,CACVQ,IAAI,CAACI,CAAC,IAAIA,CAAC,CAACX,IAAI,KAAKpB,IAAI,CAACoB,IAAI,IAAIpB,IAAI,CAACyB,IAAI,KAAKM,CAAC,CAACN,IAAI,CAAC;IAE5D,IAAIK,UAAU,EAAE;MACZ,IAAI,CAACvC,YAAY,GAAGuC,UAAU;IAClC;EACJ;AACJ","ignoreList":[]}
@@ -1,15 +1,13 @@
1
- "use strict";
2
-
3
- var _IconPickerPresenter = require("./IconPickerPresenter");
4
- var _IconRepository = require("./IconRepository");
5
- var mockIconTypes = [{
1
+ import { IconPickerPresenter } from "./IconPickerPresenter";
2
+ import { IconRepository } from "./IconRepository";
3
+ const mockIconTypes = [{
6
4
  name: "icon"
7
5
  }, {
8
6
  name: "emoji"
9
7
  }, {
10
8
  name: "custom"
11
9
  }];
12
- var mockIcons = [{
10
+ const mockIcons = [{
13
11
  type: "emoji",
14
12
  name: "thumbs_up",
15
13
  value: "👍",
@@ -21,26 +19,26 @@ var mockIcons = [{
21
19
  value: '<path fill="currentColor" d="M384 48c8.8 0 16 7.2 16 16v384c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h288zM96 0C60.7 0 32 28.7 32 64v384c0 35.3 28.7 64 64 64h288c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zm144 256a64 64 0 1 0 0-128a64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80h-64zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zm-16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16v-64z"/>',
22
20
  category: "Business"
23
21
  }];
24
- var mockIconPackProviders = [{
22
+ const mockIconPackProviders = [{
25
23
  name: "mock_icons",
26
- getIcons: async function getIcons() {
24
+ getIcons: async () => {
27
25
  return mockIcons;
28
26
  }
29
27
  }];
30
- describe("IconPickerPresenter", function () {
31
- var icon = {
28
+ describe("IconPickerPresenter", () => {
29
+ const icon = {
32
30
  type: "icon",
33
31
  name: "solid_bullseye",
34
32
  value: '<path fill="currentColor" d="M448 256a192 192 0 1 0-384 0a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0a256 256 0 1 1-512 0zm256 80a80 80 0 1 0 0-160a80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288a144 144 0 1 1 0-288zm-32 144a32 32 0 1 1 64 0a32 32 0 1 1-64 0z"/>',
35
33
  category: "Business",
36
34
  color: "#282fe6"
37
35
  };
38
- var presenter;
39
- beforeEach(function () {
40
- var repository = new _IconRepository.IconRepository(mockIconTypes, mockIconPackProviders);
41
- presenter = new _IconPickerPresenter.IconPickerPresenter(repository);
36
+ let presenter;
37
+ beforeEach(() => {
38
+ const repository = new IconRepository(mockIconTypes, mockIconPackProviders);
39
+ presenter = new IconPickerPresenter(repository);
42
40
  });
43
- it("should create an IconPickerPresenter with the `vm` definition", async function () {
41
+ it("should create an IconPickerPresenter with the `vm` definition", async () => {
44
42
  // let's load icons and set a predefined `selectedIcon`
45
43
  await presenter.load(icon);
46
44
 
@@ -50,7 +48,7 @@ describe("IconPickerPresenter", function () {
50
48
  // `vm` should have the expected `icons` definition
51
49
  expect(presenter.vm.icons).toEqual(mockIcons);
52
50
  });
53
- it("should be able to select an icon", async function () {
51
+ it("should be able to select an icon", async () => {
54
52
  // let's load icons
55
53
  await presenter.load();
56
54
 
@@ -60,7 +58,7 @@ describe("IconPickerPresenter", function () {
60
58
  // `vm` should have the expected `selectedIcon` value
61
59
  expect(presenter.vm.selectedIcon).toEqual(presenter.vm.icons[0]);
62
60
  });
63
- it("should be able to add an icon", async function () {
61
+ it("should be able to add an icon", async () => {
64
62
  // let's load icons
65
63
  await presenter.load();
66
64
 
@@ -71,9 +69,9 @@ describe("IconPickerPresenter", function () {
71
69
  expect(presenter.vm.icons.length).toBe(3);
72
70
 
73
71
  // `vm` should have the expected `icons` value
74
- expect(presenter.vm.icons).toEqual([].concat(mockIcons, [icon]));
72
+ expect(presenter.vm.icons).toEqual([...mockIcons, icon]);
75
73
  });
76
- it("should be able to filter icons by name", async function () {
74
+ it("should be able to filter icons by name", async () => {
77
75
  // let's load icons
78
76
  await presenter.load();
79
77
 
@@ -86,15 +84,15 @@ describe("IconPickerPresenter", function () {
86
84
  // `vm` should have filtered icon
87
85
  expect(presenter.vm.icons[0]).toEqual(mockIcons[1]);
88
86
  });
89
- it("should be able to set active tab on menu open", async function () {
87
+ it("should be able to set active tab on menu open", async () => {
90
88
  // let's load icons and set a predefined `selectedIcon`
91
89
  await presenter.load(mockIcons[0]);
92
90
 
93
91
  // default `isMenuOpened` should be false
94
92
  expect(presenter.vm.isMenuOpened).toBe(false);
95
93
 
96
- // default `activeTab` should be 0
97
- expect(presenter.vm.activeTab).toBe(0);
94
+ // default `activeTab` should be handled by the component itself
95
+ expect(presenter.vm.activeTab).toBe(undefined);
98
96
 
99
97
  // should be able to set `isMenuOpened`
100
98
  // should be able to set `activeTab` based on `selectedIcon` type
@@ -104,7 +102,7 @@ describe("IconPickerPresenter", function () {
104
102
  expect(presenter.vm.isMenuOpened).toBe(true);
105
103
 
106
104
  // `vm` should have the expected `activeTab` value
107
- expect(presenter.vm.activeTab).toBe(1);
105
+ expect(presenter.vm.activeTab).toBe("emoji");
108
106
  });
109
107
  });
110
108