@webiny/app-admin 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.f6dc066313

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 (920) hide show
  1. package/README.md +7 -17
  2. package/base/Admin.d.ts +5 -2
  3. package/base/Admin.js +34 -16
  4. package/base/Admin.js.map +1 -1
  5. package/base/Base/LexicalPreset.d.ts +2 -0
  6. package/base/Base/LexicalPreset.js +67 -0
  7. package/base/Base/LexicalPreset.js.map +1 -0
  8. package/base/Base/Menus/SupportMenuItems.d.ts +2 -2
  9. package/base/Base/Menus/SupportMenuItems.js +2 -4
  10. package/base/Base/Menus/SupportMenuItems.js.map +1 -1
  11. package/base/Base/Menus/WebinyVersion.js +4 -4
  12. package/base/Base/Menus/WebinyVersion.js.map +1 -1
  13. package/base/Base/Menus.js +37 -42
  14. package/base/Base/Menus.js.map +1 -1
  15. package/base/Base/RoutesConfig.d.ts +2 -0
  16. package/base/Base/RoutesConfig.js +30 -0
  17. package/base/Base/RoutesConfig.js.map +1 -0
  18. package/base/Base/Tenant/wby-horizontal.svg +23 -0
  19. package/base/Base/Tenant.js +14 -9
  20. package/base/Base/Tenant.js.map +1 -1
  21. package/base/Base/UserMenu/ExitTenant.d.ts +20 -0
  22. package/base/Base/UserMenu/ExitTenant.js +37 -0
  23. package/base/Base/UserMenu/ExitTenant.js.map +1 -0
  24. package/base/Base/UserMenu/SignOut.d.ts +2 -0
  25. package/base/Base/UserMenu/SignOut.js +19 -0
  26. package/base/Base/UserMenu/SignOut.js.map +1 -0
  27. package/base/Base/UserMenu/UserInfo.d.ts +6 -0
  28. package/base/Base/UserMenu/UserInfo.js +43 -0
  29. package/base/Base/UserMenu/UserInfo.js.map +1 -0
  30. package/base/Base/UserMenu.d.ts +2 -0
  31. package/base/Base/UserMenu.js +21 -0
  32. package/base/Base/UserMenu.js.map +1 -0
  33. package/base/Base.js +6 -8
  34. package/base/Base.js.map +1 -1
  35. package/base/TelemetryAdminAppStart.d.ts +1 -0
  36. package/base/TelemetryAdminAppStart.js +19 -0
  37. package/base/TelemetryAdminAppStart.js.map +1 -0
  38. package/base/WebinyVersion.js +4 -4
  39. package/base/WebinyVersion.js.map +1 -1
  40. package/base/createRootContainer.d.ts +2 -0
  41. package/base/createRootContainer.js +55 -0
  42. package/base/createRootContainer.js.map +1 -0
  43. package/base/plugins/AddGraphQLQuerySelection.js +1 -1
  44. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  45. package/base/providers/AdminUiStateProvider.js +1 -1
  46. package/base/providers/AdminUiStateProvider.js.map +1 -1
  47. package/base/providers/ApolloProvider.d.ts +1 -1
  48. package/base/providers/ApolloProvider.js +2 -5
  49. package/base/providers/ApolloProvider.js.map +1 -1
  50. package/base/providers/UiProviders.js +24 -3
  51. package/base/providers/UiProviders.js.map +1 -1
  52. package/base/providers/UiStateProvider.js +1 -1
  53. package/base/providers/UiStateProvider.js.map +1 -1
  54. package/base/ui/CenteredView.d.ts +1 -1
  55. package/base/ui/CenteredView.js +2 -2
  56. package/base/ui/CenteredView.js.map +1 -1
  57. package/base/ui/FileManager.d.ts +9 -21
  58. package/base/ui/FileManager.js +18 -12
  59. package/base/ui/FileManager.js.map +1 -1
  60. package/base/ui/LoginScreen.d.ts +19 -0
  61. package/base/ui/LoginScreen.js +2 -1
  62. package/base/ui/LoginScreen.js.map +1 -1
  63. package/base/ui/Navigation.js +1 -1
  64. package/base/ui/Navigation.js.map +1 -1
  65. package/base/ui/UserMenu/UserMenuItem.d.ts +5 -5
  66. package/base/ui/UserMenu/UserMenuItem.js +1 -1
  67. package/base/ui/UserMenu/UserMenuItem.js.map +1 -1
  68. package/base/ui/UserMenu/UserMenuLink.d.ts +5 -5
  69. package/base/ui/UserMenu/UserMenuLink.js +1 -1
  70. package/base/ui/UserMenu/UserMenuLink.js.map +1 -1
  71. package/base/ui/UserMenu/UserMenuSeparator.d.ts +8 -8
  72. package/base/ui/UserMenu/UserMenuSeparator.js +1 -1
  73. package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -1
  74. package/base/ui/UserMenu.d.ts +3 -3
  75. package/base/ui/UserMenu.js +3 -3
  76. package/base/ui/UserMenu.js.map +1 -1
  77. package/components/AdminLayout.js +1 -1
  78. package/components/AdminLayout.js.map +1 -1
  79. package/components/BulkActions/Worker.d.ts +0 -1
  80. package/components/BulkActions/Worker.js +1 -1
  81. package/components/BulkActions/Worker.js.map +1 -1
  82. package/components/BulkActions/index.d.ts +2 -2
  83. package/components/BulkActions/index.js +2 -2
  84. package/components/BulkActions/index.js.map +1 -1
  85. package/components/BulkActions/useDialogWithReport/DialogMessage.d.ts +1 -1
  86. package/components/BulkActions/useDialogWithReport/DialogMessage.js +2 -2
  87. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -1
  88. package/components/BulkActions/useDialogWithReport/index.d.ts +1 -1
  89. package/components/BulkActions/useDialogWithReport/index.js +1 -1
  90. package/components/BulkActions/useDialogWithReport/index.js.map +1 -1
  91. package/components/BulkActions/useDialogWithReport/useDialogWithReport.d.ts +1 -1
  92. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +2 -2
  93. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
  94. package/components/Buttons/Buttons.d.ts +1 -1
  95. package/components/Buttons/Buttons.js +4 -4
  96. package/components/Buttons/Buttons.js.map +1 -1
  97. package/components/Buttons/Buttons.styles.d.ts +2 -3
  98. package/components/Buttons/Buttons.styles.js +1 -2
  99. package/components/Buttons/Buttons.styles.js.map +1 -1
  100. package/components/Buttons/index.d.ts +2 -2
  101. package/components/Buttons/index.js +2 -2
  102. package/components/Buttons/index.js.map +1 -1
  103. package/components/Buttons/useButtons.d.ts +1 -1
  104. package/components/Buttons/useButtons.js +1 -1
  105. package/components/Buttons/useButtons.js.map +1 -1
  106. package/components/DeveloperMode/DeveloperMode.d.ts +11 -0
  107. package/components/DeveloperMode/DeveloperMode.js +17 -0
  108. package/components/DeveloperMode/DeveloperMode.js.map +1 -0
  109. package/components/DeveloperMode/index.d.ts +2 -0
  110. package/components/DeveloperMode/index.js +3 -0
  111. package/components/DeveloperMode/index.js.map +1 -0
  112. package/components/Dialogs/Dialog.js +2 -2
  113. package/components/Dialogs/Dialog.js.map +1 -1
  114. package/components/Dialogs/DialogsContext.d.ts +1 -6
  115. package/components/Dialogs/DialogsContext.js +14 -23
  116. package/components/Dialogs/DialogsContext.js.map +1 -1
  117. package/components/Dialogs/useDialogs.d.ts +1 -2
  118. package/components/Dialogs/useDialogs.js +1 -2
  119. package/components/Dialogs/useDialogs.js.map +1 -1
  120. package/components/EmptyView.d.ts +1 -2
  121. package/components/EmptyView.js +6 -7
  122. package/components/EmptyView.js.map +1 -1
  123. package/components/Filters/Filters.d.ts +1 -1
  124. package/components/Filters/Filters.js +2 -2
  125. package/components/Filters/Filters.js.map +1 -1
  126. package/components/Filters/index.d.ts +2 -2
  127. package/components/Filters/index.js +2 -2
  128. package/components/Filters/index.js.map +1 -1
  129. package/components/FloatingActionButton.js +1 -1
  130. package/components/FloatingActionButton.js.map +1 -1
  131. package/components/FloatingPanel.js +4 -6
  132. package/components/FloatingPanel.js.map +1 -1
  133. package/components/IconPicker/IconPicker.d.ts +3 -3
  134. package/components/IconPicker/IconPicker.js +6 -6
  135. package/components/IconPicker/IconPicker.js.map +1 -1
  136. package/components/IconPicker/IconPickerComponent.d.ts +3 -3
  137. package/components/IconPicker/IconPickerComponent.js +4 -4
  138. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  139. package/components/IconPicker/IconPickerPresenter.d.ts +3 -3
  140. package/components/IconPicker/IconPickerPresenter.js.map +1 -1
  141. package/components/IconPicker/IconPickerPresenter.test.js +3 -2
  142. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -1
  143. package/components/IconPicker/IconPickerPresenterProvider.d.ts +1 -1
  144. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -1
  145. package/components/IconPicker/IconPickerTab.d.ts +1 -1
  146. package/components/IconPicker/IconPickerTab.js +10 -10
  147. package/components/IconPicker/IconPickerTab.js.map +1 -1
  148. package/components/IconPicker/IconRenderer.d.ts +1 -1
  149. package/components/IconPicker/IconRenderer.js.map +1 -1
  150. package/components/IconPicker/IconRepository.d.ts +2 -2
  151. package/components/IconPicker/IconRepository.js +2 -2
  152. package/components/IconPicker/IconRepository.js.map +1 -1
  153. package/components/IconPicker/IconRepository.test.js +2 -1
  154. package/components/IconPicker/IconRepository.test.js.map +1 -1
  155. package/components/IconPicker/IconRepositoryFactory.d.ts +2 -2
  156. package/components/IconPicker/IconRepositoryFactory.js +1 -1
  157. package/components/IconPicker/IconRepositoryFactory.js.map +1 -1
  158. package/components/IconPicker/components/IconPickerCell.d.ts +2 -2
  159. package/components/IconPicker/components/IconPickerCell.js +3 -3
  160. package/components/IconPicker/components/IconPickerCell.js.map +1 -1
  161. package/components/IconPicker/components/IconPickerContent.d.ts +1 -1
  162. package/components/IconPicker/components/IconPickerContent.js +4 -4
  163. package/components/IconPicker/components/IconPickerContent.js.map +1 -1
  164. package/components/IconPicker/components/IconPickerRow.js +1 -1
  165. package/components/IconPicker/components/IconPickerRow.js.map +1 -1
  166. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  167. package/components/IconPicker/components/IconPickerTrigger.js +7 -7
  168. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -1
  169. package/components/IconPicker/components/index.d.ts +4 -4
  170. package/components/IconPicker/components/index.js +4 -4
  171. package/components/IconPicker/components/index.js.map +1 -1
  172. package/components/IconPicker/config/Emojis.js +1 -1
  173. package/components/IconPicker/config/Emojis.js.map +1 -1
  174. package/components/IconPicker/config/FontAwesomeIcons.js +1 -1
  175. package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -1
  176. package/components/IconPicker/config/IconPackProvider.d.ts +1 -1
  177. package/components/IconPicker/config/IconPackProvider.js.map +1 -1
  178. package/components/IconPicker/config/IconType.js +2 -2
  179. package/components/IconPicker/config/IconType.js.map +1 -1
  180. package/components/IconPicker/config/index.d.ts +3 -3
  181. package/components/IconPicker/config/index.js +7 -7
  182. package/components/IconPicker/config/index.js.map +1 -1
  183. package/components/IconPicker/index.d.ts +7 -7
  184. package/components/IconPicker/index.js +6 -6
  185. package/components/IconPicker/index.js.map +1 -1
  186. package/components/IconPicker/plugins/customPlugin.js +19 -24
  187. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  188. package/components/IconPicker/plugins/emojisPlugin.js +9 -9
  189. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -1
  190. package/components/IconPicker/plugins/iconsPlugin.js +4 -4
  191. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -1
  192. package/components/IconPicker/types.js.map +1 -1
  193. package/components/LexicalEditor/LexicalEditor.d.ts +9 -5
  194. package/components/LexicalEditor/LexicalEditor.js +32 -21
  195. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  196. package/components/LexicalEditor/LexicalLinkForm.d.ts +6 -0
  197. package/components/LexicalEditor/LexicalLinkForm.js +92 -0
  198. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -0
  199. package/components/LexicalEditor/index.d.ts +3 -1
  200. package/components/LexicalEditor/index.js +3 -1
  201. package/components/LexicalEditor/index.js.map +1 -1
  202. package/components/LexicalEditor/lexicalValueWithHtml.d.ts +7 -0
  203. package/components/LexicalEditor/lexicalValueWithHtml.js +36 -0
  204. package/components/LexicalEditor/lexicalValueWithHtml.js.map +1 -0
  205. package/components/NavigationPrompt.d.ts +27 -0
  206. package/components/NavigationPrompt.js +39 -0
  207. package/components/NavigationPrompt.js.map +1 -0
  208. package/components/NotAuthorizedError/NotAuthorizedError.d.ts +2 -0
  209. package/components/NotAuthorizedError/NotAuthorizedError.js +20 -0
  210. package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -0
  211. package/components/NotAuthorizedError/SecureRouteError.svg +1 -0
  212. package/components/NotAuthorizedError/index.d.ts +1 -0
  213. package/components/NotAuthorizedError/index.js +3 -0
  214. package/components/NotAuthorizedError/index.js.map +1 -0
  215. package/components/OptionsMenu/OptionsMenu.js +1 -1
  216. package/components/OptionsMenu/OptionsMenu.js.map +1 -1
  217. package/components/OptionsMenu/index.d.ts +4 -4
  218. package/components/OptionsMenu/index.js +4 -4
  219. package/components/OptionsMenu/index.js.map +1 -1
  220. package/components/OptionsMenu/useOptionsMenuItem.d.ts +2 -2
  221. package/components/OptionsMenu/useOptionsMenuItem.js +2 -2
  222. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -1
  223. package/components/OverlayLayout/OverlayLayout.d.ts +1 -1
  224. package/components/OverlayLayout/OverlayLayout.js +8 -11
  225. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  226. package/components/OverlayLayout/components/OverlayBackdrop.js +1 -1
  227. package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -1
  228. package/components/OverlayLayout/components/OverlayContent.js +1 -1
  229. package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
  230. package/components/OverlayLayout/components/OverlayHeader.js +3 -3
  231. package/components/OverlayLayout/components/OverlayHeader.js.map +1 -1
  232. package/components/OverlayLayout/components/OverlayRoot.js +1 -1
  233. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
  234. package/components/OverlayLayout/components/index.d.ts +4 -4
  235. package/components/OverlayLayout/components/index.js +4 -4
  236. package/components/OverlayLayout/components/index.js.map +1 -1
  237. package/components/OverlayLayout/index.d.ts +1 -1
  238. package/components/OverlayLayout/index.js +1 -1
  239. package/components/OverlayLayout/index.js.map +1 -1
  240. package/components/Permissions/Permissions.d.ts +1 -3
  241. package/components/Permissions/Permissions.js +37 -31
  242. package/components/Permissions/Permissions.js.map +1 -1
  243. package/components/Permissions/PermissionsGroup.js +2 -2
  244. package/components/Permissions/PermissionsGroup.js.map +1 -1
  245. package/components/Permissions/StyledComponents.js +1 -1
  246. package/components/Permissions/StyledComponents.js.map +1 -1
  247. package/components/Permissions/index.d.ts +4 -4
  248. package/components/Permissions/index.js +4 -4
  249. package/components/Permissions/index.js.map +1 -1
  250. package/components/RegisterFeature.d.ts +11 -0
  251. package/components/RegisterFeature.js +26 -0
  252. package/components/RegisterFeature.js.map +1 -0
  253. package/components/ResizablePanels/index.d.ts +1 -1
  254. package/components/ResizablePanels/index.js +1 -1
  255. package/components/ResizablePanels/index.js.map +1 -1
  256. package/components/RoleAutocomplete/graphql.d.ts +1 -0
  257. package/components/RoleAutocomplete/graphql.js +18 -0
  258. package/components/RoleAutocomplete/graphql.js.map +1 -0
  259. package/components/RoleAutocomplete/index.d.ts +5 -0
  260. package/components/RoleAutocomplete/index.js +18 -0
  261. package/components/RoleAutocomplete/index.js.map +1 -0
  262. package/components/RolesMultiAutocomplete/graphql.d.ts +1 -0
  263. package/components/RolesMultiAutocomplete/graphql.js +23 -0
  264. package/components/RolesMultiAutocomplete/graphql.js.map +1 -0
  265. package/components/RolesMultiAutocomplete/index.d.ts +5 -0
  266. package/components/RolesMultiAutocomplete/index.js +19 -0
  267. package/components/RolesMultiAutocomplete/index.js.map +1 -0
  268. package/components/SearchUI.d.ts +1 -2
  269. package/components/SearchUI.js +1 -2
  270. package/components/SearchUI.js.map +1 -1
  271. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  272. package/components/SimpleForm/SimpleForm.js +10 -10
  273. package/components/SimpleForm/SimpleForm.js.map +1 -1
  274. package/components/SimpleForm/index.d.ts +1 -1
  275. package/components/SimpleForm/index.js +1 -1
  276. package/components/SimpleForm/index.js.map +1 -1
  277. package/components/SimpleUI/InputField.js +3 -3
  278. package/components/SimpleUI/InputField.js.map +1 -1
  279. package/components/SingleImageUpload.d.ts +3 -8
  280. package/components/SingleImageUpload.js +1 -1
  281. package/components/SingleImageUpload.js.map +1 -1
  282. package/components/SplitView/SplitView.d.ts +7 -7
  283. package/components/SplitView/SplitView.js +20 -12
  284. package/components/SplitView/SplitView.js.map +1 -1
  285. package/components/SplitView/index.d.ts +1 -1
  286. package/components/SplitView/index.js +1 -1
  287. package/components/SplitView/index.js.map +1 -1
  288. package/components/StateInspector.js +1 -1
  289. package/components/StateInspector.js.map +1 -1
  290. package/components/TeamAutocomplete/graphql.d.ts +1 -0
  291. package/components/TeamAutocomplete/graphql.js +18 -0
  292. package/components/TeamAutocomplete/graphql.js.map +1 -0
  293. package/components/TeamAutocomplete/index.d.ts +5 -0
  294. package/components/TeamAutocomplete/index.js +18 -0
  295. package/components/TeamAutocomplete/index.js.map +1 -0
  296. package/components/TeamsMultiAutocomplete/graphql.d.ts +1 -0
  297. package/components/TeamsMultiAutocomplete/graphql.js +23 -0
  298. package/components/TeamsMultiAutocomplete/graphql.js.map +1 -0
  299. package/components/TeamsMultiAutocomplete/index.d.ts +5 -0
  300. package/components/TeamsMultiAutocomplete/index.js +19 -0
  301. package/components/TeamsMultiAutocomplete/index.js.map +1 -0
  302. package/components/Wcp.d.ts +4 -0
  303. package/components/Wcp.js +16 -2
  304. package/components/Wcp.js.map +1 -1
  305. package/components/index.d.ts +30 -3
  306. package/components/index.js +29 -3
  307. package/components/index.js.map +1 -1
  308. package/config/AdminConfig/Dashboard.d.ts +3 -0
  309. package/config/AdminConfig/Dashboard.js +6 -0
  310. package/config/AdminConfig/Dashboard.js.map +1 -0
  311. package/config/AdminConfig/LexicalTheme/Color.d.ts +11 -0
  312. package/config/AdminConfig/LexicalTheme/Color.js +45 -0
  313. package/config/AdminConfig/LexicalTheme/Color.js.map +1 -0
  314. package/config/AdminConfig/LexicalTheme/Typography.d.ts +30 -0
  315. package/config/AdminConfig/LexicalTheme/Typography.js +79 -0
  316. package/config/AdminConfig/LexicalTheme/Typography.js.map +1 -0
  317. package/config/AdminConfig/LexicalTheme.d.ts +9 -0
  318. package/config/AdminConfig/LexicalTheme.js +8 -0
  319. package/config/AdminConfig/LexicalTheme.js.map +1 -0
  320. package/config/AdminConfig/Logo.d.ts +24 -0
  321. package/config/AdminConfig/Logo.js +21 -0
  322. package/config/AdminConfig/Logo.js.map +1 -0
  323. package/config/AdminConfig/Menu/MenuGroup.d.ts +10 -10
  324. package/config/AdminConfig/Menu/MenuGroup.js +1 -1
  325. package/config/AdminConfig/Menu/MenuGroup.js.map +1 -1
  326. package/config/AdminConfig/Menu/MenuItem.d.ts +9 -9
  327. package/config/AdminConfig/Menu/MenuItem.js +1 -1
  328. package/config/AdminConfig/Menu/MenuItem.js.map +1 -1
  329. package/config/AdminConfig/Menu/MenuLink.d.ts +14 -14
  330. package/config/AdminConfig/Menu/MenuLink.js +10 -4
  331. package/config/AdminConfig/Menu/MenuLink.js.map +1 -1
  332. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +2 -2
  333. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +1 -1
  334. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -1
  335. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +1 -1
  336. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +1 -1
  337. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -1
  338. package/config/AdminConfig/Menu/SupportMenu.d.ts +15 -15
  339. package/config/AdminConfig/Menu/SupportMenu.js +3 -3
  340. package/config/AdminConfig/Menu/SupportMenu.js.map +1 -1
  341. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.d.ts +14 -15
  342. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +1 -1
  343. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -1
  344. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.d.ts +14 -15
  345. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +1 -1
  346. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -1
  347. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.d.ts +1 -1
  348. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +1 -1
  349. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +1 -1
  350. package/config/AdminConfig/Menu/UserMenu.d.ts +31 -31
  351. package/config/AdminConfig/Menu/UserMenu.js +4 -4
  352. package/config/AdminConfig/Menu/UserMenu.js.map +1 -1
  353. package/config/AdminConfig/Menu.d.ts +105 -103
  354. package/config/AdminConfig/Menu.js +17 -7
  355. package/config/AdminConfig/Menu.js.map +1 -1
  356. package/config/AdminConfig/Route.d.ts +1 -1
  357. package/config/AdminConfig/Route.js +2 -2
  358. package/config/AdminConfig/Route.js.map +1 -1
  359. package/config/AdminConfig/Security.d.ts +3 -0
  360. package/config/AdminConfig/Security.js +6 -0
  361. package/config/AdminConfig/Security.js.map +1 -0
  362. package/config/AdminConfig/SecurityPermissions.d.ts +17 -0
  363. package/config/AdminConfig/SecurityPermissions.js +31 -0
  364. package/config/AdminConfig/SecurityPermissions.js.map +1 -0
  365. package/config/AdminConfig/Tenant/TenantLogo.d.ts +8 -7
  366. package/config/AdminConfig/Tenant/TenantLogo.js +14 -6
  367. package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -1
  368. package/config/AdminConfig/Tenant/TenantName.d.ts +1 -1
  369. package/config/AdminConfig/Tenant/TenantName.js +5 -2
  370. package/config/AdminConfig/Tenant/TenantName.js.map +1 -1
  371. package/config/AdminConfig/Tenant.d.ts +14 -31
  372. package/config/AdminConfig/Tenant.js +4 -13
  373. package/config/AdminConfig/Tenant.js.map +1 -1
  374. package/config/AdminConfig/Theme/assignColor.d.ts +1 -1
  375. package/config/AdminConfig/Theme/assignColor.js +1 -1
  376. package/config/AdminConfig/Theme/assignColor.js.map +1 -1
  377. package/config/AdminConfig/Theme/types.d.ts +1 -1
  378. package/config/AdminConfig/Theme/types.js.map +1 -1
  379. package/config/AdminConfig/Theme.d.ts +1 -1
  380. package/config/AdminConfig/Theme.js +1 -1
  381. package/config/AdminConfig/Theme.js.map +1 -1
  382. package/config/AdminConfig/Title.d.ts +23 -0
  383. package/config/AdminConfig/Title.js +16 -0
  384. package/config/AdminConfig/Title.js.map +1 -0
  385. package/config/AdminConfig/Widget.d.ts +15 -0
  386. package/config/AdminConfig/Widget.js +36 -0
  387. package/config/AdminConfig/Widget.js.map +1 -0
  388. package/config/AdminConfig.d.ts +202 -150
  389. package/config/AdminConfig.js +35 -9
  390. package/config/AdminConfig.js.map +1 -1
  391. package/config/createAdminConfig.js.map +1 -1
  392. package/css/tokens.css +379 -0
  393. package/css/typography.css +70 -0
  394. package/domain/Identity.d.ts +59 -0
  395. package/domain/Identity.js +96 -0
  396. package/domain/Identity.js.map +1 -0
  397. package/errors/ErrorOverlayNetworkErrorHandler.d.ts +11 -0
  398. package/errors/ErrorOverlayNetworkErrorHandler.js +66 -0
  399. package/errors/ErrorOverlayNetworkErrorHandler.js.map +1 -0
  400. package/errors/TenantIsDisabled.d.ts +2 -0
  401. package/errors/TenantIsDisabled.js +23 -0
  402. package/errors/TenantIsDisabled.js.map +1 -0
  403. package/exports/admin/build-params.d.ts +1 -0
  404. package/exports/admin/build-params.js +3 -0
  405. package/exports/admin/build-params.js.map +1 -0
  406. package/exports/admin/configs.d.ts +1 -0
  407. package/exports/admin/configs.js +3 -0
  408. package/exports/admin/configs.js.map +1 -0
  409. package/exports/admin/form.d.ts +11 -0
  410. package/exports/admin/form.js +12 -0
  411. package/exports/admin/form.js.map +1 -0
  412. package/exports/admin/security.d.ts +8 -0
  413. package/exports/admin/security.js +10 -0
  414. package/exports/admin/security.js.map +1 -0
  415. package/exports/admin/tenancy.d.ts +2 -0
  416. package/exports/admin/tenancy.js +4 -0
  417. package/exports/admin/tenancy.js.map +1 -0
  418. package/exports/admin/ui.d.ts +4 -0
  419. package/exports/admin/ui.js +6 -0
  420. package/exports/admin/ui.js.map +1 -0
  421. package/exports/admin.d.ts +7 -0
  422. package/exports/admin.js +9 -0
  423. package/exports/admin.js.map +1 -0
  424. package/features/apolloClient/abstraction.d.ts +5 -0
  425. package/features/apolloClient/abstraction.js +4 -0
  426. package/features/apolloClient/abstraction.js.map +1 -0
  427. package/features/apolloClient/feature.d.ts +2 -0
  428. package/features/apolloClient/feature.js +39 -0
  429. package/features/apolloClient/feature.js.map +1 -0
  430. package/features/buildParams/BuildParams.d.ts +9 -0
  431. package/features/buildParams/BuildParams.js +18 -0
  432. package/features/buildParams/BuildParams.js.map +1 -0
  433. package/features/buildParams/abstractions.d.ts +15 -0
  434. package/features/buildParams/abstractions.js +5 -0
  435. package/features/buildParams/abstractions.js.map +1 -0
  436. package/features/buildParams/feature.d.ts +1 -0
  437. package/features/buildParams/feature.js +10 -0
  438. package/features/buildParams/feature.js.map +1 -0
  439. package/features/buildParams/index.d.ts +2 -0
  440. package/features/buildParams/index.js +4 -0
  441. package/features/buildParams/index.js.map +1 -0
  442. package/features/security/AuthenticationContext/AuthenticationContext.d.ts +15 -0
  443. package/features/security/AuthenticationContext/AuthenticationContext.js +31 -0
  444. package/features/security/AuthenticationContext/AuthenticationContext.js.map +1 -0
  445. package/features/security/AuthenticationContext/GraphQLClientDecorator.d.ts +12 -0
  446. package/features/security/AuthenticationContext/GraphQLClientDecorator.js +30 -0
  447. package/features/security/AuthenticationContext/GraphQLClientDecorator.js.map +1 -0
  448. package/features/security/AuthenticationContext/InternalIdTokenProvider.d.ts +10 -0
  449. package/features/security/AuthenticationContext/InternalIdTokenProvider.js +17 -0
  450. package/features/security/AuthenticationContext/InternalIdTokenProvider.js.map +1 -0
  451. package/features/security/AuthenticationContext/abstractions.d.ts +26 -0
  452. package/features/security/AuthenticationContext/abstractions.js +5 -0
  453. package/features/security/AuthenticationContext/abstractions.js.map +1 -0
  454. package/features/security/AuthenticationContext/feature.d.ts +3 -0
  455. package/features/security/AuthenticationContext/feature.js +20 -0
  456. package/features/security/AuthenticationContext/feature.js.map +1 -0
  457. package/features/security/AuthenticationContext/index.d.ts +1 -0
  458. package/features/security/AuthenticationContext/index.js +3 -0
  459. package/features/security/AuthenticationContext/index.js.map +1 -0
  460. package/features/security/AuthenticationContext/types.d.ts +11 -0
  461. package/features/security/AuthenticationContext/types.js.map +1 -0
  462. package/features/security/IdentityContext/IdentityContext.d.ts +13 -0
  463. package/features/security/IdentityContext/IdentityContext.js +24 -0
  464. package/features/security/IdentityContext/IdentityContext.js.map +1 -0
  465. package/features/security/IdentityContext/abstractions.d.ts +10 -0
  466. package/features/security/IdentityContext/abstractions.js +4 -0
  467. package/features/security/IdentityContext/abstractions.js.map +1 -0
  468. package/features/security/IdentityContext/feature.d.ts +3 -0
  469. package/features/security/IdentityContext/feature.js +16 -0
  470. package/features/security/IdentityContext/feature.js.map +1 -0
  471. package/features/security/IdentityContext/index.d.ts +2 -0
  472. package/features/security/IdentityContext/index.js +4 -0
  473. package/features/security/IdentityContext/index.js.map +1 -0
  474. package/features/security/LogIn/IdentityMapper.d.ts +9 -0
  475. package/features/security/LogIn/IdentityMapper.js +13 -0
  476. package/features/security/LogIn/IdentityMapper.js.map +1 -0
  477. package/features/security/LogIn/LogInGateway.d.ts +11 -0
  478. package/features/security/LogIn/LogInGateway.js +27 -0
  479. package/features/security/LogIn/LogInGateway.js.map +1 -0
  480. package/features/security/LogIn/LogInRepository.d.ts +14 -0
  481. package/features/security/LogIn/LogInRepository.js +19 -0
  482. package/features/security/LogIn/LogInRepository.js.map +1 -0
  483. package/features/security/LogIn/LogInUseCase.d.ts +15 -0
  484. package/features/security/LogIn/LogInUseCase.js +40 -0
  485. package/features/security/LogIn/LogInUseCase.js.map +1 -0
  486. package/features/security/LogIn/abstractions.d.ts +48 -0
  487. package/features/security/LogIn/abstractions.js +19 -0
  488. package/features/security/LogIn/abstractions.js.map +1 -0
  489. package/features/security/LogIn/createLoginMutation.d.ts +1 -0
  490. package/features/security/LogIn/createLoginMutation.js +49 -0
  491. package/features/security/LogIn/createLoginMutation.js.map +1 -0
  492. package/features/security/LogIn/feature.d.ts +3 -0
  493. package/features/security/LogIn/feature.js +22 -0
  494. package/features/security/LogIn/feature.js.map +1 -0
  495. package/features/security/LogIn/index.d.ts +1 -0
  496. package/features/security/LogIn/index.js +3 -0
  497. package/features/security/LogIn/index.js.map +1 -0
  498. package/features/security/LogOut/LogOutUseCase.d.ts +13 -0
  499. package/features/security/LogOut/LogOutUseCase.js +23 -0
  500. package/features/security/LogOut/LogOutUseCase.js.map +1 -0
  501. package/features/security/LogOut/abstractions.d.ts +7 -0
  502. package/features/security/LogOut/abstractions.js +4 -0
  503. package/features/security/LogOut/abstractions.js.map +1 -0
  504. package/features/security/LogOut/feature.d.ts +3 -0
  505. package/features/security/LogOut/feature.js +16 -0
  506. package/features/security/LogOut/feature.js.map +1 -0
  507. package/features/security/LogOut/index.d.ts +2 -0
  508. package/features/security/LogOut/index.js +4 -0
  509. package/features/security/LogOut/index.js.map +1 -0
  510. package/features/security/SecurityFeature.d.ts +1 -0
  511. package/features/security/SecurityFeature.js +16 -0
  512. package/features/security/SecurityFeature.js.map +1 -0
  513. package/features/telemetry/TelemetryService.d.ts +6 -0
  514. package/features/telemetry/TelemetryService.js +20 -0
  515. package/features/telemetry/TelemetryService.js.map +1 -0
  516. package/features/telemetry/abstractions.d.ts +7 -0
  517. package/features/telemetry/abstractions.js +4 -0
  518. package/features/telemetry/abstractions.js.map +1 -0
  519. package/features/telemetry/feature.d.ts +3 -0
  520. package/features/telemetry/feature.js +16 -0
  521. package/features/telemetry/feature.js.map +1 -0
  522. package/features/telemetry/index.d.ts +2 -0
  523. package/features/telemetry/index.js +4 -0
  524. package/features/telemetry/index.js.map +1 -0
  525. package/features/tenancy/GraphQLClientDecorator.d.ts +12 -0
  526. package/features/tenancy/GraphQLClientDecorator.js +27 -0
  527. package/features/tenancy/GraphQLClientDecorator.js.map +1 -0
  528. package/features/tenancy/TenantContext.d.ts +17 -0
  529. package/features/tenancy/TenantContext.js +61 -0
  530. package/features/tenancy/TenantContext.js.map +1 -0
  531. package/features/tenancy/abstractions.d.ts +14 -0
  532. package/features/tenancy/abstractions.js +4 -0
  533. package/features/tenancy/abstractions.js.map +1 -0
  534. package/features/tenancy/feature.d.ts +5 -0
  535. package/features/tenancy/feature.js +41 -0
  536. package/features/tenancy/feature.js.map +1 -0
  537. package/features/tenancy/types.d.ts +4 -0
  538. package/features/tenancy/types.js +3 -0
  539. package/features/tenancy/types.js.map +1 -0
  540. package/features/wcp/ReactLicense.d.ts +19 -0
  541. package/features/wcp/ReactLicense.js +46 -0
  542. package/features/wcp/ReactLicense.js.map +1 -0
  543. package/features/wcp/WcpGateway.d.ts +10 -0
  544. package/features/wcp/WcpGateway.js +73 -0
  545. package/features/wcp/WcpGateway.js.map +1 -0
  546. package/features/wcp/WcpService.d.ts +20 -0
  547. package/features/wcp/WcpService.js +84 -0
  548. package/features/wcp/WcpService.js.map +1 -0
  549. package/features/wcp/abstractions.d.ts +19 -0
  550. package/features/wcp/abstractions.js +5 -0
  551. package/features/wcp/abstractions.js.map +1 -0
  552. package/features/wcp/feature.d.ts +3 -0
  553. package/features/wcp/feature.js +18 -0
  554. package/features/wcp/feature.js.map +1 -0
  555. package/features/wcp/types.d.ts +21 -0
  556. package/features/wcp/types.js +3 -0
  557. package/features/wcp/types.js.map +1 -0
  558. package/hooks/index.d.ts +11 -10
  559. package/hooks/index.js +11 -10
  560. package/hooks/index.js.map +1 -1
  561. package/hooks/useConfirmationDialog.js +3 -3
  562. package/hooks/useConfirmationDialog.js.map +1 -1
  563. package/hooks/useDialog.js +1 -1
  564. package/hooks/useDialog.js.map +1 -1
  565. package/hooks/useKeyHandler.js +1 -1
  566. package/hooks/useKeyHandler.js.map +1 -1
  567. package/hooks/useModKey.js +1 -2
  568. package/hooks/useModKey.js.map +1 -1
  569. package/hooks/useShiftKey.js +1 -1
  570. package/hooks/useShiftKey.js.map +1 -1
  571. package/hooks/useStateIfMounted.d.ts +0 -1
  572. package/hooks/useStateIfMounted.js +1 -1
  573. package/hooks/useStateIfMounted.js.map +1 -1
  574. package/hooks/useToggler.d.ts +7 -0
  575. package/hooks/useToggler.js +15 -0
  576. package/hooks/useToggler.js.map +1 -0
  577. package/index.d.ts +34 -45
  578. package/index.js +36 -43
  579. package/index.js.map +1 -1
  580. package/lexical.css +2 -0
  581. package/package.json +42 -47
  582. package/permissions/PermissionRenderer.d.ts +6 -0
  583. package/permissions/PermissionRenderer.js +219 -0
  584. package/permissions/PermissionRenderer.js.map +1 -0
  585. package/permissions/PermissionValueContext.d.ts +11 -0
  586. package/permissions/PermissionValueContext.js +23 -0
  587. package/permissions/PermissionValueContext.js.map +1 -0
  588. package/permissions/createHasPermission.d.ts +3 -0
  589. package/permissions/createHasPermission.js +36 -0
  590. package/permissions/createHasPermission.js.map +1 -0
  591. package/permissions/createPermissionSchema.d.ts +2 -0
  592. package/permissions/createPermissionSchema.js +8 -0
  593. package/permissions/createPermissionSchema.js.map +1 -0
  594. package/permissions/index.d.ts +8 -0
  595. package/permissions/index.js +8 -0
  596. package/permissions/index.js.map +1 -0
  597. package/permissions/types.d.ts +242 -0
  598. package/permissions/types.js +3 -0
  599. package/permissions/types.js.map +1 -0
  600. package/permissions/usePermissionForm.d.ts +17 -0
  601. package/permissions/usePermissionForm.js +256 -0
  602. package/permissions/usePermissionForm.js.map +1 -0
  603. package/permissions/usePermissions.d.ts +3 -0
  604. package/permissions/usePermissions.js +180 -0
  605. package/permissions/usePermissions.js.map +1 -0
  606. package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +8 -0
  607. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +70 -0
  608. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -0
  609. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.d.ts +2 -0
  610. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js +17 -0
  611. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js.map +1 -0
  612. package/presentation/installation/components/SystemInstaller/index.d.ts +1 -0
  613. package/presentation/installation/components/SystemInstaller/index.js +3 -0
  614. package/presentation/installation/components/SystemInstaller/index.js.map +1 -0
  615. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.d.ts +8 -0
  616. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +32 -0
  617. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -0
  618. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.d.ts +1 -0
  619. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js +15 -0
  620. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js.map +1 -0
  621. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.d.ts +7 -0
  622. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +69 -0
  623. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -0
  624. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.d.ts +7 -0
  625. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js +95 -0
  626. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js.map +1 -0
  627. package/presentation/installation/components/SystemInstaller/steps/Center.d.ts +4 -0
  628. package/presentation/installation/components/SystemInstaller/steps/Center.js +10 -0
  629. package/presentation/installation/components/SystemInstaller/steps/Center.js.map +1 -0
  630. package/presentation/installation/components/SystemInstaller/steps/Container.d.ts +8 -0
  631. package/presentation/installation/components/SystemInstaller/steps/Container.js +28 -0
  632. package/presentation/installation/components/SystemInstaller/steps/Container.js.map +1 -0
  633. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.d.ts +11 -0
  634. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +58 -0
  635. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -0
  636. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.d.ts +7 -0
  637. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js +21 -0
  638. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js.map +1 -0
  639. package/presentation/installation/components/SystemInstaller/steps/introduction.svg +154 -0
  640. package/presentation/installation/components/SystemInstaller/steps/referralSources.d.ts +1 -0
  641. package/presentation/installation/components/SystemInstaller/steps/referralSources.js +3 -0
  642. package/presentation/installation/components/SystemInstaller/steps/referralSources.js.map +1 -0
  643. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.d.ts +10 -0
  644. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js +63 -0
  645. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js.map +1 -0
  646. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.d.ts +24 -0
  647. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +138 -0
  648. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -0
  649. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.d.ts +11 -0
  650. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js +30 -0
  651. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js.map +1 -0
  652. package/presentation/installation/presenters/SystemInstaller/abstractions.d.ts +59 -0
  653. package/presentation/installation/presenters/SystemInstaller/abstractions.js +6 -0
  654. package/presentation/installation/presenters/SystemInstaller/abstractions.js.map +1 -0
  655. package/presentation/installation/presenters/SystemInstaller/feature.d.ts +3 -0
  656. package/presentation/installation/presenters/SystemInstaller/feature.js +20 -0
  657. package/presentation/installation/presenters/SystemInstaller/feature.js.map +1 -0
  658. package/presentation/installation/presenters/SystemInstaller/index.d.ts +3 -0
  659. package/presentation/installation/presenters/SystemInstaller/index.js +4 -0
  660. package/presentation/installation/presenters/SystemInstaller/index.js.map +1 -0
  661. package/presentation/security/components/HasPermission.d.ts +10 -0
  662. package/presentation/security/components/HasPermission.js +31 -0
  663. package/presentation/security/components/HasPermission.js.map +1 -0
  664. package/presentation/security/components/SecureRoute.d.ts +7 -0
  665. package/presentation/security/components/SecureRoute.js +16 -0
  666. package/presentation/security/components/SecureRoute.js.map +1 -0
  667. package/presentation/security/hooks/useAuthentication.d.ts +9 -0
  668. package/presentation/security/hooks/useAuthentication.js +24 -0
  669. package/presentation/security/hooks/useAuthentication.js.map +1 -0
  670. package/presentation/security/hooks/useIdentity.d.ts +6 -0
  671. package/presentation/security/hooks/useIdentity.js +25 -0
  672. package/presentation/security/hooks/useIdentity.js.map +1 -0
  673. package/presentation/security/hooks/useSecurity.d.ts +10 -0
  674. package/presentation/security/hooks/useSecurity.js +28 -0
  675. package/presentation/security/hooks/useSecurity.js.map +1 -0
  676. package/presentation/tenancy/TenancyProvider.d.ts +6 -0
  677. package/presentation/tenancy/TenancyProvider.js +43 -0
  678. package/presentation/tenancy/TenancyProvider.js.map +1 -0
  679. package/presentation/tenancy/createTenancyProvider.d.ts +1 -0
  680. package/presentation/tenancy/createTenancyProvider.js +14 -0
  681. package/presentation/tenancy/createTenancyProvider.js.map +1 -0
  682. package/presentation/tenancy/useTenantContext.d.ts +5 -0
  683. package/presentation/tenancy/useTenantContext.js +24 -0
  684. package/presentation/tenancy/useTenantContext.js.map +1 -0
  685. package/presentation/wcp/WcpProvider.d.ts +7 -0
  686. package/presentation/wcp/WcpProvider.js +26 -0
  687. package/presentation/wcp/WcpProvider.js.map +1 -0
  688. package/presentation/wcp/useWcp.d.ts +2 -0
  689. package/presentation/wcp/useWcp.js +18 -0
  690. package/presentation/wcp/useWcp.js.map +1 -0
  691. package/routes.d.ts +6 -0
  692. package/routes.js +17 -0
  693. package/routes.js.map +1 -0
  694. package/types.d.ts +3 -76
  695. package/types.js +1 -5
  696. package/types.js.map +1 -1
  697. package/base/Base/Routes.d.ts +0 -2
  698. package/base/Base/Routes.js +0 -24
  699. package/base/Base/Routes.js.map +0 -1
  700. package/base/providers/TelemetryProvider.d.ts +0 -1
  701. package/base/providers/TelemetryProvider.js +0 -22
  702. package/base/providers/TelemetryProvider.js.map +0 -1
  703. package/base/providers/ViewCompositionProvider.d.ts +0 -21
  704. package/base/providers/ViewCompositionProvider.js +0 -47
  705. package/base/providers/ViewCompositionProvider.js.map +0 -1
  706. package/base/ui/LocaleSelector.d.ts +0 -39
  707. package/base/ui/LocaleSelector.js +0 -8
  708. package/base/ui/LocaleSelector.js.map +0 -1
  709. package/components/AppInstaller/AppInstaller.d.ts +0 -11
  710. package/components/AppInstaller/AppInstaller.js +0 -113
  711. package/components/AppInstaller/AppInstaller.js.map +0 -1
  712. package/components/AppInstaller/Sidebar.d.ts +0 -9
  713. package/components/AppInstaller/Sidebar.js +0 -108
  714. package/components/AppInstaller/Sidebar.js.map +0 -1
  715. package/components/AppInstaller/assets/sign-in-divider.svg +0 -19
  716. package/components/AppInstaller/index.d.ts +0 -2
  717. package/components/AppInstaller/index.js +0 -17
  718. package/components/AppInstaller/index.js.map +0 -1
  719. package/components/AppInstaller/styled.d.ts +0 -19
  720. package/components/AppInstaller/styled.js +0 -75
  721. package/components/AppInstaller/styled.js.map +0 -1
  722. package/components/AppInstaller/useInstaller.d.ts +0 -25
  723. package/components/AppInstaller/useInstaller.js +0 -169
  724. package/components/AppInstaller/useInstaller.js.map +0 -1
  725. package/components/Dialogs/CustomDialog.d.ts +0 -17
  726. package/components/Dialogs/CustomDialog.js +0 -48
  727. package/components/Dialogs/CustomDialog.js.map +0 -1
  728. package/components/RichTextEditor/RichTextEditor.d.ts +0 -3
  729. package/components/RichTextEditor/RichTextEditor.js +0 -16
  730. package/components/RichTextEditor/RichTextEditor.js.map +0 -1
  731. package/components/RichTextEditor/index.d.ts +0 -2
  732. package/components/RichTextEditor/index.js +0 -4
  733. package/components/RichTextEditor/index.js.map +0 -1
  734. package/components/RichTextEditor/styles.scss +0 -96
  735. package/components/RichTextEditor/tools/header/index.d.ts +0 -228
  736. package/components/RichTextEditor/tools/header/index.js +0 -615
  737. package/components/RichTextEditor/tools/header/index.js.map +0 -1
  738. package/components/RichTextEditor/tools/header/styles.scss +0 -48
  739. package/components/RichTextEditor/tools/image/index.d.ts +0 -122
  740. package/components/RichTextEditor/tools/image/index.js +0 -202
  741. package/components/RichTextEditor/tools/image/index.js.map +0 -1
  742. package/components/RichTextEditor/tools/image/styles.scss +0 -90
  743. package/components/RichTextEditor/tools/image/svgs.d.ts +0 -6
  744. package/components/RichTextEditor/tools/image/svgs.js +0 -7
  745. package/components/RichTextEditor/tools/image/svgs.js.map +0 -1
  746. package/components/RichTextEditor/tools/image/tunes.d.ts +0 -55
  747. package/components/RichTextEditor/tools/image/tunes.js +0 -103
  748. package/components/RichTextEditor/tools/image/tunes.js.map +0 -1
  749. package/components/RichTextEditor/tools/image/types.d.ts +0 -29
  750. package/components/RichTextEditor/tools/image/types.js.map +0 -1
  751. package/components/RichTextEditor/tools/image/ui.d.ts +0 -120
  752. package/components/RichTextEditor/tools/image/ui.js +0 -245
  753. package/components/RichTextEditor/tools/image/ui.js.map +0 -1
  754. package/components/RichTextEditor/tools/paragraph/index.d.ts +0 -208
  755. package/components/RichTextEditor/tools/paragraph/index.js +0 -435
  756. package/components/RichTextEditor/tools/paragraph/index.js.map +0 -1
  757. package/components/RichTextEditor/tools/paragraph/styles.scss +0 -29
  758. package/components/RichTextEditor/tools/textColor/index.d.ts +0 -61
  759. package/components/RichTextEditor/tools/textColor/index.js +0 -197
  760. package/components/RichTextEditor/tools/textColor/index.js.map +0 -1
  761. package/components/RichTextEditor/tools/textColor/styles.scss +0 -21
  762. package/components/RichTextEditor/tools/utils.d.ts +0 -19
  763. package/components/RichTextEditor/tools/utils.js +0 -24
  764. package/components/RichTextEditor/tools/utils.js.map +0 -1
  765. package/components/Routes.d.ts +0 -6
  766. package/components/Routes.js +0 -34
  767. package/components/Routes.js.map +0 -1
  768. package/plugins/PermissionRendererPlugin.d.ts +0 -22
  769. package/plugins/PermissionRendererPlugin.js +0 -19
  770. package/plugins/PermissionRendererPlugin.js.map +0 -1
  771. package/plugins/uiLayoutRenderer/index.d.ts +0 -2
  772. package/plugins/uiLayoutRenderer/index.js +0 -53
  773. package/plugins/uiLayoutRenderer/index.js.map +0 -1
  774. package/ui/UIElement.d.ts +0 -2
  775. package/ui/UIElement.js +0 -3
  776. package/ui/UIElement.js.map +0 -1
  777. package/ui/UILayout.d.ts +0 -1
  778. package/ui/UILayout.js +0 -3
  779. package/ui/UILayout.js.map +0 -1
  780. package/ui/UIRenderer.d.ts +0 -2
  781. package/ui/UIRenderer.js +0 -3
  782. package/ui/UIRenderer.js.map +0 -1
  783. package/ui/UIView.d.ts +0 -2
  784. package/ui/UIView.js +0 -3
  785. package/ui/UIView.js.map +0 -1
  786. package/ui/elements/AccordionElement.d.ts +0 -28
  787. package/ui/elements/AccordionElement.js +0 -48
  788. package/ui/elements/AccordionElement.js.map +0 -1
  789. package/ui/elements/ButtonElement.d.ts +0 -25
  790. package/ui/elements/ButtonElement.js +0 -52
  791. package/ui/elements/ButtonElement.js.map +0 -1
  792. package/ui/elements/ButtonGroupElement.d.ts +0 -7
  793. package/ui/elements/ButtonGroupElement.js +0 -29
  794. package/ui/elements/ButtonGroupElement.js.map +0 -1
  795. package/ui/elements/GenericElement.d.ts +0 -1
  796. package/ui/elements/GenericElement.js +0 -3
  797. package/ui/elements/GenericElement.js.map +0 -1
  798. package/ui/elements/LabelElement.d.ts +0 -17
  799. package/ui/elements/LabelElement.js +0 -23
  800. package/ui/elements/LabelElement.js.map +0 -1
  801. package/ui/elements/NavigationMenuElement.d.ts +0 -34
  802. package/ui/elements/NavigationMenuElement.js +0 -88
  803. package/ui/elements/NavigationMenuElement.js.map +0 -1
  804. package/ui/elements/PanelElement.d.ts +0 -3
  805. package/ui/elements/PanelElement.js +0 -4
  806. package/ui/elements/PanelElement.js.map +0 -1
  807. package/ui/elements/PlaceholderElement.d.ts +0 -6
  808. package/ui/elements/PlaceholderElement.js +0 -11
  809. package/ui/elements/PlaceholderElement.js.map +0 -1
  810. package/ui/elements/SmallButtonElement.d.ts +0 -8
  811. package/ui/elements/SmallButtonElement.js +0 -24
  812. package/ui/elements/SmallButtonElement.js.map +0 -1
  813. package/ui/elements/TypographyElement.d.ts +0 -14
  814. package/ui/elements/TypographyElement.js +0 -23
  815. package/ui/elements/TypographyElement.js.map +0 -1
  816. package/ui/elements/ViewElement.d.ts +0 -1
  817. package/ui/elements/ViewElement.js +0 -3
  818. package/ui/elements/ViewElement.js.map +0 -1
  819. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +0 -7
  820. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +0 -26
  821. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +0 -1
  822. package/ui/elements/form/DynamicFieldsetElement.d.ts +0 -44
  823. package/ui/elements/form/DynamicFieldsetElement.js +0 -97
  824. package/ui/elements/form/DynamicFieldsetElement.js.map +0 -1
  825. package/ui/elements/form/FileManagerElement/EmptyStateElement.d.ts +0 -4
  826. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +0 -10
  827. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +0 -1
  828. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +0 -8
  829. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +0 -47
  830. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +0 -1
  831. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +0 -14
  832. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +0 -73
  833. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +0 -1
  834. package/ui/elements/form/FileManagerElement/styled.d.ts +0 -23
  835. package/ui/elements/form/FileManagerElement/styled.js +0 -108
  836. package/ui/elements/form/FileManagerElement/styled.js.map +0 -1
  837. package/ui/elements/form/FileManagerElement.d.ts +0 -25
  838. package/ui/elements/form/FileManagerElement.js +0 -46
  839. package/ui/elements/form/FileManagerElement.js.map +0 -1
  840. package/ui/elements/form/FormElement.d.ts +0 -22
  841. package/ui/elements/form/FormElement.js +0 -20
  842. package/ui/elements/form/FormElement.js.map +0 -1
  843. package/ui/elements/form/FormFieldElement.d.ts +0 -57
  844. package/ui/elements/form/FormFieldElement.js +0 -113
  845. package/ui/elements/form/FormFieldElement.js.map +0 -1
  846. package/ui/elements/form/HiddenElement.d.ts +0 -7
  847. package/ui/elements/form/HiddenElement.js +0 -25
  848. package/ui/elements/form/HiddenElement.js.map +0 -1
  849. package/ui/elements/form/InputElement.d.ts +0 -8
  850. package/ui/elements/form/InputElement.js +0 -32
  851. package/ui/elements/form/InputElement.js.map +0 -1
  852. package/ui/elements/form/PasswordElement.d.ts +0 -6
  853. package/ui/elements/form/PasswordElement.js +0 -29
  854. package/ui/elements/form/PasswordElement.js.map +0 -1
  855. package/ui/elements/form/README.md +0 -2
  856. package/ui/elements/form/SelectElement.d.ts +0 -16
  857. package/ui/elements/form/SelectElement.js +0 -42
  858. package/ui/elements/form/SelectElement.js.map +0 -1
  859. package/ui/elements/form/TextareaElement.d.ts +0 -16
  860. package/ui/elements/form/TextareaElement.js +0 -34
  861. package/ui/elements/form/TextareaElement.js.map +0 -1
  862. package/ui/views/AdminView/ContentElement.d.ts +0 -4
  863. package/ui/views/AdminView/ContentElement.js +0 -37
  864. package/ui/views/AdminView/ContentElement.js.map +0 -1
  865. package/ui/views/AdminView/HeaderElement.d.ts +0 -13
  866. package/ui/views/AdminView/HeaderElement.js +0 -68
  867. package/ui/views/AdminView/HeaderElement.js.map +0 -1
  868. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +0 -7
  869. package/ui/views/AdminView/HeaderSectionCenterElement.js +0 -21
  870. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +0 -1
  871. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +0 -7
  872. package/ui/views/AdminView/HeaderSectionLeftElement.js +0 -21
  873. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +0 -1
  874. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +0 -7
  875. package/ui/views/AdminView/HeaderSectionRightElement.js +0 -21
  876. package/ui/views/AdminView/HeaderSectionRightElement.js.map +0 -1
  877. package/ui/views/AdminView/components/Dialog.d.ts +0 -2
  878. package/ui/views/AdminView/components/Dialog.js +0 -41
  879. package/ui/views/AdminView/components/Dialog.js.map +0 -1
  880. package/ui/views/AdminView/components/Hamburger.d.ts +0 -3
  881. package/ui/views/AdminView/components/Hamburger.js +0 -23
  882. package/ui/views/AdminView/components/Hamburger.js.map +0 -1
  883. package/ui/views/FormView/FormContainerElement.d.ts +0 -13
  884. package/ui/views/FormView/FormContainerElement.js +0 -19
  885. package/ui/views/FormView/FormContainerElement.js.map +0 -1
  886. package/ui/views/FormView/FormContentElement.d.ts +0 -6
  887. package/ui/views/FormView/FormContentElement.js +0 -10
  888. package/ui/views/FormView/FormContentElement.js.map +0 -1
  889. package/ui/views/FormView/FormFooterElement.d.ts +0 -7
  890. package/ui/views/FormView/FormFooterElement.js +0 -14
  891. package/ui/views/FormView/FormFooterElement.js.map +0 -1
  892. package/ui/views/FormView/FormHeaderElement.d.ts +0 -15
  893. package/ui/views/FormView/FormHeaderElement.js +0 -30
  894. package/ui/views/FormView/FormHeaderElement.js.map +0 -1
  895. package/ui/views/FormView.d.ts +0 -40
  896. package/ui/views/FormView.js +0 -121
  897. package/ui/views/FormView.js.map +0 -1
  898. package/ui/views/OverlayView/ContentElement.d.ts +0 -7
  899. package/ui/views/OverlayView/ContentElement.js +0 -29
  900. package/ui/views/OverlayView/ContentElement.js.map +0 -1
  901. package/ui/views/OverlayView/HeaderElement.d.ts +0 -25
  902. package/ui/views/OverlayView/HeaderElement.js +0 -72
  903. package/ui/views/OverlayView/HeaderElement.js.map +0 -1
  904. package/ui/views/OverlayView/HeaderTitleElement.d.ts +0 -15
  905. package/ui/views/OverlayView/HeaderTitleElement.js +0 -25
  906. package/ui/views/OverlayView/HeaderTitleElement.js.map +0 -1
  907. package/ui/views/OverlayView/useOverlayView.d.ts +0 -5
  908. package/ui/views/OverlayView/useOverlayView.js +0 -34
  909. package/ui/views/OverlayView/useOverlayView.js.map +0 -1
  910. package/ui/views/OverlayView.d.ts +0 -30
  911. package/ui/views/OverlayView.js +0 -109
  912. package/ui/views/OverlayView.js.map +0 -1
  913. package/ui/views/SplitView/SplitViewPanelElement.d.ts +0 -12
  914. package/ui/views/SplitView/SplitViewPanelElement.js +0 -32
  915. package/ui/views/SplitView/SplitViewPanelElement.js.map +0 -1
  916. package/ui/views/SplitView.d.ts +0 -21
  917. package/ui/views/SplitView.js +0 -86
  918. package/ui/views/SplitView.js.map +0 -1
  919. /package/base/Base/Tenant/{wby-logo.svg → wby-square.svg} +0 -0
  920. /package/{components/RichTextEditor/tools/image → features/security/AuthenticationContext}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","useApolloClient","observer","Button","FileManager","IconPickerTab","useIcon","useIconPicker","IconPickerConfig","LIST_CUSTOM_ICONS","CustomIcon","icon","size","createElement","width","height","src","value","alt","name","style","verticalAlign","IconFilePicker","onUpload","onChange","onUploadCompletion","file","scope","accept","showFileManager","variant","text","onClick","getNameOrId","meta","find","obj","key","id","CustomIconTab","presenter","onIconSelect","setIcon","closeMenu","onIconFileSelect","type","onIconFileUpload","addIcon","label","actions","CustomIconPlugin","client","IconPack","provider","data","response","query","variables","limit","Error","error","fileManager","listFiles","message","map","customIcon","IconType","Icon","element","Tab"],"sources":["customPlugin.tsx"],"sourcesContent":["import React from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button } from \"@webiny/admin-ui\";\nimport type { FileManagerFileItem } from \"~/base/ui/FileManager\";\nimport { FileManager } from \"~/base/ui/FileManager\";\nimport { IconPickerTab } from \"../IconPickerTab\";\nimport { useIcon } from \"..\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider\";\nimport { IconPickerConfig } from \"../config\";\nimport type { ListCustomIconsQueryResponse } from \"./graphql\";\nimport { LIST_CUSTOM_ICONS } from \"./graphql\";\nimport type { Icon } from \"../types\";\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\nconst CustomIcon = () => {\n const { icon, size } = useIcon<Icon>();\n\n return (\n <img\n width={size}\n height={size}\n src={icon.value}\n alt={icon.name}\n style={{\n verticalAlign: \"middle\"\n }}\n />\n );\n};\n\ninterface IconFilePickerProps {\n onUpload: (file: FileManagerFileItem) => void;\n onChange: (file: FileManagerFileItem) => void;\n}\n\nconst IconFilePicker = ({ onUpload, onChange }: IconFilePickerProps) => {\n return (\n <FileManager\n onUploadCompletion={([file]) => {\n onUpload(file);\n }}\n onChange={onChange}\n scope=\"scope:iconPicker\"\n accept={[\"image/svg+xml\"]}\n >\n {({ showFileManager }) => (\n <Button\n variant={\"primary\"}\n text={\"Browse\"}\n onClick={() => {\n showFileManager();\n }}\n />\n )}\n </FileManager>\n );\n};\n\nfunction getNameOrId(file: FileManagerFileItem): string {\n const name = (file.meta || []).find(obj => obj.key === \"name\");\n\n return name ? name.value : file.id;\n}\n\nconst CustomIconTab = observer(() => {\n const presenter = useIconPicker();\n\n const onIconSelect = (icon: Icon) => {\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n const onIconFileSelect = (file: FileManagerFileItem) => {\n const name = getNameOrId(file);\n\n presenter.setIcon({\n type: \"custom\",\n name,\n value: file.src\n });\n presenter.closeMenu();\n };\n\n const onIconFileUpload = (file: FileManagerFileItem) => {\n const name = getNameOrId(file);\n\n const icon = {\n type: \"custom\",\n name,\n value: file.src\n };\n\n presenter.addIcon(icon);\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n return (\n <IconPickerTab\n value={\"custom\"}\n label={\"Custom\"}\n onChange={onIconSelect}\n actions={<IconFilePicker onChange={onIconFileSelect} onUpload={onIconFileUpload} />}\n />\n );\n});\n\nexport const CustomIconPlugin = () => {\n const client = useApolloClient();\n\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconPack\n name=\"custom\"\n provider={async () => {\n const { data: response } = await client.query<ListCustomIconsQueryResponse>({\n query: LIST_CUSTOM_ICONS,\n variables: {\n limit: 10000\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while listing custom icons.\");\n }\n\n const { data, error } = response.fileManager.listFiles;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch custom icons.\");\n }\n\n return data.map(customIcon => ({\n type: \"custom\",\n name: customIcon.name,\n value: customIcon.src\n }));\n }}\n />\n <IconPickerConfig.IconType name={\"custom\"}>\n <IconPickerConfig.IconType.Icon element={<CustomIcon />} />\n <IconPickerConfig.IconType.Tab element={<CustomIconTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useApolloClient","observer","Button","FileManager","IconPickerTab","useIcon","useIconPicker","IconPickerConfig","LIST_CUSTOM_ICONS","CustomIcon","icon","size","createElement","width","height","src","value","alt","name","style","verticalAlign","IconFilePicker","onUpload","onChange","onUploadCompletion","file","scope","accept","render","showFileManager","variant","text","onClick","CustomIconTab","presenter","onIconSelect","setIcon","closeMenu","onIconFileSelect","type","onIconFileUpload","addIcon","label","actions","CustomIconPlugin","client","IconPack","provider","data","response","query","variables","limit","Error","error","fileManager","listFiles","message","map","customIcon","IconType","Icon","element","Tab"],"sources":["customPlugin.tsx"],"sourcesContent":["import React from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button } from \"@webiny/admin-ui\";\nimport type { FileManagerFileItem } from \"~/base/ui/FileManager.js\";\nimport { FileManager } from \"~/base/ui/FileManager.js\";\nimport { IconPickerTab } from \"../IconPickerTab.js\";\nimport { useIcon } from \"../index.js\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider.js\";\nimport { IconPickerConfig } from \"../config/index.js\";\nimport type { ListCustomIconsQueryResponse } from \"./graphql.js\";\nimport { LIST_CUSTOM_ICONS } from \"./graphql.js\";\nimport type { Icon } from \"../types.js\";\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\nconst CustomIcon = () => {\n const { icon, size } = useIcon<Icon>();\n\n return (\n <img\n width={size}\n height={size}\n src={icon.value}\n alt={icon.name}\n style={{\n verticalAlign: \"middle\"\n }}\n />\n );\n};\n\ninterface IconFilePickerProps {\n onUpload: (file: FileManagerFileItem) => void;\n onChange: (file: FileManagerFileItem) => void;\n}\n\nconst IconFilePicker = ({ onUpload, onChange }: IconFilePickerProps) => {\n return (\n <FileManager\n onUploadCompletion={([file]) => {\n onUpload(file);\n }}\n onChange={onChange}\n scope=\"scope:iconPicker\"\n accept={[\"image/svg+xml\"]}\n render={({ showFileManager }) => (\n <Button\n variant={\"primary\"}\n text={\"Browse\"}\n onClick={() => {\n showFileManager();\n }}\n />\n )}\n ></FileManager>\n );\n};\n\nconst CustomIconTab = observer(() => {\n const presenter = useIconPicker();\n\n const onIconSelect = (icon: Icon) => {\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n const onIconFileSelect = (file: FileManagerFileItem) => {\n presenter.setIcon({\n type: \"custom\",\n name: file.name,\n value: file.src\n });\n presenter.closeMenu();\n };\n\n const onIconFileUpload = (file: FileManagerFileItem) => {\n const icon = {\n type: \"custom\",\n name: file.name,\n value: file.src\n };\n\n presenter.addIcon(icon);\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n return (\n <IconPickerTab\n value={\"custom\"}\n label={\"Custom\"}\n onChange={onIconSelect}\n actions={<IconFilePicker onChange={onIconFileSelect} onUpload={onIconFileUpload} />}\n />\n );\n});\n\nexport const CustomIconPlugin = () => {\n const client = useApolloClient();\n\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconPack\n name=\"custom\"\n provider={async () => {\n const { data: response } = await client.query<ListCustomIconsQueryResponse>({\n query: LIST_CUSTOM_ICONS,\n variables: {\n limit: 10000\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while listing custom icons.\");\n }\n\n const { data, error } = response.fileManager.listFiles;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch custom icons.\");\n }\n\n return data.map(customIcon => ({\n type: \"custom\",\n name: customIcon.name,\n value: customIcon.src\n }));\n }}\n />\n <IconPickerConfig.IconType name={\"custom\"}>\n <IconPickerConfig.IconType.Icon element={<CustomIcon />} />\n <IconPickerConfig.IconType.Tab element={<CustomIconTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  import React, { useState } from "react";
2
2
  import { observer } from "mobx-react-lite";
3
3
  import { cn, PopoverPrimitive } from "@webiny/admin-ui";
4
- import { useIcon } from "..";
5
- import { IconPickerTab } from "../IconPickerTab";
6
- import { IconProvider } from "../IconRenderer";
7
- import { useIconPicker } from "../IconPickerPresenterProvider";
8
- import { IconPickerConfig } from "../config";
4
+ import { useIcon } from "../index.js";
5
+ import { IconPickerTab } from "../IconPickerTab.js";
6
+ import { IconProvider } from "../IconRenderer.js";
7
+ import { useIconPicker } from "../IconPickerPresenterProvider.js";
8
+ import { IconPickerConfig } from "../config/index.js";
9
9
  const SKIN_TONES = ["", "\u{1f3fb}", "\u{1f3fc}", "\u{1f3fd}", "\u{1f3fe}", "\u{1f3ff}"];
10
10
  const SkinToneSelectWrapper = props => {
11
11
  return /*#__PURE__*/React.createElement("div", {
12
- className: cn("wby-size-xl wby-rounded-sm wby-pointer wby-border-solid wby-border-sm wby-border-neutral-muted wby-flex wby-justify-center wby-items-center wby-text-center")
12
+ className: cn("size-xl rounded-sm pointer border-solid border-sm border-neutral-muted flex justify-center items-center text-center")
13
13
  }, props.children);
14
14
  };
15
15
 
@@ -55,18 +55,18 @@ const SkinToneSelect = ({
55
55
  open: open,
56
56
  onOpenChange: open => setOpen(open)
57
57
  }, /*#__PURE__*/React.createElement(PopoverPrimitive.Trigger, {
58
- className: "wby-outline-none"
58
+ className: "outline-none"
59
59
  }, /*#__PURE__*/React.createElement(SkinToneSelectWrapper, null, /*#__PURE__*/React.createElement(IconProvider, {
60
60
  icon: icon,
61
61
  size: 24
62
62
  }, /*#__PURE__*/React.createElement(Emoji, null)))), /*#__PURE__*/React.createElement(PopoverPrimitive.Content, null, /*#__PURE__*/React.createElement("div", {
63
- className: "wby-bg-neutral-base wby-grid wby-gap-xs wby-p-xs wby-text-center"
63
+ className: "bg-neutral-base grid gap-xs p-xs text-center"
64
64
  }, SKIN_TONES.map((skinTone, index) => /*#__PURE__*/React.createElement("div", {
65
65
  key: index,
66
66
  onClick: () => {
67
67
  onChange(skinTone);
68
68
  },
69
- className: "wby-cursor-pointer"
69
+ className: "cursor-pointer"
70
70
  }, /*#__PURE__*/React.createElement(IconProvider, {
71
71
  icon: {
72
72
  ...icon,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","observer","cn","PopoverPrimitive","useIcon","IconPickerTab","IconProvider","useIconPicker","IconPickerConfig","SKIN_TONES","SkinToneSelectWrapper","props","createElement","className","children","Emoji","icon","size","style","display","width","height","fontSize","lineHeight","color","skinTone","value","SkinToneSelect","hasSkinToneSupport","onChange","open","setOpen","isEmoji","onOpenChange","Trigger","Content","map","index","key","onClick","type","EmojiTab","presenter","selectedIcon","vm","onSkinToneChange","setIcon","onIconSelect","closeMenu","skinToneSupport","label","actions","EmojiPlugin","IconType","name","Icon","element","Tab"],"sources":["emojisPlugin.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { cn, PopoverPrimitive } from \"@webiny/admin-ui\";\nimport { useIcon } from \"..\";\nimport { IconPickerTab } from \"../IconPickerTab\";\nimport { IconProvider } from \"../IconRenderer\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider\";\nimport { IconPickerConfig } from \"../config\";\nimport type { Icon } from \"../types\";\n\nconst SKIN_TONES = [\"\", \"\\u{1f3fb}\", \"\\u{1f3fc}\", \"\\u{1f3fd}\", \"\\u{1f3fe}\", \"\\u{1f3ff}\"];\n\nconst SkinToneSelectWrapper = (props: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(\n \"wby-size-xl wby-rounded-sm wby-pointer wby-border-solid wby-border-sm wby-border-neutral-muted wby-flex wby-justify-center wby-items-center wby-text-center\"\n )}\n >\n {props.children}\n </div>\n );\n};\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\ninterface Emoji extends Icon {\n skinTone: string;\n skinToneSupport: boolean;\n}\n\nconst Emoji = () => {\n const { icon, size } = useIcon<Emoji>();\n\n return (\n <div\n style={{\n display: \"inline-block\",\n width: `${size}px`,\n height: `${size}px`,\n fontSize: `${(size * 4) / 5}px`,\n lineHeight: `${size}px`,\n color: \"black\"\n }}\n >\n {icon.skinTone ? icon.value + icon.skinTone : icon.value}\n </div>\n );\n};\n\ninterface SkinToneSelectProps {\n icon: Icon | null;\n hasSkinToneSupport: boolean;\n onChange: (skinTone: string) => void;\n}\n\nconst SkinToneSelect = ({ icon, hasSkinToneSupport, onChange }: SkinToneSelectProps) => {\n const [open, setOpen] = useState(false);\n\n if (!icon || !isEmoji(icon)) {\n return <SkinToneSelectWrapper />;\n }\n\n if (!hasSkinToneSupport) {\n return (\n <SkinToneSelectWrapper>\n <IconProvider icon={icon} size={24}>\n <Emoji />\n </IconProvider>\n </SkinToneSelectWrapper>\n );\n }\n\n return (\n <PopoverPrimitive open={open} onOpenChange={open => setOpen(open)}>\n <PopoverPrimitive.Trigger className={\"wby-outline-none\"}>\n <SkinToneSelectWrapper>\n <IconProvider icon={icon} size={24}>\n <Emoji />\n </IconProvider>\n </SkinToneSelectWrapper>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Content>\n <div className={\"wby-bg-neutral-base wby-grid wby-gap-xs wby-p-xs wby-text-center\"}>\n {SKIN_TONES.map((skinTone, index) => (\n <div\n key={index}\n onClick={() => {\n onChange(skinTone);\n }}\n className={\"wby-cursor-pointer\"}\n >\n <IconProvider icon={{ ...icon, skinTone }} size={24}>\n <Emoji />\n </IconProvider>\n </div>\n ))}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n );\n};\n\n/**\n * @see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\n */\nconst isEmoji = (icon: Icon | null): icon is Emoji => {\n if (!icon) {\n return false;\n }\n return icon.type === \"emoji\";\n};\n\nconst EmojiTab = observer(() => {\n const presenter = useIconPicker();\n const { selectedIcon } = presenter.vm;\n\n const onSkinToneChange = (skinTone: string) => {\n if (isEmoji(selectedIcon)) {\n presenter.setIcon({ ...selectedIcon, skinTone });\n }\n };\n\n const onIconSelect = (icon: Icon) => {\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n const hasSkinToneSupport = isEmoji(selectedIcon) ? selectedIcon.skinToneSupport : false;\n\n return (\n <IconPickerTab\n value={\"emoji\"}\n label={\"Emojis\"}\n onChange={onIconSelect}\n actions={\n <SkinToneSelect\n icon={selectedIcon}\n hasSkinToneSupport={hasSkinToneSupport}\n onChange={onSkinToneChange}\n />\n }\n />\n );\n});\n\nexport const EmojiPlugin = () => {\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconType name={\"emoji\"}>\n <IconPickerConfig.IconType.Icon element={<Emoji />} />\n <IconPickerConfig.IconType.Tab element={<EmojiTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","observer","cn","PopoverPrimitive","useIcon","IconPickerTab","IconProvider","useIconPicker","IconPickerConfig","SKIN_TONES","SkinToneSelectWrapper","props","createElement","className","children","Emoji","icon","size","style","display","width","height","fontSize","lineHeight","color","skinTone","value","SkinToneSelect","hasSkinToneSupport","onChange","open","setOpen","isEmoji","onOpenChange","Trigger","Content","map","index","key","onClick","type","EmojiTab","presenter","selectedIcon","vm","onSkinToneChange","setIcon","onIconSelect","closeMenu","skinToneSupport","label","actions","EmojiPlugin","IconType","name","Icon","element","Tab"],"sources":["emojisPlugin.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { cn, PopoverPrimitive } from \"@webiny/admin-ui\";\nimport { useIcon } from \"../index.js\";\nimport { IconPickerTab } from \"../IconPickerTab.js\";\nimport { IconProvider } from \"../IconRenderer.js\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider.js\";\nimport { IconPickerConfig } from \"../config/index.js\";\nimport type { Icon } from \"../types.js\";\n\nconst SKIN_TONES = [\"\", \"\\u{1f3fb}\", \"\\u{1f3fc}\", \"\\u{1f3fd}\", \"\\u{1f3fe}\", \"\\u{1f3ff}\"];\n\nconst SkinToneSelectWrapper = (props: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(\n \"size-xl rounded-sm pointer border-solid border-sm border-neutral-muted flex justify-center items-center text-center\"\n )}\n >\n {props.children}\n </div>\n );\n};\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\ninterface Emoji extends Icon {\n skinTone: string;\n skinToneSupport: boolean;\n}\n\nconst Emoji = () => {\n const { icon, size } = useIcon<Emoji>();\n\n return (\n <div\n style={{\n display: \"inline-block\",\n width: `${size}px`,\n height: `${size}px`,\n fontSize: `${(size * 4) / 5}px`,\n lineHeight: `${size}px`,\n color: \"black\"\n }}\n >\n {icon.skinTone ? icon.value + icon.skinTone : icon.value}\n </div>\n );\n};\n\ninterface SkinToneSelectProps {\n icon: Icon | null;\n hasSkinToneSupport: boolean;\n onChange: (skinTone: string) => void;\n}\n\nconst SkinToneSelect = ({ icon, hasSkinToneSupport, onChange }: SkinToneSelectProps) => {\n const [open, setOpen] = useState(false);\n\n if (!icon || !isEmoji(icon)) {\n return <SkinToneSelectWrapper />;\n }\n\n if (!hasSkinToneSupport) {\n return (\n <SkinToneSelectWrapper>\n <IconProvider icon={icon} size={24}>\n <Emoji />\n </IconProvider>\n </SkinToneSelectWrapper>\n );\n }\n\n return (\n <PopoverPrimitive open={open} onOpenChange={open => setOpen(open)}>\n <PopoverPrimitive.Trigger className={\"outline-none\"}>\n <SkinToneSelectWrapper>\n <IconProvider icon={icon} size={24}>\n <Emoji />\n </IconProvider>\n </SkinToneSelectWrapper>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Content>\n <div className={\"bg-neutral-base grid gap-xs p-xs text-center\"}>\n {SKIN_TONES.map((skinTone, index) => (\n <div\n key={index}\n onClick={() => {\n onChange(skinTone);\n }}\n className={\"cursor-pointer\"}\n >\n <IconProvider icon={{ ...icon, skinTone }} size={24}>\n <Emoji />\n </IconProvider>\n </div>\n ))}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n );\n};\n\n/**\n * @see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\n */\nconst isEmoji = (icon: Icon | null): icon is Emoji => {\n if (!icon) {\n return false;\n }\n return icon.type === \"emoji\";\n};\n\nconst EmojiTab = observer(() => {\n const presenter = useIconPicker();\n const { selectedIcon } = presenter.vm;\n\n const onSkinToneChange = (skinTone: string) => {\n if (isEmoji(selectedIcon)) {\n presenter.setIcon({ ...selectedIcon, skinTone });\n }\n };\n\n const onIconSelect = (icon: Icon) => {\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n const hasSkinToneSupport = isEmoji(selectedIcon) ? selectedIcon.skinToneSupport : false;\n\n return (\n <IconPickerTab\n value={\"emoji\"}\n label={\"Emojis\"}\n onChange={onIconSelect}\n actions={\n <SkinToneSelect\n icon={selectedIcon}\n hasSkinToneSupport={hasSkinToneSupport}\n onChange={onSkinToneChange}\n />\n }\n />\n );\n});\n\nexport const EmojiPlugin = () => {\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconType name={\"emoji\"}>\n <IconPickerConfig.IconType.Icon element={<Emoji />} />\n <IconPickerConfig.IconType.Tab element={<EmojiTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import React, { useState, useEffect } from "react";
2
2
  import { observer } from "mobx-react-lite";
3
3
  import { DelayedOnChange, ColorPicker } from "@webiny/admin-ui";
4
- import { useIcon } from "..";
5
- import { IconPickerTab } from "../IconPickerTab";
6
- import { useIconPicker } from "../IconPickerPresenterProvider";
7
- import { IconPickerConfig } from "../config";
4
+ import { useIcon } from "../index.js";
5
+ import { IconPickerTab } from "../IconPickerTab.js";
6
+ import { useIconPicker } from "../IconPickerPresenterProvider.js";
7
+ import { IconPickerConfig } from "../config/index.js";
8
8
 
9
9
  /**
10
10
  * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","observer","DelayedOnChange","ColorPicker","useIcon","IconPickerTab","useIconPicker","IconPickerConfig","IconSvg","icon","size","createElement","width","height","viewBox","color","dangerouslySetInnerHTML","__html","value","style","verticalAlign","IconColorPicker","onChange","align","isSimpleIcon","type","IconTab","presenter","selectedIcon","vm","setColor","onColorChange","setIcon","onIconSelect","closeMenu","label","cellDecorator","cell","actions","SimpleIconPlugin","IconType","name","Icon","element","Tab"],"sources":["iconsPlugin.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DelayedOnChange, ColorPicker } from \"@webiny/admin-ui\";\n\nimport { useIcon } from \"..\";\nimport { IconPickerTab } from \"../IconPickerTab\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider\";\nimport { IconPickerConfig } from \"../config\";\nimport type { Icon } from \"../types\";\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\ninterface SimpleIcon extends Icon {\n color: string;\n}\n\nconst IconSvg = () => {\n const { icon, size } = useIcon<SimpleIcon>();\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${icon.width || 512} 512`}\n color={icon?.color || \"inherit\"}\n dangerouslySetInnerHTML={{ __html: icon.value || \"\" }}\n style={{\n verticalAlign: \"middle\",\n width: \"100%\",\n height: \"100%\"\n }}\n />\n );\n};\n\ninterface IconColorPickerProps {\n color: string;\n onChange: (value: string) => void;\n}\n\nconst IconColorPicker = ({ color, onChange }: IconColorPickerProps) => {\n return (\n <DelayedOnChange value={color} onChange={onChange}>\n {({ value, onChange }) => (\n <ColorPicker align={\"end\"} value={value} onChange={onChange} />\n )}\n </DelayedOnChange>\n );\n};\n\n/**\n * @see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\n */\nconst isSimpleIcon = (icon: Icon | null): icon is SimpleIcon => {\n if (!icon) {\n return false;\n }\n return icon.type === \"icon\";\n};\n\nconst IconTab = observer(() => {\n const presenter = useIconPicker();\n const { selectedIcon } = presenter.vm;\n\n const [color, setColor] = useState(\"inherit\");\n\n useEffect(() => {\n if (color === \"inherit\" && isSimpleIcon(selectedIcon)) {\n setColor(selectedIcon.color);\n }\n }, [selectedIcon]);\n\n const onColorChange = (color: string) => {\n setColor(color);\n\n if (isSimpleIcon(selectedIcon)) {\n presenter.setIcon({ ...selectedIcon, color });\n }\n };\n\n const onIconSelect = (icon: Icon) => {\n // Set icon and assign current color.\n presenter.setIcon({ ...icon, color });\n presenter.closeMenu();\n };\n\n return (\n <IconPickerTab\n value={\"icon\"}\n label={\"Icons\"}\n onChange={onIconSelect}\n cellDecorator={cell => <span style={{ color }}>{cell}</span>}\n actions={<IconColorPicker color={color} onChange={onColorChange} />}\n />\n );\n});\n\nexport const SimpleIconPlugin = () => {\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconType name={\"icon\"}>\n <IconPickerConfig.IconType.Icon element={<IconSvg />} />\n <IconPickerConfig.IconType.Tab element={<IconTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","observer","DelayedOnChange","ColorPicker","useIcon","IconPickerTab","useIconPicker","IconPickerConfig","IconSvg","icon","size","createElement","width","height","viewBox","color","dangerouslySetInnerHTML","__html","value","style","verticalAlign","IconColorPicker","onChange","align","isSimpleIcon","type","IconTab","presenter","selectedIcon","vm","setColor","onColorChange","setIcon","onIconSelect","closeMenu","label","cellDecorator","cell","actions","SimpleIconPlugin","IconType","name","Icon","element","Tab"],"sources":["iconsPlugin.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DelayedOnChange, ColorPicker } from \"@webiny/admin-ui\";\n\nimport { useIcon } from \"../index.js\";\nimport { IconPickerTab } from \"../IconPickerTab.js\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider.js\";\nimport { IconPickerConfig } from \"../config/index.js\";\nimport type { Icon } from \"../types.js\";\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\ninterface SimpleIcon extends Icon {\n color: string;\n}\n\nconst IconSvg = () => {\n const { icon, size } = useIcon<SimpleIcon>();\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${icon.width || 512} 512`}\n color={icon?.color || \"inherit\"}\n dangerouslySetInnerHTML={{ __html: icon.value || \"\" }}\n style={{\n verticalAlign: \"middle\",\n width: \"100%\",\n height: \"100%\"\n }}\n />\n );\n};\n\ninterface IconColorPickerProps {\n color: string;\n onChange: (value: string) => void;\n}\n\nconst IconColorPicker = ({ color, onChange }: IconColorPickerProps) => {\n return (\n <DelayedOnChange value={color} onChange={onChange}>\n {({ value, onChange }) => (\n <ColorPicker align={\"end\"} value={value} onChange={onChange} />\n )}\n </DelayedOnChange>\n );\n};\n\n/**\n * @see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\n */\nconst isSimpleIcon = (icon: Icon | null): icon is SimpleIcon => {\n if (!icon) {\n return false;\n }\n return icon.type === \"icon\";\n};\n\nconst IconTab = observer(() => {\n const presenter = useIconPicker();\n const { selectedIcon } = presenter.vm;\n\n const [color, setColor] = useState(\"inherit\");\n\n useEffect(() => {\n if (color === \"inherit\" && isSimpleIcon(selectedIcon)) {\n setColor(selectedIcon.color);\n }\n }, [selectedIcon]);\n\n const onColorChange = (color: string) => {\n setColor(color);\n\n if (isSimpleIcon(selectedIcon)) {\n presenter.setIcon({ ...selectedIcon, color });\n }\n };\n\n const onIconSelect = (icon: Icon) => {\n // Set icon and assign current color.\n presenter.setIcon({ ...icon, color });\n presenter.closeMenu();\n };\n\n return (\n <IconPickerTab\n value={\"icon\"}\n label={\"Icons\"}\n onChange={onIconSelect}\n cellDecorator={cell => <span style={{ color }}>{cell}</span>}\n actions={<IconColorPicker color={color} onChange={onColorChange} />}\n />\n );\n});\n\nexport const SimpleIconPlugin = () => {\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconType name={\"icon\"}>\n <IconPickerConfig.IconType.Icon element={<IconSvg />} />\n <IconPickerConfig.IconType.Tab element={<IconTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ICON_PICKER_SIZE"],"sources":["types.ts"],"sourcesContent":["/**\n * We want to have an abstract type, which does not define specifics of each possible icon (like color or skin tone).\n */\nexport type Icon = {\n // eslint-disable-next-line @typescript-eslint/ban-types\n type: \"icon\" | \"emoji\" | \"custom\" | (string & {});\n name: string;\n value?: string;\n [key: string]: any;\n};\n\ntype IconsRow = {\n type: \"icons\";\n icons: Icon[];\n};\n\ntype CategoryNameRow = {\n type: \"category-name\";\n name: string;\n};\n\nexport type IconPickerGridRow = IconsRow | CategoryNameRow;\n\nexport enum ICON_PICKER_SIZE {\n SMALL = \"sm\"\n}\n"],"mappings":"AAAA;AACA;AACA;;AAqBA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ICON_PICKER_SIZE"],"sources":["types.ts"],"sourcesContent":["/**\n * We want to have an abstract type, which does not define specifics of each possible icon (like color or skin tone).\n */\nexport type Icon = {\n type: \"icon\" | \"emoji\" | \"custom\" | (string & {});\n name: string;\n value?: string;\n [key: string]: any;\n};\n\ntype IconsRow = {\n type: \"icons\";\n icons: Icon[];\n};\n\ntype CategoryNameRow = {\n type: \"category-name\";\n name: string;\n};\n\nexport type IconPickerGridRow = IconsRow | CategoryNameRow;\n\nexport enum ICON_PICKER_SIZE {\n SMALL = \"sm\"\n}\n"],"mappings":"AAAA;AACA;AACA;;AAoBA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -1,8 +1,12 @@
1
1
  import React from "react";
2
- import type { RichTextEditorProps } from "@webiny/lexical-editor/types";
3
- import type { EditorTheme } from "@webiny/lexical-theme";
4
- interface LexicalEditorProps extends Omit<RichTextEditorProps, "theme"> {
5
- theme?: Partial<EditorTheme>;
2
+ import type { RichTextEditorProps } from "@webiny/lexical-editor/types.js";
3
+ import { type RichTextValueWithHtml } from "./lexicalValueWithHtml.js";
4
+ export interface LexicalEditorProps extends Omit<RichTextEditorProps, "value" | "onChange" | "theme"> {
5
+ value?: RichTextValueWithHtml;
6
+ onChange?: (value: RichTextValueWithHtml) => void;
7
+ theme?: RichTextEditorProps["theme"];
6
8
  }
7
9
  export declare const LexicalEditor: (props: LexicalEditorProps) => React.JSX.Element;
8
- export {};
10
+ export declare namespace LexicalEditor {
11
+ type Props = LexicalEditorProps;
12
+ }
@@ -1,29 +1,40 @@
1
- import React from "react";
2
- import { FileManager } from "./..";
1
+ import React, { useMemo, useRef } from "react";
2
+ import { FileManager } from "../index.js";
3
3
  import { RichTextEditor as BaseEditor } from "@webiny/lexical-editor";
4
- import { useTheme } from "@webiny/app-theme";
4
+ import { DelayedOnChange } from "@webiny/admin-ui";
5
+ import { useAdminConfig } from "../../config/AdminConfig.js";
6
+ import { lexicalValueWithHtml } from "./lexicalValueWithHtml.js";
5
7
  const imagesOnly = ["image/*"];
8
+ const noop = () => {};
6
9
  export const LexicalEditor = props => {
7
10
  const {
8
- theme
9
- } = useTheme();
10
- const editorTheme = {
11
- styles: {},
12
- emotionMap: {},
13
- ...theme,
14
- ...(props.theme || {})
15
- };
11
+ lexicalTheme
12
+ } = useAdminConfig();
13
+ const configRef = useRef(undefined);
14
+ const onChange = useMemo(() => {
15
+ return lexicalValueWithHtml(configRef, props.onChange ?? noop);
16
+ }, [props.onChange]);
16
17
  return /*#__PURE__*/React.createElement(FileManager, {
17
- accept: imagesOnly
18
- }, ({
19
- showFileManager
20
- }) => /*#__PURE__*/React.createElement(BaseEditor, Object.assign({}, props, {
21
- theme: editorTheme,
22
- toolbarActionPlugins: [...(props.toolbarActionPlugins || []), {
23
- targetAction: "image-action",
24
- plugin: showFileManager
25
- }]
26
- })));
18
+ accept: imagesOnly,
19
+ render: ({
20
+ showFileManager
21
+ }) => /*#__PURE__*/React.createElement(DelayedOnChange, {
22
+ value: props.value?.state,
23
+ onChange: onChange
24
+ }, ({
25
+ value,
26
+ onChange
27
+ }) => /*#__PURE__*/React.createElement(BaseEditor, Object.assign({}, props, {
28
+ value: value,
29
+ onChange: onChange,
30
+ theme: props.theme ?? lexicalTheme,
31
+ configRef: configRef,
32
+ toolbarActionPlugins: [...(props.toolbarActionPlugins || []), {
33
+ targetAction: "image-action",
34
+ plugin: showFileManager
35
+ }]
36
+ })))
37
+ });
27
38
  };
28
39
 
29
40
  //# sourceMappingURL=LexicalEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","FileManager","RichTextEditor","BaseEditor","useTheme","imagesOnly","LexicalEditor","props","theme","editorTheme","styles","emotionMap","createElement","accept","showFileManager","Object","assign","toolbarActionPlugins","targetAction","plugin"],"sources":["LexicalEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { FileManager } from \"~/components\";\nimport { RichTextEditor as BaseEditor } from \"@webiny/lexical-editor\";\nimport type { RichTextEditorProps } from \"@webiny/lexical-editor/types\";\nimport { useTheme } from \"@webiny/app-theme\";\nimport type { EditorTheme } from \"@webiny/lexical-theme\";\n\ninterface LexicalEditorProps extends Omit<RichTextEditorProps, \"theme\"> {\n theme?: Partial<EditorTheme>;\n}\n\nconst imagesOnly = [\"image/*\"];\n\nexport const LexicalEditor = (props: LexicalEditorProps) => {\n const { theme } = useTheme();\n\n const editorTheme: EditorTheme = {\n styles: {},\n emotionMap: {},\n ...theme,\n ...(props.theme || {})\n };\n\n return (\n <FileManager accept={imagesOnly}>\n {({ showFileManager }) => (\n <BaseEditor\n {...props}\n theme={editorTheme}\n toolbarActionPlugins={[\n ...(props.toolbarActionPlugins || []),\n { targetAction: \"image-action\", plugin: showFileManager }\n ]}\n />\n )}\n </FileManager>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW;AACpB,SAASC,cAAc,IAAIC,UAAU,QAAQ,wBAAwB;AAErE,SAASC,QAAQ,QAAQ,mBAAmB;AAO5C,MAAMC,UAAU,GAAG,CAAC,SAAS,CAAC;AAE9B,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EACxD,MAAM;IAAEC;EAAM,CAAC,GAAGJ,QAAQ,CAAC,CAAC;EAE5B,MAAMK,WAAwB,GAAG;IAC7BC,MAAM,EAAE,CAAC,CAAC;IACVC,UAAU,EAAE,CAAC,CAAC;IACd,GAAGH,KAAK;IACR,IAAID,KAAK,CAACC,KAAK,IAAI,CAAC,CAAC;EACzB,CAAC;EAED,oBACIR,KAAA,CAAAY,aAAA,CAACX,WAAW;IAACY,MAAM,EAAER;EAAW,GAC3B,CAAC;IAAES;EAAgB,CAAC,kBACjBd,KAAA,CAAAY,aAAA,CAACT,UAAU,EAAAY,MAAA,CAAAC,MAAA,KACHT,KAAK;IACTC,KAAK,EAAEC,WAAY;IACnBQ,oBAAoB,EAAE,CAClB,IAAIV,KAAK,CAACU,oBAAoB,IAAI,EAAE,CAAC,EACrC;MAAEC,YAAY,EAAE,cAAc;MAAEC,MAAM,EAAEL;IAAgB,CAAC;EAC3D,EACL,CAEI,CAAC;AAEtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useRef","FileManager","RichTextEditor","BaseEditor","DelayedOnChange","useAdminConfig","lexicalValueWithHtml","imagesOnly","noop","LexicalEditor","props","lexicalTheme","configRef","undefined","onChange","createElement","accept","render","showFileManager","value","state","Object","assign","theme","toolbarActionPlugins","targetAction","plugin"],"sources":["LexicalEditor.tsx"],"sourcesContent":["import React, { useMemo, useRef } from \"react\";\nimport { FileManager } from \"~/components/index.js\";\nimport { RichTextEditor as BaseEditor } from \"@webiny/lexical-editor\";\nimport type { RichTextEditorProps } from \"@webiny/lexical-editor/types.js\";\nimport { DelayedOnChange } from \"@webiny/admin-ui\";\nimport { useAdminConfig } from \"~/config/AdminConfig.js\";\nimport { lexicalValueWithHtml, type RichTextValueWithHtml } from \"./lexicalValueWithHtml.js\";\n\nexport interface LexicalEditorProps\n extends Omit<RichTextEditorProps, \"value\" | \"onChange\" | \"theme\"> {\n value?: RichTextValueWithHtml;\n onChange?: (value: RichTextValueWithHtml) => void;\n theme?: RichTextEditorProps[\"theme\"];\n}\n\nconst imagesOnly = [\"image/*\"];\nconst noop = () => {};\n\nexport const LexicalEditor = (props: LexicalEditorProps) => {\n const { lexicalTheme } = useAdminConfig();\n const configRef = useRef<BaseEditor.InitialConfig | undefined>(undefined);\n\n const onChange = useMemo(() => {\n return lexicalValueWithHtml(configRef, props.onChange ?? noop);\n }, [props.onChange]);\n\n return (\n <FileManager\n accept={imagesOnly}\n render={({ showFileManager }) => (\n <DelayedOnChange value={props.value?.state} onChange={onChange}>\n {({ value, onChange }) => (\n <BaseEditor\n {...props}\n value={value}\n onChange={onChange}\n theme={props.theme ?? lexicalTheme}\n configRef={configRef}\n toolbarActionPlugins={[\n ...(props.toolbarActionPlugins || []),\n { targetAction: \"image-action\", plugin: showFileManager }\n ]}\n />\n )}\n </DelayedOnChange>\n )}\n />\n );\n};\n\nexport namespace LexicalEditor {\n export type Props = LexicalEditorProps;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC9C,SAASC,WAAW;AACpB,SAASC,cAAc,IAAIC,UAAU,QAAQ,wBAAwB;AAErE,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAS7B,MAAMC,UAAU,GAAG,CAAC,SAAS,CAAC;AAC9B,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EACxD,MAAM;IAAEC;EAAa,CAAC,GAAGN,cAAc,CAAC,CAAC;EACzC,MAAMO,SAAS,GAAGZ,MAAM,CAAuCa,SAAS,CAAC;EAEzE,MAAMC,QAAQ,GAAGf,OAAO,CAAC,MAAM;IAC3B,OAAOO,oBAAoB,CAACM,SAAS,EAAEF,KAAK,CAACI,QAAQ,IAAIN,IAAI,CAAC;EAClE,CAAC,EAAE,CAACE,KAAK,CAACI,QAAQ,CAAC,CAAC;EAEpB,oBACIhB,KAAA,CAAAiB,aAAA,CAACd,WAAW;IACRe,MAAM,EAAET,UAAW;IACnBU,MAAM,EAAEA,CAAC;MAAEC;IAAgB,CAAC,kBACxBpB,KAAA,CAAAiB,aAAA,CAACX,eAAe;MAACe,KAAK,EAAET,KAAK,CAACS,KAAK,EAAEC,KAAM;MAACN,QAAQ,EAAEA;IAAS,GAC1D,CAAC;MAAEK,KAAK;MAAEL;IAAS,CAAC,kBACjBhB,KAAA,CAAAiB,aAAA,CAACZ,UAAU,EAAAkB,MAAA,CAAAC,MAAA,KACHZ,KAAK;MACTS,KAAK,EAAEA,KAAM;MACbL,QAAQ,EAAEA,QAAS;MACnBS,KAAK,EAAEb,KAAK,CAACa,KAAK,IAAIZ,YAAa;MACnCC,SAAS,EAAEA,SAAU;MACrBY,oBAAoB,EAAE,CAClB,IAAId,KAAK,CAACc,oBAAoB,IAAI,EAAE,CAAC,EACrC;QAAEC,YAAY,EAAE,cAAc;QAAEC,MAAM,EAAER;MAAgB,CAAC;IAC3D,EACL,CAEQ;EACnB,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { FloatingLinkEditorPlugin } from "@webiny/lexical-editor";
3
+ type LexicalLinkForm = NonNullable<React.ComponentProps<typeof FloatingLinkEditorPlugin>["LinkForm"]>;
4
+ type LinkFormProps = React.ComponentProps<LexicalLinkForm>;
5
+ export declare const LexicalLinkForm: ({ linkData, onSave, removeLink }: LinkFormProps) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,92 @@
1
+ import React, { useEffect, useRef } from "react";
2
+ import { Button, Grid, Icon, IconButton, Input, Switch } from "@webiny/admin-ui";
3
+ import { Form, useBind } from "@webiny/form";
4
+ import { validation } from "@webiny/validation";
5
+ import { ReactComponent as GlobeIcon } from "@webiny/icons/language.svg";
6
+ import { ReactComponent as OpenInNew } from "@webiny/icons/open_in_new.svg";
7
+ import { ReactComponent as RemoveLink } from "@webiny/icons/link_off.svg";
8
+ export const LexicalLinkForm = ({
9
+ linkData,
10
+ onSave,
11
+ removeLink
12
+ }) => {
13
+ const onSubmit = data => {
14
+ onSave(data);
15
+ };
16
+ return /*#__PURE__*/React.createElement(Form, {
17
+ data: linkData,
18
+ onSubmit: onSubmit,
19
+ validateOnFirstSubmit: true,
20
+ submitOnEnter: true
21
+ }, form => /*#__PURE__*/React.createElement("div", {
22
+ className: "p-md"
23
+ }, /*#__PURE__*/React.createElement(Grid, {
24
+ gap: "small"
25
+ }, /*#__PURE__*/React.createElement(Grid.Column, {
26
+ span: 12
27
+ }, /*#__PURE__*/React.createElement(UrlInput, null))), /*#__PURE__*/React.createElement("div", {
28
+ className: "flex w-full items-center justify-between mt-sm gap-sm"
29
+ }, /*#__PURE__*/React.createElement(TargetSwitch, null), /*#__PURE__*/React.createElement(Button, {
30
+ variant: "ghost",
31
+ text: `Remove link`,
32
+ className: "text-destructive-primary! [&_svg]:fill-destructive",
33
+ onClick: removeLink,
34
+ icon: /*#__PURE__*/React.createElement(Icon, {
35
+ label: "Remove link",
36
+ icon: /*#__PURE__*/React.createElement(RemoveLink, null)
37
+ })
38
+ }), /*#__PURE__*/React.createElement(Button, {
39
+ variant: "primary",
40
+ text: `Save`,
41
+ onClick: form.submit
42
+ }))));
43
+ };
44
+ const UrlInput = () => {
45
+ const inputRef = useRef(null);
46
+ const urlBind = useBind({
47
+ name: "url",
48
+ validators: validation.create("required,url:allowRelative:allowHref")
49
+ });
50
+ useEffect(() => {
51
+ if (inputRef.current) {
52
+ setTimeout(() => {
53
+ inputRef.current?.focus();
54
+ }, 10);
55
+ }
56
+ }, []);
57
+ const openInNewTab = () => {
58
+ if (urlBind.validation.isValid !== false && urlBind.value) {
59
+ window.open(urlBind.value, "_blank");
60
+ }
61
+ };
62
+ return /*#__PURE__*/React.createElement(Input, Object.assign({}, urlBind, {
63
+ inputRef: ref => inputRef.current = ref,
64
+ variant: "secondary",
65
+ placeholder: "Enter link",
66
+ autoFocus: true,
67
+ startIcon: /*#__PURE__*/React.createElement(Icon, {
68
+ label: "globe",
69
+ icon: /*#__PURE__*/React.createElement(GlobeIcon, null)
70
+ }),
71
+ endIcon: /*#__PURE__*/React.createElement(IconButton, {
72
+ variant: "ghost",
73
+ icon: /*#__PURE__*/React.createElement(OpenInNew, null),
74
+ onClick: openInNewTab
75
+ })
76
+ }));
77
+ };
78
+ const TargetSwitch = () => {
79
+ const targetBind = useBind({
80
+ name: "target",
81
+ defaultValue: "_self"
82
+ });
83
+ return /*#__PURE__*/React.createElement(Switch, {
84
+ checked: targetBind.value === "_blank",
85
+ label: "Open in new tab",
86
+ onChange: value => {
87
+ targetBind.onChange(value === true ? "_blank" : "_self");
88
+ }
89
+ });
90
+ };
91
+
92
+ //# sourceMappingURL=LexicalLinkForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useRef","Button","Grid","Icon","IconButton","Input","Switch","Form","useBind","validation","ReactComponent","GlobeIcon","OpenInNew","RemoveLink","LexicalLinkForm","linkData","onSave","removeLink","onSubmit","data","createElement","validateOnFirstSubmit","submitOnEnter","form","className","gap","Column","span","UrlInput","TargetSwitch","variant","text","onClick","icon","label","submit","inputRef","urlBind","name","validators","create","current","setTimeout","focus","openInNewTab","isValid","value","window","open","Object","assign","ref","placeholder","autoFocus","startIcon","endIcon","targetBind","defaultValue","checked","onChange"],"sources":["LexicalLinkForm.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport type { FloatingLinkEditorPlugin } from \"@webiny/lexical-editor\";\nimport { Button, Grid, Icon, IconButton, Input, Switch } from \"@webiny/admin-ui\";\nimport { Form, useBind } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ReactComponent as GlobeIcon } from \"@webiny/icons/language.svg\";\nimport { ReactComponent as OpenInNew } from \"@webiny/icons/open_in_new.svg\";\nimport { ReactComponent as RemoveLink } from \"@webiny/icons/link_off.svg\";\n\ntype LexicalLinkForm = NonNullable<\n React.ComponentProps<typeof FloatingLinkEditorPlugin>[\"LinkForm\"]\n>;\ntype LinkFormProps = React.ComponentProps<LexicalLinkForm>;\n\nexport const LexicalLinkForm = ({ linkData, onSave, removeLink }: LinkFormProps) => {\n const onSubmit = (data: LinkFormProps[\"linkData\"]) => {\n onSave(data);\n };\n\n return (\n <Form data={linkData} onSubmit={onSubmit} validateOnFirstSubmit submitOnEnter>\n {form => (\n <div className={\"p-md\"}>\n <Grid gap={\"small\"}>\n <Grid.Column span={12}>\n <UrlInput />\n </Grid.Column>\n </Grid>\n <div className={\"flex w-full items-center justify-between mt-sm gap-sm\"}>\n <TargetSwitch />\n <Button\n variant={\"ghost\"}\n text={`Remove link`}\n className={\"text-destructive-primary! [&_svg]:fill-destructive\"}\n onClick={removeLink}\n icon={<Icon label={\"Remove link\"} icon={<RemoveLink />} />}\n />\n <Button variant={\"primary\"} text={`Save`} onClick={form.submit} />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nconst UrlInput = () => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const urlBind = useBind({\n name: \"url\",\n validators: validation.create(\"required,url:allowRelative:allowHref\")\n });\n\n useEffect(() => {\n if (inputRef.current) {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 10);\n }\n }, []);\n\n const openInNewTab = () => {\n if (urlBind.validation.isValid !== false && urlBind.value) {\n window.open(urlBind.value, \"_blank\");\n }\n };\n\n return (\n <Input\n {...urlBind}\n inputRef={ref => (inputRef.current = ref)}\n variant={\"secondary\"}\n placeholder={\"Enter link\"}\n autoFocus={true}\n startIcon={<Icon label=\"globe\" icon={<GlobeIcon />} />}\n endIcon={<IconButton variant=\"ghost\" icon={<OpenInNew />} onClick={openInNewTab} />}\n />\n );\n};\n\nconst TargetSwitch = () => {\n const targetBind = useBind({\n name: \"target\",\n defaultValue: \"_self\"\n });\n\n return (\n <Switch\n checked={targetBind.value === \"_blank\"}\n label={\"Open in new tab\"}\n onChange={value => {\n targetBind.onChange(value === true ? \"_blank\" : \"_self\");\n }}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,3 @@
1
- export { LexicalEditor } from "./LexicalEditor";
1
+ export { LexicalEditor } from "./LexicalEditor.js";
2
+ export { LexicalLinkForm } from "./LexicalLinkForm.js";
3
+ export { lexicalValueWithHtml, type RichTextValueWithHtml } from "./lexicalValueWithHtml.js";
@@ -1,3 +1,5 @@
1
- export { LexicalEditor } from "./LexicalEditor";
1
+ export { LexicalEditor } from "./LexicalEditor.js";
2
+ export { LexicalLinkForm } from "./LexicalLinkForm.js";
3
+ export { lexicalValueWithHtml } from "./lexicalValueWithHtml.js";
2
4
 
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LexicalEditor"],"sources":["index.ts"],"sourcesContent":["export { LexicalEditor } from \"./LexicalEditor\";\n"],"mappings":"AAAA,SAASA,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["LexicalEditor","LexicalLinkForm","lexicalValueWithHtml"],"sources":["index.ts"],"sourcesContent":["export { LexicalEditor } from \"./LexicalEditor.js\";\nexport { LexicalLinkForm } from \"./LexicalLinkForm.js\";\nexport { lexicalValueWithHtml, type RichTextValueWithHtml } from \"./lexicalValueWithHtml.js\";\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,oBAAoB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { RichTextEditor } from "@webiny/lexical-editor";
2
+ export type RichTextValueWithHtml = {
3
+ state: string;
4
+ html: string;
5
+ };
6
+ export type EditorConfigRef = React.MutableRefObject<RichTextEditor.InitialConfig | undefined>;
7
+ export declare const lexicalValueWithHtml: (editorConfigRef: EditorConfigRef, onChange: (value: RichTextValueWithHtml) => void) => (value: string) => void;
@@ -0,0 +1,36 @@
1
+ import { createLexicalStateTransformer } from "@webiny/lexical-converter";
2
+ const transformerCache = new Map();
3
+ const getOrCreate = editorConfigRef => {
4
+ if (!editorConfigRef.current) {
5
+ return undefined;
6
+ }
7
+ const id = editorConfigRef.current.editorId;
8
+ if (!transformerCache.has(id)) {
9
+ const transformer = createLexicalStateTransformer({
10
+ editorConfig: {
11
+ nodes: editorConfigRef.current.nodes,
12
+ theme: editorConfigRef.current.theme
13
+ }
14
+ });
15
+ transformerCache.set(id, transformer);
16
+ }
17
+ return transformerCache.get(id);
18
+ };
19
+ export const lexicalValueWithHtml = (editorConfigRef, onChange) => {
20
+ return value => {
21
+ const transformer = getOrCreate(editorConfigRef);
22
+ if (!transformer) {
23
+ onChange({
24
+ state: value,
25
+ html: ""
26
+ });
27
+ return;
28
+ }
29
+ onChange({
30
+ state: value,
31
+ html: transformer.toHtml(value)
32
+ });
33
+ };
34
+ };
35
+
36
+ //# sourceMappingURL=lexicalValueWithHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createLexicalStateTransformer","transformerCache","Map","getOrCreate","editorConfigRef","current","undefined","id","editorId","has","transformer","editorConfig","nodes","theme","set","get","lexicalValueWithHtml","onChange","value","state","html","toHtml"],"sources":["lexicalValueWithHtml.ts"],"sourcesContent":["import { createLexicalStateTransformer } from \"@webiny/lexical-converter\";\nimport { RichTextEditor } from \"@webiny/lexical-editor\";\n\ntype LexicalStateTransformer = ReturnType<typeof createLexicalStateTransformer>;\n\nexport type RichTextValueWithHtml = {\n state: string;\n html: string;\n};\n\nexport type EditorConfigRef = React.MutableRefObject<RichTextEditor.InitialConfig | undefined>;\n\nconst transformerCache = new Map<string, LexicalStateTransformer>();\n\nconst getOrCreate = (editorConfigRef: EditorConfigRef) => {\n if (!editorConfigRef.current) {\n return undefined;\n }\n\n const id = editorConfigRef.current.editorId;\n\n if (!transformerCache.has(id)) {\n const transformer = createLexicalStateTransformer({\n editorConfig: {\n nodes: editorConfigRef.current.nodes,\n theme: editorConfigRef.current.theme\n }\n });\n\n transformerCache.set(id, transformer);\n }\n\n return transformerCache.get(id);\n};\n\nexport const lexicalValueWithHtml = (\n editorConfigRef: EditorConfigRef,\n onChange: (value: RichTextValueWithHtml) => void\n) => {\n return (value: string) => {\n const transformer = getOrCreate(editorConfigRef);\n\n if (!transformer) {\n onChange({\n state: value,\n html: \"\"\n });\n return;\n }\n\n onChange({\n state: value,\n html: transformer.toHtml(value)\n });\n };\n};\n"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,2BAA2B;AAYzE,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAkC,CAAC;AAEnE,MAAMC,WAAW,GAAIC,eAAgC,IAAK;EACtD,IAAI,CAACA,eAAe,CAACC,OAAO,EAAE;IAC1B,OAAOC,SAAS;EACpB;EAEA,MAAMC,EAAE,GAAGH,eAAe,CAACC,OAAO,CAACG,QAAQ;EAE3C,IAAI,CAACP,gBAAgB,CAACQ,GAAG,CAACF,EAAE,CAAC,EAAE;IAC3B,MAAMG,WAAW,GAAGV,6BAA6B,CAAC;MAC9CW,YAAY,EAAE;QACVC,KAAK,EAAER,eAAe,CAACC,OAAO,CAACO,KAAK;QACpCC,KAAK,EAAET,eAAe,CAACC,OAAO,CAACQ;MACnC;IACJ,CAAC,CAAC;IAEFZ,gBAAgB,CAACa,GAAG,CAACP,EAAE,EAAEG,WAAW,CAAC;EACzC;EAEA,OAAOT,gBAAgB,CAACc,GAAG,CAACR,EAAE,CAAC;AACnC,CAAC;AAED,OAAO,MAAMS,oBAAoB,GAAGA,CAChCZ,eAAgC,EAChCa,QAAgD,KAC/C;EACD,OAAQC,KAAa,IAAK;IACtB,MAAMR,WAAW,GAAGP,WAAW,CAACC,eAAe,CAAC;IAEhD,IAAI,CAACM,WAAW,EAAE;MACdO,QAAQ,CAAC;QACLE,KAAK,EAAED,KAAK;QACZE,IAAI,EAAE;MACV,CAAC,CAAC;MACF;IACJ;IAEAH,QAAQ,CAAC;MACLE,KAAK,EAAED,KAAK;MACZE,IAAI,EAAEV,WAAW,CAACW,MAAM,CAACH,KAAK;IAClC,CAAC,CAAC;EACN,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ interface NavigationPromptProps {
3
+ when: boolean | (() => boolean);
4
+ message: React.ReactNode;
5
+ confirmLabel?: string;
6
+ cancelLabel?: string;
7
+ }
8
+ export declare const NavigationPrompt: (({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
9
+ original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
10
+ originalName: string;
11
+ displayName: string;
12
+ } & {
13
+ original: (({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
14
+ original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
15
+ originalName: string;
16
+ displayName: string;
17
+ };
18
+ originalName: string;
19
+ displayName: string;
20
+ } & {
21
+ createDecorator: (decorator: import("@webiny/app").ComponentDecorator<(({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
22
+ original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
23
+ originalName: string;
24
+ displayName: string;
25
+ }>) => (props: unknown) => React.JSX.Element;
26
+ };
27
+ export {};
@@ -0,0 +1,39 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { useRouter } from "@webiny/app";
3
+ import { makeDecoratable } from "@webiny/react-composition";
4
+ import { useDialogs } from "./Dialogs/useDialogs.js";
5
+ export const NavigationPrompt = makeDecoratable("NavigationPrompt", ({
6
+ when,
7
+ message,
8
+ confirmLabel,
9
+ cancelLabel
10
+ }) => {
11
+ const whenRef = useRef(when);
12
+ const router = useRouter();
13
+ const dialogs = useDialogs();
14
+
15
+ // Update the ref synchronously on every render to ensure we always have the latest value
16
+ whenRef.current = when;
17
+ useEffect(() => {
18
+ router.onRouteExit(transition => {
19
+ const condition = whenRef.current;
20
+ const shouldConfirm = typeof condition === "function" ? condition() : condition;
21
+ if (shouldConfirm) {
22
+ dialogs.showDialog({
23
+ title: "Confirm Navigation",
24
+ content: message,
25
+ acceptLabel: confirmLabel ?? "Yes!",
26
+ cancelLabel: cancelLabel ?? "No, stay here.",
27
+ onAccept: () => {
28
+ transition.continue();
29
+ }
30
+ });
31
+ } else {
32
+ transition.continue();
33
+ }
34
+ });
35
+ }, []);
36
+ return null;
37
+ });
38
+
39
+ //# sourceMappingURL=NavigationPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useRouter","makeDecoratable","useDialogs","NavigationPrompt","when","message","confirmLabel","cancelLabel","whenRef","router","dialogs","current","onRouteExit","transition","condition","shouldConfirm","showDialog","title","content","acceptLabel","onAccept","continue"],"sources":["NavigationPrompt.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { useRouter } from \"@webiny/app\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { useDialogs } from \"~/components/Dialogs/useDialogs.js\";\n\ninterface NavigationPromptProps {\n when: boolean | (() => boolean);\n message: React.ReactNode;\n confirmLabel?: string;\n cancelLabel?: string;\n}\n\nexport const NavigationPrompt = makeDecoratable(\n \"NavigationPrompt\",\n ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => {\n const whenRef = useRef(when);\n const router = useRouter();\n const dialogs = useDialogs();\n\n // Update the ref synchronously on every render to ensure we always have the latest value\n whenRef.current = when;\n\n useEffect(() => {\n router.onRouteExit(transition => {\n const condition = whenRef.current;\n const shouldConfirm = typeof condition === \"function\" ? condition() : condition;\n\n if (shouldConfirm) {\n dialogs.showDialog({\n title: \"Confirm Navigation\",\n content: message,\n acceptLabel: confirmLabel ?? \"Yes!\",\n cancelLabel: cancelLabel ?? \"No, stay here.\",\n onAccept: () => {\n transition.continue();\n }\n });\n } else {\n transition.continue();\n }\n });\n }, []);\n\n return null;\n }\n);\n"],"mappings":"AAAA,SAAgBA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,UAAU;AASnB,OAAO,MAAMC,gBAAgB,GAAGF,eAAe,CAC3C,kBAAkB,EAClB,CAAC;EAAEG,IAAI;EAAEC,OAAO;EAAEC,YAAY;EAAEC;AAAmC,CAAC,KAAK;EACrE,MAAMC,OAAO,GAAGT,MAAM,CAACK,IAAI,CAAC;EAC5B,MAAMK,MAAM,GAAGT,SAAS,CAAC,CAAC;EAC1B,MAAMU,OAAO,GAAGR,UAAU,CAAC,CAAC;;EAE5B;EACAM,OAAO,CAACG,OAAO,GAAGP,IAAI;EAEtBN,SAAS,CAAC,MAAM;IACZW,MAAM,CAACG,WAAW,CAACC,UAAU,IAAI;MAC7B,MAAMC,SAAS,GAAGN,OAAO,CAACG,OAAO;MACjC,MAAMI,aAAa,GAAG,OAAOD,SAAS,KAAK,UAAU,GAAGA,SAAS,CAAC,CAAC,GAAGA,SAAS;MAE/E,IAAIC,aAAa,EAAE;QACfL,OAAO,CAACM,UAAU,CAAC;UACfC,KAAK,EAAE,oBAAoB;UAC3BC,OAAO,EAAEb,OAAO;UAChBc,WAAW,EAAEb,YAAY,IAAI,MAAM;UACnCC,WAAW,EAAEA,WAAW,IAAI,gBAAgB;UAC5Ca,QAAQ,EAAEA,CAAA,KAAM;YACZP,UAAU,CAACQ,QAAQ,CAAC,CAAC;UACzB;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHR,UAAU,CAACQ,QAAQ,CAAC,CAAC;MACzB;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ export declare const NotAuthorizedError: () => React.JSX.Element;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { Link, Text } from "@webiny/admin-ui";
3
+ import authErrorImg from "./SecureRouteError.svg";
4
+ export const NotAuthorizedError = () => {
5
+ return /*#__PURE__*/React.createElement("div", {
6
+ className: "flex-1"
7
+ }, /*#__PURE__*/React.createElement("div", {
8
+ className: "h-full flex flex-col items-center justify-center text-center gap-xs"
9
+ }, /*#__PURE__*/React.createElement("img", {
10
+ width: 200,
11
+ height: 200,
12
+ src: authErrorImg,
13
+ alt: "Not Authorized",
14
+ className: "mb-xl"
15
+ }), /*#__PURE__*/React.createElement(Text, null, "You are not authorized to view this route."), /*#__PURE__*/React.createElement(Text, null, "Please contact your administrator to request access."), /*#__PURE__*/React.createElement(Link, {
16
+ to: "/"
17
+ }, "Take me back.")));
18
+ };
19
+
20
+ //# sourceMappingURL=NotAuthorizedError.js.map