@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 +1 @@
1
- {"version":3,"names":["_IconPickerPresenter","require","_IconRepository","mockIconTypes","name","mockIcons","type","value","category","skinToneSupport","mockIconPackProviders","getIcons","describe","icon","color","presenter","beforeEach","repository","IconRepository","IconPickerPresenter","it","load","expect","vm","selectedIcon","toEqual","icons","setIcon","addIcon","length","toBe","concat","setFilter","isMenuOpened","activeTab","openMenu"],"sources":["IconPickerPresenter.test.ts"],"sourcesContent":["import { IconPickerPresenter } from \"./IconPickerPresenter\";\nimport { IconRepository } from \"./IconRepository\";\nimport { Icon } from \"./types\";\n\nconst mockIconTypes = [{ name: \"icon\" }, { name: \"emoji\" }, { name: \"custom\" }];\n\nconst mockIcons: Icon[] = [\n {\n type: \"emoji\",\n name: \"thumbs_up\",\n value: \"👍\",\n category: \"People & Body\",\n skinToneSupport: true\n },\n {\n type: \"icon\",\n name: \"regular_address-book\",\n 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\"/>',\n category: \"Business\"\n }\n];\n\nconst mockIconPackProviders = [\n {\n name: \"mock_icons\",\n getIcons: async () => {\n return mockIcons;\n }\n }\n];\n\ndescribe(\"IconPickerPresenter\", () => {\n const icon: Icon = {\n type: \"icon\",\n name: \"solid_bullseye\",\n 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\"/>',\n category: \"Business\",\n color: \"#282fe6\"\n };\n\n let presenter: IconPickerPresenter;\n\n beforeEach(() => {\n const repository = new IconRepository(mockIconTypes, mockIconPackProviders);\n presenter = new IconPickerPresenter(repository);\n });\n\n it(\"should create an IconPickerPresenter with the `vm` definition\", async () => {\n // let's load icons and set a predefined `selectedIcon`\n await presenter.load(icon);\n\n // `vm` should have the expected `selectedIcon` definition\n expect(presenter.vm.selectedIcon).toEqual(icon);\n\n // `vm` should have the expected `icons` definition\n expect(presenter.vm.icons).toEqual(mockIcons);\n });\n\n it(\"should be able to select an icon\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the icon\n presenter.setIcon(presenter.vm.icons[0]);\n\n // `vm` should have the expected `selectedIcon` value\n expect(presenter.vm.selectedIcon).toEqual(presenter.vm.icons[0]);\n });\n\n it(\"should be able to add an icon\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the icon\n presenter.addIcon(icon);\n\n // `vm` should have three icons\n expect(presenter.vm.icons.length).toBe(3);\n\n // `vm` should have the expected `icons` value\n expect(presenter.vm.icons).toEqual([...mockIcons, icon]);\n });\n\n it(\"should be able to filter icons by name\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the filter\n presenter.setFilter(\"book\");\n\n // `vm` should have only one icon\n expect(presenter.vm.icons.length).toBe(1);\n\n // `vm` should have filtered icon\n expect(presenter.vm.icons[0]).toEqual(mockIcons[1]);\n });\n\n it(\"should be able to set active tab on menu open\", async () => {\n // let's load icons and set a predefined `selectedIcon`\n await presenter.load(mockIcons[0]);\n\n // default `isMenuOpened` should be false\n expect(presenter.vm.isMenuOpened).toBe(false);\n\n // default `activeTab` should be 0\n expect(presenter.vm.activeTab).toBe(0);\n\n // should be able to set `isMenuOpened`\n // should be able to set `activeTab` based on `selectedIcon` type\n presenter.openMenu();\n\n // `vm` should have the expected `isMenuOpened` value\n expect(presenter.vm.isMenuOpened).toBe(true);\n\n // `vm` should have the expected `activeTab` value\n expect(presenter.vm.activeTab).toBe(1);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["IconPickerPresenter","IconRepository","mockIconTypes","name","mockIcons","type","value","category","skinToneSupport","mockIconPackProviders","getIcons","describe","icon","color","presenter","beforeEach","repository","it","load","expect","vm","selectedIcon","toEqual","icons","setIcon","addIcon","length","toBe","setFilter","isMenuOpened","activeTab","undefined","openMenu"],"sources":["IconPickerPresenter.test.ts"],"sourcesContent":["import { IconPickerPresenter } from \"./IconPickerPresenter\";\nimport { IconRepository } from \"./IconRepository\";\nimport { Icon } from \"./types\";\n\nconst mockIconTypes = [{ name: \"icon\" }, { name: \"emoji\" }, { name: \"custom\" }];\n\nconst mockIcons: Icon[] = [\n {\n type: \"emoji\",\n name: \"thumbs_up\",\n value: \"👍\",\n category: \"People & Body\",\n skinToneSupport: true\n },\n {\n type: \"icon\",\n name: \"regular_address-book\",\n 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\"/>',\n category: \"Business\"\n }\n];\n\nconst mockIconPackProviders = [\n {\n name: \"mock_icons\",\n getIcons: async () => {\n return mockIcons;\n }\n }\n];\n\ndescribe(\"IconPickerPresenter\", () => {\n const icon: Icon = {\n type: \"icon\",\n name: \"solid_bullseye\",\n 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\"/>',\n category: \"Business\",\n color: \"#282fe6\"\n };\n\n let presenter: IconPickerPresenter;\n\n beforeEach(() => {\n const repository = new IconRepository(mockIconTypes, mockIconPackProviders);\n presenter = new IconPickerPresenter(repository);\n });\n\n it(\"should create an IconPickerPresenter with the `vm` definition\", async () => {\n // let's load icons and set a predefined `selectedIcon`\n await presenter.load(icon);\n\n // `vm` should have the expected `selectedIcon` definition\n expect(presenter.vm.selectedIcon).toEqual(icon);\n\n // `vm` should have the expected `icons` definition\n expect(presenter.vm.icons).toEqual(mockIcons);\n });\n\n it(\"should be able to select an icon\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the icon\n presenter.setIcon(presenter.vm.icons[0]);\n\n // `vm` should have the expected `selectedIcon` value\n expect(presenter.vm.selectedIcon).toEqual(presenter.vm.icons[0]);\n });\n\n it(\"should be able to add an icon\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the icon\n presenter.addIcon(icon);\n\n // `vm` should have three icons\n expect(presenter.vm.icons.length).toBe(3);\n\n // `vm` should have the expected `icons` value\n expect(presenter.vm.icons).toEqual([...mockIcons, icon]);\n });\n\n it(\"should be able to filter icons by name\", async () => {\n // let's load icons\n await presenter.load();\n\n // should be able to set the filter\n presenter.setFilter(\"book\");\n\n // `vm` should have only one icon\n expect(presenter.vm.icons.length).toBe(1);\n\n // `vm` should have filtered icon\n expect(presenter.vm.icons[0]).toEqual(mockIcons[1]);\n });\n\n it(\"should be able to set active tab on menu open\", async () => {\n // let's load icons and set a predefined `selectedIcon`\n await presenter.load(mockIcons[0]);\n\n // default `isMenuOpened` should be false\n expect(presenter.vm.isMenuOpened).toBe(false);\n\n // default `activeTab` should be handled by the component itself\n expect(presenter.vm.activeTab).toBe(undefined);\n\n // should be able to set `isMenuOpened`\n // should be able to set `activeTab` based on `selectedIcon` type\n presenter.openMenu();\n\n // `vm` should have the expected `isMenuOpened` value\n expect(presenter.vm.isMenuOpened).toBe(true);\n\n // `vm` should have the expected `activeTab` value\n expect(presenter.vm.activeTab).toBe(\"emoji\");\n });\n});\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,cAAc;AAGvB,MAAMC,aAAa,GAAG,CAAC;EAAEC,IAAI,EAAE;AAAO,CAAC,EAAE;EAAEA,IAAI,EAAE;AAAQ,CAAC,EAAE;EAAEA,IAAI,EAAE;AAAS,CAAC,CAAC;AAE/E,MAAMC,SAAiB,GAAG,CACtB;EACIC,IAAI,EAAE,OAAO;EACbF,IAAI,EAAE,WAAW;EACjBG,KAAK,EAAE,IAAI;EACXC,QAAQ,EAAE,eAAe;EACzBC,eAAe,EAAE;AACrB,CAAC,EACD;EACIH,IAAI,EAAE,MAAM;EACZF,IAAI,EAAE,sBAAsB;EAC5BG,KAAK,EAAE,inBAAinB;EACxnBC,QAAQ,EAAE;AACd,CAAC,CACJ;AAED,MAAME,qBAAqB,GAAG,CAC1B;EACIN,IAAI,EAAE,YAAY;EAClBO,QAAQ,EAAE,MAAAA,CAAA,KAAY;IAClB,OAAON,SAAS;EACpB;AACJ,CAAC,CACJ;AAEDO,QAAQ,CAAC,qBAAqB,EAAE,MAAM;EAClC,MAAMC,IAAU,GAAG;IACfP,IAAI,EAAE,MAAM;IACZF,IAAI,EAAE,gBAAgB;IACtBG,KAAK,EAAE,wQAAwQ;IAC/QC,QAAQ,EAAE,UAAU;IACpBM,KAAK,EAAE;EACX,CAAC;EAED,IAAIC,SAA8B;EAElCC,UAAU,CAAC,MAAM;IACb,MAAMC,UAAU,GAAG,IAAIf,cAAc,CAACC,aAAa,EAAEO,qBAAqB,CAAC;IAC3EK,SAAS,GAAG,IAAId,mBAAmB,CAACgB,UAAU,CAAC;EACnD,CAAC,CAAC;EAEFC,EAAE,CAAC,+DAA+D,EAAE,YAAY;IAC5E;IACA,MAAMH,SAAS,CAACI,IAAI,CAACN,IAAI,CAAC;;IAE1B;IACAO,MAAM,CAACL,SAAS,CAACM,EAAE,CAACC,YAAY,CAAC,CAACC,OAAO,CAACV,IAAI,CAAC;;IAE/C;IACAO,MAAM,CAACL,SAAS,CAACM,EAAE,CAACG,KAAK,CAAC,CAACD,OAAO,CAAClB,SAAS,CAAC;EACjD,CAAC,CAAC;EAEFa,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAC/C;IACA,MAAMH,SAAS,CAACI,IAAI,CAAC,CAAC;;IAEtB;IACAJ,SAAS,CAACU,OAAO,CAACV,SAAS,CAACM,EAAE,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;;IAExC;IACAJ,MAAM,CAACL,SAAS,CAACM,EAAE,CAACC,YAAY,CAAC,CAACC,OAAO,CAACR,SAAS,CAACM,EAAE,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EACpE,CAAC,CAAC;EAEFN,EAAE,CAAC,+BAA+B,EAAE,YAAY;IAC5C;IACA,MAAMH,SAAS,CAACI,IAAI,CAAC,CAAC;;IAEtB;IACAJ,SAAS,CAACW,OAAO,CAACb,IAAI,CAAC;;IAEvB;IACAO,MAAM,CAACL,SAAS,CAACM,EAAE,CAACG,KAAK,CAACG,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;;IAEzC;IACAR,MAAM,CAACL,SAAS,CAACM,EAAE,CAACG,KAAK,CAAC,CAACD,OAAO,CAAC,CAAC,GAAGlB,SAAS,EAAEQ,IAAI,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEFK,EAAE,CAAC,wCAAwC,EAAE,YAAY;IACrD;IACA,MAAMH,SAAS,CAACI,IAAI,CAAC,CAAC;;IAEtB;IACAJ,SAAS,CAACc,SAAS,CAAC,MAAM,CAAC;;IAE3B;IACAT,MAAM,CAACL,SAAS,CAACM,EAAE,CAACG,KAAK,CAACG,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;;IAEzC;IACAR,MAAM,CAACL,SAAS,CAACM,EAAE,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAACD,OAAO,CAAClB,SAAS,CAAC,CAAC,CAAC,CAAC;EACvD,CAAC,CAAC;EAEFa,EAAE,CAAC,+CAA+C,EAAE,YAAY;IAC5D;IACA,MAAMH,SAAS,CAACI,IAAI,CAACd,SAAS,CAAC,CAAC,CAAC,CAAC;;IAElC;IACAe,MAAM,CAACL,SAAS,CAACM,EAAE,CAACS,YAAY,CAAC,CAACF,IAAI,CAAC,KAAK,CAAC;;IAE7C;IACAR,MAAM,CAACL,SAAS,CAACM,EAAE,CAACU,SAAS,CAAC,CAACH,IAAI,CAACI,SAAS,CAAC;;IAE9C;IACA;IACAjB,SAAS,CAACkB,QAAQ,CAAC,CAAC;;IAEpB;IACAb,MAAM,CAACL,SAAS,CAACM,EAAE,CAACS,YAAY,CAAC,CAACF,IAAI,CAAC,IAAI,CAAC;;IAE5C;IACAR,MAAM,CAACL,SAAS,CAACM,EAAE,CAACU,SAAS,CAAC,CAACH,IAAI,CAAC,OAAO,CAAC;EAChD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -1,24 +1,17 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.IconPickerPresenterProvider = void 0;
8
- exports.useIconPicker = useIconPicker;
9
- var _react = _interopRequireDefault(require("react"));
10
- var IconPickerPresenterContext = /*#__PURE__*/_react.default.createContext(undefined);
11
- var IconPickerPresenterProvider = exports.IconPickerPresenterProvider = function IconPickerPresenterProvider(_ref) {
12
- var presenter = _ref.presenter,
13
- children = _ref.children;
14
- return /*#__PURE__*/_react.default.createElement(IconPickerPresenterContext.Provider, {
1
+ import React from "react";
2
+ const IconPickerPresenterContext = /*#__PURE__*/React.createContext(undefined);
3
+ export const IconPickerPresenterProvider = ({
4
+ presenter,
5
+ children
6
+ }) => {
7
+ return /*#__PURE__*/React.createElement(IconPickerPresenterContext.Provider, {
15
8
  value: presenter
16
9
  }, children);
17
10
  };
18
- function useIconPicker() {
19
- var context = _react.default.useContext(IconPickerPresenterContext);
11
+ export function useIconPicker() {
12
+ const context = React.useContext(IconPickerPresenterContext);
20
13
  if (!context) {
21
- throw Error("Missing <IconPickerPresenterProvider> in the component tree!");
14
+ throw Error(`Missing <IconPickerPresenterProvider> in the component tree!`);
22
15
  }
23
16
  return context;
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","IconPickerPresenterContext","React","createContext","undefined","IconPickerPresenterProvider","exports","_ref","presenter","children","default","createElement","Provider","value","useIconPicker","context","useContext","Error"],"sources":["IconPickerPresenterProvider.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { IconPickerPresenterInterface } from \"./IconPickerPresenter\";\n\ninterface IconPickerPresenterProviderProps {\n presenter: IconPickerPresenterInterface;\n children: React.ReactNode;\n}\n\nconst IconPickerPresenterContext = React.createContext<IconPickerPresenterInterface | undefined>(\n undefined\n);\n\nexport const IconPickerPresenterProvider = ({\n presenter,\n children\n}: IconPickerPresenterProviderProps) => {\n return (\n <IconPickerPresenterContext.Provider value={presenter}>\n {children}\n </IconPickerPresenterContext.Provider>\n );\n};\n\nexport function useIconPicker() {\n const context = React.useContext(IconPickerPresenterContext);\n if (!context) {\n throw Error(`Missing <IconPickerPresenterProvider> in the component tree!`);\n }\n return context;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AASA,IAAMC,0BAA0B,gBAAGC,cAAK,CAACC,aAAa,CAClDC,SACJ,CAAC;AAEM,IAAMC,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,SAA9BA,2BAA2BA,CAAAE,IAAA,EAGA;EAAA,IAFpCC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAER,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,0BAA0B,CAACW,QAAQ;IAACC,KAAK,EAAEL;EAAU,GACjDC,QACgC,CAAC;AAE9C,CAAC;AAEM,SAASK,aAAaA,CAAA,EAAG;EAC5B,IAAMC,OAAO,GAAGb,cAAK,CAACc,UAAU,CAACf,0BAA0B,CAAC;EAC5D,IAAI,CAACc,OAAO,EAAE;IACV,MAAME,KAAK,+DAA+D,CAAC;EAC/E;EACA,OAAOF,OAAO;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["React","IconPickerPresenterContext","createContext","undefined","IconPickerPresenterProvider","presenter","children","createElement","Provider","value","useIconPicker","context","useContext","Error"],"sources":["IconPickerPresenterProvider.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { IconPickerPresenterInterface } from \"./IconPickerPresenter\";\n\ninterface IconPickerPresenterProviderProps {\n presenter: IconPickerPresenterInterface;\n children: React.ReactNode;\n}\n\nconst IconPickerPresenterContext = React.createContext<IconPickerPresenterInterface | undefined>(\n undefined\n);\n\nexport const IconPickerPresenterProvider = ({\n presenter,\n children\n}: IconPickerPresenterProviderProps) => {\n return (\n <IconPickerPresenterContext.Provider value={presenter}>\n {children}\n </IconPickerPresenterContext.Provider>\n );\n};\n\nexport function useIconPicker() {\n const context = React.useContext(IconPickerPresenterContext);\n if (!context) {\n throw Error(`Missing <IconPickerPresenterProvider> in the component tree!`);\n }\n return context;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AASzB,MAAMC,0BAA0B,gBAAGD,KAAK,CAACE,aAAa,CAClDC,SACJ,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EACxCC,SAAS;EACTC;AAC8B,CAAC,KAAK;EACpC,oBACIN,KAAA,CAAAO,aAAA,CAACN,0BAA0B,CAACO,QAAQ;IAACC,KAAK,EAAEJ;EAAU,GACjDC,QACgC,CAAC;AAE9C,CAAC;AAED,OAAO,SAASI,aAAaA,CAAA,EAAG;EAC5B,MAAMC,OAAO,GAAGX,KAAK,CAACY,UAAU,CAACX,0BAA0B,CAAC;EAC5D,IAAI,CAACU,OAAO,EAAE;IACV,MAAME,KAAK,CAAC,8DAA8D,CAAC;EAC/E;EACA,OAAOF,OAAO;AAClB","ignoreList":[]}
@@ -24,9 +24,10 @@ interface CellDecorator {
24
24
  }
25
25
  export interface IconPickerTabProps {
26
26
  label: string;
27
+ value: string;
27
28
  onChange: (icon: Icon) => void;
28
29
  actions?: React.ReactElement;
29
30
  cellDecorator?: CellDecorator;
30
31
  }
31
- export declare const IconPickerTab: ({ label, actions, onChange, cellDecorator }: IconPickerTabProps) => React.JSX.Element;
32
+ export declare const IconPickerTab: ({ label, value, actions, onChange, cellDecorator }: IconPickerTabProps) => React.JSX.Element;
32
33
  export {};
@@ -1,40 +1,25 @@
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.IconPickerTabRenderer = exports.IconPickerTab = void 0;
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _reactVirtualized = require("react-virtualized");
12
- var _groupBy = _interopRequireDefault(require("lodash/groupBy"));
13
- var _Tabs = require("@webiny/ui/Tabs");
14
- var _Typography = require("@webiny/ui/Typography");
15
- var _DelayedOnChange = require("@webiny/ui/DelayedOnChange");
16
- var _Input = require("@webiny/ui/Input");
17
- var _reactComposition = require("@webiny/react-composition");
18
- var _IconRenderer = require("./IconRenderer");
19
- var _IconPicker = require("./IconPicker.styles");
20
- var _IconPickerPresenterProvider = require("./IconPickerPresenterProvider");
21
- var _IconType = require("./config/IconType");
22
- var _types = require("./types");
23
- var _excluded = ["key"];
24
- var COLUMN_COUNT = 8;
25
- var IconPickerTabRenderer = exports.IconPickerTabRenderer = (0, _reactComposition.makeDecoratable)("IconPickerTabRenderer", function () {
26
- return null;
27
- });
28
- var getRows = function getRows(icons, size) {
1
+ import React, { Fragment } from "react";
2
+ import { ReactComponent as SearchIcon } from "@webiny/icons/search.svg";
3
+ import { List } from "react-virtualized";
4
+ import groupBy from "lodash/groupBy";
5
+ import { Text, DelayedOnChange, Input, Tabs, Icon as IconComponent } from "@webiny/admin-ui";
6
+ import { makeDecoratable } from "@webiny/react-composition";
7
+ import { useIconPicker } from "./IconPickerPresenterProvider";
8
+ import { useIconType } from "./config/IconType";
9
+ import { IconPickerCell, IconPickerRow } from "./components";
10
+ import { ICON_PICKER_SIZE } from "./types";
11
+ const COLUMN_COUNT = 8;
12
+ export const IconPickerTabRenderer = makeDecoratable("IconPickerTabRenderer", () => null);
13
+ const getRows = (icons, size) => {
29
14
  // Group the icons by their category.
30
- var groupedObjects = (0, _groupBy.default)(icons, "category");
31
- var rows = [];
15
+ const groupedObjects = groupBy(icons, "category");
16
+ const rows = [];
32
17
 
33
18
  // Iterate over each category in the grouped icons.
34
- for (var key in groupedObjects) {
19
+ for (const key in groupedObjects) {
35
20
  // Skip any group where the key is `undefined` (these icons will be handled separately).
36
21
  if (key !== "undefined") {
37
- var rowIcons = groupedObjects[key];
22
+ const rowIcons = groupedObjects[key];
38
23
 
39
24
  // Add a row for the category name.
40
25
  rows.push({
@@ -46,7 +31,7 @@ var getRows = function getRows(icons, size) {
46
31
  while (rowIcons.length) {
47
32
  rows.push({
48
33
  type: "icons",
49
- icons: rowIcons.splice(0, size === _types.ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)
34
+ icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)
50
35
  });
51
36
  }
52
37
  }
@@ -54,7 +39,7 @@ var getRows = function getRows(icons, size) {
54
39
 
55
40
  // Handle icons that don't have a category (key is `undefined`).
56
41
  if (groupedObjects.undefined) {
57
- var _rowIcons = groupedObjects.undefined;
42
+ const rowIcons = groupedObjects.undefined;
58
43
 
59
44
  // Add a row for the `Uncategorized` category name.
60
45
  rows.push({
@@ -63,107 +48,112 @@ var getRows = function getRows(icons, size) {
63
48
  });
64
49
 
65
50
  // Split these icons into groups of COLUMN_COUNT and add them as rows.
66
- while (_rowIcons.length) {
51
+ while (rowIcons.length) {
67
52
  rows.push({
68
53
  type: "icons",
69
- icons: _rowIcons.splice(0, size === _types.ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)
54
+ icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)
70
55
  });
71
56
  }
72
57
  }
73
58
  return rows;
74
59
  };
75
- var useIconTypeRows = function useIconTypeRows(type) {
76
- var presenter = (0, _IconPickerPresenterProvider.useIconPicker)();
77
- var icons = presenter.vm.icons.filter(function (icon) {
78
- return icon.type === type;
79
- });
80
- var rows = getRows(icons, presenter.vm.size);
60
+ const useIconTypeRows = type => {
61
+ const presenter = useIconPicker();
62
+ const icons = presenter.vm.icons.filter(icon => icon.type === type);
63
+ const rows = getRows(icons, presenter.vm.size);
81
64
  return {
82
65
  isEmpty: rows.length === 0,
83
- rows: rows,
66
+ rows,
84
67
  rowCount: rows.length
85
68
  };
86
69
  };
87
- var RowRenderer = function RowRenderer(_ref) {
88
- var row = _ref.row,
89
- style = _ref.style,
90
- cellDecorator = _ref.cellDecorator,
91
- onIconClick = _ref.onIconClick;
92
- var presenter = (0, _IconPickerPresenterProvider.useIconPicker)();
93
- var value = presenter.vm.selectedIcon;
70
+ const RowRenderer = ({
71
+ row,
72
+ style,
73
+ cellDecorator,
74
+ onIconClick
75
+ }) => {
76
+ const presenter = useIconPicker();
77
+ const value = presenter.vm.selectedIcon;
94
78
  if (row.type === "category-name") {
95
- return /*#__PURE__*/_react.default.createElement(_IconPicker.Row, {
79
+ return /*#__PURE__*/React.createElement(IconPickerRow, {
96
80
  style: style
97
- }, /*#__PURE__*/_react.default.createElement(_IconPicker.CategoryLabel, null, row.name));
81
+ }, /*#__PURE__*/React.createElement(Text, {
82
+ size: "sm",
83
+ className: "wby-uppercase wby-self-end wby-text-neutral-muted wby-mb-sm"
84
+ }, row.name));
98
85
  }
99
- return /*#__PURE__*/_react.default.createElement(_IconPicker.Row, {
86
+ return /*#__PURE__*/React.createElement(IconPickerRow, {
100
87
  style: style
101
- }, row.icons.map(function (item, itemKey) {
102
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
103
- key: itemKey
104
- }, cellDecorator(/*#__PURE__*/_react.default.createElement(_IconPicker.Cell, {
105
- key: itemKey,
106
- isActive: item.name === value?.name,
107
- onClick: function onClick() {
108
- return onIconClick(item);
109
- }
110
- }, /*#__PURE__*/_react.default.createElement(_IconRenderer.IconProvider, {
111
- icon: item
112
- }, /*#__PURE__*/_react.default.createElement(_IconRenderer.IconRenderer, null)))));
113
- }));
114
- };
115
- var noopDecorator = function noopDecorator(cell) {
116
- return cell;
88
+ }, row.icons.map((item, itemKey) => /*#__PURE__*/React.createElement(Fragment, {
89
+ key: itemKey
90
+ }, cellDecorator(/*#__PURE__*/React.createElement(IconPickerCell, {
91
+ key: itemKey,
92
+ icon: item,
93
+ isActive: item.name === value?.name,
94
+ onIconClick: () => onIconClick(item)
95
+ })))));
117
96
  };
118
- var IconPickerTab = exports.IconPickerTab = function IconPickerTab(_ref2) {
119
- var label = _ref2.label,
120
- actions = _ref2.actions,
121
- onChange = _ref2.onChange,
122
- _ref2$cellDecorator = _ref2.cellDecorator,
123
- cellDecorator = _ref2$cellDecorator === void 0 ? noopDecorator : _ref2$cellDecorator;
124
- var _useIconType = (0, _IconType.useIconType)(),
125
- type = _useIconType.type;
126
- var _useIconTypeRows = useIconTypeRows(type),
127
- isEmpty = _useIconTypeRows.isEmpty,
128
- rowCount = _useIconTypeRows.rowCount,
129
- rows = _useIconTypeRows.rows;
130
- var presenter = (0, _IconPickerPresenterProvider.useIconPicker)();
131
- var size = presenter.vm.size;
132
- return /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
133
- label: label
134
- }, /*#__PURE__*/_react.default.createElement(_IconPicker.TabContentWrapper, {
135
- size: size
136
- }, /*#__PURE__*/_react.default.createElement(_IconPicker.InputsWrapper, null, /*#__PURE__*/_react.default.createElement(_DelayedOnChange.DelayedOnChange, {
137
- value: presenter.vm.filter,
138
- onChange: function onChange(value) {
139
- return presenter.setFilter(value);
140
- }
141
- }, function (_ref3) {
142
- var value = _ref3.value,
143
- onChange = _ref3.onChange;
144
- return /*#__PURE__*/_react.default.createElement(_Input.Input, {
97
+ const noopDecorator = cell => cell;
98
+ export const IconPickerTab = ({
99
+ label,
100
+ value,
101
+ actions,
102
+ onChange,
103
+ cellDecorator = noopDecorator
104
+ }) => {
105
+ const {
106
+ type
107
+ } = useIconType();
108
+ const {
109
+ isEmpty,
110
+ rowCount,
111
+ rows
112
+ } = useIconTypeRows(type);
113
+ const presenter = useIconPicker();
114
+ const size = presenter.vm.size;
115
+ return /*#__PURE__*/React.createElement(Tabs.Tab, {
116
+ value: value,
117
+ trigger: label,
118
+ content: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
119
+ className: "wby-flex wby-items-center wby-justify-center wby-gap-sm"
120
+ }, /*#__PURE__*/React.createElement(DelayedOnChange, {
121
+ value: presenter.vm.filter,
122
+ onChange: value => presenter.setFilter(value)
123
+ }, ({
124
+ value,
125
+ onChange
126
+ }) => /*#__PURE__*/React.createElement(Input, {
145
127
  value: value,
146
- onChange: onChange,
147
- placeholder: "Search icons..."
148
- });
149
- }), actions ? actions : null), /*#__PURE__*/_react.default.createElement(_IconPicker.ListWrapper, null, isEmpty ? /*#__PURE__*/_react.default.createElement(_IconPicker.NoResultsWrapper, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
150
- use: "body1"
151
- }, "No results found.")) : /*#__PURE__*/_react.default.createElement(_reactVirtualized.List, {
152
- rowRenderer: function rowRenderer(_ref4) {
153
- var key = _ref4.key,
154
- props = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
155
- return /*#__PURE__*/_react.default.createElement(RowRenderer, Object.assign({
128
+ onChange: value => onChange(value),
129
+ placeholder: "Search icons...",
130
+ variant: "secondary",
131
+ size: "md",
132
+ startIcon: /*#__PURE__*/React.createElement(IconComponent, {
133
+ icon: /*#__PURE__*/React.createElement(SearchIcon, null),
134
+ label: "Search icons"
135
+ })
136
+ })), actions ? /*#__PURE__*/React.createElement("div", null, actions) : null), /*#__PURE__*/React.createElement("div", {
137
+ className: "wby-relative"
138
+ }, isEmpty ? /*#__PURE__*/React.createElement("div", {
139
+ className: "wby-pt-md wby-text-neutral-strong"
140
+ }, /*#__PURE__*/React.createElement(Text, null, "No results found.")) : /*#__PURE__*/React.createElement(List, {
141
+ className: "wby-outline-none",
142
+ rowRenderer: ({
143
+ key,
144
+ ...props
145
+ }) => /*#__PURE__*/React.createElement(RowRenderer, Object.assign({
156
146
  key: key,
157
147
  row: rows[props.index],
158
148
  cellDecorator: cellDecorator,
159
149
  onIconClick: onChange
160
- }, props));
161
- },
162
- height: size === _types.ICON_PICKER_SIZE.SMALL ? 250 : 320,
163
- rowCount: rowCount,
164
- rowHeight: 40,
165
- width: size === _types.ICON_PICKER_SIZE.SMALL ? 255 : 340
166
- }))));
150
+ }, props)),
151
+ width: size === ICON_PICKER_SIZE.SMALL ? 232 : 312,
152
+ height: size === ICON_PICKER_SIZE.SMALL ? 240 : 350,
153
+ rowCount: rowCount,
154
+ rowHeight: 40
155
+ })))
156
+ });
167
157
  };
168
158
 
169
159
  //# sourceMappingURL=IconPickerTab.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactVirtualized","_groupBy","_interopRequireDefault","_Tabs","_Typography","_DelayedOnChange","_Input","_reactComposition","_IconRenderer","_IconPicker","_IconPickerPresenterProvider","_IconType","_types","_excluded","COLUMN_COUNT","IconPickerTabRenderer","exports","makeDecoratable","getRows","icons","size","groupedObjects","groupBy","rows","key","rowIcons","push","type","name","length","splice","ICON_PICKER_SIZE","SMALL","undefined","useIconTypeRows","presenter","useIconPicker","vm","filter","icon","isEmpty","rowCount","RowRenderer","_ref","row","style","cellDecorator","onIconClick","value","selectedIcon","default","createElement","Row","CategoryLabel","map","item","itemKey","Fragment","Cell","isActive","onClick","IconProvider","IconRenderer","noopDecorator","cell","IconPickerTab","_ref2","label","actions","onChange","_ref2$cellDecorator","_useIconType","useIconType","_useIconTypeRows","Tab","TabContentWrapper","InputsWrapper","DelayedOnChange","setFilter","_ref3","Input","placeholder","ListWrapper","NoResultsWrapper","Typography","use","List","rowRenderer","_ref4","props","_objectWithoutProperties2","Object","assign","index","height","rowHeight","width"],"sources":["IconPickerTab.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { List } from \"react-virtualized\";\nimport groupBy from \"lodash/groupBy\";\n\nimport { Tab } from \"@webiny/ui/Tabs\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { DelayedOnChange } from \"@webiny/ui/DelayedOnChange\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\n\nimport { IconProvider, IconRenderer } from \"./IconRenderer\";\nimport {\n Row,\n Cell,\n CategoryLabel,\n TabContentWrapper,\n ListWrapper,\n NoResultsWrapper,\n InputsWrapper\n} from \"./IconPicker.styles\";\nimport { useIconPicker } from \"./IconPickerPresenterProvider\";\nimport { useIconType } from \"./config/IconType\";\nimport { Icon, IconPickerGridRow, ICON_PICKER_SIZE } from \"./types\";\n\nconst COLUMN_COUNT = 8;\n\nexport const IconPickerTabRenderer = makeDecoratable(\"IconPickerTabRenderer\", () => null);\n\nconst getRows = (icons: Icon[], size?: string) => {\n // Group the icons by their category.\n const groupedObjects = groupBy(icons, \"category\");\n const rows: IconPickerGridRow[] = [];\n\n // Iterate over each category in the grouped icons.\n for (const key in groupedObjects) {\n // Skip any group where the key is `undefined` (these icons will be handled separately).\n if (key !== \"undefined\") {\n const rowIcons = groupedObjects[key];\n\n // Add a row for the category name.\n rows.push({ type: \"category-name\", name: key });\n\n // Split the icons in this category into groups of COLUMN_COUNT and add them as rows.\n while (rowIcons.length) {\n rows.push({\n type: \"icons\",\n icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)\n });\n }\n }\n }\n\n // Handle icons that don't have a category (key is `undefined`).\n if (groupedObjects.undefined) {\n const rowIcons = groupedObjects.undefined;\n\n // Add a row for the `Uncategorized` category name.\n rows.push({ type: \"category-name\", name: \"Uncategorized\" });\n\n // Split these icons into groups of COLUMN_COUNT and add them as rows.\n while (rowIcons.length) {\n rows.push({\n type: \"icons\",\n icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)\n });\n }\n }\n\n return rows;\n};\n\nconst useIconTypeRows = (type: string) => {\n const presenter = useIconPicker();\n const icons = presenter.vm.icons.filter(icon => icon.type === type);\n const rows = getRows(icons, presenter.vm.size);\n\n return {\n isEmpty: rows.length === 0,\n rows,\n rowCount: rows.length\n };\n};\n\ninterface RenderRowProps {\n onIconClick: (icon: Icon) => void;\n style: Record<string, any>;\n row: IconPickerGridRow;\n cellDecorator: CellDecorator;\n}\n\nconst RowRenderer = ({ row, style, cellDecorator, onIconClick }: RenderRowProps) => {\n const presenter = useIconPicker();\n const value = presenter.vm.selectedIcon;\n\n if (row.type === \"category-name\") {\n return (\n <Row style={style}>\n <CategoryLabel>{row.name}</CategoryLabel>\n </Row>\n );\n }\n\n return (\n <Row style={style}>\n {row.icons.map((item, itemKey) => (\n <Fragment key={itemKey}>\n {cellDecorator(\n <Cell\n key={itemKey}\n isActive={item.name === value?.name}\n onClick={() => onIconClick(item)}\n >\n <IconProvider icon={item}>\n <IconRenderer />\n </IconProvider>\n </Cell>\n )}\n </Fragment>\n ))}\n </Row>\n );\n};\n\ninterface CellDecorator {\n (cell: React.ReactElement): React.ReactElement;\n}\n\nconst noopDecorator: CellDecorator = cell => cell;\n\nexport interface IconPickerTabProps {\n label: string;\n onChange: (icon: Icon) => void;\n actions?: React.ReactElement;\n cellDecorator?: CellDecorator;\n}\n\nexport const IconPickerTab = ({\n label,\n actions,\n onChange,\n cellDecorator = noopDecorator\n}: IconPickerTabProps) => {\n const { type } = useIconType();\n const { isEmpty, rowCount, rows } = useIconTypeRows(type);\n const presenter = useIconPicker();\n const size = presenter.vm.size;\n\n return (\n <Tab label={label}>\n <TabContentWrapper size={size}>\n <InputsWrapper>\n <DelayedOnChange\n value={presenter.vm.filter}\n onChange={value => presenter.setFilter(value)}\n >\n {({ value, onChange }) => (\n <Input\n value={value}\n onChange={onChange}\n placeholder={\"Search icons...\"}\n />\n )}\n </DelayedOnChange>\n {actions ? actions : null}\n </InputsWrapper>\n <ListWrapper>\n {isEmpty ? (\n <NoResultsWrapper>\n <Typography use=\"body1\">No results found.</Typography>\n </NoResultsWrapper>\n ) : (\n <List\n rowRenderer={({ key, ...props }) => (\n <RowRenderer\n key={key}\n row={rows[props.index]}\n cellDecorator={cellDecorator}\n onIconClick={onChange}\n {...props}\n />\n )}\n height={size === ICON_PICKER_SIZE.SMALL ? 250 : 320}\n rowCount={rowCount}\n rowHeight={40}\n width={size === ICON_PICKER_SIZE.SMALL ? 255 : 340}\n />\n )}\n </ListWrapper>\n </TabContentWrapper>\n </Tab>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Fragment","ReactComponent","SearchIcon","List","groupBy","Text","DelayedOnChange","Input","Tabs","Icon","IconComponent","makeDecoratable","useIconPicker","useIconType","IconPickerCell","IconPickerRow","ICON_PICKER_SIZE","COLUMN_COUNT","IconPickerTabRenderer","getRows","icons","size","groupedObjects","rows","key","rowIcons","push","type","name","length","splice","SMALL","undefined","useIconTypeRows","presenter","vm","filter","icon","isEmpty","rowCount","RowRenderer","row","style","cellDecorator","onIconClick","value","selectedIcon","createElement","className","map","item","itemKey","isActive","noopDecorator","cell","IconPickerTab","label","actions","onChange","Tab","trigger","content","setFilter","placeholder","variant","startIcon","rowRenderer","props","Object","assign","index","width","height","rowHeight"],"sources":["IconPickerTab.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { ReactComponent as SearchIcon } from \"@webiny/icons/search.svg\";\nimport { List } from \"react-virtualized\";\nimport groupBy from \"lodash/groupBy\";\n\nimport { Text, DelayedOnChange, Input, Tabs, Icon as IconComponent } from \"@webiny/admin-ui\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\n\nimport { useIconPicker } from \"./IconPickerPresenterProvider\";\nimport { useIconType } from \"./config/IconType\";\nimport { IconPickerCell, IconPickerRow } from \"./components\";\nimport { Icon, IconPickerGridRow, ICON_PICKER_SIZE } from \"./types\";\n\nconst COLUMN_COUNT = 8;\n\nexport const IconPickerTabRenderer = makeDecoratable(\"IconPickerTabRenderer\", () => null);\n\nconst getRows = (icons: Icon[], size?: string) => {\n // Group the icons by their category.\n const groupedObjects = groupBy(icons, \"category\");\n const rows: IconPickerGridRow[] = [];\n\n // Iterate over each category in the grouped icons.\n for (const key in groupedObjects) {\n // Skip any group where the key is `undefined` (these icons will be handled separately).\n if (key !== \"undefined\") {\n const rowIcons = groupedObjects[key];\n\n // Add a row for the category name.\n rows.push({ type: \"category-name\", name: key });\n\n // Split the icons in this category into groups of COLUMN_COUNT and add them as rows.\n while (rowIcons.length) {\n rows.push({\n type: \"icons\",\n icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)\n });\n }\n }\n }\n\n // Handle icons that don't have a category (key is `undefined`).\n if (groupedObjects.undefined) {\n const rowIcons = groupedObjects.undefined;\n\n // Add a row for the `Uncategorized` category name.\n rows.push({ type: \"category-name\", name: \"Uncategorized\" });\n\n // Split these icons into groups of COLUMN_COUNT and add them as rows.\n while (rowIcons.length) {\n rows.push({\n type: \"icons\",\n icons: rowIcons.splice(0, size === ICON_PICKER_SIZE.SMALL ? 6 : COLUMN_COUNT)\n });\n }\n }\n\n return rows;\n};\n\nconst useIconTypeRows = (type: string) => {\n const presenter = useIconPicker();\n const icons = presenter.vm.icons.filter(icon => icon.type === type);\n const rows = getRows(icons, presenter.vm.size);\n\n return {\n isEmpty: rows.length === 0,\n rows,\n rowCount: rows.length\n };\n};\n\ninterface RenderRowProps {\n onIconClick: (icon: Icon) => void;\n style: Record<string, any>;\n row: IconPickerGridRow;\n cellDecorator: CellDecorator;\n}\n\nconst RowRenderer = ({ row, style, cellDecorator, onIconClick }: RenderRowProps) => {\n const presenter = useIconPicker();\n const value = presenter.vm.selectedIcon;\n\n if (row.type === \"category-name\") {\n return (\n <IconPickerRow style={style}>\n <Text\n size={\"sm\"}\n className={\"wby-uppercase wby-self-end wby-text-neutral-muted wby-mb-sm\"}\n >\n {row.name}\n </Text>\n </IconPickerRow>\n );\n }\n\n return (\n <IconPickerRow style={style}>\n {row.icons.map((item, itemKey) => (\n <Fragment key={itemKey}>\n {cellDecorator(\n <IconPickerCell\n key={itemKey}\n icon={item}\n isActive={item.name === value?.name}\n onIconClick={() => onIconClick(item)}\n />\n )}\n </Fragment>\n ))}\n </IconPickerRow>\n );\n};\n\ninterface CellDecorator {\n (cell: React.ReactElement): React.ReactElement;\n}\n\nconst noopDecorator: CellDecorator = cell => cell;\n\nexport interface IconPickerTabProps {\n label: string;\n value: string;\n onChange: (icon: Icon) => void;\n actions?: React.ReactElement;\n cellDecorator?: CellDecorator;\n}\n\nexport const IconPickerTab = ({\n label,\n value,\n actions,\n onChange,\n cellDecorator = noopDecorator\n}: IconPickerTabProps) => {\n const { type } = useIconType();\n const { isEmpty, rowCount, rows } = useIconTypeRows(type);\n const presenter = useIconPicker();\n const size = presenter.vm.size;\n\n return (\n <Tabs.Tab\n value={value}\n trigger={label}\n content={\n <div>\n <div className={\"wby-flex wby-items-center wby-justify-center wby-gap-sm\"}>\n <DelayedOnChange\n value={presenter.vm.filter}\n onChange={value => presenter.setFilter(value)}\n >\n {({ value, onChange }) => (\n <Input\n value={value}\n onChange={value => onChange(value as unknown as string)}\n placeholder={\"Search icons...\"}\n variant={\"secondary\"}\n size={\"md\"}\n startIcon={\n <IconComponent\n icon={<SearchIcon />}\n label={\"Search icons\"}\n />\n }\n />\n )}\n </DelayedOnChange>\n {actions ? <div>{actions}</div> : null}\n </div>\n <div className={\"wby-relative\"}>\n {isEmpty ? (\n <div className={\"wby-pt-md wby-text-neutral-strong\"}>\n <Text>{\"No results found.\"}</Text>\n </div>\n ) : (\n <List\n className={\"wby-outline-none\"}\n rowRenderer={({ key, ...props }) => (\n <RowRenderer\n key={key}\n row={rows[props.index]}\n cellDecorator={cellDecorator}\n onIconClick={onChange}\n {...props}\n />\n )}\n width={size === ICON_PICKER_SIZE.SMALL ? 232 : 312}\n height={size === ICON_PICKER_SIZE.SMALL ? 240 : 350}\n rowCount={rowCount}\n rowHeight={40}\n />\n )}\n </div>\n </div>\n }\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,33 +1,25 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.IconRenderer = exports.IconProvider = void 0;
8
- exports.useIcon = useIcon;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _mobx = require("mobx");
11
- var _reactComposition = require("@webiny/react-composition");
12
- var IconRenderer = exports.IconRenderer = (0, _reactComposition.makeDecoratable)("IconPickerIcon", (0, _reactComposition.createVoidComponent)());
13
- var IconContext = /*#__PURE__*/_react.default.createContext(undefined);
14
- var IconProvider = exports.IconProvider = function IconProvider(_ref) {
15
- var icon = _ref.icon,
16
- _ref$size = _ref.size,
17
- size = _ref$size === void 0 ? 32 : _ref$size,
18
- children = _ref.children;
1
+ import React from "react";
2
+ import { toJS } from "mobx";
3
+ import { makeDecoratable, createVoidComponent } from "@webiny/react-composition";
4
+ export const IconRenderer = makeDecoratable("IconPickerIcon", createVoidComponent());
5
+ const IconContext = /*#__PURE__*/React.createContext(undefined);
6
+ export const IconProvider = ({
7
+ icon,
8
+ size = 32,
9
+ children
10
+ }) => {
19
11
  // I want to use the POJO via the context, to reduce the need of using `observer` HOC everywhere.
20
- return /*#__PURE__*/_react.default.createElement(IconContext.Provider, {
12
+ return /*#__PURE__*/React.createElement(IconContext.Provider, {
21
13
  value: {
22
- icon: (0, _mobx.toJS)(icon),
23
- size: size
14
+ icon: toJS(icon),
15
+ size
24
16
  }
25
17
  }, children);
26
18
  };
27
- function useIcon() {
28
- var context = _react.default.useContext(IconContext);
19
+ export function useIcon() {
20
+ const context = React.useContext(IconContext);
29
21
  if (!context) {
30
- throw Error("Missing <IconProvider> in the component tree!");
22
+ throw Error(`Missing <IconProvider> in the component tree!`);
31
23
  }
32
24
  return context;
33
25
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_mobx","_reactComposition","IconRenderer","exports","makeDecoratable","createVoidComponent","IconContext","React","createContext","undefined","IconProvider","_ref","icon","_ref$size","size","children","default","createElement","Provider","value","toJS","useIcon","context","useContext","Error"],"sources":["IconRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { toJS } from \"mobx\";\n\nimport { makeDecoratable, createVoidComponent } from \"@webiny/react-composition\";\n\nimport { Icon } from \"./types\";\n\nexport const IconRenderer = makeDecoratable(\"IconPickerIcon\", createVoidComponent());\n\ninterface IconContext<T extends Icon = Icon> {\n icon: T;\n size: number;\n}\n\nconst IconContext = React.createContext<IconContext | undefined>(undefined);\n\ninterface IconProviderProps {\n icon: Icon;\n size?: number;\n children: React.ReactNode;\n}\n\nexport const IconProvider = ({ icon, size = 32, children }: IconProviderProps) => {\n // I want to use the POJO via the context, to reduce the need of using `observer` HOC everywhere.\n return (\n <IconContext.Provider value={{ icon: toJS(icon), size }}>{children}</IconContext.Provider>\n );\n};\n\nexport function useIcon<T extends Icon = Icon>(): IconContext<T> {\n const context = React.useContext(IconContext);\n if (!context) {\n throw Error(`Missing <IconProvider> in the component tree!`);\n }\n return context as IconContext<T>;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAIO,IAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,iCAAe,EAAC,gBAAgB,EAAE,IAAAC,qCAAmB,EAAC,CAAC,CAAC;AAOpF,IAAMC,WAAW,gBAAGC,cAAK,CAACC,aAAa,CAA0BC,SAAS,CAAC;AAQpE,IAAMC,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAyD;EAAA,IAAnDC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,SAAA,GAAAF,IAAA,CAAEG,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;EACpD;EACA,oBACIlB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACX,WAAW,CAACY,QAAQ;IAACC,KAAK,EAAE;MAAEP,IAAI,EAAE,IAAAQ,UAAI,EAACR,IAAI,CAAC;MAAEE,IAAI,EAAJA;IAAK;EAAE,GAAEC,QAA+B,CAAC;AAElG,CAAC;AAEM,SAASM,OAAOA,CAAA,EAA0C;EAC7D,IAAMC,OAAO,GAAGf,cAAK,CAACgB,UAAU,CAACjB,WAAW,CAAC;EAC7C,IAAI,CAACgB,OAAO,EAAE;IACV,MAAME,KAAK,gDAAgD,CAAC;EAChE;EACA,OAAOF,OAAO;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["React","toJS","makeDecoratable","createVoidComponent","IconRenderer","IconContext","createContext","undefined","IconProvider","icon","size","children","createElement","Provider","value","useIcon","context","useContext","Error"],"sources":["IconRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { toJS } from \"mobx\";\n\nimport { makeDecoratable, createVoidComponent } from \"@webiny/react-composition\";\n\nimport { Icon } from \"./types\";\n\nexport const IconRenderer = makeDecoratable(\"IconPickerIcon\", createVoidComponent());\n\ninterface IconContext<T extends Icon = Icon> {\n icon: T;\n size: number;\n}\n\nconst IconContext = React.createContext<IconContext | undefined>(undefined);\n\ninterface IconProviderProps {\n icon: Icon;\n size?: number;\n children: React.ReactNode;\n}\n\nexport const IconProvider = ({ icon, size = 32, children }: IconProviderProps) => {\n // I want to use the POJO via the context, to reduce the need of using `observer` HOC everywhere.\n return (\n <IconContext.Provider value={{ icon: toJS(icon), size }}>{children}</IconContext.Provider>\n );\n};\n\nexport function useIcon<T extends Icon = Icon>(): IconContext<T> {\n const context = React.useContext(IconContext);\n if (!context) {\n throw Error(`Missing <IconProvider> in the component tree!`);\n }\n return context as IconContext<T>;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,MAAM;AAE3B,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,2BAA2B;AAIhF,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC,gBAAgB,EAAEC,mBAAmB,CAAC,CAAC,CAAC;AAOpF,MAAME,WAAW,gBAAGL,KAAK,CAACM,aAAa,CAA0BC,SAAS,CAAC;AAQ3E,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,IAAI,GAAG,EAAE;EAAEC;AAA4B,CAAC,KAAK;EAC9E;EACA,oBACIX,KAAA,CAAAY,aAAA,CAACP,WAAW,CAACQ,QAAQ;IAACC,KAAK,EAAE;MAAEL,IAAI,EAAER,IAAI,CAACQ,IAAI,CAAC;MAAEC;IAAK;EAAE,GAAEC,QAA+B,CAAC;AAElG,CAAC;AAED,OAAO,SAASI,OAAOA,CAAA,EAA0C;EAC7D,MAAMC,OAAO,GAAGhB,KAAK,CAACiB,UAAU,CAACZ,WAAW,CAAC;EAC7C,IAAI,CAACW,OAAO,EAAE;IACV,MAAME,KAAK,CAAC,+CAA+C,CAAC;EAChE;EACA,OAAOF,OAAO;AAClB","ignoreList":[]}