@webiny/app-admin 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (1090) hide show
  1. package/assets/icons/add-18px.js +20 -0
  2. package/assets/icons/add-18px.js.map +1 -0
  3. package/assets/icons/arrow_drop_down-24px.js +20 -0
  4. package/assets/icons/arrow_drop_down-24px.js.map +1 -0
  5. package/assets/icons/attach_file_black_24dp.js +20 -0
  6. package/assets/icons/attach_file_black_24dp.js.map +1 -0
  7. package/assets/icons/baseline-menu-24px.js +20 -0
  8. package/assets/icons/baseline-menu-24px.js.map +1 -0
  9. package/assets/icons/baseline-notification_important-24px.js +19 -0
  10. package/assets/icons/baseline-notification_important-24px.js.map +1 -0
  11. package/assets/icons/baseline-security-24px.js +19 -0
  12. package/assets/icons/baseline-security-24px.js.map +1 -0
  13. package/assets/icons/file_download.js +19 -0
  14. package/assets/icons/file_download.js.map +1 -0
  15. package/assets/icons/file_upload.js +19 -0
  16. package/assets/icons/file_upload.js.map +1 -0
  17. package/assets/icons/filter-24px.js +23 -0
  18. package/assets/icons/filter-24px.js.map +1 -0
  19. package/assets/icons/github-brands.js +19 -0
  20. package/assets/icons/github-brands.js.map +1 -0
  21. package/assets/icons/highlight-24px.js +19 -0
  22. package/assets/icons/highlight-24px.js.map +1 -0
  23. package/assets/icons/icon-community.js +18 -0
  24. package/assets/icons/icon-community.js.map +1 -0
  25. package/assets/icons/icon-documentation.js +18 -0
  26. package/assets/icons/icon-documentation.js.map +1 -0
  27. package/assets/icons/info.js +19 -0
  28. package/assets/icons/info.js.map +1 -0
  29. package/assets/icons/insert_drive_file-24px.js +19 -0
  30. package/assets/icons/insert_drive_file-24px.js.map +1 -0
  31. package/assets/icons/insert_photo-24px.js +19 -0
  32. package/assets/icons/insert_photo-24px.js.map +1 -0
  33. package/assets/icons/label-24px.js +19 -0
  34. package/assets/icons/label-24px.js.map +1 -0
  35. package/assets/icons/round-account_circle-24px.js +19 -0
  36. package/assets/icons/round-account_circle-24px.js.map +1 -0
  37. package/assets/icons/round-add-24px.js +20 -0
  38. package/assets/icons/round-add-24px.js.map +1 -0
  39. package/assets/icons/round-arrow_drop_down-24px.js +19 -0
  40. package/assets/icons/round-arrow_drop_down-24px.js.map +1 -0
  41. package/assets/icons/round-chevron_right-24px.js +20 -0
  42. package/assets/icons/round-chevron_right-24px.js.map +1 -0
  43. package/assets/icons/round-feedback-24px.js +20 -0
  44. package/assets/icons/round-feedback-24px.js.map +1 -0
  45. package/assets/icons/round-help-24px.js +19 -0
  46. package/assets/icons/round-help-24px.js.map +1 -0
  47. package/assets/icons/round-invert_colors-24px.js +20 -0
  48. package/assets/icons/round-invert_colors-24px.js.map +1 -0
  49. package/assets/icons/round-keyboard_arrow_down-24px.js +17 -0
  50. package/assets/icons/round-keyboard_arrow_down-24px.js.map +1 -0
  51. package/assets/icons/round-keyboard_arrow_up-24px.js +17 -0
  52. package/assets/icons/round-keyboard_arrow_up-24px.js.map +1 -0
  53. package/assets/icons/round-lock_open-24px.js +22 -0
  54. package/assets/icons/round-lock_open-24px.js.map +1 -0
  55. package/assets/icons/round-more_vert-24px.js +20 -0
  56. package/assets/icons/round-more_vert-24px.js.map +1 -0
  57. package/assets/icons/round-open_in_new-24px.js +20 -0
  58. package/assets/icons/round-open_in_new-24px.js.map +1 -0
  59. package/assets/icons/round-settings-24px.js +20 -0
  60. package/assets/icons/round-settings-24px.js.map +1 -0
  61. package/assets/icons/search-24px.js +21 -0
  62. package/assets/icons/search-24px.js.map +1 -0
  63. package/assets/icons/slack-logo.js +14 -0
  64. package/assets/icons/slack-logo.js.map +1 -0
  65. package/assets/icons/today-24px.js +19 -0
  66. package/assets/icons/today-24px.js.map +1 -0
  67. package/assets/icons/touch_app.js +20 -0
  68. package/assets/icons/touch_app.js.map +1 -0
  69. package/assets/images/webiny-logo.js +34 -0
  70. package/assets/images/webiny-logo.js.map +1 -0
  71. package/assets/images/webiny-orange-logo.js +34 -0
  72. package/assets/images/webiny-orange-logo.js.map +1 -0
  73. package/base/Admin.js +40 -25
  74. package/base/Admin.js.map +1 -1
  75. package/base/Base/DefaultFieldRenderers.d.ts +2 -0
  76. package/base/Base/DefaultFieldRenderers.js +102 -0
  77. package/base/Base/DefaultFieldRenderers.js.map +1 -0
  78. package/base/Base/DefaultLayoutRenderers.d.ts +2 -0
  79. package/base/Base/DefaultLayoutRenderers.js +14 -0
  80. package/base/Base/DefaultLayoutRenderers.js.map +1 -0
  81. package/base/Base/FieldRenderers/CheckboxesRenderer.d.ts +13 -0
  82. package/base/Base/FieldRenderers/CheckboxesRenderer.js +27 -0
  83. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -0
  84. package/base/Base/FieldRenderers/CodeEditorRenderer.d.ts +15 -0
  85. package/base/Base/FieldRenderers/CodeEditorRenderer.js +14 -0
  86. package/base/Base/FieldRenderers/CodeEditorRenderer.js.map +1 -0
  87. package/base/Base/FieldRenderers/DateTimeInputsRenderer.d.ts +17 -0
  88. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +66 -0
  89. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -0
  90. package/base/Base/FieldRenderers/DateTimeRenderer.d.ts +21 -0
  91. package/base/Base/FieldRenderers/DateTimeRenderer.js +45 -0
  92. package/base/Base/FieldRenderers/DateTimeRenderer.js.map +1 -0
  93. package/base/Base/FieldRenderers/FilePickerRenderer.d.ts +13 -0
  94. package/base/Base/FieldRenderers/FilePickerRenderer.js +44 -0
  95. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -0
  96. package/base/Base/FieldRenderers/FileUrlPickerRenderer.d.ts +12 -0
  97. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +20 -0
  98. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -0
  99. package/base/Base/FieldRenderers/HiddenRenderer.d.ts +12 -0
  100. package/base/Base/FieldRenderers/HiddenRenderer.js +5 -0
  101. package/base/Base/FieldRenderers/HiddenRenderer.js.map +1 -0
  102. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +5 -0
  103. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +26 -0
  104. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -0
  105. package/base/Base/FieldRenderers/InputRenderer.d.ts +12 -0
  106. package/base/Base/FieldRenderers/InputRenderer.js +19 -0
  107. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -0
  108. package/base/Base/FieldRenderers/LexicalRenderer.d.ts +12 -0
  109. package/base/Base/FieldRenderers/LexicalRenderer.js +48 -0
  110. package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -0
  111. package/base/Base/FieldRenderers/MultiFilePickerRenderer.d.ts +13 -0
  112. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +70 -0
  113. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -0
  114. package/base/Base/FieldRenderers/NumberInputRenderer.d.ts +12 -0
  115. package/base/Base/FieldRenderers/NumberInputRenderer.js +20 -0
  116. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -0
  117. package/base/Base/FieldRenderers/NumberInputsRenderer.d.ts +14 -0
  118. package/base/Base/FieldRenderers/NumberInputsRenderer.js +50 -0
  119. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -0
  120. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +14 -0
  121. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +17 -0
  122. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -0
  123. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.d.ts +14 -0
  124. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +59 -0
  125. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -0
  126. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +10 -0
  127. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +97 -0
  128. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +1 -0
  129. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +17 -0
  130. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +48 -0
  131. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -0
  132. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +28 -0
  133. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +69 -0
  134. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -0
  135. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +14 -0
  136. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +17 -0
  137. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -0
  138. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +10 -0
  139. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +58 -0
  140. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -0
  141. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.d.ts +10 -0
  142. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +68 -0
  143. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -0
  144. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +4 -0
  145. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +19 -0
  146. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -0
  147. package/base/Base/FieldRenderers/PassthroughRenderer.d.ts +12 -0
  148. package/base/Base/FieldRenderers/PassthroughRenderer.js +12 -0
  149. package/base/Base/FieldRenderers/PassthroughRenderer.js.map +1 -0
  150. package/base/Base/FieldRenderers/RadioButtonsRenderer.d.ts +13 -0
  151. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +26 -0
  152. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -0
  153. package/base/Base/FieldRenderers/SelectRenderer.d.ts +13 -0
  154. package/base/Base/FieldRenderers/SelectRenderer.js +28 -0
  155. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -0
  156. package/base/Base/FieldRenderers/SwitchRenderer.d.ts +12 -0
  157. package/base/Base/FieldRenderers/SwitchRenderer.js +16 -0
  158. package/base/Base/FieldRenderers/SwitchRenderer.js.map +1 -0
  159. package/base/Base/FieldRenderers/TagsRenderer.d.ts +12 -0
  160. package/base/Base/FieldRenderers/TagsRenderer.js +20 -0
  161. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -0
  162. package/base/Base/FieldRenderers/TextInputsRenderer.d.ts +14 -0
  163. package/base/Base/FieldRenderers/TextInputsRenderer.js +49 -0
  164. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -0
  165. package/base/Base/FieldRenderers/TextareaRenderer.d.ts +14 -0
  166. package/base/Base/FieldRenderers/TextareaRenderer.js +20 -0
  167. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -0
  168. package/base/Base/FieldRenderers/TextareasRenderer.d.ts +14 -0
  169. package/base/Base/FieldRenderers/TextareasRenderer.js +52 -0
  170. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -0
  171. package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +5 -0
  172. package/base/Base/FieldRenderers/VerticalTabsRenderer.js +40 -0
  173. package/base/Base/FieldRenderers/VerticalTabsRenderer.js.map +1 -0
  174. package/base/Base/LexicalPreset.js +59 -64
  175. package/base/Base/LexicalPreset.js.map +1 -1
  176. package/base/Base/Menus/SupportMenuItems.js +9 -13
  177. package/base/Base/Menus/SupportMenuItems.js.map +1 -1
  178. package/base/Base/Menus/WebinyVersion.js +19 -20
  179. package/base/Base/Menus/WebinyVersion.js.map +1 -1
  180. package/base/Base/Menus.js +51 -107
  181. package/base/Base/Menus.js.map +1 -1
  182. package/base/Base/RoutesConfig.js +22 -24
  183. package/base/Base/RoutesConfig.js.map +1 -1
  184. package/base/Base/Tenant/wby-horizontal.js +33 -0
  185. package/base/Base/Tenant/wby-horizontal.js.map +1 -0
  186. package/base/Base/Tenant/wby-square.js +20 -0
  187. package/base/Base/Tenant/wby-square.js.map +1 -0
  188. package/base/Base/Tenant.js +17 -19
  189. package/base/Base/Tenant.js.map +1 -1
  190. package/base/Base/UserMenu/ExitTenant.js +18 -29
  191. package/base/Base/UserMenu/ExitTenant.js.map +1 -1
  192. package/base/Base/UserMenu/SignOut.js +13 -14
  193. package/base/Base/UserMenu/SignOut.js.map +1 -1
  194. package/base/Base/UserMenu/UserInfo.js +23 -36
  195. package/base/Base/UserMenu/UserInfo.js.map +1 -1
  196. package/base/Base/UserMenu.js +12 -13
  197. package/base/Base/UserMenu.js.map +1 -1
  198. package/base/Base.js +7 -6
  199. package/base/Base.js.map +1 -1
  200. package/base/TelemetryAdminAppStart.js +9 -12
  201. package/base/TelemetryAdminAppStart.js.map +1 -1
  202. package/base/WebinyVersion.js +19 -20
  203. package/base/WebinyVersion.js.map +1 -1
  204. package/base/createRootContainer.js +45 -37
  205. package/base/createRootContainer.js.map +1 -1
  206. package/base/plugins/AddGraphQLQuerySelection.js +12 -11
  207. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  208. package/base/providers/AdminUiStateProvider.js +5 -10
  209. package/base/providers/AdminUiStateProvider.js.map +1 -1
  210. package/base/providers/ApolloProvider.js +8 -11
  211. package/base/providers/ApolloProvider.js.map +1 -1
  212. package/base/providers/UiProviders.js +25 -12
  213. package/base/providers/UiProviders.js.map +1 -1
  214. package/base/providers/UiStateProvider.js +5 -10
  215. package/base/providers/UiStateProvider.js.map +1 -1
  216. package/base/ui/Brand.d.ts +6 -6
  217. package/base/ui/Brand.js +4 -5
  218. package/base/ui/Brand.js.map +1 -1
  219. package/base/ui/CenteredView.d.ts +1 -1
  220. package/base/ui/CenteredView.js +9 -13
  221. package/base/ui/CenteredView.js.map +1 -1
  222. package/base/ui/Dashboard.d.ts +6 -6
  223. package/base/ui/Dashboard.js +4 -5
  224. package/base/ui/Dashboard.js.map +1 -1
  225. package/base/ui/FileManager.d.ts +16 -15
  226. package/base/ui/FileManager.js +41 -60
  227. package/base/ui/FileManager.js.map +1 -1
  228. package/base/ui/Layout.d.ts +6 -6
  229. package/base/ui/Layout.js +4 -8
  230. package/base/ui/Layout.js.map +1 -1
  231. package/base/ui/LoginScreen.d.ts +12 -12
  232. package/base/ui/LoginScreen.js +16 -21
  233. package/base/ui/LoginScreen.js.map +1 -1
  234. package/base/ui/Logo.d.ts +6 -6
  235. package/base/ui/Logo.js +4 -5
  236. package/base/ui/Logo.js.map +1 -1
  237. package/base/ui/Navigation.d.ts +6 -6
  238. package/base/ui/Navigation.js +11 -14
  239. package/base/ui/Navigation.js.map +1 -1
  240. package/base/ui/NotFound.d.ts +6 -6
  241. package/base/ui/NotFound.js +4 -5
  242. package/base/ui/NotFound.js.map +1 -1
  243. package/base/ui/Tags.js +12 -16
  244. package/base/ui/Tags.js.map +1 -1
  245. package/base/ui/TenantSelector.d.ts +6 -6
  246. package/base/ui/TenantSelector.js +4 -5
  247. package/base/ui/TenantSelector.js.map +1 -1
  248. package/base/ui/UserMenu/UserMenu.d.ts +6 -6
  249. package/base/ui/UserMenu/UserMenu.js +4 -5
  250. package/base/ui/UserMenu/UserMenu.js.map +1 -1
  251. package/base/ui/UserMenu/UserMenuHandle.d.ts +6 -6
  252. package/base/ui/UserMenu/UserMenuHandle.js +4 -5
  253. package/base/ui/UserMenu/UserMenuHandle.js.map +1 -1
  254. package/base/ui/UserMenu/UserMenuItem.d.ts +14 -14
  255. package/base/ui/UserMenu/UserMenuItem.js +5 -15
  256. package/base/ui/UserMenu/UserMenuItem.js.map +1 -1
  257. package/base/ui/UserMenu/UserMenuLink.d.ts +14 -14
  258. package/base/ui/UserMenu/UserMenuLink.js +5 -15
  259. package/base/ui/UserMenu/UserMenuLink.js.map +1 -1
  260. package/base/ui/UserMenu/UserMenuSeparator.d.ts +7 -7
  261. package/base/ui/UserMenu/UserMenuSeparator.js +3 -5
  262. package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -1
  263. package/base/ui/UserMenu.d.ts +12 -12
  264. package/base/ui/UserMenu.js +6 -13
  265. package/base/ui/UserMenu.js.map +1 -1
  266. package/components/AdminLayout.js +6 -10
  267. package/components/AdminLayout.js.map +1 -1
  268. package/components/BulkActions/Worker.js +57 -120
  269. package/components/BulkActions/Worker.js.map +1 -1
  270. package/components/BulkActions/index.js +0 -2
  271. package/components/BulkActions/useDialogWithReport/DialogMessage.js +17 -21
  272. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -1
  273. package/components/BulkActions/useDialogWithReport/index.js +0 -2
  274. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +33 -44
  275. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
  276. package/components/Buttons/Buttons.js +44 -71
  277. package/components/Buttons/Buttons.js.map +1 -1
  278. package/components/Buttons/Buttons.styles.js +9 -15
  279. package/components/Buttons/Buttons.styles.js.map +1 -1
  280. package/components/Buttons/index.js +1 -3
  281. package/components/Buttons/useButtons.js +15 -20
  282. package/components/Buttons/useButtons.js.map +1 -1
  283. package/components/DeveloperMode/DeveloperMode.d.ts +11 -0
  284. package/components/DeveloperMode/DeveloperMode.js +8 -0
  285. package/components/DeveloperMode/DeveloperMode.js.map +1 -0
  286. package/components/DeveloperMode/index.d.ts +2 -0
  287. package/components/DeveloperMode/index.js +1 -0
  288. package/components/Dialogs/Dialog.d.ts +3 -2
  289. package/components/Dialogs/Dialog.js +46 -58
  290. package/components/Dialogs/Dialog.js.map +1 -1
  291. package/components/Dialogs/DialogParamsContext.d.ts +6 -0
  292. package/components/Dialogs/DialogParamsContext.js +10 -0
  293. package/components/Dialogs/DialogParamsContext.js.map +1 -0
  294. package/components/Dialogs/DialogsContext.d.ts +8 -5
  295. package/components/Dialogs/DialogsContext.js +133 -123
  296. package/components/Dialogs/DialogsContext.js.map +1 -1
  297. package/components/Dialogs/useDialogs.js +5 -6
  298. package/components/Dialogs/useDialogs.js.map +1 -1
  299. package/components/EmptyView.js +26 -31
  300. package/components/EmptyView.js.map +1 -1
  301. package/components/Filters/Filters.js +15 -16
  302. package/components/Filters/Filters.js.map +1 -1
  303. package/components/Filters/FiltersToggle.js +18 -23
  304. package/components/Filters/FiltersToggle.js.map +1 -1
  305. package/components/Filters/index.js +0 -2
  306. package/components/FloatingActionButton.js +13 -15
  307. package/components/FloatingActionButton.js.map +1 -1
  308. package/components/IconPicker/IconPicker.js +24 -26
  309. package/components/IconPicker/IconPicker.js.map +1 -1
  310. package/components/IconPicker/IconPickerComponent.js +56 -72
  311. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  312. package/components/IconPicker/IconPickerPresenter.js +64 -70
  313. package/components/IconPicker/IconPickerPresenter.js.map +1 -1
  314. package/components/IconPicker/IconPickerPresenter.test.js +79 -105
  315. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -1
  316. package/components/IconPicker/IconPickerPresenterProvider.js +10 -16
  317. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -1
  318. package/components/IconPicker/IconPickerTab.js +97 -140
  319. package/components/IconPicker/IconPickerTab.js.map +1 -1
  320. package/components/IconPicker/IconRenderer.d.ts +6 -6
  321. package/components/IconPicker/IconRenderer.js +15 -23
  322. package/components/IconPicker/IconRenderer.js.map +1 -1
  323. package/components/IconPicker/IconRepository.js +41 -40
  324. package/components/IconPicker/IconRepository.js.map +1 -1
  325. package/components/IconPicker/IconRepository.test.js +56 -63
  326. package/components/IconPicker/IconRepository.test.js.map +1 -1
  327. package/components/IconPicker/IconRepositoryFactory.js +15 -11
  328. package/components/IconPicker/IconRepositoryFactory.js.map +1 -1
  329. package/components/IconPicker/Loading.js +47 -46
  330. package/components/IconPicker/Loading.js.map +1 -1
  331. package/components/IconPicker/components/IconPickerCell.d.ts +1 -1
  332. package/components/IconPicker/components/IconPickerCell.js +18 -20
  333. package/components/IconPicker/components/IconPickerCell.js.map +1 -1
  334. package/components/IconPicker/components/IconPickerContent.js +27 -35
  335. package/components/IconPicker/components/IconPickerContent.js.map +1 -1
  336. package/components/IconPicker/components/IconPickerRow.js +5 -10
  337. package/components/IconPicker/components/IconPickerRow.js.map +1 -1
  338. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  339. package/components/IconPicker/components/IconPickerTrigger.js +42 -44
  340. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -1
  341. package/components/IconPicker/components/index.js +0 -2
  342. package/components/IconPicker/config/Emojis.js +19 -21
  343. package/components/IconPicker/config/Emojis.js.map +1 -1
  344. package/components/IconPicker/config/FontAwesomeIcons.js +54 -58
  345. package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -1
  346. package/components/IconPicker/config/IconPackProvider.js +17 -19
  347. package/components/IconPicker/config/IconPackProvider.js.map +1 -1
  348. package/components/IconPicker/config/IconType.js +48 -80
  349. package/components/IconPicker/config/IconType.js.map +1 -1
  350. package/components/IconPicker/config/index.js +28 -31
  351. package/components/IconPicker/config/index.js.map +1 -1
  352. package/components/IconPicker/defaultIcon.js +6 -5
  353. package/components/IconPicker/defaultIcon.js.map +1 -1
  354. package/components/IconPicker/index.js +0 -2
  355. package/components/IconPicker/plugins/customPlugin.js +87 -110
  356. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  357. package/components/IconPicker/plugins/emojisPlugin.js +90 -115
  358. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -1
  359. package/components/IconPicker/plugins/graphql.js +3 -8
  360. package/components/IconPicker/plugins/graphql.js.map +1 -1
  361. package/components/IconPicker/plugins/iconsPlugin.js +73 -104
  362. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -1
  363. package/components/IconPicker/types.js +4 -7
  364. package/components/IconPicker/types.js.map +1 -1
  365. package/components/LexicalEditor/DefaultLexicalEditorConfig.d.ts +2 -0
  366. package/components/LexicalEditor/DefaultLexicalEditorConfig.js +81 -0
  367. package/components/LexicalEditor/DefaultLexicalEditorConfig.js.map +1 -0
  368. package/components/LexicalEditor/LexicalEditor.js +41 -33
  369. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  370. package/components/LexicalEditor/LexicalLinkForm.d.ts +6 -0
  371. package/components/LexicalEditor/LexicalLinkForm.js +88 -0
  372. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -0
  373. package/components/LexicalEditor/TypographyDropDown.d.ts +8 -0
  374. package/components/LexicalEditor/TypographyDropDown.js +60 -0
  375. package/components/LexicalEditor/TypographyDropDown.js.map +1 -0
  376. package/components/LexicalEditor/index.d.ts +1 -0
  377. package/components/LexicalEditor/index.js +1 -2
  378. package/components/LexicalEditor/lexicalValueFromHtml.d.ts +7 -0
  379. package/components/LexicalEditor/lexicalValueFromHtml.js +28 -0
  380. package/components/LexicalEditor/lexicalValueFromHtml.js.map +1 -0
  381. package/components/LexicalEditor/lexicalValueWithHtml.js +24 -30
  382. package/components/LexicalEditor/lexicalValueWithHtml.js.map +1 -1
  383. package/components/MultiImageUpload.js +4 -13
  384. package/components/MultiImageUpload.js.map +1 -1
  385. package/components/NotAuthorizedError/NotAuthorizedError.js +16 -17
  386. package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
  387. package/components/NotAuthorizedError/SecureRouteError.js +297 -0
  388. package/components/NotAuthorizedError/SecureRouteError.js.map +1 -0
  389. package/components/NotAuthorizedError/index.js +0 -2
  390. package/components/OptionsMenu/OptionsMenu.d.ts +6 -0
  391. package/components/OptionsMenu/OptionsMenu.js +20 -19
  392. package/components/OptionsMenu/OptionsMenu.js.map +1 -1
  393. package/components/OptionsMenu/OptionsMenuItem.js +15 -14
  394. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  395. package/components/OptionsMenu/OptionsMenuLink.js +13 -14
  396. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -1
  397. package/components/OptionsMenu/index.js +0 -2
  398. package/components/OptionsMenu/useOptionsMenuItem.js +13 -18
  399. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -1
  400. package/components/OverlayLayout/OverlayLayout.js +35 -38
  401. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  402. package/components/OverlayLayout/components/OverlayBackdrop.js +6 -11
  403. package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -1
  404. package/components/OverlayLayout/components/OverlayContent.js +18 -17
  405. package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
  406. package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
  407. package/components/OverlayLayout/components/OverlayHeader.js +30 -37
  408. package/components/OverlayLayout/components/OverlayHeader.js.map +1 -1
  409. package/components/OverlayLayout/components/OverlayRoot.js +13 -14
  410. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
  411. package/components/OverlayLayout/components/index.js +0 -2
  412. package/components/OverlayLayout/index.js +0 -2
  413. package/components/Permissions/CannotUseAaclAlert.js +10 -11
  414. package/components/Permissions/CannotUseAaclAlert.js.map +1 -1
  415. package/components/Permissions/Permissions.d.ts +1 -3
  416. package/components/Permissions/Permissions.js +36 -39
  417. package/components/Permissions/Permissions.js.map +1 -1
  418. package/components/Permissions/PermissionsGroup.js +9 -15
  419. package/components/Permissions/PermissionsGroup.js.map +1 -1
  420. package/components/Permissions/StyledComponents.js +10 -11
  421. package/components/Permissions/StyledComponents.js.map +1 -1
  422. package/components/Permissions/index.js +1 -3
  423. package/components/RegisterFeature.js +16 -23
  424. package/components/RegisterFeature.js.map +1 -1
  425. package/components/ResizablePanels/index.d.ts +1 -1
  426. package/components/ResizablePanels/index.js +1 -3
  427. package/components/RoleAutocomplete/graphql.js +3 -2
  428. package/components/RoleAutocomplete/graphql.js.map +1 -1
  429. package/components/RoleAutocomplete/index.d.ts +5 -3
  430. package/components/RoleAutocomplete/index.js +21 -13
  431. package/components/RoleAutocomplete/index.js.map +1 -1
  432. package/components/RolesMultiAutocomplete/graphql.js +3 -2
  433. package/components/RolesMultiAutocomplete/graphql.js.map +1 -1
  434. package/components/RolesMultiAutocomplete/index.d.ts +5 -3
  435. package/components/RolesMultiAutocomplete/index.js +21 -14
  436. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  437. package/components/SearchUI.js +18 -25
  438. package/components/SearchUI.js.map +1 -1
  439. package/components/SimpleForm/SimpleForm.d.ts +3 -3
  440. package/components/SimpleForm/SimpleForm.js +54 -73
  441. package/components/SimpleForm/SimpleForm.js.map +1 -1
  442. package/components/SimpleForm/index.js +1 -3
  443. package/components/SimpleUI/InputField.js +70 -86
  444. package/components/SimpleUI/InputField.js.map +1 -1
  445. package/components/SingleImageUpload.d.ts +2 -2
  446. package/components/SingleImageUpload.js +37 -58
  447. package/components/SingleImageUpload.js.map +1 -1
  448. package/components/SplitView/SplitView.d.ts +6 -6
  449. package/components/SplitView/SplitView.js +48 -50
  450. package/components/SplitView/SplitView.js.map +1 -1
  451. package/components/SplitView/index.js +1 -3
  452. package/components/TeamAutocomplete/graphql.js +3 -2
  453. package/components/TeamAutocomplete/graphql.js.map +1 -1
  454. package/components/TeamAutocomplete/index.d.ts +5 -3
  455. package/components/TeamAutocomplete/index.js +21 -13
  456. package/components/TeamAutocomplete/index.js.map +1 -1
  457. package/components/TeamsMultiAutocomplete/graphql.js +3 -2
  458. package/components/TeamsMultiAutocomplete/graphql.js.map +1 -1
  459. package/components/TeamsMultiAutocomplete/index.d.ts +5 -3
  460. package/components/TeamsMultiAutocomplete/index.js +21 -14
  461. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  462. package/components/Wcp.d.ts +4 -0
  463. package/components/Wcp.js +29 -26
  464. package/components/Wcp.js.map +1 -1
  465. package/components/index.d.ts +5 -6
  466. package/components/index.js +11 -16
  467. package/config/AdminConfig/Dashboard.js +3 -2
  468. package/config/AdminConfig/Dashboard.js.map +1 -1
  469. package/config/AdminConfig/Dialog.d.ts +10 -0
  470. package/config/AdminConfig/Dialog.js +19 -0
  471. package/config/AdminConfig/Dialog.js.map +1 -0
  472. package/config/AdminConfig/FieldRenderer.d.ts +11 -0
  473. package/config/AdminConfig/FieldRenderer.js +19 -0
  474. package/config/AdminConfig/FieldRenderer.js.map +1 -0
  475. package/config/AdminConfig/Form.d.ts +4 -0
  476. package/config/AdminConfig/Form.js +9 -0
  477. package/config/AdminConfig/Form.js.map +1 -0
  478. package/config/AdminConfig/LayoutRenderer.d.ts +10 -0
  479. package/config/AdminConfig/LayoutRenderer.js +19 -0
  480. package/config/AdminConfig/LayoutRenderer.js.map +1 -0
  481. package/config/AdminConfig/LexicalTheme/Color.js +34 -41
  482. package/config/AdminConfig/LexicalTheme/Color.js.map +1 -1
  483. package/config/AdminConfig/LexicalTheme/Typography.js +61 -74
  484. package/config/AdminConfig/LexicalTheme/Typography.js.map +1 -1
  485. package/config/AdminConfig/LexicalTheme.js +4 -3
  486. package/config/AdminConfig/LexicalTheme.js.map +1 -1
  487. package/config/AdminConfig/Logo.d.ts +1 -1
  488. package/config/AdminConfig/Logo.js +15 -17
  489. package/config/AdminConfig/Logo.js.map +1 -1
  490. package/config/AdminConfig/Menu/MenuGroup.d.ts +3 -3
  491. package/config/AdminConfig/Menu/MenuGroup.js +7 -9
  492. package/config/AdminConfig/Menu/MenuGroup.js.map +1 -1
  493. package/config/AdminConfig/Menu/MenuItem.d.ts +2 -2
  494. package/config/AdminConfig/Menu/MenuItem.js +5 -7
  495. package/config/AdminConfig/Menu/MenuItem.js.map +1 -1
  496. package/config/AdminConfig/Menu/MenuLink.d.ts +2 -2
  497. package/config/AdminConfig/Menu/MenuLink.js +12 -15
  498. package/config/AdminConfig/Menu/MenuLink.js.map +1 -1
  499. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +2 -2
  500. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +6 -8
  501. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -1
  502. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +1 -1
  503. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +4 -6
  504. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -1
  505. package/config/AdminConfig/Menu/SupportMenu.d.ts +3 -3
  506. package/config/AdminConfig/Menu/SupportMenu.js +30 -41
  507. package/config/AdminConfig/Menu/SupportMenu.js.map +1 -1
  508. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +4 -4
  509. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -1
  510. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +4 -4
  511. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -1
  512. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +0 -2
  513. package/config/AdminConfig/Menu/UserMenu/types.js +0 -3
  514. package/config/AdminConfig/Menu/UserMenu.d.ts +31 -31
  515. package/config/AdminConfig/Menu/UserMenu.js +39 -52
  516. package/config/AdminConfig/Menu/UserMenu.js.map +1 -1
  517. package/config/AdminConfig/Menu/types.js +0 -3
  518. package/config/AdminConfig/Menu.d.ts +42 -42
  519. package/config/AdminConfig/Menu.js +57 -73
  520. package/config/AdminConfig/Menu.js.map +1 -1
  521. package/config/AdminConfig/Route.js +4 -5
  522. package/config/AdminConfig/Route.js.map +1 -1
  523. package/config/AdminConfig/Security.d.ts +3 -0
  524. package/config/AdminConfig/Security.js +7 -0
  525. package/config/AdminConfig/Security.js.map +1 -0
  526. package/config/AdminConfig/SecurityPermissions.d.ts +17 -0
  527. package/config/AdminConfig/SecurityPermissions.js +24 -0
  528. package/config/AdminConfig/SecurityPermissions.js.map +1 -0
  529. package/config/AdminConfig/Tenant/TenantLogo.d.ts +1 -1
  530. package/config/AdminConfig/Tenant/TenantLogo.js +18 -20
  531. package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -1
  532. package/config/AdminConfig/Tenant/TenantName.d.ts +1 -1
  533. package/config/AdminConfig/Tenant/TenantName.js +14 -15
  534. package/config/AdminConfig/Tenant/TenantName.js.map +1 -1
  535. package/config/AdminConfig/Tenant.js +6 -9
  536. package/config/AdminConfig/Tenant.js.map +1 -1
  537. package/config/AdminConfig/Theme/assignColor.js +51 -18
  538. package/config/AdminConfig/Theme/assignColor.js.map +1 -1
  539. package/config/AdminConfig/Theme/consts.js +20 -2
  540. package/config/AdminConfig/Theme/consts.js.map +1 -1
  541. package/config/AdminConfig/Theme/types.js +0 -3
  542. package/config/AdminConfig/Theme.js +8 -15
  543. package/config/AdminConfig/Theme.js.map +1 -1
  544. package/config/AdminConfig/Title.d.ts +1 -1
  545. package/config/AdminConfig/Title.js +11 -12
  546. package/config/AdminConfig/Title.js.map +1 -1
  547. package/config/AdminConfig/Widget.js +24 -31
  548. package/config/AdminConfig/Widget.js.map +1 -1
  549. package/config/AdminConfig.d.ts +22 -1
  550. package/config/AdminConfig.js +52 -51
  551. package/config/AdminConfig.js.map +1 -1
  552. package/config/createAdminConfig.js +55 -86
  553. package/config/createAdminConfig.js.map +1 -1
  554. package/domain/Identity.js +79 -89
  555. package/domain/Identity.js.map +1 -1
  556. package/errors/ErrorOverlayNetworkErrorHandler.js +37 -52
  557. package/errors/ErrorOverlayNetworkErrorHandler.js.map +1 -1
  558. package/errors/TenantIsDisabled.js +19 -20
  559. package/errors/TenantIsDisabled.js.map +1 -1
  560. package/exports/admin/build-params.d.ts +4 -0
  561. package/exports/admin/build-params.js +2 -0
  562. package/exports/admin/configs.js +0 -2
  563. package/exports/admin/form.d.ts +16 -0
  564. package/exports/admin/form.js +5 -0
  565. package/exports/admin/security.d.ts +6 -0
  566. package/exports/admin/security.js +1 -2
  567. package/exports/admin/tenancy.js +0 -2
  568. package/exports/admin/ui/file-manager.d.ts +3 -0
  569. package/exports/admin/ui/file-manager.js +2 -0
  570. package/exports/admin/ui/lexical.d.ts +1 -0
  571. package/exports/admin/ui/lexical.js +1 -0
  572. package/exports/admin/ui.d.ts +5 -1
  573. package/exports/admin/ui.js +4 -3
  574. package/exports/admin.d.ts +6 -0
  575. package/exports/admin.js +5 -2
  576. package/features/apolloClient/abstraction.js +2 -1
  577. package/features/apolloClient/abstraction.js.map +1 -1
  578. package/features/apolloClient/feature.js +22 -30
  579. package/features/apolloClient/feature.js.map +1 -1
  580. package/features/buildParams/BuildParams.js +20 -14
  581. package/features/buildParams/BuildParams.js.map +1 -1
  582. package/features/buildParams/abstractions.js +3 -2
  583. package/features/buildParams/abstractions.js.map +1 -1
  584. package/features/buildParams/feature.d.ts +1 -1
  585. package/features/buildParams/feature.js +11 -6
  586. package/features/buildParams/feature.js.map +1 -1
  587. package/features/buildParams/index.js +0 -2
  588. package/features/fileUrlFormatter/abstractions.d.ts +6 -0
  589. package/features/fileUrlFormatter/abstractions.js +5 -0
  590. package/features/fileUrlFormatter/abstractions.js.map +1 -0
  591. package/features/formModel/ConditionRuleEvaluator.d.ts +9 -0
  592. package/features/formModel/ConditionRuleEvaluator.js +49 -0
  593. package/features/formModel/ConditionRuleEvaluator.js.map +1 -0
  594. package/features/formModel/Field.d.ts +99 -0
  595. package/features/formModel/Field.js +347 -0
  596. package/features/formModel/Field.js.map +1 -0
  597. package/features/formModel/FieldBuilder.d.ts +44 -0
  598. package/features/formModel/FieldBuilder.js +152 -0
  599. package/features/formModel/FieldBuilder.js.map +1 -0
  600. package/features/formModel/FieldBuilder.test.d.ts +1 -0
  601. package/features/formModel/FieldBuilder.test.js +236 -0
  602. package/features/formModel/FieldBuilder.test.js.map +1 -0
  603. package/features/formModel/FieldBuilderRegistry.d.ts +4 -0
  604. package/features/formModel/FieldBuilderRegistry.js +29 -0
  605. package/features/formModel/FieldBuilderRegistry.js.map +1 -0
  606. package/features/formModel/FocusManager.d.ts +14 -0
  607. package/features/formModel/FocusManager.js +83 -0
  608. package/features/formModel/FocusManager.js.map +1 -0
  609. package/features/formModel/FormErrors.d.ts +9 -0
  610. package/features/formModel/FormErrors.js +35 -0
  611. package/features/formModel/FormErrors.js.map +1 -0
  612. package/features/formModel/FormModel.d.ts +59 -0
  613. package/features/formModel/FormModel.js +410 -0
  614. package/features/formModel/FormModel.js.map +1 -0
  615. package/features/formModel/FormModel.test.d.ts +1 -0
  616. package/features/formModel/FormModel.test.js +3811 -0
  617. package/features/formModel/FormModel.test.js.map +1 -0
  618. package/features/formModel/FormModelFactory.d.ts +11 -0
  619. package/features/formModel/FormModelFactory.js +33 -0
  620. package/features/formModel/FormModelFactory.js.map +1 -0
  621. package/features/formModel/FormView.d.ts +46 -0
  622. package/features/formModel/FormView.js +187 -0
  623. package/features/formModel/FormView.js.map +1 -0
  624. package/features/formModel/LayoutBuilderFactory.d.ts +61 -0
  625. package/features/formModel/LayoutBuilderFactory.js +316 -0
  626. package/features/formModel/LayoutBuilderFactory.js.map +1 -0
  627. package/features/formModel/LayoutMutator.d.ts +11 -0
  628. package/features/formModel/LayoutMutator.js +129 -0
  629. package/features/formModel/LayoutMutator.js.map +1 -0
  630. package/features/formModel/LayoutResolver.d.ts +26 -0
  631. package/features/formModel/LayoutResolver.js +199 -0
  632. package/features/formModel/LayoutResolver.js.map +1 -0
  633. package/features/formModel/ObjectField.d.ts +97 -0
  634. package/features/formModel/ObjectField.js +563 -0
  635. package/features/formModel/ObjectField.js.map +1 -0
  636. package/features/formModel/PresenterErrors.d.ts +9 -0
  637. package/features/formModel/PresenterErrors.js +32 -0
  638. package/features/formModel/PresenterErrors.js.map +1 -0
  639. package/features/formModel/Rules.test.d.ts +1 -0
  640. package/features/formModel/Rules.test.js +324 -0
  641. package/features/formModel/Rules.test.js.map +1 -0
  642. package/features/formModel/abstractions.d.ts +715 -0
  643. package/features/formModel/abstractions.js +8 -0
  644. package/features/formModel/abstractions.js.map +1 -0
  645. package/features/formModel/createFieldRenderer.d.ts +20 -0
  646. package/features/formModel/createFieldRenderer.js +38 -0
  647. package/features/formModel/createFieldRenderer.js.map +1 -0
  648. package/features/formModel/demo/FieldRenderersDemoPresenter.d.ts +18 -0
  649. package/features/formModel/demo/FieldRenderersDemoPresenter.js +299 -0
  650. package/features/formModel/demo/FieldRenderersDemoPresenter.js.map +1 -0
  651. package/features/formModel/demo/FormModelDemo.d.ts +4 -0
  652. package/features/formModel/demo/FormModelDemo.js +206 -0
  653. package/features/formModel/demo/FormModelDemo.js.map +1 -0
  654. package/features/formModel/demo/FormModelDemoPresenter.d.ts +22 -0
  655. package/features/formModel/demo/FormModelDemoPresenter.js +140 -0
  656. package/features/formModel/demo/FormModelDemoPresenter.js.map +1 -0
  657. package/features/formModel/demo/FormModelPhase11Presenter.d.ts +25 -0
  658. package/features/formModel/demo/FormModelPhase11Presenter.js +107 -0
  659. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -0
  660. package/features/formModel/demo/FormModelPhase8c1Presenter.d.ts +23 -0
  661. package/features/formModel/demo/FormModelPhase8c1Presenter.js +69 -0
  662. package/features/formModel/demo/FormModelPhase8c1Presenter.js.map +1 -0
  663. package/features/formModel/feature.d.ts +3 -0
  664. package/features/formModel/feature.js +30 -0
  665. package/features/formModel/feature.js.map +1 -0
  666. package/features/formModel/fieldTypes/BooleanFieldType.d.ts +19 -0
  667. package/features/formModel/fieldTypes/BooleanFieldType.js +26 -0
  668. package/features/formModel/fieldTypes/BooleanFieldType.js.map +1 -0
  669. package/features/formModel/fieldTypes/DateTimeFieldType.d.ts +173 -0
  670. package/features/formModel/fieldTypes/DateTimeFieldType.js +246 -0
  671. package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -0
  672. package/features/formModel/fieldTypes/FileFieldType.d.ts +29 -0
  673. package/features/formModel/fieldTypes/FileFieldType.js +56 -0
  674. package/features/formModel/fieldTypes/FileFieldType.js.map +1 -0
  675. package/features/formModel/fieldTypes/FileUrlFieldType.d.ts +18 -0
  676. package/features/formModel/fieldTypes/FileUrlFieldType.js +23 -0
  677. package/features/formModel/fieldTypes/FileUrlFieldType.js.map +1 -0
  678. package/features/formModel/fieldTypes/LexicalFieldType.d.ts +19 -0
  679. package/features/formModel/fieldTypes/LexicalFieldType.js +23 -0
  680. package/features/formModel/fieldTypes/LexicalFieldType.js.map +1 -0
  681. package/features/formModel/fieldTypes/NumberFieldType.d.ts +19 -0
  682. package/features/formModel/fieldTypes/NumberFieldType.js +28 -0
  683. package/features/formModel/fieldTypes/NumberFieldType.js.map +1 -0
  684. package/features/formModel/fieldTypes/ObjectFieldType.d.ts +34 -0
  685. package/features/formModel/fieldTypes/ObjectFieldType.js +95 -0
  686. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -0
  687. package/features/formModel/fieldTypes/TextFieldType.d.ts +18 -0
  688. package/features/formModel/fieldTypes/TextFieldType.js +23 -0
  689. package/features/formModel/fieldTypes/TextFieldType.js.map +1 -0
  690. package/features/formModel/fieldTypes/index.d.ts +8 -0
  691. package/features/formModel/fieldTypes/index.js +8 -0
  692. package/features/formModel/index.d.ts +24 -0
  693. package/features/formModel/index.js +22 -0
  694. package/features/formModel/renderers.d.ts +21 -0
  695. package/features/formModel/renderers.js +21 -0
  696. package/features/formModel/useFieldRenderers.d.ts +2 -0
  697. package/features/formModel/useFieldRenderers.js +15 -0
  698. package/features/formModel/useFieldRenderers.js.map +1 -0
  699. package/features/formModel/useLayoutRenderers.d.ts +2 -0
  700. package/features/formModel/useLayoutRenderers.js +15 -0
  701. package/features/formModel/useLayoutRenderers.js.map +1 -0
  702. package/features/listCache/ListCache.d.ts +28 -0
  703. package/features/listCache/ListCache.js +48 -0
  704. package/features/listCache/ListCache.js.map +1 -0
  705. package/features/listCache/index.d.ts +2 -0
  706. package/features/listCache/index.js +1 -0
  707. package/features/security/AuthenticationContext/AuthenticationContext.js +27 -26
  708. package/features/security/AuthenticationContext/AuthenticationContext.js.map +1 -1
  709. package/features/security/AuthenticationContext/GraphQLClientDecorator.js +23 -22
  710. package/features/security/AuthenticationContext/GraphQLClientDecorator.js.map +1 -1
  711. package/features/security/AuthenticationContext/InternalIdTokenProvider.js +15 -12
  712. package/features/security/AuthenticationContext/InternalIdTokenProvider.js.map +1 -1
  713. package/features/security/AuthenticationContext/abstractions.js +3 -2
  714. package/features/security/AuthenticationContext/abstractions.js.map +1 -1
  715. package/features/security/AuthenticationContext/feature.js +15 -14
  716. package/features/security/AuthenticationContext/feature.js.map +1 -1
  717. package/features/security/AuthenticationContext/index.js +0 -2
  718. package/features/security/AuthenticationContext/types.js +0 -3
  719. package/features/security/IdentityContext/IdentityContext.js +18 -17
  720. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  721. package/features/security/IdentityContext/abstractions.js +2 -1
  722. package/features/security/IdentityContext/abstractions.js.map +1 -1
  723. package/features/security/IdentityContext/feature.js +13 -12
  724. package/features/security/IdentityContext/feature.js.map +1 -1
  725. package/features/security/IdentityContext/index.js +0 -2
  726. package/features/security/LogIn/IdentityMapper.js +8 -7
  727. package/features/security/LogIn/IdentityMapper.js.map +1 -1
  728. package/features/security/LogIn/LogInGateway.d.ts +2 -2
  729. package/features/security/LogIn/LogInGateway.js +18 -20
  730. package/features/security/LogIn/LogInGateway.js.map +1 -1
  731. package/features/security/LogIn/LogInRepository.js +16 -14
  732. package/features/security/LogIn/LogInRepository.js.map +1 -1
  733. package/features/security/LogIn/LogInUseCase.js +23 -31
  734. package/features/security/LogIn/LogInUseCase.js.map +1 -1
  735. package/features/security/LogIn/abstractions.js +5 -16
  736. package/features/security/LogIn/abstractions.js.map +1 -1
  737. package/features/security/LogIn/createLoginMutation.js +2 -3
  738. package/features/security/LogIn/createLoginMutation.js.map +1 -1
  739. package/features/security/LogIn/feature.js +16 -15
  740. package/features/security/LogIn/feature.js.map +1 -1
  741. package/features/security/LogIn/index.js +0 -2
  742. package/features/security/LogOut/LogOutUseCase.js +18 -16
  743. package/features/security/LogOut/LogOutUseCase.js.map +1 -1
  744. package/features/security/LogOut/abstractions.js +2 -1
  745. package/features/security/LogOut/abstractions.js.map +1 -1
  746. package/features/security/LogOut/feature.js +12 -11
  747. package/features/security/LogOut/feature.js.map +1 -1
  748. package/features/security/LogOut/index.js +0 -2
  749. package/features/security/SecurityFeature.js +9 -8
  750. package/features/security/SecurityFeature.js.map +1 -1
  751. package/features/telemetry/TelemetryService.js +11 -12
  752. package/features/telemetry/TelemetryService.js.map +1 -1
  753. package/features/telemetry/abstractions.js +2 -1
  754. package/features/telemetry/abstractions.js.map +1 -1
  755. package/features/telemetry/feature.js +13 -12
  756. package/features/telemetry/feature.js.map +1 -1
  757. package/features/telemetry/index.js +0 -2
  758. package/features/tenancy/GraphQLClientDecorator.js +23 -20
  759. package/features/tenancy/GraphQLClientDecorator.js.map +1 -1
  760. package/features/tenancy/TenantContext.js +46 -50
  761. package/features/tenancy/TenantContext.js.map +1 -1
  762. package/features/tenancy/abstractions.js +2 -1
  763. package/features/tenancy/abstractions.js.map +1 -1
  764. package/features/tenancy/feature.js +25 -35
  765. package/features/tenancy/feature.js.map +1 -1
  766. package/features/tenancy/types.js +0 -3
  767. package/features/tools/LexicalContext/LexicalContext.d.ts +14 -0
  768. package/features/tools/LexicalContext/LexicalContext.js +25 -0
  769. package/features/tools/LexicalContext/LexicalContext.js.map +1 -0
  770. package/features/tools/LexicalContext/abstractions.d.ts +11 -0
  771. package/features/tools/LexicalContext/abstractions.js +5 -0
  772. package/features/tools/LexicalContext/abstractions.js.map +1 -0
  773. package/features/tools/LexicalContext/index.d.ts +2 -0
  774. package/features/tools/LexicalContext/index.js +1 -0
  775. package/features/tools/ToolPipelineRunner.d.ts +10 -0
  776. package/features/tools/ToolPipelineRunner.js +35 -0
  777. package/features/tools/ToolPipelineRunner.js.map +1 -0
  778. package/features/tools/ToolRegistry.d.ts +12 -0
  779. package/features/tools/ToolRegistry.js +38 -0
  780. package/features/tools/ToolRegistry.js.map +1 -0
  781. package/features/tools/abstractions.d.ts +28 -0
  782. package/features/tools/abstractions.js +7 -0
  783. package/features/tools/abstractions.js.map +1 -0
  784. package/features/tools/feature.d.ts +4 -0
  785. package/features/tools/feature.js +22 -0
  786. package/features/tools/feature.js.map +1 -0
  787. package/features/tools/index.d.ts +3 -0
  788. package/features/tools/index.js +3 -0
  789. package/features/wcp/ReactLicense.d.ts +4 -0
  790. package/features/wcp/ReactLicense.js +53 -40
  791. package/features/wcp/ReactLicense.js.map +1 -1
  792. package/features/wcp/WcpGateway.d.ts +2 -2
  793. package/features/wcp/WcpGateway.js +26 -21
  794. package/features/wcp/WcpGateway.js.map +1 -1
  795. package/features/wcp/WcpService.js +57 -67
  796. package/features/wcp/WcpService.js.map +1 -1
  797. package/features/wcp/abstractions.js +3 -2
  798. package/features/wcp/abstractions.js.map +1 -1
  799. package/features/wcp/feature.js +14 -13
  800. package/features/wcp/feature.js.map +1 -1
  801. package/features/wcp/types.js +0 -3
  802. package/features/webinySdk/WebinySdk.d.ts +11 -0
  803. package/features/webinySdk/WebinySdk.js +28 -0
  804. package/features/webinySdk/WebinySdk.js.map +1 -0
  805. package/features/webinySdk/abstractions.d.ts +6 -0
  806. package/features/webinySdk/abstractions.js +5 -0
  807. package/features/webinySdk/abstractions.js.map +1 -0
  808. package/features/webinySdk/feature.d.ts +3 -0
  809. package/features/webinySdk/feature.js +17 -0
  810. package/features/webinySdk/feature.js.map +1 -0
  811. package/features/webinySdk/index.d.ts +2 -0
  812. package/features/webinySdk/index.js +2 -0
  813. package/hooks/index.d.ts +2 -0
  814. package/hooks/index.js +2 -2
  815. package/hooks/useConfirmationDialog.d.ts +1 -1
  816. package/hooks/useConfirmationDialog.js +31 -38
  817. package/hooks/useConfirmationDialog.js.map +1 -1
  818. package/hooks/useDialog.d.ts +9 -29
  819. package/hooks/useDialog.js +16 -25
  820. package/hooks/useDialog.js.map +1 -1
  821. package/hooks/useHotkeys.d.ts +9 -0
  822. package/hooks/useHotkeys.js +66 -0
  823. package/hooks/useHotkeys.js.map +1 -0
  824. package/hooks/useIsMounted.js +12 -11
  825. package/hooks/useIsMounted.js.map +1 -1
  826. package/hooks/useKeyHandler.js +46 -54
  827. package/hooks/useKeyHandler.js.map +1 -1
  828. package/hooks/useModKey.js +21 -26
  829. package/hooks/useModKey.js.map +1 -1
  830. package/hooks/useOpenDialog.d.ts +7 -0
  831. package/hooks/useOpenDialog.js +18 -0
  832. package/hooks/useOpenDialog.js.map +1 -0
  833. package/hooks/useShiftKey.d.ts +5 -1
  834. package/hooks/useShiftKey.js +38 -29
  835. package/hooks/useShiftKey.js.map +1 -1
  836. package/hooks/useSnackbar.d.ts +3 -0
  837. package/hooks/useSnackbar.js +26 -28
  838. package/hooks/useSnackbar.js.map +1 -1
  839. package/hooks/useStateIfMounted.js +14 -12
  840. package/hooks/useStateIfMounted.js.map +1 -1
  841. package/hooks/useStateWithCallback.js +18 -14
  842. package/hooks/useStateWithCallback.js.map +1 -1
  843. package/hooks/useToggler.js +12 -11
  844. package/hooks/useToggler.js.map +1 -1
  845. package/index.d.ts +25 -2
  846. package/index.js +23 -20
  847. package/package.json +57 -52
  848. package/permissions/PermissionRenderer.d.ts +6 -0
  849. package/permissions/PermissionRenderer.js +205 -0
  850. package/permissions/PermissionRenderer.js.map +1 -0
  851. package/permissions/PermissionValueContext.d.ts +11 -0
  852. package/permissions/PermissionValueContext.js +16 -0
  853. package/permissions/PermissionValueContext.js.map +1 -0
  854. package/permissions/createHasPermission.d.ts +4 -0
  855. package/permissions/createHasPermission.js +39 -0
  856. package/permissions/createHasPermission.js.map +1 -0
  857. package/permissions/createPermissionSchema.d.ts +2 -0
  858. package/permissions/createPermissionSchema.js +9 -0
  859. package/permissions/createPermissionSchema.js.map +1 -0
  860. package/permissions/createPermissions.d.ts +6 -0
  861. package/permissions/createPermissions.js +141 -0
  862. package/permissions/createPermissions.js.map +1 -0
  863. package/permissions/createPermissions.test.d.ts +1 -0
  864. package/permissions/createPermissions.test.js +209 -0
  865. package/permissions/createPermissions.test.js.map +1 -0
  866. package/permissions/index.d.ts +9 -0
  867. package/permissions/index.js +7 -0
  868. package/permissions/types.d.ts +267 -0
  869. package/permissions/types.js +0 -0
  870. package/permissions/usePermissionForm.d.ts +17 -0
  871. package/permissions/usePermissionForm.js +157 -0
  872. package/permissions/usePermissionForm.js.map +1 -0
  873. package/permissions/usePermissions.d.ts +4 -0
  874. package/permissions/usePermissions.js +10 -0
  875. package/permissions/usePermissions.js.map +1 -0
  876. package/plugins/MenuPlugin.js +15 -14
  877. package/plugins/MenuPlugin.js.map +1 -1
  878. package/presentation/browserFilePicker/BrowserFilePicker.d.ts +3 -0
  879. package/presentation/browserFilePicker/BrowserFilePicker.js +88 -0
  880. package/presentation/browserFilePicker/BrowserFilePicker.js.map +1 -0
  881. package/presentation/browserFilePicker/BrowserFilePickerPresenter.d.ts +10 -0
  882. package/presentation/browserFilePicker/BrowserFilePickerPresenter.js +84 -0
  883. package/presentation/browserFilePicker/BrowserFilePickerPresenter.js.map +1 -0
  884. package/presentation/browserFilePicker/index.d.ts +3 -0
  885. package/presentation/browserFilePicker/index.js +2 -0
  886. package/presentation/browserFilePicker/types.d.ts +53 -0
  887. package/presentation/browserFilePicker/types.js +0 -0
  888. package/presentation/browserFilePicker/utils.d.ts +2 -0
  889. package/presentation/browserFilePicker/utils.js +16 -0
  890. package/presentation/browserFilePicker/utils.js.map +1 -0
  891. package/presentation/buildParams/useBuildParams.d.ts +1 -0
  892. package/presentation/buildParams/useBuildParams.js +6 -0
  893. package/presentation/buildParams/useBuildParams.js.map +1 -0
  894. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +46 -53
  895. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -1
  896. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js +9 -14
  897. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js.map +1 -1
  898. package/presentation/installation/components/SystemInstaller/index.js +0 -2
  899. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +14 -29
  900. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
  901. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js +11 -10
  902. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js.map +1 -1
  903. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +60 -60
  904. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -1
  905. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js +75 -85
  906. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js.map +1 -1
  907. package/presentation/installation/components/SystemInstaller/steps/Center.js +5 -8
  908. package/presentation/installation/components/SystemInstaller/steps/Center.js.map +1 -1
  909. package/presentation/installation/components/SystemInstaller/steps/Container.js +18 -24
  910. package/presentation/installation/components/SystemInstaller/steps/Container.js.map +1 -1
  911. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +48 -53
  912. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -1
  913. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js +13 -16
  914. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js.map +1 -1
  915. package/presentation/installation/components/SystemInstaller/steps/introduction.js +723 -0
  916. package/presentation/installation/components/SystemInstaller/steps/introduction.js.map +1 -0
  917. package/presentation/installation/components/SystemInstaller/steps/referralSources.js +14 -1
  918. package/presentation/installation/components/SystemInstaller/steps/referralSources.js.map +1 -1
  919. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.d.ts +2 -2
  920. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js +28 -29
  921. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js.map +1 -1
  922. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +117 -124
  923. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  924. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js +23 -21
  925. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js.map +1 -1
  926. package/presentation/installation/presenters/SystemInstaller/abstractions.js +4 -3
  927. package/presentation/installation/presenters/SystemInstaller/abstractions.js.map +1 -1
  928. package/presentation/installation/presenters/SystemInstaller/feature.js +15 -14
  929. package/presentation/installation/presenters/SystemInstaller/feature.js.map +1 -1
  930. package/presentation/installation/presenters/SystemInstaller/index.js +0 -2
  931. package/presentation/lexicalContext/useLexicalContext.d.ts +3 -0
  932. package/presentation/lexicalContext/useLexicalContext.js +17 -0
  933. package/presentation/lexicalContext/useLexicalContext.js.map +1 -0
  934. package/presentation/listPresenter/ListPresenter.d.ts +30 -0
  935. package/presentation/listPresenter/ListPresenter.js +216 -0
  936. package/presentation/listPresenter/ListPresenter.js.map +1 -0
  937. package/presentation/listPresenter/ListPresenter.test.d.ts +1 -0
  938. package/presentation/listPresenter/ListPresenter.test.js +816 -0
  939. package/presentation/listPresenter/ListPresenter.test.js.map +1 -0
  940. package/presentation/listPresenter/SelectionController.d.ts +21 -0
  941. package/presentation/listPresenter/SelectionController.js +74 -0
  942. package/presentation/listPresenter/SelectionController.js.map +1 -0
  943. package/presentation/listPresenter/abstractions.d.ts +107 -0
  944. package/presentation/listPresenter/abstractions.js +5 -0
  945. package/presentation/listPresenter/abstractions.js.map +1 -0
  946. package/presentation/listPresenter/feature.d.ts +3 -0
  947. package/presentation/listPresenter/feature.js +17 -0
  948. package/presentation/listPresenter/feature.js.map +1 -0
  949. package/presentation/listPresenter/index.d.ts +3 -0
  950. package/presentation/listPresenter/index.js +2 -0
  951. package/presentation/security/components/HasPermission.js +15 -25
  952. package/presentation/security/components/HasPermission.js.map +1 -1
  953. package/presentation/security/components/SecureRoute.js +6 -12
  954. package/presentation/security/components/SecureRoute.js.map +1 -1
  955. package/presentation/security/hooks/useAuthentication.js +11 -17
  956. package/presentation/security/hooks/useAuthentication.js.map +1 -1
  957. package/presentation/security/hooks/useIdentity.js +19 -18
  958. package/presentation/security/hooks/useIdentity.js.map +1 -1
  959. package/presentation/security/hooks/useSecurity.js +14 -24
  960. package/presentation/security/hooks/useSecurity.js.map +1 -1
  961. package/presentation/tenancy/TenancyProvider.js +23 -36
  962. package/presentation/tenancy/TenancyProvider.js.map +1 -1
  963. package/presentation/tenancy/createTenancyProvider.js +6 -11
  964. package/presentation/tenancy/createTenancyProvider.js.map +1 -1
  965. package/presentation/tenancy/useTenantContext.js +17 -18
  966. package/presentation/tenancy/useTenantContext.js.map +1 -1
  967. package/presentation/textToLexicalTool/TextToLexicalTool.d.ts +30 -0
  968. package/presentation/textToLexicalTool/TextToLexicalTool.js +31 -0
  969. package/presentation/textToLexicalTool/TextToLexicalTool.js.map +1 -0
  970. package/presentation/textToLexicalTool/feature.d.ts +1 -0
  971. package/presentation/textToLexicalTool/feature.js +11 -0
  972. package/presentation/textToLexicalTool/feature.js.map +1 -0
  973. package/presentation/textToLexicalTool/textToLexicalState.d.ts +6 -0
  974. package/presentation/textToLexicalTool/textToLexicalState.js +31 -0
  975. package/presentation/textToLexicalTool/textToLexicalState.js.map +1 -0
  976. package/presentation/wcp/WcpProvider.js +17 -20
  977. package/presentation/wcp/WcpProvider.js.map +1 -1
  978. package/presentation/wcp/useWcp.js +11 -12
  979. package/presentation/wcp/useWcp.js.map +1 -1
  980. package/routes.d.ts +1 -1
  981. package/routes.js +14 -13
  982. package/routes.js.map +1 -1
  983. package/static/svg/SecureRouteError.e8b15981.svg +1 -0
  984. package/static/svg/add-18px.b3062af6.svg +3 -0
  985. package/static/svg/arrow_drop_down-24px.da74d713.svg +4 -0
  986. package/static/svg/attach_file_black_24dp.7fb13a7e.svg +1 -0
  987. package/static/svg/baseline-menu-24px.071b179d.svg +4 -0
  988. package/static/svg/baseline-notification_important-24px.29277e73.svg +4 -0
  989. package/static/svg/baseline-security-24px.12e519cc.svg +4 -0
  990. package/static/svg/file_download.afe3fbec.svg +1 -0
  991. package/static/svg/file_upload.6865d820.svg +1 -0
  992. package/static/svg/filter-24px.886d9ff0.svg +8 -0
  993. package/static/svg/github-brands.6311f0fa.svg +1 -0
  994. package/static/svg/highlight-24px.959a97f7.svg +1 -0
  995. package/static/svg/icon-community.cd087355.svg +16 -0
  996. package/static/svg/icon-documentation.a189d24c.svg +16 -0
  997. package/static/svg/info.fe810b72.svg +1 -0
  998. package/static/svg/insert_drive_file-24px.39d490eb.svg +1 -0
  999. package/static/svg/insert_photo-24px.81a5f945.svg +1 -0
  1000. package/static/svg/introduction.108720aa.svg +154 -0
  1001. package/static/svg/label-24px.9deafa4f.svg +1 -0
  1002. package/static/svg/round-account_circle-24px.f0b48cb7.svg +1 -0
  1003. package/static/svg/round-add-24px.4a5219b4.svg +16 -0
  1004. package/static/svg/round-arrow_drop_down-24px.5fdf92d1.svg +1 -0
  1005. package/static/svg/round-chevron_right-24px.34936511.svg +12 -0
  1006. package/static/svg/round-feedback-24px.4dae7231.svg +54 -0
  1007. package/static/svg/round-help-24px.a61b1d66.svg +1 -0
  1008. package/static/svg/round-invert_colors-24px.a229a1dd.svg +52 -0
  1009. package/static/svg/round-keyboard_arrow_down-24px.6febe804.svg +16 -0
  1010. package/static/svg/round-keyboard_arrow_up-24px.b1f7db34.svg +16 -0
  1011. package/static/svg/round-lock_open-24px.d527f6a5.svg +60 -0
  1012. package/static/svg/round-more_vert-24px.68d41b07.svg +12 -0
  1013. package/static/svg/round-open_in_new-24px.be5b4ddd.svg +44 -0
  1014. package/static/svg/round-settings-24px.c0b3056f.svg +4 -0
  1015. package/static/svg/search-24px.3c0f88dd.svg +20 -0
  1016. package/static/svg/slack-logo.7ee35e7f.svg +1 -0
  1017. package/static/svg/today-24px.df206362.svg +1 -0
  1018. package/static/svg/touch_app.debf3744.svg +1 -0
  1019. package/static/svg/wby-horizontal.03327bf6.svg +23 -0
  1020. package/static/svg/wby-square.ff8f47c3.svg +3 -0
  1021. package/static/svg/webiny-logo.ef56725c.svg +20 -0
  1022. package/static/svg/webiny-orange-logo.4eccf0f2.svg +20 -0
  1023. package/types.d.ts +0 -7
  1024. package/types.js +0 -3
  1025. package/base/Base/LexicalPreset/LinkEditForm.d.ts +0 -6
  1026. package/base/Base/LexicalPreset/LinkEditForm.js +0 -63
  1027. package/base/Base/LexicalPreset/LinkEditForm.js.map +0 -1
  1028. package/components/BulkActions/index.js.map +0 -1
  1029. package/components/BulkActions/useDialogWithReport/index.js.map +0 -1
  1030. package/components/Buttons/index.js.map +0 -1
  1031. package/components/Filters/index.js.map +0 -1
  1032. package/components/FloatingPanel.d.ts +0 -13
  1033. package/components/FloatingPanel.js +0 -94
  1034. package/components/FloatingPanel.js.map +0 -1
  1035. package/components/IconPicker/components/index.js.map +0 -1
  1036. package/components/IconPicker/index.js.map +0 -1
  1037. package/components/LexicalEditor/index.js.map +0 -1
  1038. package/components/NavigationPrompt.d.ts +0 -27
  1039. package/components/NavigationPrompt.js +0 -39
  1040. package/components/NavigationPrompt.js.map +0 -1
  1041. package/components/NotAuthorizedError/index.js.map +0 -1
  1042. package/components/OptionsMenu/index.js.map +0 -1
  1043. package/components/OverlayLayout/components/index.js.map +0 -1
  1044. package/components/OverlayLayout/index.js.map +0 -1
  1045. package/components/Permissions/index.js.map +0 -1
  1046. package/components/ResizablePanels/index.js.map +0 -1
  1047. package/components/SimpleForm/index.js.map +0 -1
  1048. package/components/SplitView/index.js.map +0 -1
  1049. package/components/StateInspector.d.ts +0 -8
  1050. package/components/StateInspector.js +0 -36
  1051. package/components/StateInspector.js.map +0 -1
  1052. package/components/index.js.map +0 -1
  1053. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +0 -1
  1054. package/config/AdminConfig/Menu/UserMenu/types.js.map +0 -1
  1055. package/config/AdminConfig/Menu/types.js.map +0 -1
  1056. package/config/AdminConfig/Theme/types.js.map +0 -1
  1057. package/exports/admin/buildParams.d.ts +0 -1
  1058. package/exports/admin/buildParams.js +0 -3
  1059. package/exports/admin/buildParams.js.map +0 -1
  1060. package/exports/admin/configs.js.map +0 -1
  1061. package/exports/admin/security.js.map +0 -1
  1062. package/exports/admin/tenancy.js.map +0 -1
  1063. package/exports/admin/ui.js.map +0 -1
  1064. package/exports/admin.js.map +0 -1
  1065. package/extensions/AdminBuildParam.d.ts +0 -11
  1066. package/extensions/AdminBuildParam.js +0 -184
  1067. package/extensions/AdminBuildParam.js.map +0 -1
  1068. package/extensions/AdminExtension.d.ts +0 -11
  1069. package/extensions/AdminExtension.js +0 -105
  1070. package/extensions/AdminExtension.js.map +0 -1
  1071. package/extensions/index.d.ts +0 -23
  1072. package/extensions/index.js +0 -7
  1073. package/extensions/index.js.map +0 -1
  1074. package/features/buildParams/index.js.map +0 -1
  1075. package/features/security/AuthenticationContext/index.js.map +0 -1
  1076. package/features/security/AuthenticationContext/types.js.map +0 -1
  1077. package/features/security/IdentityContext/index.js.map +0 -1
  1078. package/features/security/LogIn/index.js.map +0 -1
  1079. package/features/security/LogOut/index.js.map +0 -1
  1080. package/features/telemetry/index.js.map +0 -1
  1081. package/features/tenancy/types.js.map +0 -1
  1082. package/features/wcp/types.js.map +0 -1
  1083. package/hooks/index.js.map +0 -1
  1084. package/index.js.map +0 -1
  1085. package/plugins/PermissionRendererPlugin.d.ts +0 -22
  1086. package/plugins/PermissionRendererPlugin.js +0 -19
  1087. package/plugins/PermissionRendererPlugin.js.map +0 -1
  1088. package/presentation/installation/components/SystemInstaller/index.js.map +0 -1
  1089. package/presentation/installation/presenters/SystemInstaller/index.js.map +0 -1
  1090. package/types.js.map +0 -1
@@ -0,0 +1,205 @@
1
+ import react, { Fragment, useCallback, useMemo } from "react";
2
+ import { CheckboxGroup, Grid, Select } from "@webiny/admin-ui";
3
+ import { Form } from "@webiny/form";
4
+ import { CannotUseAaclAlert, PermissionInfo, PermissionsGroup } from "../components/Permissions/index.js";
5
+ import { usePermissionForm } from "./usePermissionForm.js";
6
+ import { usePermissionValue } from "./PermissionValueContext.js";
7
+ import { useAuthentication } from "../exports/admin/security.js";
8
+ const NO_ACCESS = "no";
9
+ const FULL_ACCESS = "full";
10
+ const READ_ONLY_ACCESS = "read-only";
11
+ const CUSTOM_ACCESS = "custom";
12
+ const RWD_OPTIONS = [
13
+ {
14
+ value: "r",
15
+ label: "Read"
16
+ },
17
+ {
18
+ value: "rw",
19
+ label: "Read, write"
20
+ },
21
+ {
22
+ value: "rwd",
23
+ label: "Read, write, delete"
24
+ }
25
+ ];
26
+ const PW_OPTIONS = [
27
+ {
28
+ value: "p",
29
+ label: "Publish"
30
+ },
31
+ {
32
+ value: "u",
33
+ label: "Unpublish"
34
+ }
35
+ ];
36
+ function hasAction(entity, name) {
37
+ return entity.actions?.some((a)=>a.name === name) ?? false;
38
+ }
39
+ function buildScopeOptions(entity) {
40
+ const options = [
41
+ {
42
+ value: NO_ACCESS,
43
+ label: "No access"
44
+ }
45
+ ];
46
+ if (entity.scopes.includes("full")) options.push({
47
+ value: FULL_ACCESS,
48
+ label: "Full access"
49
+ });
50
+ if (entity.scopes.includes("own")) options.push({
51
+ value: "own",
52
+ label: "Only entries created by the user"
53
+ });
54
+ return options;
55
+ }
56
+ const BUILTIN_ACTIONS = new Set([
57
+ "rwd",
58
+ "pw"
59
+ ]);
60
+ function getCustomActions(entity) {
61
+ return (entity.actions ?? []).filter((a)=>!BUILTIN_ACTIONS.has(a.name));
62
+ }
63
+ function EntitySection({ entity, data, cannotUseAAcl, Bind, setValue }) {
64
+ const scopeField = `${entity.id}AccessScope`;
65
+ const currentScope = data[scopeField];
66
+ const scopeDisabled = cannotUseAAcl || !currentScope || currentScope === NO_ACCESS;
67
+ const customActions = useMemo(()=>getCustomActions(entity), [
68
+ entity
69
+ ]);
70
+ const customActionsValue = useMemo(()=>customActions.filter((a)=>data[`${entity.id}Action_${a.name}`]).map((a)=>a.name), [
71
+ data,
72
+ customActions,
73
+ entity.id
74
+ ]);
75
+ const onCustomActionsChange = useCallback((selected)=>{
76
+ const selectedSet = new Set(selected);
77
+ for (const action of customActions)setValue(`${entity.id}Action_${action.name}`, selectedSet.has(action.name));
78
+ }, [
79
+ customActions,
80
+ entity.id,
81
+ setValue
82
+ ]);
83
+ const columns = [
84
+ /*#__PURE__*/ react.createElement(Grid.Column, {
85
+ span: 12,
86
+ key: "access"
87
+ }, /*#__PURE__*/ react.createElement(Bind, {
88
+ name: scopeField,
89
+ beforeChange: (value, cb)=>{
90
+ if ("own" === value && hasAction(entity, "rwd")) setValue(`${entity.id}RWD`, "rwd");
91
+ cb(value);
92
+ }
93
+ }, /*#__PURE__*/ react.createElement(Select, {
94
+ label: "Access Scope",
95
+ disabled: cannotUseAAcl,
96
+ options: buildScopeOptions(entity)
97
+ })))
98
+ ];
99
+ if (hasAction(entity, "rwd")) columns.push(/*#__PURE__*/ react.createElement(Grid.Column, {
100
+ span: 12,
101
+ key: "rwd"
102
+ }, /*#__PURE__*/ react.createElement(Bind, {
103
+ name: `${entity.id}RWD`
104
+ }, /*#__PURE__*/ react.createElement(Select, {
105
+ label: "Primary Actions",
106
+ disabled: scopeDisabled || "own" === currentScope,
107
+ options: RWD_OPTIONS
108
+ }))));
109
+ if (hasAction(entity, "pw")) columns.push(/*#__PURE__*/ react.createElement(Grid.Column, {
110
+ span: 12,
111
+ key: "pw"
112
+ }, /*#__PURE__*/ react.createElement(Bind, {
113
+ name: `${entity.id}PW`
114
+ }, /*#__PURE__*/ react.createElement(CheckboxGroup, {
115
+ label: "Publishing actions",
116
+ description: "Publishing-related actions that can be performed on entries.",
117
+ items: PW_OPTIONS.map((opt)=>({
118
+ ...opt,
119
+ disabled: scopeDisabled
120
+ }))
121
+ }))));
122
+ if (customActions.length > 0) columns.push(/*#__PURE__*/ react.createElement(Grid.Column, {
123
+ span: 12,
124
+ key: "other"
125
+ }, /*#__PURE__*/ react.createElement(CheckboxGroup, {
126
+ label: "Other Actions",
127
+ value: customActionsValue,
128
+ onChange: onCustomActionsChange,
129
+ items: customActions.map((action)=>({
130
+ value: action.name,
131
+ label: action.label || action.name,
132
+ disabled: scopeDisabled
133
+ }))
134
+ })));
135
+ return /*#__PURE__*/ react.createElement(PermissionsGroup, {
136
+ title: entity.title || entity.id
137
+ }, /*#__PURE__*/ react.createElement(Grid, null, columns));
138
+ }
139
+ const PermissionRenderer = ({ schema })=>{
140
+ const { value, onChange } = usePermissionValue();
141
+ const { identity } = useAuthentication();
142
+ const cannotUseAAcl = useMemo(()=>!identity.getPermission("aacl", true), []);
143
+ const { formData, onFormChange } = usePermissionForm(schema, {
144
+ value,
145
+ onChange
146
+ });
147
+ const entities = schema.entities || [];
148
+ const hasEntities = entities.length > 0;
149
+ const accessLevelOptions = useMemo(()=>{
150
+ const options = [
151
+ {
152
+ value: NO_ACCESS,
153
+ label: "No access"
154
+ }
155
+ ];
156
+ if (schema.readOnlyAccess) options.push({
157
+ value: READ_ONLY_ACCESS,
158
+ label: "Read-only access"
159
+ });
160
+ options.push({
161
+ value: FULL_ACCESS,
162
+ label: "Full access"
163
+ });
164
+ if (hasEntities) options.push({
165
+ value: CUSTOM_ACCESS,
166
+ label: "Custom access"
167
+ });
168
+ return options;
169
+ }, [
170
+ schema,
171
+ hasEntities
172
+ ]);
173
+ return /*#__PURE__*/ react.createElement(Form, {
174
+ data: formData,
175
+ onChange: onFormChange
176
+ }, ({ data, Bind, setValue })=>/*#__PURE__*/ react.createElement(Fragment, null, /*#__PURE__*/ react.createElement(Grid, {
177
+ className: "pt-md"
178
+ }, /*#__PURE__*/ react.createElement(Grid.Column, {
179
+ span: 12
180
+ }, data.accessLevel === CUSTOM_ACCESS && cannotUseAAcl && /*#__PURE__*/ react.createElement(CannotUseAaclAlert, null))), /*#__PURE__*/ react.createElement(Grid, {
181
+ className: "pt-md"
182
+ }, /*#__PURE__*/ react.createElement(Grid.Column, {
183
+ span: 6
184
+ }, /*#__PURE__*/ react.createElement(PermissionInfo, {
185
+ title: "Access Level"
186
+ })), /*#__PURE__*/ react.createElement(Grid.Column, {
187
+ span: 6
188
+ }, /*#__PURE__*/ react.createElement(Bind, {
189
+ name: "accessLevel"
190
+ }, /*#__PURE__*/ react.createElement(Select, {
191
+ options: accessLevelOptions
192
+ })))), data.accessLevel === CUSTOM_ACCESS && hasEntities && /*#__PURE__*/ react.createElement("div", {
193
+ className: "mt-lg"
194
+ }, entities.map((entity)=>/*#__PURE__*/ react.createElement(EntitySection, {
195
+ key: entity.id,
196
+ entity: entity,
197
+ data: data,
198
+ cannotUseAAcl: cannotUseAAcl,
199
+ Bind: Bind,
200
+ setValue: setValue
201
+ })))));
202
+ };
203
+ export { PermissionRenderer };
204
+
205
+ //# sourceMappingURL=PermissionRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions/PermissionRenderer.js","sources":["../../src/permissions/PermissionRenderer.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useMemo } from \"react\";\nimport { CheckboxGroup, Grid, Select } from \"@webiny/admin-ui\";\nimport { Form } from \"@webiny/form\";\nimport type { BindComponent } from \"@webiny/form\";\nimport {\n CannotUseAaclAlert,\n PermissionInfo,\n PermissionsGroup\n} from \"../components/Permissions/index.js\";\nimport { usePermissionForm } from \"./usePermissionForm.js\";\nimport type { AaclPermission } from \"../features/wcp/types.js\";\nimport type { ActionDefinition, PermissionSchema, EntityDefinition } from \"./types.js\";\nimport { usePermissionValue } from \"./PermissionValueContext.js\";\nimport { useAuthentication } from \"~/exports/admin/security.js\";\n\nexport interface PermissionRendererProps {\n schema: PermissionSchema;\n}\n\nconst NO_ACCESS = \"no\";\nconst FULL_ACCESS = \"full\";\nconst READ_ONLY_ACCESS = \"read-only\";\nconst CUSTOM_ACCESS = \"custom\";\n\nconst RWD_OPTIONS = [\n { value: \"r\", label: \"Read\" },\n { value: \"rw\", label: \"Read, write\" },\n { value: \"rwd\", label: \"Read, write, delete\" }\n];\n\nconst PW_OPTIONS = [\n { value: \"p\", label: \"Publish\" },\n { value: \"u\", label: \"Unpublish\" }\n];\n\nfunction hasAction(entity: EntityDefinition, name: string): boolean {\n return entity.actions?.some(a => a.name === name) ?? false;\n}\n\nfunction buildScopeOptions(entity: EntityDefinition) {\n const options = [{ value: NO_ACCESS, label: \"No access\" }];\n\n if (entity.scopes.includes(\"full\")) {\n options.push({ value: FULL_ACCESS, label: \"Full access\" });\n }\n\n if (entity.scopes.includes(\"own\")) {\n options.push({ value: \"own\", label: \"Only entries created by the user\" });\n }\n\n return options;\n}\n\nconst BUILTIN_ACTIONS = new Set([\"rwd\", \"pw\"]);\n\nfunction getCustomActions(entity: EntityDefinition): ActionDefinition[] {\n return (entity.actions ?? []).filter(a => !BUILTIN_ACTIONS.has(a.name));\n}\n\ninterface EntitySectionProps {\n entity: EntityDefinition;\n data: Record<string, any>;\n cannotUseAAcl: boolean;\n Bind: BindComponent;\n setValue: (name: string, value: any) => void;\n}\n\nfunction EntitySection({ entity, data, cannotUseAAcl, Bind, setValue }: EntitySectionProps) {\n const scopeField = `${entity.id}AccessScope`;\n const currentScope = data[scopeField];\n const scopeDisabled = cannotUseAAcl || !currentScope || currentScope === NO_ACCESS;\n const customActions = useMemo(() => getCustomActions(entity), [entity]);\n\n // Derive the selected values array from individual boolean form fields.\n const customActionsValue = useMemo(() => {\n return customActions.filter(a => data[`${entity.id}Action_${a.name}`]).map(a => a.name);\n }, [data, customActions, entity.id]);\n\n const onCustomActionsChange = useCallback(\n (selected: string[]) => {\n const selectedSet = new Set(selected);\n for (const action of customActions) {\n setValue(`${entity.id}Action_${action.name}`, selectedSet.has(action.name));\n }\n },\n [customActions, entity.id, setValue]\n );\n\n const columns = [\n <Grid.Column span={12} key={\"access\"}>\n <Bind\n name={scopeField}\n beforeChange={(value: string, cb: (v: string) => void) => {\n if (value === \"own\" && hasAction(entity, \"rwd\")) {\n setValue(`${entity.id}RWD`, \"rwd\");\n }\n cb(value);\n }}\n >\n <Select\n label={\"Access Scope\"}\n disabled={cannotUseAAcl}\n options={buildScopeOptions(entity)}\n />\n </Bind>\n </Grid.Column>\n ];\n\n if (hasAction(entity, \"rwd\")) {\n columns.push(\n <Grid.Column span={12} key={\"rwd\"}>\n <Bind name={`${entity.id}RWD`}>\n <Select\n label={\"Primary Actions\"}\n disabled={scopeDisabled || currentScope === \"own\"}\n options={RWD_OPTIONS}\n />\n </Bind>\n </Grid.Column>\n );\n }\n\n if (hasAction(entity, \"pw\")) {\n columns.push(\n <Grid.Column span={12} key={\"pw\"}>\n <Bind name={`${entity.id}PW`}>\n <CheckboxGroup\n label={\"Publishing actions\"}\n description={\"Publishing-related actions that can be performed on entries.\"}\n items={PW_OPTIONS.map(opt => ({\n ...opt,\n disabled: scopeDisabled\n }))}\n />\n </Bind>\n </Grid.Column>\n );\n }\n\n if (customActions.length > 0) {\n columns.push(\n <Grid.Column span={12} key={\"other\"}>\n <CheckboxGroup\n label={\"Other Actions\"}\n value={customActionsValue}\n onChange={onCustomActionsChange}\n items={customActions.map(action => ({\n value: action.name,\n label: action.label || action.name,\n disabled: scopeDisabled\n }))}\n />\n </Grid.Column>\n );\n }\n\n return (\n <PermissionsGroup title={entity.title || entity.id}>\n <Grid>{columns}</Grid>\n </PermissionsGroup>\n );\n}\n\nexport const PermissionRenderer = ({ schema }: PermissionRendererProps) => {\n const { value, onChange } = usePermissionValue();\n const { identity } = useAuthentication();\n\n const cannotUseAAcl = useMemo(() => {\n return !identity.getPermission<AaclPermission>(\"aacl\", true);\n }, []);\n\n const { formData, onFormChange } = usePermissionForm(schema, { value, onChange });\n\n const entities = schema.entities || [];\n const hasEntities = entities.length > 0;\n\n const accessLevelOptions = useMemo(() => {\n const options = [{ value: NO_ACCESS, label: \"No access\" }];\n\n if (schema.readOnlyAccess) {\n options.push({ value: READ_ONLY_ACCESS, label: \"Read-only access\" });\n }\n\n options.push({ value: FULL_ACCESS, label: \"Full access\" });\n\n if (hasEntities) {\n options.push({ value: CUSTOM_ACCESS, label: \"Custom access\" });\n }\n\n return options;\n }, [schema, hasEntities]);\n\n return (\n <Form data={formData} onChange={onFormChange}>\n {({ data, Bind, setValue }) => (\n <Fragment>\n <Grid className={\"pt-md\"}>\n <Grid.Column span={12}>\n {data.accessLevel === CUSTOM_ACCESS && cannotUseAAcl && (\n <CannotUseAaclAlert />\n )}\n </Grid.Column>\n </Grid>\n <Grid className={\"pt-md\"}>\n <Grid.Column span={6}>\n <PermissionInfo title={\"Access Level\"} />\n </Grid.Column>\n <Grid.Column span={6}>\n <Bind name={\"accessLevel\"}>\n <Select options={accessLevelOptions} />\n </Bind>\n </Grid.Column>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && hasEntities && (\n <div className={\"mt-lg\"}>\n {entities.map(entity => (\n <EntitySection\n key={entity.id}\n entity={entity}\n data={data}\n cannotUseAAcl={cannotUseAAcl}\n Bind={Bind}\n setValue={setValue}\n />\n ))}\n </div>\n )}\n </Fragment>\n )}\n </Form>\n );\n};\n"],"names":["NO_ACCESS","FULL_ACCESS","READ_ONLY_ACCESS","CUSTOM_ACCESS","RWD_OPTIONS","PW_OPTIONS","hasAction","entity","name","a","buildScopeOptions","options","BUILTIN_ACTIONS","Set","getCustomActions","EntitySection","data","cannotUseAAcl","Bind","setValue","scopeField","currentScope","scopeDisabled","customActions","useMemo","customActionsValue","onCustomActionsChange","useCallback","selected","selectedSet","action","columns","Grid","value","cb","Select","CheckboxGroup","opt","PermissionsGroup","PermissionRenderer","schema","onChange","usePermissionValue","identity","useAuthentication","formData","onFormChange","usePermissionForm","entities","hasEntities","accessLevelOptions","Form","Fragment","CannotUseAaclAlert","PermissionInfo"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { Permission } from "./types.js";
3
+ interface PermissionValueContextValue {
4
+ value: Permission[];
5
+ onChange: (value: Permission[]) => void;
6
+ }
7
+ export declare const PermissionValueProvider: ({ value, onChange, children }: PermissionValueContextValue & {
8
+ children: React.ReactNode;
9
+ }) => React.JSX.Element;
10
+ export declare function usePermissionValue(): PermissionValueContextValue;
11
+ export {};
@@ -0,0 +1,16 @@
1
+ import react, { useContext } from "react";
2
+ const PermissionValueContext = /*#__PURE__*/ react.createContext(null);
3
+ const PermissionValueProvider = ({ value, onChange, children })=>/*#__PURE__*/ react.createElement(PermissionValueContext.Provider, {
4
+ value: {
5
+ value,
6
+ onChange
7
+ }
8
+ }, children);
9
+ function usePermissionValue() {
10
+ const ctx = useContext(PermissionValueContext);
11
+ if (!ctx) throw new Error("usePermissionValue must be used within a PermissionValueProvider");
12
+ return ctx;
13
+ }
14
+ export { PermissionValueProvider, usePermissionValue };
15
+
16
+ //# sourceMappingURL=PermissionValueContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions/PermissionValueContext.js","sources":["../../src/permissions/PermissionValueContext.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport type { Permission } from \"./types.js\";\n\ninterface PermissionValueContextValue {\n value: Permission[];\n onChange: (value: Permission[]) => void;\n}\n\nconst PermissionValueContext = React.createContext<PermissionValueContextValue | null>(null);\n\nexport const PermissionValueProvider = ({\n value,\n onChange,\n children\n}: PermissionValueContextValue & { children: React.ReactNode }) => {\n return (\n <PermissionValueContext.Provider value={{ value, onChange }}>\n {children}\n </PermissionValueContext.Provider>\n );\n};\n\nexport function usePermissionValue(): PermissionValueContextValue {\n const ctx = useContext(PermissionValueContext);\n if (!ctx) {\n throw new Error(\"usePermissionValue must be used within a PermissionValueProvider\");\n }\n return ctx;\n}\n"],"names":["PermissionValueContext","React","PermissionValueProvider","value","onChange","children","usePermissionValue","ctx","useContext","Error"],"mappings":";AAQA,MAAMA,yBAAyB,WAAHA,GAAGC,MAAAA,aAAmB,CAAqC;AAEhF,MAAMC,0BAA0B,CAAC,EACpCC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACkD,GACnD,WAAP,GACI,oBAACL,uBAAuB,QAAQ;QAAC,OAAO;YAAEG;YAAOC;QAAS;OACrDC;AAKN,SAASC;IACZ,MAAMC,MAAMC,WAAWR;IACvB,IAAI,CAACO,KACD,MAAM,IAAIE,MAAM;IAEpB,OAAOF;AACX"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { Abstraction } from "@webiny/di";
3
+ import type { HasPermissionProps, PermissionSchemaConfig, UsePermissionsResult } from "./types.js";
4
+ export declare function createHasPermission<const S extends PermissionSchemaConfig>(abstraction: Abstraction<UsePermissionsResult<S>>): React.FC<HasPermissionProps<S>>;
@@ -0,0 +1,39 @@
1
+ import react from "react";
2
+ import { useContainer } from "@webiny/app";
3
+ const BUILT_IN_ACTIONS = {
4
+ read: "canRead",
5
+ create: "canCreate",
6
+ edit: "canEdit",
7
+ delete: "canDelete",
8
+ publish: "canPublish",
9
+ unpublish: "canUnpublish"
10
+ };
11
+ function createHasPermission(abstraction) {
12
+ return function({ children, ...props }) {
13
+ const container = useContainer();
14
+ const permissions = container.resolve(abstraction);
15
+ const action = props.action;
16
+ const someActions = props.someActions;
17
+ const allActions = props.allActions;
18
+ const entities = props.entity ? [
19
+ props.entity
20
+ ] : props.any ?? props.all ?? [];
21
+ const requireAll = !!props.all;
22
+ const checkAction = (entityId, singleAction)=>{
23
+ if (!singleAction) return permissions.canAccess(entityId);
24
+ const method = BUILT_IN_ACTIONS[singleAction];
25
+ if (method && "function" == typeof permissions[method]) return permissions[method](entityId);
26
+ return permissions.canAction(singleAction, entityId);
27
+ };
28
+ const check = (entityId)=>{
29
+ if (allActions) return allActions.every((act)=>checkAction(entityId, act));
30
+ if (someActions) return someActions.some((act)=>checkAction(entityId, act));
31
+ return checkAction(entityId, action);
32
+ };
33
+ const allowed = requireAll ? entities.every(check) : entities.some(check);
34
+ return allowed ? /*#__PURE__*/ react.createElement(react.Fragment, null, children) : null;
35
+ };
36
+ }
37
+ export { createHasPermission };
38
+
39
+ //# sourceMappingURL=createHasPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions/createHasPermission.js","sources":["../../src/permissions/createHasPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport type { Abstraction } from \"@webiny/di\";\nimport type { HasPermissionProps, PermissionSchemaConfig, UsePermissionsResult } from \"./types.js\";\nimport { useContainer } from \"@webiny/app\";\n\nconst BUILT_IN_ACTIONS: Record<string, string> = {\n read: \"canRead\",\n create: \"canCreate\",\n edit: \"canEdit\",\n delete: \"canDelete\",\n publish: \"canPublish\",\n unpublish: \"canUnpublish\"\n};\n\nexport function createHasPermission<const S extends PermissionSchemaConfig>(\n abstraction: Abstraction<UsePermissionsResult<S>>\n): React.FC<HasPermissionProps<S>> {\n return function HasPermission({ children, ...props }) {\n const container = useContainer();\n const permissions = container.resolve(abstraction);\n\n const action = props.action as string | undefined;\n const someActions = props.someActions as string[] | undefined;\n const allActions = props.allActions as string[] | undefined;\n const entities: string[] = props.entity ? [props.entity] : (props.any ?? props.all ?? []);\n const requireAll = !!props.all;\n\n const checkAction = (entityId: string, singleAction: string | undefined): boolean => {\n if (!singleAction) {\n return permissions.canAccess(entityId);\n }\n const method = BUILT_IN_ACTIONS[singleAction] as keyof typeof permissions;\n if (method && typeof permissions[method] === \"function\") {\n return (permissions[method] as (entityId: string) => boolean)(entityId);\n }\n return (permissions.canAction as (action: string, entityId: string) => boolean)(\n singleAction,\n entityId\n );\n };\n\n const check = (entityId: string): boolean => {\n if (allActions) {\n return allActions.every(act => checkAction(entityId, act));\n }\n if (someActions) {\n return someActions.some(act => checkAction(entityId, act));\n }\n return checkAction(entityId, action);\n };\n\n const allowed = requireAll ? entities.every(check) : entities.some(check);\n\n return allowed ? <>{children}</> : null;\n };\n}\n"],"names":["BUILT_IN_ACTIONS","createHasPermission","abstraction","children","props","container","useContainer","permissions","action","someActions","allActions","entities","requireAll","checkAction","entityId","singleAction","method","check","act","allowed"],"mappings":";;AAKA,MAAMA,mBAA2C;IAC7C,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;AACf;AAEO,SAASC,oBACZC,WAAiD;IAEjD,OAAO,SAAuB,EAAEC,QAAQ,EAAE,GAAGC,OAAO;QAChD,MAAMC,YAAYC;QAClB,MAAMC,cAAcF,UAAU,OAAO,CAACH;QAEtC,MAAMM,SAASJ,MAAM,MAAM;QAC3B,MAAMK,cAAcL,MAAM,WAAW;QACrC,MAAMM,aAAaN,MAAM,UAAU;QACnC,MAAMO,WAAqBP,MAAM,MAAM,GAAG;YAACA,MAAM,MAAM;SAAC,GAAIA,MAAM,GAAG,IAAIA,MAAM,GAAG,IAAI,EAAE;QACxF,MAAMQ,aAAa,CAAC,CAACR,MAAM,GAAG;QAE9B,MAAMS,cAAc,CAACC,UAAkBC;YACnC,IAAI,CAACA,cACD,OAAOR,YAAY,SAAS,CAACO;YAEjC,MAAME,SAAShB,gBAAgB,CAACe,aAAa;YAC7C,IAAIC,UAAU,AAA+B,cAA/B,OAAOT,WAAW,CAACS,OAAO,EACpC,OAAQT,WAAW,CAACS,OAAO,CAAmCF;YAElE,OAAQP,YAAY,SAAS,CACzBQ,cACAD;QAER;QAEA,MAAMG,QAAQ,CAACH;YACX,IAAIJ,YACA,OAAOA,WAAW,KAAK,CAACQ,CAAAA,MAAOL,YAAYC,UAAUI;YAEzD,IAAIT,aACA,OAAOA,YAAY,IAAI,CAACS,CAAAA,MAAOL,YAAYC,UAAUI;YAEzD,OAAOL,YAAYC,UAAUN;QACjC;QAEA,MAAMW,UAAUP,aAAaD,SAAS,KAAK,CAACM,SAASN,SAAS,IAAI,CAACM;QAEnE,OAAOE,UAAU,WAAVA,GAAU,0CAAGhB,YAAe;IACvC;AACJ"}
@@ -0,0 +1,2 @@
1
+ import type { PermissionSchemaConfig } from "./types.js";
2
+ export declare function createPermissionSchema<const T extends PermissionSchemaConfig>(config: T): T;
@@ -0,0 +1,9 @@
1
+ function createPermissionSchema(config) {
2
+ return {
3
+ ...config,
4
+ entities: config.entities ?? []
5
+ };
6
+ }
7
+ export { createPermissionSchema };
8
+
9
+ //# sourceMappingURL=createPermissionSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions/createPermissionSchema.js","sources":["../../src/permissions/createPermissionSchema.ts"],"sourcesContent":["import type { PermissionSchemaConfig } from \"./types.js\";\n\nexport function createPermissionSchema<const T extends PermissionSchemaConfig>(config: T): T {\n return {\n ...config,\n entities: config.entities ?? []\n };\n}\n"],"names":["createPermissionSchema","config"],"mappings":"AAEO,SAASA,uBAA+DC,MAAS;IACpF,OAAO;QACH,GAAGA,MAAM;QACT,UAAUA,OAAO,QAAQ,IAAI,EAAE;IACnC;AACJ"}
@@ -0,0 +1,6 @@
1
+ import type { Abstraction } from "@webiny/di";
2
+ import type { PermissionSchemaConfig, UsePermissionsResult } from "./types.js";
3
+ export declare function createPermissionsAbstraction<const S extends PermissionSchemaConfig>(schema: S): Abstraction<UsePermissionsResult<S>>;
4
+ export declare function createPermissionsFeature<const S extends PermissionSchemaConfig>(schema: S, abstraction: Abstraction<UsePermissionsResult<S>>): import("@webiny/feature/admin").FeatureDefinition<{
5
+ permissions: UsePermissionsResult<S>;
6
+ }, []>;
@@ -0,0 +1,141 @@
1
+ import { createAbstraction, createFeature } from "@webiny/feature/admin";
2
+ import { IdentityContext } from "../features/security/IdentityContext/abstractions.js";
3
+ function buildEntityMap(schema) {
4
+ const map = new Map();
5
+ for (const entity of schema.entities ?? []){
6
+ const actions = new Set();
7
+ for (const action of entity.actions ?? [])actions.add(action.name);
8
+ map.set(entity.id, {
9
+ permission: entity.permission,
10
+ actions,
11
+ hasOwn: entity.scopes.includes("own")
12
+ });
13
+ }
14
+ return map;
15
+ }
16
+ function getEntity(entityMap, entityId) {
17
+ const entity = entityMap.get(entityId);
18
+ if (!entity) throw new Error(`Unknown entity "${entityId}" in permission schema.`);
19
+ return entity;
20
+ }
21
+ function hasFullSchemaAccess(identity, prefix) {
22
+ const fullAccessName = `${prefix}.*`;
23
+ const permission = identity.getPermission(fullAccessName);
24
+ if (!permission) return false;
25
+ if ("string" == typeof permission.rwd || "string" == typeof permission.pw) return false;
26
+ return true;
27
+ }
28
+ class SchemaPermissions {
29
+ constructor(schema, identityContext){
30
+ this.canAccess = (entityId)=>{
31
+ if (this.fullAccess) return true;
32
+ const entity = getEntity(this.entityMap, entityId);
33
+ return this.identity.getPermissions(entity.permission).length > 0;
34
+ };
35
+ this.canRead = (entityId)=>{
36
+ if (this.fullAccess) return true;
37
+ const entity = getEntity(this.entityMap, entityId);
38
+ const permissions = this.identity.getPermissions(entity.permission);
39
+ if (!permissions.length) return false;
40
+ return permissions.some((permission)=>{
41
+ if ("string" != typeof permission.rwd) return true;
42
+ return permission.rwd.includes("r");
43
+ });
44
+ };
45
+ this.canCreate = (entityId)=>{
46
+ if (this.fullAccess) return true;
47
+ const entity = getEntity(this.entityMap, entityId);
48
+ const permissions = this.identity.getPermissions(entity.permission);
49
+ if (!permissions.length) return false;
50
+ return permissions.some((permission)=>{
51
+ if ("string" != typeof permission.rwd) return true;
52
+ return permission.rwd.includes("w");
53
+ });
54
+ };
55
+ this.canEdit = (entityId, item)=>{
56
+ if (this.fullAccess) return true;
57
+ const entity = getEntity(this.entityMap, entityId);
58
+ const permissions = this.identity.getPermissions(entity.permission);
59
+ if (!permissions.length) return false;
60
+ return permissions.some((permission)=>{
61
+ if (permission.own) {
62
+ if (!item?.createdBy) return true;
63
+ return item.createdBy.id === this.identity.id;
64
+ }
65
+ if ("string" != typeof permission.rwd) return true;
66
+ return permission.rwd.includes("w");
67
+ });
68
+ };
69
+ this.canDelete = (entityId, item)=>{
70
+ if (this.fullAccess) return true;
71
+ const entity = getEntity(this.entityMap, entityId);
72
+ const permissions = this.identity.getPermissions(entity.permission);
73
+ if (!permissions.length) return false;
74
+ return permissions.some((permission)=>{
75
+ if (permission.own) return item?.createdBy?.id === this.identity.id;
76
+ if ("string" != typeof permission.rwd) return true;
77
+ return permission.rwd.includes("d");
78
+ });
79
+ };
80
+ this.canPublish = (entityId)=>{
81
+ if (this.fullAccess) return true;
82
+ const entity = getEntity(this.entityMap, entityId);
83
+ const permissions = this.identity.getPermissions(entity.permission);
84
+ if (!permissions.length) return false;
85
+ return permissions.some((permission)=>permission.pw?.includes("p"));
86
+ };
87
+ this.canUnpublish = (entityId)=>{
88
+ if (this.fullAccess) return true;
89
+ const entity = getEntity(this.entityMap, entityId);
90
+ const permissions = this.identity.getPermissions(entity.permission);
91
+ if (!permissions.length) return false;
92
+ return permissions.some((permission)=>permission.pw?.includes("u"));
93
+ };
94
+ this.canAction = (action, entityId)=>{
95
+ if (this.fullAccess) return true;
96
+ const entity = getEntity(this.entityMap, entityId);
97
+ const permissions = this.identity.getPermissions(entity.permission);
98
+ if (!permissions.length) return false;
99
+ return permissions.some((permission)=>true === permission[action]);
100
+ };
101
+ this.schema = schema;
102
+ this.entityMap = buildEntityMap(schema);
103
+ this.identityContext = identityContext;
104
+ }
105
+ get identity() {
106
+ return this.identityContext.getIdentity();
107
+ }
108
+ get fullAccess() {
109
+ return hasFullSchemaAccess(this.identity, this.schema.prefix);
110
+ }
111
+ }
112
+ function createPermissionsAbstraction(schema) {
113
+ return createAbstraction(`${schema.prefix}:Permissions`);
114
+ }
115
+ function createPermissionsFeature(schema, abstraction) {
116
+ class PermissionsImpl extends SchemaPermissions {
117
+ constructor(identityContext){
118
+ super(schema, identityContext);
119
+ }
120
+ }
121
+ const Implementation = abstraction.createImplementation({
122
+ implementation: PermissionsImpl,
123
+ dependencies: [
124
+ IdentityContext
125
+ ]
126
+ });
127
+ return createFeature({
128
+ name: `${schema.prefix}:Permissions`,
129
+ register (container) {
130
+ container.register(Implementation).inSingletonScope();
131
+ },
132
+ resolve (container) {
133
+ return {
134
+ permissions: container.resolve(abstraction)
135
+ };
136
+ }
137
+ });
138
+ }
139
+ export { createPermissionsAbstraction, createPermissionsFeature };
140
+
141
+ //# sourceMappingURL=createPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions/createPermissions.js","sources":["../../src/permissions/createPermissions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport { createFeature } from \"@webiny/feature/admin\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/abstractions.js\";\nimport type { IIdentityContext } from \"~/features/security/IdentityContext/abstractions.js\";\nimport type { Identity } from \"~/domain/Identity.js\";\nimport type { Abstraction } from \"@webiny/di\";\nimport type { PermissionSchemaConfig, OwnableItem, UsePermissionsResult } from \"./types.js\";\n\ninterface EntityLookup {\n permission: string;\n actions: Set<string>;\n hasOwn: boolean;\n}\n\nfunction buildEntityMap(schema: PermissionSchemaConfig): Map<string, EntityLookup> {\n const map = new Map<string, EntityLookup>();\n for (const entity of schema.entities ?? []) {\n const actions = new Set<string>();\n for (const action of entity.actions ?? []) {\n actions.add(action.name);\n }\n map.set(entity.id, {\n permission: entity.permission,\n actions,\n hasOwn: entity.scopes.includes(\"own\")\n });\n }\n return map;\n}\n\nfunction getEntity(entityMap: Map<string, EntityLookup>, entityId: string): EntityLookup {\n const entity = entityMap.get(entityId);\n if (!entity) {\n throw new Error(`Unknown entity \"${entityId}\" in permission schema.`);\n }\n return entity;\n}\n\n/**\n * Check whether the identity has unrestricted full access for the given schema prefix.\n * Stricter than the legacy check: `{ name: \"wb.*\", rwd: \"r\" }` is NOT full access.\n */\nfunction hasFullSchemaAccess(identity: Identity, prefix: string): boolean {\n const fullAccessName = `${prefix}.*`;\n const permission = identity.getPermission(fullAccessName);\n if (!permission) {\n return false;\n }\n // If any restricting keys are present, this is not full access.\n if (typeof permission.rwd === \"string\" || typeof permission.pw === \"string\") {\n return false;\n }\n return true;\n}\n\nclass SchemaPermissions<S extends PermissionSchemaConfig> {\n private readonly schema: S;\n private readonly entityMap: Map<string, EntityLookup>;\n private readonly identityContext: IIdentityContext;\n\n constructor(schema: S, identityContext: IIdentityContext) {\n this.schema = schema;\n this.entityMap = buildEntityMap(schema);\n this.identityContext = identityContext;\n }\n\n private get identity(): Identity {\n return this.identityContext.getIdentity();\n }\n\n private get fullAccess(): boolean {\n return hasFullSchemaAccess(this.identity, this.schema.prefix);\n }\n\n canAccess = (entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n return this.identity.getPermissions(entity.permission).length > 0;\n };\n\n canRead = (entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n return permission.rwd.includes(\"r\");\n });\n };\n\n canCreate = (entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n return permission.rwd.includes(\"w\");\n });\n };\n\n canEdit = (entityId: string, item?: OwnableItem): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n if (permission.own) {\n if (!item?.createdBy) {\n return true;\n }\n return item.createdBy.id === this.identity.id;\n }\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n return permission.rwd.includes(\"w\");\n });\n };\n\n canDelete = (entityId: string, item?: OwnableItem): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n if (permission.own) {\n return item?.createdBy?.id === this.identity.id;\n }\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n return permission.rwd.includes(\"d\");\n });\n };\n\n canPublish = (entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n return permission.pw?.includes(\"p\");\n });\n };\n\n canUnpublish = (entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n return permission.pw?.includes(\"u\");\n });\n };\n\n canAction = (action: string, entityId: string): boolean => {\n if (this.fullAccess) {\n return true;\n }\n const entity = getEntity(this.entityMap, entityId);\n const permissions = this.identity.getPermissions(entity.permission);\n if (!permissions.length) {\n return false;\n }\n return permissions.some(permission => {\n return permission[action] === true;\n });\n };\n}\n\nexport function createPermissionsAbstraction<const S extends PermissionSchemaConfig>(schema: S) {\n return createAbstraction<UsePermissionsResult<S>>(`${schema.prefix}:Permissions`);\n}\n\nexport function createPermissionsFeature<const S extends PermissionSchemaConfig>(\n schema: S,\n abstraction: Abstraction<UsePermissionsResult<S>>\n) {\n class PermissionsImpl extends SchemaPermissions<S> {\n constructor(identityContext: IIdentityContext) {\n super(schema, identityContext);\n }\n }\n\n const Implementation = abstraction.createImplementation({\n implementation: PermissionsImpl,\n dependencies: [IdentityContext]\n });\n\n return createFeature({\n name: `${schema.prefix}:Permissions`,\n register(container) {\n container.register(Implementation).inSingletonScope();\n },\n resolve(container) {\n return { permissions: container.resolve(abstraction) };\n }\n });\n}\n"],"names":["buildEntityMap","schema","map","Map","entity","actions","Set","action","getEntity","entityMap","entityId","Error","hasFullSchemaAccess","identity","prefix","fullAccessName","permission","SchemaPermissions","identityContext","permissions","item","createPermissionsAbstraction","createAbstraction","createPermissionsFeature","abstraction","PermissionsImpl","Implementation","IdentityContext","createFeature","container"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};