@webiny/app-admin 6.4.12-beta.4 → 6.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/base/Admin.js +13 -3
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base/DefaultFieldRenderers.js +41 -2
  4. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  5. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.d.ts +4 -0
  6. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js +26 -0
  7. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js.map +1 -0
  8. package/base/Base/FieldRenderers/AutoCompleteRenderer.d.ts +13 -0
  9. package/base/Base/FieldRenderers/AutoCompleteRenderer.js +29 -0
  10. package/base/Base/FieldRenderers/AutoCompleteRenderer.js.map +1 -0
  11. package/base/Base/FieldRenderers/CheckboxesRenderer.js +1 -0
  12. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -1
  13. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +5 -1
  14. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -1
  15. package/base/Base/FieldRenderers/FilePickerRenderer.js +2 -0
  16. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -1
  17. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +1 -0
  18. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -1
  19. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +2 -2
  20. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +2 -1
  21. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -1
  22. package/base/Base/FieldRenderers/InputRenderer.js +1 -0
  23. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -1
  24. package/base/Base/FieldRenderers/LexicalEditorsRenderer.d.ts +14 -0
  25. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js +78 -0
  26. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js.map +1 -0
  27. package/base/Base/FieldRenderers/LexicalRenderer.js +10 -6
  28. package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -1
  29. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.d.ts +13 -0
  30. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js +29 -0
  31. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js.map +1 -0
  32. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +8 -5
  33. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -1
  34. package/base/Base/FieldRenderers/MultiSelectRenderer.d.ts +15 -0
  35. package/base/Base/FieldRenderers/MultiSelectRenderer.js +31 -0
  36. package/base/Base/FieldRenderers/MultiSelectRenderer.js.map +1 -0
  37. package/base/Base/FieldRenderers/NumberInputRenderer.js +1 -0
  38. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -1
  39. package/base/Base/FieldRenderers/NumberInputsRenderer.js +19 -9
  40. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -1
  41. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +2 -0
  42. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +5 -2
  43. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -1
  44. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +2 -1
  45. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -1
  46. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts +11 -0
  47. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js +206 -0
  48. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -0
  49. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.d.ts +13 -0
  50. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js +28 -0
  51. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js.map +1 -0
  52. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.d.ts +15 -0
  53. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js +5 -0
  54. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js.map +1 -0
  55. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.d.ts +1 -0
  56. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js +11 -0
  57. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js.map +1 -0
  58. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.d.ts +2 -0
  59. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.js +2 -0
  60. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +2 -1
  61. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +35 -8
  62. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
  63. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +7 -12
  64. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +43 -9
  65. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  66. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +4 -1
  67. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +41 -5
  68. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  69. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +3 -2
  70. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +72 -12
  71. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  72. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +1 -1
  73. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -1
  74. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +3 -2
  75. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +10 -1
  76. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -1
  77. package/base/Base/FieldRenderers/PasswordInputRenderer.d.ts +12 -0
  78. package/base/Base/FieldRenderers/PasswordInputRenderer.js +22 -0
  79. package/base/Base/FieldRenderers/PasswordInputRenderer.js.map +1 -0
  80. package/base/Base/FieldRenderers/PermissionsRenderer.d.ts +14 -0
  81. package/base/Base/FieldRenderers/PermissionsRenderer.js +18 -0
  82. package/base/Base/FieldRenderers/PermissionsRenderer.js.map +1 -0
  83. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +4 -2
  84. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
  85. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.d.ts +12 -0
  86. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js +21 -0
  87. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js.map +1 -0
  88. package/base/Base/FieldRenderers/SelectRenderer.d.ts +6 -0
  89. package/base/Base/FieldRenderers/SelectRenderer.js +4 -2
  90. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  91. package/base/Base/FieldRenderers/TagsRenderer.js +1 -0
  92. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -1
  93. package/base/Base/FieldRenderers/TextInputsRenderer.js +19 -9
  94. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -1
  95. package/base/Base/FieldRenderers/TextareaRenderer.js +1 -0
  96. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -1
  97. package/base/Base/FieldRenderers/TextareasRenderer.js +5 -1
  98. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -1
  99. package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +2 -2
  100. package/base/Base.d.ts +3 -1
  101. package/base/Base.js +2 -1
  102. package/base/Base.js.map +1 -1
  103. package/base/createRootContainer.js +6 -0
  104. package/base/createRootContainer.js.map +1 -1
  105. package/base/ui/FileManager.d.ts +2 -1
  106. package/components/BulkActions/BulkActionButton.d.ts +6 -0
  107. package/components/BulkActions/BulkActionButton.js +17 -0
  108. package/components/BulkActions/BulkActionButton.js.map +1 -0
  109. package/components/BulkActions/BulkActionRunner.d.ts +41 -0
  110. package/components/BulkActions/BulkActionRunner.js +32 -0
  111. package/components/BulkActions/BulkActionRunner.js.map +1 -0
  112. package/components/BulkActions/Worker.d.ts +9 -57
  113. package/components/BulkActions/Worker.js +5 -9
  114. package/components/BulkActions/Worker.js.map +1 -1
  115. package/components/BulkActions/index.d.ts +3 -0
  116. package/components/BulkActions/index.js +3 -0
  117. package/components/ConfirmationDialog/ConfirmationDialog.d.ts +11 -0
  118. package/components/ConfirmationDialog/ConfirmationDialog.js +41 -0
  119. package/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  120. package/components/ConfirmationDialog/index.d.ts +1 -0
  121. package/components/ConfirmationDialog/index.js +1 -0
  122. package/components/Dialogs/DialogsContext.js +2 -1
  123. package/components/Dialogs/DialogsContext.js.map +1 -1
  124. package/components/Drawers/DrawerParamsContext.d.ts +6 -0
  125. package/components/Drawers/DrawerParamsContext.js +10 -0
  126. package/components/Drawers/DrawerParamsContext.js.map +1 -0
  127. package/components/Drawers/DrawersContext.d.ts +13 -0
  128. package/components/Drawers/DrawersContext.js +50 -0
  129. package/components/Drawers/DrawersContext.js.map +1 -0
  130. package/components/Drawers/useDrawers.d.ts +2 -0
  131. package/components/Drawers/useDrawers.js +10 -0
  132. package/components/Drawers/useDrawers.js.map +1 -0
  133. package/components/Filters/Filters.js +4 -3
  134. package/components/Filters/Filters.js.map +1 -1
  135. package/components/IconPicker/IconPicker.d.ts +7 -5
  136. package/components/IconPicker/IconPickerComponent.d.ts +2 -2
  137. package/components/IconPicker/IconPickerComponent.js +1 -1
  138. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  139. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  140. package/components/IconPicker/config/index.d.ts +2 -1
  141. package/components/LexicalEditor/LexicalLinkForm.js +3 -0
  142. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  143. package/components/ListView/ListView.d.ts +17 -0
  144. package/components/ListView/ListView.js +36 -0
  145. package/components/ListView/ListView.js.map +1 -0
  146. package/components/ListView/ListViewBottomBar.d.ts +14 -0
  147. package/components/ListView/ListViewBottomBar.js +45 -0
  148. package/components/ListView/ListViewBottomBar.js.map +1 -0
  149. package/components/ListView/ListViewBulkActions.d.ts +11 -0
  150. package/components/ListView/ListViewBulkActions.js +41 -0
  151. package/components/ListView/ListViewBulkActions.js.map +1 -0
  152. package/components/ListView/ListViewContent.d.ts +12 -0
  153. package/components/ListView/ListViewContent.js +25 -0
  154. package/components/ListView/ListViewContent.js.map +1 -0
  155. package/components/ListView/ListViewFilters.d.ts +15 -0
  156. package/components/ListView/ListViewFilters.js +21 -0
  157. package/components/ListView/ListViewFilters.js.map +1 -0
  158. package/components/ListView/ListViewHeader.d.ts +17 -0
  159. package/components/ListView/ListViewHeader.js +72 -0
  160. package/components/ListView/ListViewHeader.js.map +1 -0
  161. package/components/ListView/ListViewSidebar.d.ts +17 -0
  162. package/components/ListView/ListViewSidebar.js +25 -0
  163. package/components/ListView/ListViewSidebar.js.map +1 -0
  164. package/components/ListView/ListViewTable.d.ts +18 -0
  165. package/components/ListView/ListViewTable.js +33 -0
  166. package/components/ListView/ListViewTable.js.map +1 -0
  167. package/components/ListView/context.d.ts +3 -0
  168. package/components/ListView/context.js +11 -0
  169. package/components/ListView/context.js.map +1 -0
  170. package/components/ListView/index.d.ts +24 -0
  171. package/components/ListView/index.js +22 -0
  172. package/components/ListView/index.js.map +1 -0
  173. package/components/ListView/types.d.ts +7 -0
  174. package/components/ListView/types.js +0 -0
  175. package/components/OptionsMenu/OptionsMenuItem.d.ts +1 -0
  176. package/components/OptionsMenu/OptionsMenuItem.js +1 -0
  177. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  178. package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
  179. package/components/RolesMultiAutocomplete/index.d.ts +1 -1
  180. package/components/RolesMultiAutocomplete/index.js +12 -1
  181. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  182. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  183. package/components/SimpleUI/InputField.d.ts +2 -1
  184. package/components/SingleImageUpload.d.ts +1 -2
  185. package/components/SingleImageUpload.js +1 -2
  186. package/components/SingleImageUpload.js.map +1 -1
  187. package/components/Table/cells/CellAuthor.d.ts +2 -0
  188. package/components/Table/cells/CellAuthor.js +10 -0
  189. package/components/Table/cells/CellAuthor.js.map +1 -0
  190. package/components/Table/cells/CellCreated.d.ts +2 -0
  191. package/components/Table/cells/CellCreated.js +13 -0
  192. package/components/Table/cells/CellCreated.js.map +1 -0
  193. package/components/Table/cells/CellModified.d.ts +2 -0
  194. package/components/Table/cells/CellModified.js +13 -0
  195. package/components/Table/cells/CellModified.js.map +1 -0
  196. package/components/Table/cells/index.d.ts +3 -0
  197. package/components/Table/cells/index.js +3 -0
  198. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +9 -0
  199. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +23 -0
  200. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -0
  201. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +9 -0
  202. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +21 -0
  203. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -0
  204. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.d.ts +1 -0
  205. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +128 -0
  206. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -0
  207. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +10 -0
  208. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +30 -0
  209. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -0
  210. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +9 -0
  211. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +18 -0
  212. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -0
  213. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +8 -0
  214. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +16 -0
  215. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -0
  216. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.d.ts +5 -0
  217. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -0
  218. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.d.ts +4 -0
  219. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -0
  220. package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -0
  221. package/components/Table/components/Table/ColumnVisibility/index.js +5 -0
  222. package/components/Table/components/Table/Columns/Column.d.ts +42 -0
  223. package/components/Table/components/Table/Columns/Column.js +21 -0
  224. package/components/Table/components/Table/Columns/Column.js.map +1 -0
  225. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +7 -0
  226. package/components/Table/components/Table/Columns/ColumnMapper.js +34 -0
  227. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -0
  228. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +9 -0
  229. package/components/Table/components/Table/Columns/ColumnsPresenter.js +18 -0
  230. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -0
  231. package/components/Table/components/Table/Columns/ColumnsPresenter.test.d.ts +1 -0
  232. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +73 -0
  233. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -0
  234. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +9 -0
  235. package/components/Table/components/Table/Columns/ColumnsRepository.js +19 -0
  236. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -0
  237. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +9 -0
  238. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +21 -0
  239. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -0
  240. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +5 -0
  241. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -0
  242. package/components/Table/components/Table/Columns/index.d.ts +6 -0
  243. package/components/Table/components/Table/Columns/index.js +5 -0
  244. package/components/Table/components/Table/Table.d.ts +17 -0
  245. package/components/Table/components/Table/Table.js +47 -0
  246. package/components/Table/components/Table/Table.js.map +1 -0
  247. package/components/Table/components/Table/TableInner.d.ts +24 -0
  248. package/components/Table/components/Table/TableInner.js +40 -0
  249. package/components/Table/components/Table/TableInner.js.map +1 -0
  250. package/components/Table/components/Table/TablePresenter.d.ts +15 -0
  251. package/components/Table/components/Table/TablePresenter.js +15 -0
  252. package/components/Table/components/Table/TablePresenter.js.map +1 -0
  253. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +9 -0
  254. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +15 -0
  255. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -0
  256. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.d.ts +4 -0
  257. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -0
  258. package/components/Table/components/Table/gateways/index.d.ts +2 -0
  259. package/components/Table/components/Table/gateways/index.js +1 -0
  260. package/components/Table/components/Table/index.d.ts +1 -0
  261. package/components/Table/components/Table/index.js +1 -0
  262. package/components/Table/components/index.d.ts +1 -0
  263. package/components/Table/components/index.js +1 -0
  264. package/components/Table/createTableData.d.ts +5 -0
  265. package/components/Table/createTableData.js +9 -0
  266. package/components/Table/createTableData.js.map +1 -0
  267. package/components/Table/index.d.ts +5 -0
  268. package/components/Table/index.js +5 -0
  269. package/components/Table/table.types.d.ts +9 -0
  270. package/components/Table/table.types.js +0 -0
  271. package/components/Table/useTableRow.d.ts +18 -0
  272. package/components/Table/useTableRow.js +22 -0
  273. package/components/Table/useTableRow.js.map +1 -0
  274. package/components/TeamsMultiAutocomplete/index.d.ts +1 -1
  275. package/components/TeamsMultiAutocomplete/index.js +12 -1
  276. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  277. package/components/index.d.ts +3 -2
  278. package/components/index.js +3 -2
  279. package/config/AdminConfig/Dashboard.d.ts +2 -1
  280. package/config/AdminConfig/Drawer.d.ts +10 -0
  281. package/config/AdminConfig/Drawer.js +19 -0
  282. package/config/AdminConfig/Drawer.js.map +1 -0
  283. package/config/AdminConfig/Form.d.ts +4 -2
  284. package/config/AdminConfig/LexicalTheme/Typography.d.ts +4 -4
  285. package/config/AdminConfig/LexicalTheme.d.ts +8 -6
  286. package/config/AdminConfig/Logo.d.ts +8 -6
  287. package/config/AdminConfig/Menu/MenuGroup.d.ts +13 -12
  288. package/config/AdminConfig/Menu/MenuItem.d.ts +7 -6
  289. package/config/AdminConfig/Menu/MenuLink.d.ts +7 -6
  290. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +13 -12
  291. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +7 -6
  292. package/config/AdminConfig/Menu/SupportMenu.d.ts +8 -6
  293. package/config/AdminConfig/Menu/UserMenu.d.ts +8 -6
  294. package/config/AdminConfig/Menu.d.ts +15 -12
  295. package/config/AdminConfig/Security.d.ts +2 -1
  296. package/config/AdminConfig/Tenant/TenantLogo.d.ts +8 -6
  297. package/config/AdminConfig/Tenant/TenantName.d.ts +8 -6
  298. package/config/AdminConfig/Tenant.d.ts +3 -1
  299. package/config/AdminConfig/Title.d.ts +8 -6
  300. package/config/AdminConfig.d.ts +21 -30
  301. package/config/AdminConfig.js +3 -0
  302. package/config/AdminConfig.js.map +1 -1
  303. package/config/table/Column.d.ts +34 -0
  304. package/config/table/Column.js +69 -0
  305. package/config/table/Column.js.map +1 -0
  306. package/config/table/Sorting.d.ts +11 -0
  307. package/config/table/Sorting.js +28 -0
  308. package/config/table/Sorting.js.map +1 -0
  309. package/config/table/index.d.ts +13 -0
  310. package/config/table/index.js +9 -0
  311. package/config/table/index.js.map +1 -0
  312. package/domain/Identity.js +1 -1
  313. package/domain/Identity.js.map +1 -1
  314. package/domain/securityPermissionsSchema.d.ts +20 -0
  315. package/domain/securityPermissionsSchema.js +34 -0
  316. package/domain/securityPermissionsSchema.js.map +1 -0
  317. package/exports/admin/form.d.ts +2 -0
  318. package/exports/admin/form.js +1 -0
  319. package/exports/admin/ui.d.ts +4 -0
  320. package/exports/admin/ui.js +2 -1
  321. package/exports/admin.d.ts +4 -0
  322. package/exports/admin.js +4 -0
  323. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.d.ts +12 -0
  324. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js +50 -0
  325. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js.map +1 -0
  326. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.d.ts +13 -0
  327. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js +25 -0
  328. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js.map +1 -0
  329. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.d.ts +11 -0
  330. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js +18 -0
  331. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js.map +1 -0
  332. package/features/accessManagement/apiKeys/createApiKey/abstractions.d.ts +29 -0
  333. package/features/accessManagement/apiKeys/createApiKey/abstractions.js +7 -0
  334. package/features/accessManagement/apiKeys/createApiKey/abstractions.js.map +1 -0
  335. package/features/accessManagement/apiKeys/createApiKey/feature.d.ts +3 -0
  336. package/features/accessManagement/apiKeys/createApiKey/feature.js +21 -0
  337. package/features/accessManagement/apiKeys/createApiKey/feature.js.map +1 -0
  338. package/features/accessManagement/apiKeys/createApiKey/index.d.ts +3 -0
  339. package/features/accessManagement/apiKeys/createApiKey/index.js +2 -0
  340. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.d.ts +11 -0
  341. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js +39 -0
  342. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js.map +1 -0
  343. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.d.ts +12 -0
  344. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js +22 -0
  345. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js.map +1 -0
  346. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.d.ts +10 -0
  347. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js +18 -0
  348. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js.map +1 -0
  349. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.d.ts +21 -0
  350. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js +7 -0
  351. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js.map +1 -0
  352. package/features/accessManagement/apiKeys/deleteApiKey/feature.d.ts +3 -0
  353. package/features/accessManagement/apiKeys/deleteApiKey/feature.js +21 -0
  354. package/features/accessManagement/apiKeys/deleteApiKey/feature.js.map +1 -0
  355. package/features/accessManagement/apiKeys/deleteApiKey/index.d.ts +3 -0
  356. package/features/accessManagement/apiKeys/deleteApiKey/index.js +2 -0
  357. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.d.ts +12 -0
  358. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js +49 -0
  359. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js.map +1 -0
  360. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.d.ts +11 -0
  361. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js +18 -0
  362. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js.map +1 -0
  363. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.d.ts +11 -0
  364. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js +18 -0
  365. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js.map +1 -0
  366. package/features/accessManagement/apiKeys/getApiKey/abstractions.d.ts +22 -0
  367. package/features/accessManagement/apiKeys/getApiKey/abstractions.js +7 -0
  368. package/features/accessManagement/apiKeys/getApiKey/abstractions.js.map +1 -0
  369. package/features/accessManagement/apiKeys/getApiKey/feature.d.ts +3 -0
  370. package/features/accessManagement/apiKeys/getApiKey/feature.js +21 -0
  371. package/features/accessManagement/apiKeys/getApiKey/feature.js.map +1 -0
  372. package/features/accessManagement/apiKeys/getApiKey/index.d.ts +3 -0
  373. package/features/accessManagement/apiKeys/getApiKey/index.js +2 -0
  374. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.d.ts +11 -0
  375. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js +44 -0
  376. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js.map +1 -0
  377. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.d.ts +11 -0
  378. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js +22 -0
  379. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js.map +1 -0
  380. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.d.ts +10 -0
  381. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js +18 -0
  382. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js.map +1 -0
  383. package/features/accessManagement/apiKeys/listApiKeys/abstractions.d.ts +30 -0
  384. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js +8 -0
  385. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js.map +1 -0
  386. package/features/accessManagement/apiKeys/listApiKeys/feature.d.ts +3 -0
  387. package/features/accessManagement/apiKeys/listApiKeys/feature.js +23 -0
  388. package/features/accessManagement/apiKeys/listApiKeys/feature.js.map +1 -0
  389. package/features/accessManagement/apiKeys/listApiKeys/index.d.ts +3 -0
  390. package/features/accessManagement/apiKeys/listApiKeys/index.js +2 -0
  391. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.d.ts +12 -0
  392. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js +51 -0
  393. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js.map +1 -0
  394. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.d.ts +13 -0
  395. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js +23 -0
  396. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js.map +1 -0
  397. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.d.ts +11 -0
  398. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js +18 -0
  399. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js.map +1 -0
  400. package/features/accessManagement/apiKeys/updateApiKey/abstractions.d.ts +28 -0
  401. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js +7 -0
  402. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js.map +1 -0
  403. package/features/accessManagement/apiKeys/updateApiKey/feature.d.ts +3 -0
  404. package/features/accessManagement/apiKeys/updateApiKey/feature.js +21 -0
  405. package/features/accessManagement/apiKeys/updateApiKey/feature.js.map +1 -0
  406. package/features/accessManagement/apiKeys/updateApiKey/index.d.ts +3 -0
  407. package/features/accessManagement/apiKeys/updateApiKey/index.js +2 -0
  408. package/features/accessManagement/constants.d.ts +5 -0
  409. package/features/accessManagement/constants.js +9 -0
  410. package/features/accessManagement/constants.js.map +1 -0
  411. package/features/accessManagement/permissions/abstractions.d.ts +17 -0
  412. package/features/accessManagement/permissions/abstractions.js +6 -0
  413. package/features/accessManagement/permissions/abstractions.js.map +1 -0
  414. package/features/accessManagement/permissions/feature.d.ts +14 -0
  415. package/features/accessManagement/permissions/feature.js +7 -0
  416. package/features/accessManagement/permissions/feature.js.map +1 -0
  417. package/features/accessManagement/roles/createRole/CreateRoleGateway.d.ts +12 -0
  418. package/features/accessManagement/roles/createRole/CreateRoleGateway.js +51 -0
  419. package/features/accessManagement/roles/createRole/CreateRoleGateway.js.map +1 -0
  420. package/features/accessManagement/roles/createRole/CreateRoleRepository.d.ts +13 -0
  421. package/features/accessManagement/roles/createRole/CreateRoleRepository.js +25 -0
  422. package/features/accessManagement/roles/createRole/CreateRoleRepository.js.map +1 -0
  423. package/features/accessManagement/roles/createRole/CreateRoleUseCase.d.ts +11 -0
  424. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js +18 -0
  425. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js.map +1 -0
  426. package/features/accessManagement/roles/createRole/abstractions.d.ts +29 -0
  427. package/features/accessManagement/roles/createRole/abstractions.js +7 -0
  428. package/features/accessManagement/roles/createRole/abstractions.js.map +1 -0
  429. package/features/accessManagement/roles/createRole/feature.d.ts +3 -0
  430. package/features/accessManagement/roles/createRole/feature.js +21 -0
  431. package/features/accessManagement/roles/createRole/feature.js.map +1 -0
  432. package/features/accessManagement/roles/createRole/index.d.ts +3 -0
  433. package/features/accessManagement/roles/createRole/index.js +2 -0
  434. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.d.ts +11 -0
  435. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js +40 -0
  436. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js.map +1 -0
  437. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.d.ts +12 -0
  438. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js +22 -0
  439. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js.map +1 -0
  440. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.d.ts +10 -0
  441. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js +18 -0
  442. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js.map +1 -0
  443. package/features/accessManagement/roles/deleteRole/abstractions.d.ts +21 -0
  444. package/features/accessManagement/roles/deleteRole/abstractions.js +7 -0
  445. package/features/accessManagement/roles/deleteRole/abstractions.js.map +1 -0
  446. package/features/accessManagement/roles/deleteRole/feature.d.ts +3 -0
  447. package/features/accessManagement/roles/deleteRole/feature.js +21 -0
  448. package/features/accessManagement/roles/deleteRole/feature.js.map +1 -0
  449. package/features/accessManagement/roles/deleteRole/index.d.ts +3 -0
  450. package/features/accessManagement/roles/deleteRole/index.js +2 -0
  451. package/features/accessManagement/roles/getRole/GetRoleGateway.d.ts +12 -0
  452. package/features/accessManagement/roles/getRole/GetRoleGateway.js +50 -0
  453. package/features/accessManagement/roles/getRole/GetRoleGateway.js.map +1 -0
  454. package/features/accessManagement/roles/getRole/GetRoleRepository.d.ts +11 -0
  455. package/features/accessManagement/roles/getRole/GetRoleRepository.js +18 -0
  456. package/features/accessManagement/roles/getRole/GetRoleRepository.js.map +1 -0
  457. package/features/accessManagement/roles/getRole/GetRoleUseCase.d.ts +11 -0
  458. package/features/accessManagement/roles/getRole/GetRoleUseCase.js +18 -0
  459. package/features/accessManagement/roles/getRole/GetRoleUseCase.js.map +1 -0
  460. package/features/accessManagement/roles/getRole/abstractions.d.ts +22 -0
  461. package/features/accessManagement/roles/getRole/abstractions.js +7 -0
  462. package/features/accessManagement/roles/getRole/abstractions.js.map +1 -0
  463. package/features/accessManagement/roles/getRole/feature.d.ts +3 -0
  464. package/features/accessManagement/roles/getRole/feature.js +21 -0
  465. package/features/accessManagement/roles/getRole/feature.js.map +1 -0
  466. package/features/accessManagement/roles/getRole/index.d.ts +3 -0
  467. package/features/accessManagement/roles/getRole/index.js +2 -0
  468. package/features/accessManagement/roles/listRoles/ListRolesGateway.d.ts +11 -0
  469. package/features/accessManagement/roles/listRoles/ListRolesGateway.js +45 -0
  470. package/features/accessManagement/roles/listRoles/ListRolesGateway.js.map +1 -0
  471. package/features/accessManagement/roles/listRoles/ListRolesRepository.d.ts +11 -0
  472. package/features/accessManagement/roles/listRoles/ListRolesRepository.js +22 -0
  473. package/features/accessManagement/roles/listRoles/ListRolesRepository.js.map +1 -0
  474. package/features/accessManagement/roles/listRoles/ListRolesUseCase.d.ts +10 -0
  475. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js +18 -0
  476. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js.map +1 -0
  477. package/features/accessManagement/roles/listRoles/abstractions.d.ts +30 -0
  478. package/features/accessManagement/roles/listRoles/abstractions.js +8 -0
  479. package/features/accessManagement/roles/listRoles/abstractions.js.map +1 -0
  480. package/features/accessManagement/roles/listRoles/feature.d.ts +3 -0
  481. package/features/accessManagement/roles/listRoles/feature.js +23 -0
  482. package/features/accessManagement/roles/listRoles/feature.js.map +1 -0
  483. package/features/accessManagement/roles/listRoles/index.d.ts +3 -0
  484. package/features/accessManagement/roles/listRoles/index.js +2 -0
  485. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.d.ts +12 -0
  486. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js +52 -0
  487. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js.map +1 -0
  488. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.d.ts +13 -0
  489. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js +23 -0
  490. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js.map +1 -0
  491. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.d.ts +11 -0
  492. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js +18 -0
  493. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js.map +1 -0
  494. package/features/accessManagement/roles/updateRole/abstractions.d.ts +28 -0
  495. package/features/accessManagement/roles/updateRole/abstractions.js +7 -0
  496. package/features/accessManagement/roles/updateRole/abstractions.js.map +1 -0
  497. package/features/accessManagement/roles/updateRole/feature.d.ts +3 -0
  498. package/features/accessManagement/roles/updateRole/feature.js +21 -0
  499. package/features/accessManagement/roles/updateRole/feature.js.map +1 -0
  500. package/features/accessManagement/roles/updateRole/index.d.ts +3 -0
  501. package/features/accessManagement/roles/updateRole/index.js +2 -0
  502. package/features/accessManagement/teams/createTeam/CreateTeamGateway.d.ts +12 -0
  503. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js +55 -0
  504. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js.map +1 -0
  505. package/features/accessManagement/teams/createTeam/CreateTeamRepository.d.ts +13 -0
  506. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js +25 -0
  507. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js.map +1 -0
  508. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.d.ts +11 -0
  509. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js +18 -0
  510. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js.map +1 -0
  511. package/features/accessManagement/teams/createTeam/abstractions.d.ts +28 -0
  512. package/features/accessManagement/teams/createTeam/abstractions.js +7 -0
  513. package/features/accessManagement/teams/createTeam/abstractions.js.map +1 -0
  514. package/features/accessManagement/teams/createTeam/feature.d.ts +3 -0
  515. package/features/accessManagement/teams/createTeam/feature.js +21 -0
  516. package/features/accessManagement/teams/createTeam/feature.js.map +1 -0
  517. package/features/accessManagement/teams/createTeam/index.d.ts +3 -0
  518. package/features/accessManagement/teams/createTeam/index.js +2 -0
  519. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.d.ts +11 -0
  520. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js +40 -0
  521. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js.map +1 -0
  522. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.d.ts +12 -0
  523. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js +22 -0
  524. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js.map +1 -0
  525. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.d.ts +10 -0
  526. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js +18 -0
  527. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js.map +1 -0
  528. package/features/accessManagement/teams/deleteTeam/abstractions.d.ts +21 -0
  529. package/features/accessManagement/teams/deleteTeam/abstractions.js +7 -0
  530. package/features/accessManagement/teams/deleteTeam/abstractions.js.map +1 -0
  531. package/features/accessManagement/teams/deleteTeam/feature.d.ts +3 -0
  532. package/features/accessManagement/teams/deleteTeam/feature.js +21 -0
  533. package/features/accessManagement/teams/deleteTeam/feature.js.map +1 -0
  534. package/features/accessManagement/teams/deleteTeam/index.d.ts +3 -0
  535. package/features/accessManagement/teams/deleteTeam/index.js +2 -0
  536. package/features/accessManagement/teams/getTeam/GetTeamGateway.d.ts +12 -0
  537. package/features/accessManagement/teams/getTeam/GetTeamGateway.js +54 -0
  538. package/features/accessManagement/teams/getTeam/GetTeamGateway.js.map +1 -0
  539. package/features/accessManagement/teams/getTeam/GetTeamRepository.d.ts +11 -0
  540. package/features/accessManagement/teams/getTeam/GetTeamRepository.js +18 -0
  541. package/features/accessManagement/teams/getTeam/GetTeamRepository.js.map +1 -0
  542. package/features/accessManagement/teams/getTeam/GetTeamUseCase.d.ts +11 -0
  543. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js +18 -0
  544. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js.map +1 -0
  545. package/features/accessManagement/teams/getTeam/abstractions.d.ts +22 -0
  546. package/features/accessManagement/teams/getTeam/abstractions.js +7 -0
  547. package/features/accessManagement/teams/getTeam/abstractions.js.map +1 -0
  548. package/features/accessManagement/teams/getTeam/feature.d.ts +3 -0
  549. package/features/accessManagement/teams/getTeam/feature.js +21 -0
  550. package/features/accessManagement/teams/getTeam/feature.js.map +1 -0
  551. package/features/accessManagement/teams/getTeam/index.d.ts +3 -0
  552. package/features/accessManagement/teams/getTeam/index.js +2 -0
  553. package/features/accessManagement/teams/listTeams/ListTeamsGateway.d.ts +11 -0
  554. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js +49 -0
  555. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js.map +1 -0
  556. package/features/accessManagement/teams/listTeams/ListTeamsRepository.d.ts +11 -0
  557. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js +22 -0
  558. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js.map +1 -0
  559. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.d.ts +10 -0
  560. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js +18 -0
  561. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js.map +1 -0
  562. package/features/accessManagement/teams/listTeams/abstractions.d.ts +30 -0
  563. package/features/accessManagement/teams/listTeams/abstractions.js +8 -0
  564. package/features/accessManagement/teams/listTeams/abstractions.js.map +1 -0
  565. package/features/accessManagement/teams/listTeams/feature.d.ts +3 -0
  566. package/features/accessManagement/teams/listTeams/feature.js +23 -0
  567. package/features/accessManagement/teams/listTeams/feature.js.map +1 -0
  568. package/features/accessManagement/teams/listTeams/index.d.ts +3 -0
  569. package/features/accessManagement/teams/listTeams/index.js +2 -0
  570. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.d.ts +12 -0
  571. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js +56 -0
  572. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js.map +1 -0
  573. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.d.ts +13 -0
  574. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js +23 -0
  575. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js.map +1 -0
  576. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.d.ts +11 -0
  577. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js +18 -0
  578. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js.map +1 -0
  579. package/features/accessManagement/teams/updateTeam/abstractions.d.ts +27 -0
  580. package/features/accessManagement/teams/updateTeam/abstractions.js +7 -0
  581. package/features/accessManagement/teams/updateTeam/abstractions.js.map +1 -0
  582. package/features/accessManagement/teams/updateTeam/feature.d.ts +3 -0
  583. package/features/accessManagement/teams/updateTeam/feature.js +21 -0
  584. package/features/accessManagement/teams/updateTeam/feature.js.map +1 -0
  585. package/features/accessManagement/teams/updateTeam/index.d.ts +3 -0
  586. package/features/accessManagement/teams/updateTeam/index.js +2 -0
  587. package/features/accessManagement/types.d.ts +34 -0
  588. package/features/accessManagement/types.js +0 -0
  589. package/features/clipboard/ClipboardService.d.ts +15 -0
  590. package/features/clipboard/ClipboardService.js +51 -0
  591. package/features/clipboard/ClipboardService.js.map +1 -0
  592. package/features/clipboard/abstractions.d.ts +14 -0
  593. package/features/clipboard/abstractions.js +5 -0
  594. package/features/clipboard/abstractions.js.map +1 -0
  595. package/features/clipboard/feature.d.ts +3 -0
  596. package/features/clipboard/feature.js +17 -0
  597. package/features/clipboard/feature.js.map +1 -0
  598. package/features/clipboard/index.d.ts +2 -0
  599. package/features/clipboard/index.js +2 -0
  600. package/features/confirmation/Confirmation.d.ts +11 -0
  601. package/features/confirmation/Confirmation.js +29 -0
  602. package/features/confirmation/Confirmation.js.map +1 -0
  603. package/features/confirmation/ConfirmationBridge.d.ts +1 -0
  604. package/features/confirmation/ConfirmationBridge.js +20 -0
  605. package/features/confirmation/ConfirmationBridge.js.map +1 -0
  606. package/features/confirmation/abstractions.d.ts +15 -0
  607. package/features/confirmation/abstractions.js +6 -0
  608. package/features/confirmation/abstractions.js.map +1 -0
  609. package/features/confirmation/feature.d.ts +1 -0
  610. package/features/confirmation/feature.js +11 -0
  611. package/features/confirmation/feature.js.map +1 -0
  612. package/features/confirmation/index.d.ts +3 -0
  613. package/features/confirmation/index.js +3 -0
  614. package/features/dateFormatter/DefaultDateFormatter.d.ts +8 -0
  615. package/features/dateFormatter/DefaultDateFormatter.js +25 -0
  616. package/features/dateFormatter/DefaultDateFormatter.js.map +1 -0
  617. package/features/dateFormatter/abstractions.d.ts +13 -0
  618. package/features/dateFormatter/abstractions.js +5 -0
  619. package/features/dateFormatter/abstractions.js.map +1 -0
  620. package/features/dateFormatter/feature.d.ts +3 -0
  621. package/features/dateFormatter/feature.js +17 -0
  622. package/features/dateFormatter/feature.js.map +1 -0
  623. package/features/dateFormatter/formatUtcOffset.d.ts +1 -0
  624. package/features/dateFormatter/formatUtcOffset.js +11 -0
  625. package/features/dateFormatter/formatUtcOffset.js.map +1 -0
  626. package/features/dateFormatter/index.d.ts +4 -0
  627. package/features/dateFormatter/index.js +4 -0
  628. package/features/dateFormatter/useDateFormatter.d.ts +5 -0
  629. package/features/dateFormatter/useDateFormatter.js +8 -0
  630. package/features/dateFormatter/useDateFormatter.js.map +1 -0
  631. package/features/formModel/AccessControlRuleEvaluator.d.ts +12 -0
  632. package/features/formModel/AccessControlRuleEvaluator.js +30 -0
  633. package/features/formModel/AccessControlRuleEvaluator.js.map +1 -0
  634. package/features/formModel/AccessControlRuleEvaluator.test.d.ts +1 -0
  635. package/features/formModel/AccessControlRuleEvaluator.test.js +219 -0
  636. package/features/formModel/AccessControlRuleEvaluator.test.js.map +1 -0
  637. package/features/formModel/ConditionRuleEvaluator.js +34 -4
  638. package/features/formModel/ConditionRuleEvaluator.js.map +1 -1
  639. package/features/formModel/Field.d.ts +12 -5
  640. package/features/formModel/Field.js +96 -13
  641. package/features/formModel/Field.js.map +1 -1
  642. package/features/formModel/FieldBuilder.d.ts +7 -3
  643. package/features/formModel/FieldBuilder.js +17 -2
  644. package/features/formModel/FieldBuilder.js.map +1 -1
  645. package/features/formModel/FieldBuilder.test.js +6 -4
  646. package/features/formModel/FieldBuilder.test.js.map +1 -1
  647. package/features/formModel/FocusManager.js +10 -3
  648. package/features/formModel/FocusManager.js.map +1 -1
  649. package/features/formModel/FormErrors.d.ts +3 -2
  650. package/features/formModel/FormErrors.js +4 -3
  651. package/features/formModel/FormErrors.js.map +1 -1
  652. package/features/formModel/FormModel.d.ts +8 -2
  653. package/features/formModel/FormModel.js +40 -19
  654. package/features/formModel/FormModel.js.map +1 -1
  655. package/features/formModel/FormModel.test.js +514 -23
  656. package/features/formModel/FormModel.test.js.map +1 -1
  657. package/features/formModel/FormView.d.ts +4 -8
  658. package/features/formModel/FormView.js +25 -6
  659. package/features/formModel/FormView.js.map +1 -1
  660. package/features/formModel/LayoutBuilderFactory.d.ts +3 -2
  661. package/features/formModel/LayoutBuilderFactory.js +58 -5
  662. package/features/formModel/LayoutBuilderFactory.js.map +1 -1
  663. package/features/formModel/LayoutMutator.js +6 -0
  664. package/features/formModel/LayoutMutator.js.map +1 -1
  665. package/features/formModel/LayoutResolver.d.ts +1 -0
  666. package/features/formModel/LayoutResolver.js +27 -6
  667. package/features/formModel/LayoutResolver.js.map +1 -1
  668. package/features/formModel/ObjectField.d.ts +5 -2
  669. package/features/formModel/ObjectField.js +68 -3
  670. package/features/formModel/ObjectField.js.map +1 -1
  671. package/features/formModel/PresenterErrors.d.ts +2 -2
  672. package/features/formModel/Rules.test.js +224 -16
  673. package/features/formModel/Rules.test.js.map +1 -1
  674. package/features/formModel/abstractions.d.ts +87 -21
  675. package/features/formModel/abstractions.js.map +1 -1
  676. package/features/formModel/createFieldRenderer.d.ts +42 -0
  677. package/features/formModel/createFieldRenderer.js +34 -10
  678. package/features/formModel/createFieldRenderer.js.map +1 -1
  679. package/features/formModel/demo/FormModelDemo.d.ts +2 -2
  680. package/features/formModel/demo/FormModelPhase11Presenter.js +5 -5
  681. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -1
  682. package/features/formModel/feature.js +6 -1
  683. package/features/formModel/feature.js.map +1 -1
  684. package/features/formModel/fieldTypes/ObjectFieldType.js +2 -1
  685. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  686. package/features/formModel/fieldTypes/PasswordFieldType.d.ts +18 -0
  687. package/features/formModel/fieldTypes/PasswordFieldType.js +23 -0
  688. package/features/formModel/fieldTypes/PasswordFieldType.js.map +1 -0
  689. package/features/formModel/fieldTypes/PermissionsFieldType.d.ts +18 -0
  690. package/features/formModel/fieldTypes/PermissionsFieldType.js +27 -0
  691. package/features/formModel/fieldTypes/PermissionsFieldType.js.map +1 -0
  692. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.d.ts +18 -0
  693. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js +24 -0
  694. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js.map +1 -0
  695. package/features/formModel/fieldTypes/index.d.ts +3 -0
  696. package/features/formModel/fieldTypes/index.js +3 -0
  697. package/features/formModel/hasSubtreeFocusRequest.d.ts +12 -0
  698. package/features/formModel/hasSubtreeFocusRequest.js +15 -0
  699. package/features/formModel/hasSubtreeFocusRequest.js.map +1 -0
  700. package/features/formModel/index.d.ts +3 -3
  701. package/features/formModel/index.js +4 -4
  702. package/features/formModel/renderers.d.ts +5 -0
  703. package/features/formModel/renderers.js +5 -0
  704. package/features/listCache/ListCache.d.ts +4 -1
  705. package/features/listCache/ListCache.js +13 -3
  706. package/features/listCache/ListCache.js.map +1 -1
  707. package/features/notifications/Notifications.d.ts +16 -0
  708. package/features/notifications/Notifications.js +39 -0
  709. package/features/notifications/Notifications.js.map +1 -0
  710. package/features/notifications/NotificationsPresenter.d.ts +11 -0
  711. package/features/notifications/NotificationsPresenter.js +27 -0
  712. package/features/notifications/NotificationsPresenter.js.map +1 -0
  713. package/features/notifications/NotificationsRenderer.d.ts +7 -0
  714. package/features/notifications/NotificationsRenderer.js +38 -0
  715. package/features/notifications/NotificationsRenderer.js.map +1 -0
  716. package/features/notifications/abstractions.d.ts +38 -0
  717. package/features/notifications/abstractions.js +6 -0
  718. package/features/notifications/abstractions.js.map +1 -0
  719. package/features/notifications/feature.d.ts +4 -0
  720. package/features/notifications/feature.js +20 -0
  721. package/features/notifications/feature.js.map +1 -0
  722. package/features/notifications/index.d.ts +3 -0
  723. package/features/notifications/index.js +3 -0
  724. package/features/wcp/ReactLicense.d.ts +9 -0
  725. package/features/wcp/ReactLicense.js +27 -0
  726. package/features/wcp/ReactLicense.js.map +1 -1
  727. package/hooks/index.d.ts +4 -0
  728. package/hooks/index.js +4 -0
  729. package/hooks/useDrawer.d.ts +9 -0
  730. package/hooks/useDrawer.js +19 -0
  731. package/hooks/useDrawer.js.map +1 -0
  732. package/hooks/useHotkeys.js +6 -6
  733. package/hooks/useHotkeys.js.map +1 -1
  734. package/hooks/useNamedConfirmationDialog.d.ts +9 -0
  735. package/hooks/useNamedConfirmationDialog.js +20 -0
  736. package/hooks/useNamedConfirmationDialog.js.map +1 -0
  737. package/hooks/useOpenDrawer.d.ts +7 -0
  738. package/hooks/useOpenDrawer.js +18 -0
  739. package/hooks/useOpenDrawer.js.map +1 -0
  740. package/hooks/useSnackbar.js.map +1 -1
  741. package/index.d.ts +42 -1
  742. package/index.js +44 -7
  743. package/modules/AccessManagementExtension.d.ts +2 -0
  744. package/modules/AccessManagementExtension.js +145 -0
  745. package/modules/AccessManagementExtension.js.map +1 -0
  746. package/package.json +36 -34
  747. package/presentation/accessManagement/SecurityPermissions.d.ts +2 -0
  748. package/presentation/accessManagement/SecurityPermissions.js +54 -0
  749. package/presentation/accessManagement/SecurityPermissions.js.map +1 -0
  750. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.d.ts +13 -0
  751. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js +23 -0
  752. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js.map +1 -0
  753. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.d.ts +38 -0
  754. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +193 -0
  755. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -0
  756. package/presentation/accessManagement/apiKeys/abstractions.d.ts +25 -0
  757. package/presentation/accessManagement/apiKeys/abstractions.js +5 -0
  758. package/presentation/accessManagement/apiKeys/abstractions.js.map +1 -0
  759. package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +4 -0
  760. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js +234 -0
  761. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js.map +1 -0
  762. package/presentation/accessManagement/apiKeys/feature.d.ts +3 -0
  763. package/presentation/accessManagement/apiKeys/feature.js +17 -0
  764. package/presentation/accessManagement/apiKeys/feature.js.map +1 -0
  765. package/presentation/accessManagement/roles/RolesDataSource.d.ts +13 -0
  766. package/presentation/accessManagement/roles/RolesDataSource.js +23 -0
  767. package/presentation/accessManagement/roles/RolesDataSource.js.map +1 -0
  768. package/presentation/accessManagement/roles/RolesPresenter.d.ts +38 -0
  769. package/presentation/accessManagement/roles/RolesPresenter.js +201 -0
  770. package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -0
  771. package/presentation/accessManagement/roles/abstractions.d.ts +27 -0
  772. package/presentation/accessManagement/roles/abstractions.js +5 -0
  773. package/presentation/accessManagement/roles/abstractions.js.map +1 -0
  774. package/presentation/accessManagement/roles/components/RolesView.d.ts +4 -0
  775. package/presentation/accessManagement/roles/components/RolesView.js +232 -0
  776. package/presentation/accessManagement/roles/components/RolesView.js.map +1 -0
  777. package/presentation/accessManagement/roles/feature.d.ts +3 -0
  778. package/presentation/accessManagement/roles/feature.js +17 -0
  779. package/presentation/accessManagement/roles/feature.js.map +1 -0
  780. package/presentation/accessManagement/routes.d.ts +21 -0
  781. package/presentation/accessManagement/routes.js +36 -0
  782. package/presentation/accessManagement/routes.js.map +1 -0
  783. package/presentation/accessManagement/teams/TeamsDataSource.d.ts +13 -0
  784. package/presentation/accessManagement/teams/TeamsDataSource.js +23 -0
  785. package/presentation/accessManagement/teams/TeamsDataSource.js.map +1 -0
  786. package/presentation/accessManagement/teams/TeamsPresenter.d.ts +39 -0
  787. package/presentation/accessManagement/teams/TeamsPresenter.js +200 -0
  788. package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -0
  789. package/presentation/accessManagement/teams/abstractions.d.ts +26 -0
  790. package/presentation/accessManagement/teams/abstractions.js +5 -0
  791. package/presentation/accessManagement/teams/abstractions.js.map +1 -0
  792. package/presentation/accessManagement/teams/components/TeamsView.d.ts +4 -0
  793. package/presentation/accessManagement/teams/components/TeamsView.js +214 -0
  794. package/presentation/accessManagement/teams/components/TeamsView.js.map +1 -0
  795. package/presentation/accessManagement/teams/feature.d.ts +3 -0
  796. package/presentation/accessManagement/teams/feature.js +17 -0
  797. package/presentation/accessManagement/teams/feature.js.map +1 -0
  798. package/presentation/commandPalette/CommandPalettePresenter.d.ts +16 -0
  799. package/presentation/commandPalette/CommandPalettePresenter.js +71 -0
  800. package/presentation/commandPalette/CommandPalettePresenter.js.map +1 -0
  801. package/presentation/commandPalette/abstractions.d.ts +62 -0
  802. package/presentation/commandPalette/abstractions.js +7 -0
  803. package/presentation/commandPalette/abstractions.js.map +1 -0
  804. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.d.ts +15 -0
  805. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js +33 -0
  806. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js.map +1 -0
  807. package/presentation/commandPalette/commands/SendMessageCommand.d.ts +23 -0
  808. package/presentation/commandPalette/commands/SendMessageCommand.js +66 -0
  809. package/presentation/commandPalette/commands/SendMessageCommand.js.map +1 -0
  810. package/presentation/commandPalette/commands/SignOutCommand.d.ts +18 -0
  811. package/presentation/commandPalette/commands/SignOutCommand.js +37 -0
  812. package/presentation/commandPalette/commands/SignOutCommand.js.map +1 -0
  813. package/presentation/commandPalette/commands/feature.d.ts +5 -0
  814. package/presentation/commandPalette/commands/feature.js +15 -0
  815. package/presentation/commandPalette/commands/feature.js.map +1 -0
  816. package/presentation/commandPalette/feature.d.ts +3 -0
  817. package/presentation/commandPalette/feature.js +17 -0
  818. package/presentation/commandPalette/feature.js.map +1 -0
  819. package/presentation/commandPalette/index.d.ts +3 -0
  820. package/presentation/commandPalette/index.js +2 -0
  821. package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +2 -2
  822. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +3 -1
  823. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -1
  824. package/presentation/listPresenter/FolderAwareDataSource.d.ts +50 -0
  825. package/presentation/listPresenter/FolderAwareDataSource.js +135 -0
  826. package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -0
  827. package/presentation/listPresenter/ListPresenter.d.ts +4 -0
  828. package/presentation/listPresenter/ListPresenter.js +30 -4
  829. package/presentation/listPresenter/ListPresenter.js.map +1 -1
  830. package/presentation/listPresenter/QueryMatcher.d.ts +56 -0
  831. package/presentation/listPresenter/QueryMatcher.js +59 -0
  832. package/presentation/listPresenter/QueryMatcher.js.map +1 -0
  833. package/presentation/listPresenter/SimpleDataSource.d.ts +15 -0
  834. package/presentation/listPresenter/SimpleDataSource.js +70 -0
  835. package/presentation/listPresenter/SimpleDataSource.js.map +1 -0
  836. package/presentation/listPresenter/abstractions.d.ts +9 -0
  837. package/presentation/listPresenter/abstractions.js.map +1 -1
  838. package/presentation/listPresenter/index.d.ts +5 -0
  839. package/presentation/listPresenter/index.js +3 -0
  840. package/presentation/security/components/HasPermission.d.ts +1 -1
  841. package/presentation/sortable/SortablePresenter.d.ts +23 -0
  842. package/presentation/sortable/SortablePresenter.js +175 -0
  843. package/presentation/sortable/SortablePresenter.js.map +1 -0
  844. package/presentation/sortable/abstractions.d.ts +24 -0
  845. package/presentation/sortable/abstractions.js +5 -0
  846. package/presentation/sortable/abstractions.js.map +1 -0
  847. package/presentation/sortable/feature.d.ts +1 -0
  848. package/presentation/sortable/feature.js +11 -0
  849. package/presentation/sortable/feature.js.map +1 -0
  850. package/presentation/sortable/index.d.ts +2 -0
  851. package/presentation/sortable/index.js +2 -0
  852. package/presentation/trashBin/TrashBinDataSource.d.ts +16 -0
  853. package/presentation/trashBin/TrashBinDataSource.js +82 -0
  854. package/presentation/trashBin/TrashBinDataSource.js.map +1 -0
  855. package/presentation/trashBin/TrashBinPresenter.d.ts +20 -0
  856. package/presentation/trashBin/TrashBinPresenter.js +114 -0
  857. package/presentation/trashBin/TrashBinPresenter.js.map +1 -0
  858. package/presentation/trashBin/abstractions.d.ts +105 -0
  859. package/presentation/trashBin/abstractions.js +9 -0
  860. package/presentation/trashBin/abstractions.js.map +1 -0
  861. package/presentation/trashBin/components/Actions/DeleteItemAction.d.ts +2 -0
  862. package/presentation/trashBin/components/Actions/DeleteItemAction.js +20 -0
  863. package/presentation/trashBin/components/Actions/DeleteItemAction.js.map +1 -0
  864. package/presentation/trashBin/components/Actions/RestoreItemAction.d.ts +2 -0
  865. package/presentation/trashBin/components/Actions/RestoreItemAction.js +19 -0
  866. package/presentation/trashBin/components/Actions/RestoreItemAction.js.map +1 -0
  867. package/presentation/trashBin/components/Actions/index.d.ts +2 -0
  868. package/presentation/trashBin/components/Actions/index.js +2 -0
  869. package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +4 -0
  870. package/presentation/trashBin/components/BulkActions/DeleteItems.js +72 -0
  871. package/presentation/trashBin/components/BulkActions/DeleteItems.js.map +1 -0
  872. package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +4 -0
  873. package/presentation/trashBin/components/BulkActions/RestoreItems.js +81 -0
  874. package/presentation/trashBin/components/BulkActions/RestoreItems.js.map +1 -0
  875. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.d.ts +5 -0
  876. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js +12 -0
  877. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js.map +1 -0
  878. package/presentation/trashBin/components/BulkActions/index.d.ts +2 -0
  879. package/presentation/trashBin/components/BulkActions/index.js +2 -0
  880. package/presentation/trashBin/components/Cells/CellActions.d.ts +2 -0
  881. package/presentation/trashBin/components/Cells/CellActions.js +18 -0
  882. package/presentation/trashBin/components/Cells/CellActions.js.map +1 -0
  883. package/presentation/trashBin/components/Cells/CellCreatedBy.d.ts +2 -0
  884. package/presentation/trashBin/components/Cells/CellCreatedBy.js +11 -0
  885. package/presentation/trashBin/components/Cells/CellCreatedBy.js.map +1 -0
  886. package/presentation/trashBin/components/Cells/CellDeletedBy.d.ts +2 -0
  887. package/presentation/trashBin/components/Cells/CellDeletedBy.js +11 -0
  888. package/presentation/trashBin/components/Cells/CellDeletedBy.js.map +1 -0
  889. package/presentation/trashBin/components/Cells/CellDeletedOn.d.ts +2 -0
  890. package/presentation/trashBin/components/Cells/CellDeletedOn.js +14 -0
  891. package/presentation/trashBin/components/Cells/CellDeletedOn.js.map +1 -0
  892. package/presentation/trashBin/components/Cells/CellTitle.d.ts +2 -0
  893. package/presentation/trashBin/components/Cells/CellTitle.js +21 -0
  894. package/presentation/trashBin/components/Cells/CellTitle.js.map +1 -0
  895. package/presentation/trashBin/components/Cells/index.d.ts +5 -0
  896. package/presentation/trashBin/components/Cells/index.js +5 -0
  897. package/presentation/trashBin/components/TrashBinConfigs.d.ts +2 -0
  898. package/presentation/trashBin/components/TrashBinConfigs.js +55 -0
  899. package/presentation/trashBin/components/TrashBinConfigs.js.map +1 -0
  900. package/presentation/trashBin/components/TrashBinOverlay.d.ts +12 -0
  901. package/presentation/trashBin/components/TrashBinOverlay.js +139 -0
  902. package/presentation/trashBin/components/TrashBinOverlay.js.map +1 -0
  903. package/presentation/trashBin/components/TrashBinTable.d.ts +2 -0
  904. package/presentation/trashBin/components/TrashBinTable.js +48 -0
  905. package/presentation/trashBin/components/TrashBinTable.js.map +1 -0
  906. package/presentation/trashBin/configs/Browser/BulkAction.d.ts +34 -0
  907. package/presentation/trashBin/configs/Browser/BulkAction.js +59 -0
  908. package/presentation/trashBin/configs/Browser/BulkAction.js.map +1 -0
  909. package/presentation/trashBin/configs/Browser/EntryAction.d.ts +18 -0
  910. package/presentation/trashBin/configs/Browser/EntryAction.js +36 -0
  911. package/presentation/trashBin/configs/Browser/EntryAction.js.map +1 -0
  912. package/presentation/trashBin/configs/Browser/Table/Column.d.ts +16 -0
  913. package/presentation/trashBin/configs/Browser/Table/Column.js +9 -0
  914. package/presentation/trashBin/configs/Browser/Table/Column.js.map +1 -0
  915. package/presentation/trashBin/configs/Browser/Table/Sorting.d.ts +5 -0
  916. package/presentation/trashBin/configs/Browser/Table/Sorting.js +6 -0
  917. package/presentation/trashBin/configs/Browser/Table/Sorting.js.map +1 -0
  918. package/presentation/trashBin/configs/Browser/Table/index.d.ts +18 -0
  919. package/presentation/trashBin/configs/Browser/Table/index.js +9 -0
  920. package/presentation/trashBin/configs/Browser/Table/index.js.map +1 -0
  921. package/presentation/trashBin/configs/Browser/index.d.ts +40 -0
  922. package/presentation/trashBin/configs/Browser/index.js +11 -0
  923. package/presentation/trashBin/configs/Browser/index.js.map +1 -0
  924. package/presentation/trashBin/configs/TrashBinListConfig.d.ts +46 -0
  925. package/presentation/trashBin/configs/TrashBinListConfig.js +43 -0
  926. package/presentation/trashBin/configs/TrashBinListConfig.js.map +1 -0
  927. package/presentation/trashBin/configs/index.d.ts +1 -0
  928. package/presentation/trashBin/configs/index.js +1 -0
  929. package/presentation/trashBin/feature.d.ts +3 -0
  930. package/presentation/trashBin/feature.js +17 -0
  931. package/presentation/trashBin/feature.js.map +1 -0
  932. package/presentation/trashBin/hooks/index.d.ts +4 -0
  933. package/presentation/trashBin/hooks/index.js +4 -0
  934. package/presentation/trashBin/hooks/useDeleteTrashBinItem.d.ts +8 -0
  935. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js +33 -0
  936. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js.map +1 -0
  937. package/presentation/trashBin/hooks/useRestoreTrashBinItem.d.ts +8 -0
  938. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js +35 -0
  939. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js.map +1 -0
  940. package/presentation/trashBin/hooks/useTrashBinItem.d.ts +11 -0
  941. package/presentation/trashBin/hooks/useTrashBinItem.js +7 -0
  942. package/presentation/trashBin/hooks/useTrashBinItem.js.map +1 -0
  943. package/presentation/trashBin/hooks/useTrashBinPresenter.d.ts +13 -0
  944. package/presentation/trashBin/hooks/useTrashBinPresenter.js +7 -0
  945. package/presentation/trashBin/hooks/useTrashBinPresenter.js.map +1 -0
  946. package/presentation/trashBin/index.d.ts +6 -0
  947. package/presentation/trashBin/index.js +6 -0
  948. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +0 -10
  949. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +0 -97
  950. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +0 -1
  951. package/components/RoleAutocomplete/graphql.d.ts +0 -1
  952. package/components/RoleAutocomplete/graphql.js +0 -19
  953. package/components/RoleAutocomplete/graphql.js.map +0 -1
  954. package/components/RoleAutocomplete/index.d.ts +0 -7
  955. package/components/RoleAutocomplete/index.js +0 -26
  956. package/components/RoleAutocomplete/index.js.map +0 -1
  957. package/features/debugger/Debugger.d.ts +0 -8
  958. package/features/debugger/Debugger.js +0 -25
  959. package/features/debugger/Debugger.js.map +0 -1
  960. package/features/debugger/DebuggerIndicator.d.ts +0 -16
  961. package/features/debugger/DebuggerIndicator.js +0 -31
  962. package/features/debugger/DebuggerIndicator.js.map +0 -1
  963. package/features/debugger/DebuggerStore.d.ts +0 -55
  964. package/features/debugger/DebuggerStore.js +0 -65
  965. package/features/debugger/DebuggerStore.js.map +0 -1
  966. package/features/debugger/DebuggerView.d.ts +0 -4
  967. package/features/debugger/DebuggerView.js +0 -49
  968. package/features/debugger/DebuggerView.js.map +0 -1
  969. package/features/debugger/GraphQLExtensionsDebugHandler.d.ts +0 -15
  970. package/features/debugger/GraphQLExtensionsDebugHandler.js +0 -15
  971. package/features/debugger/GraphQLExtensionsDebugHandler.js.map +0 -1
  972. package/features/debugger/debuggerLink.d.ts +0 -12
  973. package/features/debugger/debuggerLink.js +0 -10
  974. package/features/debugger/debuggerLink.js.map +0 -1
  975. package/features/debugger/feature.d.ts +0 -1
  976. package/features/debugger/feature.js +0 -18
  977. package/features/debugger/feature.js.map +0 -1
  978. package/features/debugger/index.d.ts +0 -7
  979. package/features/debugger/index.js +0 -7
  980. package/features/debugger/permissions.d.ts +0 -68
  981. package/features/debugger/permissions.js +0 -27
  982. package/features/debugger/permissions.js.map +0 -1
  983. package/features/debugger/report.d.ts +0 -7
  984. package/features/debugger/report.js +0 -22
  985. package/features/debugger/report.js.map +0 -1
  986. package/features/debugger/routes.d.ts +0 -4
  987. package/features/debugger/routes.js +0 -10
  988. package/features/debugger/routes.js.map +0 -1
  989. package/plugins/MenuPlugin.d.ts +0 -37
  990. package/plugins/MenuPlugin.js +0 -20
  991. package/plugins/MenuPlugin.js.map +0 -1
@@ -1,10 +1,12 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { Container } from "@webiny/di";
3
3
  import { FormModelFeature } from "./feature.js";
4
+ import { IdentityContextFeature } from "../security/IdentityContext/feature.js";
4
5
  import { ConditionRuleEvaluator } from "./ConditionRuleEvaluator.js";
5
6
  import { FormModelFactory } from "./abstractions.js";
6
7
  function createForm(config) {
7
8
  const container = new Container();
9
+ IdentityContextFeature.register(container);
8
10
  FormModelFeature.register(container);
9
11
  return container.resolve(FormModelFactory).create({
10
12
  fields: config.fields,
@@ -62,7 +64,7 @@ describe("Rules system", ()=>{
62
64
  {
63
65
  type: "condition",
64
66
  target: "plan",
65
- operator: "eq",
67
+ operator: "==",
66
68
  value: "enterprise",
67
69
  action: "hide"
68
70
  }
@@ -228,38 +230,36 @@ describe("Rules system", ()=>{
228
230
  });
229
231
  describe("custom rule evaluators", ()=>{
230
232
  it("uses externally registered evaluators for custom rule types", ()=>{
231
- class AccessControlEvaluator {
232
- constructor(userTeams){
233
- this.userTeams = userTeams;
233
+ class FeatureFlagEvaluator {
234
+ constructor(enabledFlags){
235
+ this.enabledFlags = enabledFlags;
234
236
  }
235
237
  canEvaluate(rule) {
236
- return "accessControl" === rule.type;
238
+ return "featureFlag" === rule.type;
237
239
  }
238
240
  evaluate(rule) {
239
- if (!rule.value) return false;
240
- const [scope, id] = rule.value.split(":");
241
- return "team" === scope && this.userTeams.includes(id);
241
+ return "string" == typeof rule.value && this.enabledFlags.includes(rule.value);
242
242
  }
243
243
  }
244
244
  const form = createForm({
245
245
  extraEvaluators: [
246
- new AccessControlEvaluator([
247
- "admins"
246
+ new FeatureFlagEvaluator([
247
+ "beta"
248
248
  ])
249
249
  ],
250
250
  fields: (fields)=>({
251
- adminField: fields.text().label("Admin Only").rules([
251
+ betaField: fields.text().label("Beta Only").rules([
252
252
  {
253
- type: "accessControl",
254
- target: "identity",
253
+ type: "featureFlag",
254
+ target: "flags",
255
255
  operator: "matches",
256
- value: "team:admins",
256
+ value: "beta",
257
257
  action: "disable"
258
258
  }
259
259
  ])
260
260
  })
261
261
  });
262
- expect(form.field("adminField").vm.disabled).toBe(true);
262
+ expect(form.field("betaField").vm.disabled).toBe(true);
263
263
  });
264
264
  it("ignores rules with unknown types (no evaluator)", ()=>{
265
265
  const form = createForm({
@@ -285,7 +285,7 @@ describe("Rules system", ()=>{
285
285
  expect(e.canEvaluate({
286
286
  type: "condition",
287
287
  target: "x",
288
- operator: "eq",
288
+ operator: "==",
289
289
  value: "y",
290
290
  action: "hide"
291
291
  })).toBe(true);
@@ -318,6 +318,214 @@ describe("Rules system", ()=>{
318
318
  expect(e.evaluate(rule, mkForm("hello"))).toBe(false);
319
319
  expect(e.evaluate(rule, mkForm(0))).toBe(false);
320
320
  });
321
+ describe("typed rule values", ()=>{
322
+ const e = new ConditionRuleEvaluator();
323
+ const mkForm = (value)=>({
324
+ field: ()=>({
325
+ getValue: ()=>value
326
+ })
327
+ });
328
+ const mkRule = (operator, value)=>({
329
+ type: "condition",
330
+ target: "x",
331
+ operator,
332
+ value,
333
+ action: "hide"
334
+ });
335
+ it.each([
336
+ [
337
+ false,
338
+ false,
339
+ true
340
+ ],
341
+ [
342
+ false,
343
+ true,
344
+ false
345
+ ],
346
+ [
347
+ true,
348
+ true,
349
+ true
350
+ ],
351
+ [
352
+ true,
353
+ false,
354
+ false
355
+ ]
356
+ ])("== with boolean field %s and boolean rule value %s -> %s", (field, rule, out)=>{
357
+ expect(e.evaluate(mkRule("==", rule), mkForm(field))).toBe(out);
358
+ });
359
+ it.each([
360
+ [
361
+ false,
362
+ false,
363
+ false
364
+ ],
365
+ [
366
+ false,
367
+ true,
368
+ true
369
+ ],
370
+ [
371
+ true,
372
+ true,
373
+ false
374
+ ],
375
+ [
376
+ true,
377
+ false,
378
+ true
379
+ ]
380
+ ])("!= with boolean field %s and boolean rule value %s -> %s", (field, rule, out)=>{
381
+ expect(e.evaluate(mkRule("!=", rule), mkForm(field))).toBe(out);
382
+ });
383
+ it("supports eq/neq aliases with boolean values", ()=>{
384
+ expect(e.evaluate(mkRule("eq", false), mkForm(false))).toBe(true);
385
+ expect(e.evaluate(mkRule("neq", false), mkForm(true))).toBe(true);
386
+ });
387
+ it("does not coerce strings to booleans", ()=>{
388
+ expect(e.evaluate(mkRule("==", "false"), mkForm(false))).toBe(false);
389
+ expect(e.evaluate(mkRule("==", "true"), mkForm(true))).toBe(false);
390
+ expect(e.evaluate(mkRule("==", false), mkForm("false"))).toBe(false);
391
+ expect(e.evaluate(mkRule("!=", "false"), mkForm(false))).toBe(true);
392
+ });
393
+ it("does not loosely match falsy values against booleans", ()=>{
394
+ expect(e.evaluate(mkRule("==", ""), mkForm(false))).toBe(false);
395
+ expect(e.evaluate(mkRule("==", 0), mkForm(false))).toBe(false);
396
+ expect(e.evaluate(mkRule("==", false), mkForm(0))).toBe(false);
397
+ expect(e.evaluate(mkRule("==", true), mkForm(1))).toBe(false);
398
+ });
399
+ it("compares plain strings as strings", ()=>{
400
+ expect(e.evaluate(mkRule("==", "false"), mkForm("false"))).toBe(true);
401
+ expect(e.evaluate(mkRule("==", "map"), mkForm("map"))).toBe(true);
402
+ expect(e.evaluate(mkRule("!=", "map"), mkForm("other"))).toBe(true);
403
+ });
404
+ it("does not treat an empty field as false", ()=>{
405
+ expect(e.evaluate(mkRule("==", false), mkForm(null))).toBe(false);
406
+ });
407
+ it("compares numbers with number and numeric string rule values", ()=>{
408
+ expect(e.evaluate(mkRule("==", 5), mkForm(5))).toBe(true);
409
+ expect(e.evaluate(mkRule("==", "5"), mkForm(5))).toBe(true);
410
+ expect(e.evaluate(mkRule("!=", 5), mkForm(6))).toBe(true);
411
+ expect(e.evaluate(mkRule(">", 5), mkForm(6))).toBe(true);
412
+ expect(e.evaluate(mkRule("gte", 5), mkForm(5))).toBe(true);
413
+ expect(e.evaluate(mkRule("<", 5), mkForm(6))).toBe(false);
414
+ expect(e.evaluate(mkRule("lte", "5"), mkForm(4))).toBe(true);
415
+ });
416
+ });
417
+ });
418
+ describe("rules with typed values on layout elements", ()=>{
419
+ const createAdvancedForm = (ruleValue)=>createForm({
420
+ fields: (fields)=>({
421
+ advanced: fields.text().label("Advanced").defaultValue(false),
422
+ options: fields.text().label("Options"),
423
+ map: fields.text().label("Map")
424
+ }),
425
+ layout: (layout)=>[
426
+ layout.row("advanced"),
427
+ layout.tabs("tabs").rules([
428
+ {
429
+ type: "condition",
430
+ target: "advanced",
431
+ operator: "==",
432
+ value: ruleValue,
433
+ action: "hide"
434
+ }
435
+ ]).tab("tab1", (tab)=>{
436
+ tab.label("Tab 1").layout((layout)=>[
437
+ layout.row("options")
438
+ ]);
439
+ }).tab("tab2", (tab)=>{
440
+ tab.label("Tab 2").rules([
441
+ {
442
+ type: "condition",
443
+ target: "options",
444
+ operator: "!=",
445
+ value: "map",
446
+ action: "disable"
447
+ }
448
+ ]).layout((layout)=>[
449
+ layout.row("map")
450
+ ]);
451
+ })
452
+ ]
453
+ });
454
+ const tabsVm = (form)=>form.vm.layout.find((n)=>"tabs" === n.type);
455
+ it("hides tabs while a boolean field equals false", ()=>{
456
+ const form = createAdvancedForm(false);
457
+ expect(tabsVm(form)).toBeUndefined();
458
+ expect(form.field("options").visible).toBe(false);
459
+ form.field("advanced").setValue(true);
460
+ expect(tabsVm(form)).toBeDefined();
461
+ expect(form.field("options").visible).toBe(true);
462
+ form.field("advanced").setValue(false);
463
+ expect(tabsVm(form)).toBeUndefined();
464
+ });
465
+ it("disables a tab until its string condition stops matching", ()=>{
466
+ const form = createAdvancedForm(false);
467
+ form.field("advanced").setValue(true);
468
+ expect(tabsVm(form).tabs[1].disabled).toBe(true);
469
+ expect(form.field("map").vm.disabled).toBe(true);
470
+ form.field("options").setValue("map");
471
+ expect(tabsVm(form).tabs[1].disabled).toBe(false);
472
+ expect(form.field("map").vm.disabled).toBe(false);
473
+ });
474
+ });
475
+ });
476
+ describe("disabled cascades into containers", ()=>{
477
+ it("disables the children of a disabled object field", ()=>{
478
+ const form = createForm({
479
+ fields: (fields)=>({
480
+ title: fields.text().label("Title"),
481
+ meta: fields.object().label("Meta").disabled().fields((inner)=>({
482
+ source: inner.text().label("Source"),
483
+ comment: inner.text().label("Comment")
484
+ }))
485
+ })
486
+ });
487
+ expect(form.field("meta").disabled).toBe(true);
488
+ expect(form.field("meta.source").disabled).toBe(true);
489
+ expect(form.field("meta.comment").disabled).toBe(true);
490
+ expect(form.field("title").disabled).toBe(false);
491
+ });
492
+ it("reaches grandchildren of a disabled object field", ()=>{
493
+ const form = createForm({
494
+ fields: (fields)=>({
495
+ outer: fields.object().label("Outer").disabled().fields((inner)=>({
496
+ nested: inner.object().label("Nested").fields((deep)=>({
497
+ value: deep.text().label("Value")
498
+ }))
499
+ }))
500
+ })
501
+ });
502
+ expect(form.field("outer.nested").disabled).toBe(true);
503
+ expect(form.field("outer.nested.value").disabled).toBe(true);
504
+ });
505
+ it("leaves children alone when the container is not disabled", ()=>{
506
+ const form = createForm({
507
+ fields: (fields)=>({
508
+ meta: fields.object().label("Meta").fields((inner)=>({
509
+ source: inner.text().label("Source").disabled(),
510
+ comment: inner.text().label("Comment")
511
+ }))
512
+ })
513
+ });
514
+ expect(form.field("meta").disabled).toBe(false);
515
+ expect(form.field("meta.source").disabled).toBe(true);
516
+ expect(form.field("meta.comment").disabled).toBe(false);
517
+ });
518
+ it("picks up a container disabled after the form was built", ()=>{
519
+ const form = createForm({
520
+ fields: (fields)=>({
521
+ meta: fields.object().label("Meta").fields((inner)=>({
522
+ source: inner.text().label("Source")
523
+ }))
524
+ })
525
+ });
526
+ expect(form.field("meta.source").disabled).toBe(false);
527
+ form.field("meta").setDisabled(true);
528
+ expect(form.field("meta.source").disabled).toBe(true);
321
529
  });
322
530
  });
323
531
 
@@ -1 +1 @@
1
- {"version":3,"file":"features/formModel/Rules.test.js","sources":["../../../src/features/formModel/Rules.test.ts"],"sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { FormModelFeature } from \"./feature.js\";\nimport { ConditionRuleEvaluator } from \"./ConditionRuleEvaluator.js\";\nimport {\n FormModelFactory,\n type IRule,\n type IRuleEvaluator,\n type ITabsNodeVM,\n type IFormModel,\n type IFormModelConfig\n} from \"./abstractions.js\";\n\nfunction createForm(config: {\n extraEvaluators?: IRuleEvaluator[];\n fields: IFormModelConfig[\"fields\"];\n layout?: IFormModelConfig[\"layout\"];\n}) {\n const container = new Container();\n FormModelFeature.register(container);\n return container.resolve(FormModelFactory).create({\n fields: config.fields,\n layout: config.layout,\n ruleEvaluators: config.extraEvaluators\n });\n}\n\ndescribe(\"Rules system\", () => {\n describe(\"condition rule on a field\", () => {\n it(\"hides a field when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n title: fields.text().label(\"Title\"),\n subtitle: fields\n .text()\n .label(\"Subtitle\")\n .rules([\n {\n type: \"condition\",\n target: \"title\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n expect(form.field(\"subtitle\").visible).toBe(false);\n expect(form.field(\"subtitle\").vm.visible).toBe(false);\n\n form.field(\"title\").setValue(\"Hello\");\n expect(form.field(\"subtitle\").visible).toBe(true);\n expect(form.field(\"subtitle\").vm.visible).toBe(true);\n });\n\n it(\"disables a field when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n country: fields.text().label(\"Country\"),\n city: fields\n .text()\n .label(\"City\")\n .rules([\n {\n type: \"condition\",\n target: \"country\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n })\n });\n\n expect(form.field(\"city\").vm.disabled).toBe(true);\n\n form.field(\"country\").setValue(\"US\");\n expect(form.field(\"city\").vm.disabled).toBe(false);\n });\n\n it(\"supports eq operator\", () => {\n const form = createForm({\n fields: fields => ({\n plan: fields.text().label(\"Plan\"),\n enterpriseOnly: fields\n .text()\n .label(\"Enterprise\")\n .rules([\n {\n type: \"condition\",\n target: \"plan\",\n operator: \"eq\",\n value: \"enterprise\",\n action: \"hide\"\n }\n ])\n })\n });\n\n form.field(\"plan\").setValue(\"starter\");\n expect(form.field(\"enterpriseOnly\").visible).toBe(true);\n\n form.field(\"plan\").setValue(\"enterprise\");\n expect(form.field(\"enterpriseOnly\").visible).toBe(false);\n });\n\n it(\"excludes hidden fields from validation\", async () => {\n const form = createForm({\n fields: fields => ({\n toggle: fields.text().label(\"Toggle\"),\n required: fields\n .text()\n .label(\"Required\")\n .required(\"Must fill\")\n .rules([\n {\n type: \"condition\",\n target: \"toggle\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n // toggle is empty → \"required\" is hidden → should not count as invalid\n const valid = await form.validate();\n expect(valid).toBe(true);\n\n // Fill toggle → \"required\" becomes visible → fails without a value\n form.field(\"toggle\").setValue(\"anything\");\n const valid2 = await form.validate();\n expect(valid2).toBe(false);\n expect(form.errors.some(e => e.path === \"required\")).toBe(true);\n });\n });\n\n describe(\"rules on layout elements\", () => {\n it(\"cascades disable from tabs container to contained fields\", () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n general: fields.text().label(\"General\"),\n seo: fields.text().label(\"SEO\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout\n .tabs(\"settings\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n .tab(\"general\", tab => {\n tab.label(\"General\").layout(layout => [layout.row(\"general\")]);\n })\n .tab(\"seo\", tab => {\n tab.label(\"SEO\").layout(layout => [layout.row(\"seo\")]);\n })\n ]\n });\n\n expect(form.field(\"general\").vm.disabled).toBe(true);\n expect(form.field(\"seo\").vm.disabled).toBe(true);\n\n const tabs = form.vm.layout[1] as ITabsNodeVM;\n expect(tabs.disabled).toBe(true);\n expect(tabs.tabs[0].disabled).toBe(true);\n\n form.field(\"trigger\").setValue(\"go\");\n expect(form.field(\"general\").vm.disabled).toBe(false);\n expect(form.field(\"seo\").vm.disabled).toBe(false);\n });\n\n it(\"cascades disable from a single tab to its fields only\", () => {\n const form = createForm({\n fields: fields => ({\n title: fields.text().label(\"Title\"),\n general: fields.text().label(\"General\"),\n seo: fields.text().label(\"SEO\")\n }),\n layout: layout => [\n layout\n .tabs(\"settings\")\n .tab(\"general\", tab => {\n tab.label(\"General\").layout(layout => [layout.row(\"general\")]);\n })\n .tab(\"seo\", tab => {\n tab.label(\"SEO\")\n .rules([\n {\n type: \"condition\",\n target: \"title\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n .layout(layout => [layout.row(\"seo\")]);\n })\n ]\n });\n\n expect(form.field(\"general\").vm.disabled).toBe(false);\n expect(form.field(\"seo\").vm.disabled).toBe(true);\n\n const tabs = form.vm.layout[0] as ITabsNodeVM;\n expect(tabs.tabs[0].disabled).toBe(false);\n expect(tabs.tabs[1].disabled).toBe(true);\n });\n\n it(\"hides a tab and its fields when the tab has a hide rule\", async () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n hiddenField: fields.text().label(\"Hidden\").required(\"needed\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout.tabs(\"settings\").tab(\"secret\", tab => {\n tab.label(\"Secret\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n .layout(layout => [layout.row(\"hiddenField\")]);\n })\n ]\n });\n\n // Tab is hidden → field inside is hidden → not validated\n const valid = await form.validate();\n expect(valid).toBe(true);\n\n // Form VM should not expose this tabs node (all tabs hidden = no tabs node)\n const tabsVm = form.vm.layout.find(n => n.type === \"tabs\");\n expect(tabsVm).toBeUndefined();\n });\n\n it(\"hides the entire tabs container when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n inner: fields.text().label(\"Inner\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout\n .tabs(\"settings\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n .tab(\"tab1\", tab => {\n tab.label(\"Tab 1\").layout(layout => [layout.row(\"inner\")]);\n })\n ]\n });\n\n expect(form.vm.layout.find(n => n.type === \"tabs\")).toBeUndefined();\n expect(form.field(\"inner\").visible).toBe(false);\n\n form.field(\"trigger\").setValue(\"yes\");\n expect(form.field(\"inner\").visible).toBe(true);\n expect(form.vm.layout.find(n => n.type === \"tabs\")).toBeDefined();\n });\n });\n\n describe(\"custom rule evaluators\", () => {\n it(\"uses externally registered evaluators for custom rule types\", () => {\n class AccessControlEvaluator implements IRuleEvaluator {\n constructor(private userTeams: string[]) {}\n canEvaluate(rule: IRule) {\n return rule.type === \"accessControl\";\n }\n evaluate(rule: IRule): boolean {\n if (!rule.value) {\n return false;\n }\n const [scope, id] = rule.value.split(\":\");\n return scope === \"team\" && this.userTeams.includes(id);\n }\n }\n\n const form = createForm({\n extraEvaluators: [new AccessControlEvaluator([\"admins\"])],\n fields: fields => ({\n adminField: fields\n .text()\n .label(\"Admin Only\")\n .rules([\n {\n type: \"accessControl\",\n target: \"identity\",\n operator: \"matches\",\n value: \"team:admins\",\n action: \"disable\"\n }\n ])\n })\n });\n\n expect(form.field(\"adminField\").vm.disabled).toBe(true);\n });\n\n it(\"ignores rules with unknown types (no evaluator)\", () => {\n const form = createForm({\n fields: fields => ({\n weird: fields\n .text()\n .label(\"Weird\")\n .rules([\n {\n type: \"bogusType\",\n target: \"x\",\n operator: \"noop\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n // Unknown rule types are ignored — field remains visible\n expect(form.field(\"weird\").visible).toBe(true);\n expect(form.field(\"weird\").vm.disabled).toBe(false);\n });\n });\n\n describe(\"ConditionRuleEvaluator\", () => {\n it(\"canEvaluate returns true only for condition rules\", () => {\n const e = new ConditionRuleEvaluator();\n expect(\n e.canEvaluate({\n type: \"condition\",\n target: \"x\",\n operator: \"eq\",\n value: \"y\",\n action: \"hide\"\n })\n ).toBe(true);\n expect(\n e.canEvaluate({\n type: \"accessControl\",\n target: \"identity\",\n operator: \"matches\",\n value: \"team:x\",\n action: \"hide\"\n })\n ).toBe(false);\n });\n\n it(\"isEmpty matches null, undefined, empty string, empty array\", () => {\n const e = new ConditionRuleEvaluator();\n const mkForm = (value: unknown): IFormModel =>\n ({\n field: () => ({ getValue: () => value })\n }) as unknown as IFormModel;\n\n const rule: IRule = {\n type: \"condition\",\n target: \"x\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n };\n\n expect(e.evaluate(rule, mkForm(null))).toBe(true);\n expect(e.evaluate(rule, mkForm(undefined))).toBe(true);\n expect(e.evaluate(rule, mkForm(\"\"))).toBe(true);\n expect(e.evaluate(rule, mkForm([]))).toBe(true);\n expect(e.evaluate(rule, mkForm(\"hello\"))).toBe(false);\n expect(e.evaluate(rule, mkForm(0))).toBe(false);\n });\n });\n});\n"],"names":["createForm","config","container","Container","FormModelFeature","FormModelFactory","describe","it","form","fields","expect","valid","valid2","e","layout","tab","tabs","tabsVm","n","AccessControlEvaluator","userTeams","rule","scope","id","ConditionRuleEvaluator","mkForm","value","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"features/formModel/Rules.test.js","sources":["../../../src/features/formModel/Rules.test.ts"],"sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { FormModelFeature } from \"./feature.js\";\nimport { IdentityContextFeature } from \"~/features/security/IdentityContext/feature.js\";\nimport { ConditionRuleEvaluator } from \"./ConditionRuleEvaluator.js\";\nimport {\n FormModelFactory,\n type IRule,\n type IRuleEvaluator,\n type ITabsNodeVM,\n type IFormModel,\n type IFormModelConfig\n} from \"./abstractions.js\";\n\nfunction createForm(config: {\n extraEvaluators?: IRuleEvaluator[];\n fields: IFormModelConfig[\"fields\"];\n layout?: IFormModelConfig[\"layout\"];\n}) {\n const container = new Container();\n IdentityContextFeature.register(container);\n FormModelFeature.register(container);\n return container.resolve(FormModelFactory).create({\n fields: config.fields,\n layout: config.layout,\n ruleEvaluators: config.extraEvaluators\n });\n}\n\ndescribe(\"Rules system\", () => {\n describe(\"condition rule on a field\", () => {\n it(\"hides a field when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n title: fields.text().label(\"Title\"),\n subtitle: fields\n .text()\n .label(\"Subtitle\")\n .rules([\n {\n type: \"condition\",\n target: \"title\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n expect(form.field(\"subtitle\").visible).toBe(false);\n expect(form.field(\"subtitle\").vm.visible).toBe(false);\n\n form.field(\"title\").setValue(\"Hello\");\n expect(form.field(\"subtitle\").visible).toBe(true);\n expect(form.field(\"subtitle\").vm.visible).toBe(true);\n });\n\n it(\"disables a field when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n country: fields.text().label(\"Country\"),\n city: fields\n .text()\n .label(\"City\")\n .rules([\n {\n type: \"condition\",\n target: \"country\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n })\n });\n\n expect(form.field(\"city\").vm.disabled).toBe(true);\n\n form.field(\"country\").setValue(\"US\");\n expect(form.field(\"city\").vm.disabled).toBe(false);\n });\n\n it(\"supports eq operator\", () => {\n const form = createForm({\n fields: fields => ({\n plan: fields.text().label(\"Plan\"),\n enterpriseOnly: fields\n .text()\n .label(\"Enterprise\")\n .rules([\n {\n type: \"condition\",\n target: \"plan\",\n operator: \"==\",\n value: \"enterprise\",\n action: \"hide\"\n }\n ])\n })\n });\n\n form.field(\"plan\").setValue(\"starter\");\n expect(form.field(\"enterpriseOnly\").visible).toBe(true);\n\n form.field(\"plan\").setValue(\"enterprise\");\n expect(form.field(\"enterpriseOnly\").visible).toBe(false);\n });\n\n it(\"excludes hidden fields from validation\", async () => {\n const form = createForm({\n fields: fields => ({\n toggle: fields.text().label(\"Toggle\"),\n required: fields\n .text()\n .label(\"Required\")\n .required(\"Must fill\")\n .rules([\n {\n type: \"condition\",\n target: \"toggle\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n // toggle is empty → \"required\" is hidden → should not count as invalid\n const valid = await form.validate();\n expect(valid).toBe(true);\n\n // Fill toggle → \"required\" becomes visible → fails without a value\n form.field(\"toggle\").setValue(\"anything\");\n const valid2 = await form.validate();\n expect(valid2).toBe(false);\n expect(form.errors.some(e => e.path === \"required\")).toBe(true);\n });\n });\n\n describe(\"rules on layout elements\", () => {\n it(\"cascades disable from tabs container to contained fields\", () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n general: fields.text().label(\"General\"),\n seo: fields.text().label(\"SEO\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout\n .tabs(\"settings\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n .tab(\"general\", tab => {\n tab.label(\"General\").layout(layout => [layout.row(\"general\")]);\n })\n .tab(\"seo\", tab => {\n tab.label(\"SEO\").layout(layout => [layout.row(\"seo\")]);\n })\n ]\n });\n\n expect(form.field(\"general\").vm.disabled).toBe(true);\n expect(form.field(\"seo\").vm.disabled).toBe(true);\n\n const tabs = form.vm.layout[1] as ITabsNodeVM;\n expect(tabs.disabled).toBe(true);\n expect(tabs.tabs[0].disabled).toBe(true);\n\n form.field(\"trigger\").setValue(\"go\");\n expect(form.field(\"general\").vm.disabled).toBe(false);\n expect(form.field(\"seo\").vm.disabled).toBe(false);\n });\n\n it(\"cascades disable from a single tab to its fields only\", () => {\n const form = createForm({\n fields: fields => ({\n title: fields.text().label(\"Title\"),\n general: fields.text().label(\"General\"),\n seo: fields.text().label(\"SEO\")\n }),\n layout: layout => [\n layout\n .tabs(\"settings\")\n .tab(\"general\", tab => {\n tab.label(\"General\").layout(layout => [layout.row(\"general\")]);\n })\n .tab(\"seo\", tab => {\n tab.label(\"SEO\")\n .rules([\n {\n type: \"condition\",\n target: \"title\",\n operator: \"isEmpty\",\n value: null,\n action: \"disable\"\n }\n ])\n .layout(layout => [layout.row(\"seo\")]);\n })\n ]\n });\n\n expect(form.field(\"general\").vm.disabled).toBe(false);\n expect(form.field(\"seo\").vm.disabled).toBe(true);\n\n const tabs = form.vm.layout[0] as ITabsNodeVM;\n expect(tabs.tabs[0].disabled).toBe(false);\n expect(tabs.tabs[1].disabled).toBe(true);\n });\n\n it(\"hides a tab and its fields when the tab has a hide rule\", async () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n hiddenField: fields.text().label(\"Hidden\").required(\"needed\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout.tabs(\"settings\").tab(\"secret\", tab => {\n tab.label(\"Secret\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n .layout(layout => [layout.row(\"hiddenField\")]);\n })\n ]\n });\n\n // Tab is hidden → field inside is hidden → not validated\n const valid = await form.validate();\n expect(valid).toBe(true);\n\n // Form VM should not expose this tabs node (all tabs hidden = no tabs node)\n const tabsVm = form.vm.layout.find(n => n.type === \"tabs\");\n expect(tabsVm).toBeUndefined();\n });\n\n it(\"hides the entire tabs container when its rule matches\", () => {\n const form = createForm({\n fields: fields => ({\n trigger: fields.text().label(\"Trigger\"),\n inner: fields.text().label(\"Inner\")\n }),\n layout: layout => [\n layout.row(\"trigger\"),\n layout\n .tabs(\"settings\")\n .rules([\n {\n type: \"condition\",\n target: \"trigger\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n }\n ])\n .tab(\"tab1\", tab => {\n tab.label(\"Tab 1\").layout(layout => [layout.row(\"inner\")]);\n })\n ]\n });\n\n expect(form.vm.layout.find(n => n.type === \"tabs\")).toBeUndefined();\n expect(form.field(\"inner\").visible).toBe(false);\n\n form.field(\"trigger\").setValue(\"yes\");\n expect(form.field(\"inner\").visible).toBe(true);\n expect(form.vm.layout.find(n => n.type === \"tabs\")).toBeDefined();\n });\n });\n\n describe(\"custom rule evaluators\", () => {\n it(\"uses externally registered evaluators for custom rule types\", () => {\n class FeatureFlagEvaluator implements IRuleEvaluator {\n constructor(private enabledFlags: string[]) {}\n canEvaluate(rule: IRule) {\n return rule.type === \"featureFlag\";\n }\n evaluate(rule: IRule): boolean {\n return typeof rule.value === \"string\" && this.enabledFlags.includes(rule.value);\n }\n }\n\n const form = createForm({\n extraEvaluators: [new FeatureFlagEvaluator([\"beta\"])],\n fields: fields => ({\n betaField: fields\n .text()\n .label(\"Beta Only\")\n .rules([\n {\n type: \"featureFlag\",\n target: \"flags\",\n operator: \"matches\",\n value: \"beta\",\n action: \"disable\"\n }\n ])\n })\n });\n\n expect(form.field(\"betaField\").vm.disabled).toBe(true);\n });\n\n it(\"ignores rules with unknown types (no evaluator)\", () => {\n const form = createForm({\n fields: fields => ({\n weird: fields\n .text()\n .label(\"Weird\")\n .rules([\n {\n type: \"bogusType\",\n target: \"x\",\n operator: \"noop\",\n value: null,\n action: \"hide\"\n }\n ])\n })\n });\n\n // Unknown rule types are ignored — field remains visible\n expect(form.field(\"weird\").visible).toBe(true);\n expect(form.field(\"weird\").vm.disabled).toBe(false);\n });\n });\n\n describe(\"ConditionRuleEvaluator\", () => {\n it(\"canEvaluate returns true only for condition rules\", () => {\n const e = new ConditionRuleEvaluator();\n expect(\n e.canEvaluate({\n type: \"condition\",\n target: \"x\",\n operator: \"==\",\n value: \"y\",\n action: \"hide\"\n })\n ).toBe(true);\n expect(\n e.canEvaluate({\n type: \"accessControl\",\n target: \"identity\",\n operator: \"matches\",\n value: \"team:x\",\n action: \"hide\"\n })\n ).toBe(false);\n });\n\n it(\"isEmpty matches null, undefined, empty string, empty array\", () => {\n const e = new ConditionRuleEvaluator();\n const mkForm = (value: unknown): IFormModel =>\n ({\n field: () => ({ getValue: () => value })\n }) as unknown as IFormModel;\n\n const rule: IRule = {\n type: \"condition\",\n target: \"x\",\n operator: \"isEmpty\",\n value: null,\n action: \"hide\"\n };\n\n expect(e.evaluate(rule, mkForm(null))).toBe(true);\n expect(e.evaluate(rule, mkForm(undefined))).toBe(true);\n expect(e.evaluate(rule, mkForm(\"\"))).toBe(true);\n expect(e.evaluate(rule, mkForm([]))).toBe(true);\n expect(e.evaluate(rule, mkForm(\"hello\"))).toBe(false);\n expect(e.evaluate(rule, mkForm(0))).toBe(false);\n });\n\n describe(\"typed rule values\", () => {\n const e = new ConditionRuleEvaluator();\n const mkForm = (value: unknown): IFormModel =>\n ({\n field: () => ({ getValue: () => value })\n }) as unknown as IFormModel;\n const mkRule = (operator: string, value: IRule[\"value\"]): IRule => ({\n type: \"condition\",\n target: \"x\",\n operator,\n value,\n action: \"hide\"\n });\n\n it.each([\n [false, false, true],\n [false, true, false],\n [true, true, true],\n [true, false, false]\n ])(\"== with boolean field %s and boolean rule value %s -> %s\", (field, rule, out) => {\n expect(e.evaluate(mkRule(\"==\", rule), mkForm(field))).toBe(out);\n });\n\n it.each([\n [false, false, false],\n [false, true, true],\n [true, true, false],\n [true, false, true]\n ])(\"!= with boolean field %s and boolean rule value %s -> %s\", (field, rule, out) => {\n expect(e.evaluate(mkRule(\"!=\", rule), mkForm(field))).toBe(out);\n });\n\n it(\"supports eq/neq aliases with boolean values\", () => {\n expect(e.evaluate(mkRule(\"eq\", false), mkForm(false))).toBe(true);\n expect(e.evaluate(mkRule(\"neq\", false), mkForm(true))).toBe(true);\n });\n\n it(\"does not coerce strings to booleans\", () => {\n expect(e.evaluate(mkRule(\"==\", \"false\"), mkForm(false))).toBe(false);\n expect(e.evaluate(mkRule(\"==\", \"true\"), mkForm(true))).toBe(false);\n expect(e.evaluate(mkRule(\"==\", false), mkForm(\"false\"))).toBe(false);\n expect(e.evaluate(mkRule(\"!=\", \"false\"), mkForm(false))).toBe(true);\n });\n\n it(\"does not loosely match falsy values against booleans\", () => {\n expect(e.evaluate(mkRule(\"==\", \"\"), mkForm(false))).toBe(false);\n expect(e.evaluate(mkRule(\"==\", 0), mkForm(false))).toBe(false);\n expect(e.evaluate(mkRule(\"==\", false), mkForm(0))).toBe(false);\n expect(e.evaluate(mkRule(\"==\", true), mkForm(1))).toBe(false);\n });\n\n it(\"compares plain strings as strings\", () => {\n expect(e.evaluate(mkRule(\"==\", \"false\"), mkForm(\"false\"))).toBe(true);\n expect(e.evaluate(mkRule(\"==\", \"map\"), mkForm(\"map\"))).toBe(true);\n expect(e.evaluate(mkRule(\"!=\", \"map\"), mkForm(\"other\"))).toBe(true);\n });\n\n it(\"does not treat an empty field as false\", () => {\n expect(e.evaluate(mkRule(\"==\", false), mkForm(null))).toBe(false);\n });\n\n it(\"compares numbers with number and numeric string rule values\", () => {\n expect(e.evaluate(mkRule(\"==\", 5), mkForm(5))).toBe(true);\n expect(e.evaluate(mkRule(\"==\", \"5\"), mkForm(5))).toBe(true);\n expect(e.evaluate(mkRule(\"!=\", 5), mkForm(6))).toBe(true);\n expect(e.evaluate(mkRule(\">\", 5), mkForm(6))).toBe(true);\n expect(e.evaluate(mkRule(\"gte\", 5), mkForm(5))).toBe(true);\n expect(e.evaluate(mkRule(\"<\", 5), mkForm(6))).toBe(false);\n expect(e.evaluate(mkRule(\"lte\", \"5\"), mkForm(4))).toBe(true);\n });\n });\n });\n\n describe(\"rules with typed values on layout elements\", () => {\n const createAdvancedForm = (ruleValue: IRule[\"value\"]) =>\n createForm({\n fields: fields => ({\n advanced: fields.text().label(\"Advanced\").defaultValue(false),\n options: fields.text().label(\"Options\"),\n map: fields.text().label(\"Map\")\n }),\n layout: layout => [\n layout.row(\"advanced\"),\n layout\n .tabs(\"tabs\")\n .rules([\n {\n type: \"condition\",\n target: \"advanced\",\n operator: \"==\",\n value: ruleValue,\n action: \"hide\"\n }\n ])\n .tab(\"tab1\", tab => {\n tab.label(\"Tab 1\").layout(layout => [layout.row(\"options\")]);\n })\n .tab(\"tab2\", tab => {\n tab.label(\"Tab 2\")\n .rules([\n {\n type: \"condition\",\n target: \"options\",\n operator: \"!=\",\n value: \"map\",\n action: \"disable\"\n }\n ])\n .layout(layout => [layout.row(\"map\")]);\n })\n ]\n });\n\n const tabsVm = (form: IFormModel) =>\n form.vm.layout.find(n => n.type === \"tabs\") as ITabsNodeVM | undefined;\n\n it(\"hides tabs while a boolean field equals false\", () => {\n const form = createAdvancedForm(false);\n\n expect(tabsVm(form)).toBeUndefined();\n expect(form.field(\"options\").visible).toBe(false);\n\n form.field(\"advanced\").setValue(true);\n expect(tabsVm(form)).toBeDefined();\n expect(form.field(\"options\").visible).toBe(true);\n\n form.field(\"advanced\").setValue(false);\n expect(tabsVm(form)).toBeUndefined();\n });\n\n it(\"disables a tab until its string condition stops matching\", () => {\n const form = createAdvancedForm(false);\n form.field(\"advanced\").setValue(true);\n\n expect(tabsVm(form)!.tabs[1].disabled).toBe(true);\n expect(form.field(\"map\").vm.disabled).toBe(true);\n\n form.field(\"options\").setValue(\"map\");\n expect(tabsVm(form)!.tabs[1].disabled).toBe(false);\n expect(form.field(\"map\").vm.disabled).toBe(false);\n });\n });\n});\n\ndescribe(\"disabled cascades into containers\", () => {\n it(\"disables the children of a disabled object field\", () => {\n const form = createForm({\n fields: fields => ({\n title: fields.text().label(\"Title\"),\n meta: fields\n .object()\n .label(\"Meta\")\n .disabled()\n .fields(inner => ({\n source: inner.text().label(\"Source\"),\n comment: inner.text().label(\"Comment\")\n }))\n })\n });\n\n expect(form.field(\"meta\").disabled).toBe(true);\n expect(form.field(\"meta.source\").disabled).toBe(true);\n expect(form.field(\"meta.comment\").disabled).toBe(true);\n expect(form.field(\"title\").disabled).toBe(false);\n });\n\n it(\"reaches grandchildren of a disabled object field\", () => {\n const form = createForm({\n fields: fields => ({\n outer: fields\n .object()\n .label(\"Outer\")\n .disabled()\n .fields(inner => ({\n nested: inner\n .object()\n .label(\"Nested\")\n .fields(deep => ({\n value: deep.text().label(\"Value\")\n }))\n }))\n })\n });\n\n expect(form.field(\"outer.nested\").disabled).toBe(true);\n expect(form.field(\"outer.nested.value\").disabled).toBe(true);\n });\n\n it(\"leaves children alone when the container is not disabled\", () => {\n const form = createForm({\n fields: fields => ({\n meta: fields\n .object()\n .label(\"Meta\")\n .fields(inner => ({\n source: inner.text().label(\"Source\").disabled(),\n comment: inner.text().label(\"Comment\")\n }))\n })\n });\n\n expect(form.field(\"meta\").disabled).toBe(false);\n expect(form.field(\"meta.source\").disabled).toBe(true);\n expect(form.field(\"meta.comment\").disabled).toBe(false);\n });\n\n it(\"picks up a container disabled after the form was built\", () => {\n const form = createForm({\n fields: fields => ({\n meta: fields\n .object()\n .label(\"Meta\")\n .fields(inner => ({\n source: inner.text().label(\"Source\")\n }))\n })\n });\n\n expect(form.field(\"meta.source\").disabled).toBe(false);\n form.field(\"meta\").setDisabled(true);\n expect(form.field(\"meta.source\").disabled).toBe(true);\n });\n});\n"],"names":["createForm","config","container","Container","IdentityContextFeature","FormModelFeature","FormModelFactory","describe","it","form","fields","expect","valid","valid2","e","layout","tab","tabs","tabsVm","n","FeatureFlagEvaluator","enabledFlags","rule","ConditionRuleEvaluator","mkForm","value","undefined","mkRule","operator","field","out","createAdvancedForm","ruleValue","inner","deep"],"mappings":"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"}