@webiny/app-admin 6.4.5 → 6.6.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (928) hide show
  1. package/base/Admin.d.ts +2 -4
  2. package/base/Admin.js +9 -12
  3. package/base/Admin.js.map +1 -1
  4. package/base/Base/DefaultFieldRenderers.js +24 -0
  5. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  6. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.d.ts +4 -0
  7. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js +26 -0
  8. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js.map +1 -0
  9. package/base/Base/FieldRenderers/CheckboxesRenderer.js +1 -0
  10. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -1
  11. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +5 -1
  12. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -1
  13. package/base/Base/FieldRenderers/FilePickerRenderer.js +2 -0
  14. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -1
  15. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +1 -0
  16. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -1
  17. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +2 -1
  18. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -1
  19. package/base/Base/FieldRenderers/InputRenderer.js +2 -0
  20. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -1
  21. package/base/Base/FieldRenderers/LexicalEditorsRenderer.d.ts +14 -0
  22. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js +78 -0
  23. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js.map +1 -0
  24. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.d.ts +13 -0
  25. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js +29 -0
  26. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js.map +1 -0
  27. package/base/Base/FieldRenderers/NumberInputRenderer.js +1 -0
  28. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -1
  29. package/base/Base/FieldRenderers/NumberInputsRenderer.js +19 -9
  30. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -1
  31. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +2 -1
  32. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -1
  33. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +46 -5
  34. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +1 -1
  35. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +1 -0
  36. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +6 -4
  37. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
  38. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +2 -1
  39. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +8 -6
  40. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  41. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +4 -1
  42. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +31 -4
  43. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  44. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +45 -6
  45. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  46. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +3 -2
  47. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +10 -1
  48. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -1
  49. package/base/Base/FieldRenderers/PasswordInputRenderer.d.ts +12 -0
  50. package/base/Base/FieldRenderers/PasswordInputRenderer.js +22 -0
  51. package/base/Base/FieldRenderers/PasswordInputRenderer.js.map +1 -0
  52. package/base/Base/FieldRenderers/PermissionsRenderer.d.ts +14 -0
  53. package/base/Base/FieldRenderers/PermissionsRenderer.js +18 -0
  54. package/base/Base/FieldRenderers/PermissionsRenderer.js.map +1 -0
  55. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +1 -0
  56. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
  57. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.d.ts +12 -0
  58. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js +21 -0
  59. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js.map +1 -0
  60. package/base/Base/FieldRenderers/SelectRenderer.js +1 -0
  61. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  62. package/base/Base/FieldRenderers/TagsRenderer.js +1 -0
  63. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -1
  64. package/base/Base/FieldRenderers/TextInputsRenderer.js +19 -9
  65. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -1
  66. package/base/Base/FieldRenderers/TextareaRenderer.js +1 -0
  67. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -1
  68. package/base/Base/FieldRenderers/TextareasRenderer.js +5 -1
  69. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -1
  70. package/base/Base.d.ts +3 -1
  71. package/base/Base.js +2 -1
  72. package/base/Base.js.map +1 -1
  73. package/base/createRootContainer.js +10 -3
  74. package/base/createRootContainer.js.map +1 -1
  75. package/base/resolveApiUrl.d.ts +3 -0
  76. package/base/resolveApiUrl.js +18 -0
  77. package/base/resolveApiUrl.js.map +1 -0
  78. package/base/ui/FileManager.d.ts +2 -1
  79. package/components/BulkActions/BulkActionButton.d.ts +6 -0
  80. package/components/BulkActions/BulkActionButton.js +17 -0
  81. package/components/BulkActions/BulkActionButton.js.map +1 -0
  82. package/components/BulkActions/BulkActionRunner.d.ts +41 -0
  83. package/components/BulkActions/BulkActionRunner.js +32 -0
  84. package/components/BulkActions/BulkActionRunner.js.map +1 -0
  85. package/components/BulkActions/Worker.d.ts +9 -57
  86. package/components/BulkActions/Worker.js +5 -9
  87. package/components/BulkActions/Worker.js.map +1 -1
  88. package/components/BulkActions/index.d.ts +3 -0
  89. package/components/BulkActions/index.js +3 -0
  90. package/components/ConfirmationDialog/ConfirmationDialog.d.ts +11 -0
  91. package/components/ConfirmationDialog/ConfirmationDialog.js +41 -0
  92. package/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  93. package/components/ConfirmationDialog/index.d.ts +1 -0
  94. package/components/ConfirmationDialog/index.js +1 -0
  95. package/components/Dialogs/DialogsContext.js +2 -1
  96. package/components/Dialogs/DialogsContext.js.map +1 -1
  97. package/components/IconPicker/IconPicker.d.ts +7 -5
  98. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  99. package/components/IconPicker/config/index.d.ts +2 -1
  100. package/components/IconPicker/plugins/customPlugin.js +4 -19
  101. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  102. package/components/ListView/ListView.d.ts +17 -0
  103. package/components/ListView/ListView.js +36 -0
  104. package/components/ListView/ListView.js.map +1 -0
  105. package/components/ListView/ListViewBottomBar.d.ts +14 -0
  106. package/components/ListView/ListViewBottomBar.js +45 -0
  107. package/components/ListView/ListViewBottomBar.js.map +1 -0
  108. package/components/ListView/ListViewBulkActions.d.ts +11 -0
  109. package/components/ListView/ListViewBulkActions.js +41 -0
  110. package/components/ListView/ListViewBulkActions.js.map +1 -0
  111. package/components/ListView/ListViewContent.d.ts +12 -0
  112. package/components/ListView/ListViewContent.js +25 -0
  113. package/components/ListView/ListViewContent.js.map +1 -0
  114. package/components/ListView/ListViewFilters.d.ts +15 -0
  115. package/components/ListView/ListViewFilters.js +21 -0
  116. package/components/ListView/ListViewFilters.js.map +1 -0
  117. package/components/ListView/ListViewHeader.d.ts +17 -0
  118. package/components/ListView/ListViewHeader.js +72 -0
  119. package/components/ListView/ListViewHeader.js.map +1 -0
  120. package/components/ListView/ListViewSidebar.d.ts +17 -0
  121. package/components/ListView/ListViewSidebar.js +25 -0
  122. package/components/ListView/ListViewSidebar.js.map +1 -0
  123. package/components/ListView/ListViewTable.d.ts +18 -0
  124. package/components/ListView/ListViewTable.js +33 -0
  125. package/components/ListView/ListViewTable.js.map +1 -0
  126. package/components/ListView/context.d.ts +3 -0
  127. package/components/ListView/context.js +11 -0
  128. package/components/ListView/context.js.map +1 -0
  129. package/components/ListView/index.d.ts +24 -0
  130. package/components/ListView/index.js +22 -0
  131. package/components/ListView/index.js.map +1 -0
  132. package/components/ListView/types.d.ts +7 -0
  133. package/components/ListView/types.js +0 -0
  134. package/components/OptionsMenu/OptionsMenuItem.d.ts +1 -0
  135. package/components/OptionsMenu/OptionsMenuItem.js +1 -0
  136. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  137. package/components/OverlayLayout/OverlayLayout.js +2 -4
  138. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  139. package/components/OverlayLayout/components/OverlayContent.js +0 -1
  140. package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
  141. package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
  142. package/components/Permissions/Permissions.js +2 -1
  143. package/components/Permissions/Permissions.js.map +1 -1
  144. package/components/Permissions/index.d.ts +1 -0
  145. package/components/Permissions/index.js +1 -0
  146. package/components/Permissions/mergeByName.d.ts +11 -0
  147. package/components/Permissions/mergeByName.js +33 -0
  148. package/components/Permissions/mergeByName.js.map +1 -0
  149. package/components/RolesMultiAutocomplete/index.d.ts +3 -1
  150. package/components/RolesMultiAutocomplete/index.js +24 -14
  151. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  152. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  153. package/components/SimpleUI/InputField.d.ts +2 -1
  154. package/components/SingleImageUpload.d.ts +1 -2
  155. package/components/SingleImageUpload.js +1 -2
  156. package/components/SingleImageUpload.js.map +1 -1
  157. package/components/Table/cells/CellAuthor.d.ts +2 -0
  158. package/components/Table/cells/CellAuthor.js +10 -0
  159. package/components/Table/cells/CellAuthor.js.map +1 -0
  160. package/components/Table/cells/CellCreated.d.ts +2 -0
  161. package/components/Table/cells/CellCreated.js +13 -0
  162. package/components/Table/cells/CellCreated.js.map +1 -0
  163. package/components/Table/cells/CellModified.d.ts +2 -0
  164. package/components/Table/cells/CellModified.js +13 -0
  165. package/components/Table/cells/CellModified.js.map +1 -0
  166. package/components/Table/cells/index.d.ts +3 -0
  167. package/components/Table/cells/index.js +3 -0
  168. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +9 -0
  169. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +23 -0
  170. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -0
  171. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +9 -0
  172. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +21 -0
  173. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -0
  174. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.d.ts +1 -0
  175. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +128 -0
  176. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -0
  177. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +10 -0
  178. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +30 -0
  179. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -0
  180. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +9 -0
  181. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +18 -0
  182. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -0
  183. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +8 -0
  184. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +16 -0
  185. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -0
  186. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.d.ts +5 -0
  187. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -0
  188. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.d.ts +4 -0
  189. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -0
  190. package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -0
  191. package/components/Table/components/Table/ColumnVisibility/index.js +5 -0
  192. package/components/Table/components/Table/Columns/Column.d.ts +42 -0
  193. package/components/Table/components/Table/Columns/Column.js +21 -0
  194. package/components/Table/components/Table/Columns/Column.js.map +1 -0
  195. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +7 -0
  196. package/components/Table/components/Table/Columns/ColumnMapper.js +34 -0
  197. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -0
  198. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +9 -0
  199. package/components/Table/components/Table/Columns/ColumnsPresenter.js +18 -0
  200. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -0
  201. package/components/Table/components/Table/Columns/ColumnsPresenter.test.d.ts +1 -0
  202. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +73 -0
  203. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -0
  204. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +9 -0
  205. package/components/Table/components/Table/Columns/ColumnsRepository.js +19 -0
  206. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -0
  207. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +9 -0
  208. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +21 -0
  209. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -0
  210. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +5 -0
  211. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -0
  212. package/components/Table/components/Table/Columns/index.d.ts +6 -0
  213. package/components/Table/components/Table/Columns/index.js +5 -0
  214. package/components/Table/components/Table/Table.d.ts +17 -0
  215. package/components/Table/components/Table/Table.js +47 -0
  216. package/components/Table/components/Table/Table.js.map +1 -0
  217. package/components/Table/components/Table/TableInner.d.ts +24 -0
  218. package/components/Table/components/Table/TableInner.js +40 -0
  219. package/components/Table/components/Table/TableInner.js.map +1 -0
  220. package/components/Table/components/Table/TablePresenter.d.ts +15 -0
  221. package/components/Table/components/Table/TablePresenter.js +15 -0
  222. package/components/Table/components/Table/TablePresenter.js.map +1 -0
  223. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +9 -0
  224. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +15 -0
  225. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -0
  226. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.d.ts +4 -0
  227. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -0
  228. package/components/Table/components/Table/gateways/index.d.ts +2 -0
  229. package/components/Table/components/Table/gateways/index.js +1 -0
  230. package/components/Table/components/Table/index.d.ts +1 -0
  231. package/components/Table/components/Table/index.js +1 -0
  232. package/components/Table/components/index.d.ts +1 -0
  233. package/components/Table/components/index.js +1 -0
  234. package/components/Table/createTableData.d.ts +5 -0
  235. package/components/Table/createTableData.js +9 -0
  236. package/components/Table/createTableData.js.map +1 -0
  237. package/components/Table/index.d.ts +5 -0
  238. package/components/Table/index.js +5 -0
  239. package/components/Table/table.types.d.ts +9 -0
  240. package/components/Table/table.types.js +0 -0
  241. package/components/Table/useTableRow.d.ts +18 -0
  242. package/components/Table/useTableRow.js +22 -0
  243. package/components/Table/useTableRow.js.map +1 -0
  244. package/components/TeamAutocomplete/index.d.ts +3 -1
  245. package/components/TeamAutocomplete/index.js +13 -14
  246. package/components/TeamAutocomplete/index.js.map +1 -1
  247. package/components/TeamsMultiAutocomplete/index.d.ts +3 -1
  248. package/components/TeamsMultiAutocomplete/index.js +24 -14
  249. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  250. package/components/index.d.ts +3 -2
  251. package/components/index.js +3 -2
  252. package/config/AdminConfig/Dashboard.d.ts +2 -1
  253. package/config/AdminConfig/Form.d.ts +4 -2
  254. package/config/AdminConfig/LexicalTheme/Typography.d.ts +4 -4
  255. package/config/AdminConfig/LexicalTheme.d.ts +6 -6
  256. package/config/AdminConfig/LexicalTheme.js +0 -2
  257. package/config/AdminConfig/LexicalTheme.js.map +1 -1
  258. package/config/AdminConfig/Logo.d.ts +8 -6
  259. package/config/AdminConfig/Menu/MenuGroup.d.ts +13 -12
  260. package/config/AdminConfig/Menu/MenuItem.d.ts +7 -6
  261. package/config/AdminConfig/Menu/MenuLink.d.ts +7 -6
  262. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +13 -12
  263. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +7 -6
  264. package/config/AdminConfig/Menu/SupportMenu.d.ts +8 -6
  265. package/config/AdminConfig/Menu/UserMenu.d.ts +8 -6
  266. package/config/AdminConfig/Menu.d.ts +15 -12
  267. package/config/AdminConfig/Security.d.ts +2 -1
  268. package/config/AdminConfig/SecurityPermissions.js +2 -1
  269. package/config/AdminConfig/SecurityPermissions.js.map +1 -1
  270. package/config/AdminConfig/Tenant/TenantLogo.d.ts +8 -6
  271. package/config/AdminConfig/Tenant/TenantName.d.ts +8 -6
  272. package/config/AdminConfig/Tenant.d.ts +3 -1
  273. package/config/AdminConfig/Title.d.ts +8 -6
  274. package/config/AdminConfig.d.ts +16 -30
  275. package/config/AdminConfig.js +1 -2
  276. package/config/AdminConfig.js.map +1 -1
  277. package/config/table/Column.d.ts +34 -0
  278. package/config/table/Column.js +69 -0
  279. package/config/table/Column.js.map +1 -0
  280. package/config/table/Sorting.d.ts +11 -0
  281. package/config/table/Sorting.js +28 -0
  282. package/config/table/Sorting.js.map +1 -0
  283. package/config/table/index.d.ts +13 -0
  284. package/config/table/index.js +9 -0
  285. package/config/table/index.js.map +1 -0
  286. package/domain/securityPermissionsSchema.d.ts +20 -0
  287. package/domain/securityPermissionsSchema.js +34 -0
  288. package/domain/securityPermissionsSchema.js.map +1 -0
  289. package/errors/ErrorOverlayNetworkErrorHandler.js +4 -4
  290. package/errors/ErrorOverlayNetworkErrorHandler.js.map +1 -1
  291. package/exports/admin/form.d.ts +2 -0
  292. package/exports/admin/form.js +1 -0
  293. package/exports/admin/ui.d.ts +4 -0
  294. package/exports/admin/ui.js +2 -1
  295. package/exports/admin.d.ts +1 -0
  296. package/exports/admin.js +1 -0
  297. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.d.ts +12 -0
  298. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js +50 -0
  299. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js.map +1 -0
  300. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.d.ts +13 -0
  301. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js +25 -0
  302. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js.map +1 -0
  303. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.d.ts +11 -0
  304. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js +18 -0
  305. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js.map +1 -0
  306. package/features/accessManagement/apiKeys/createApiKey/abstractions.d.ts +29 -0
  307. package/features/accessManagement/apiKeys/createApiKey/abstractions.js +7 -0
  308. package/features/accessManagement/apiKeys/createApiKey/abstractions.js.map +1 -0
  309. package/features/accessManagement/apiKeys/createApiKey/feature.d.ts +3 -0
  310. package/features/accessManagement/apiKeys/createApiKey/feature.js +21 -0
  311. package/features/accessManagement/apiKeys/createApiKey/feature.js.map +1 -0
  312. package/features/accessManagement/apiKeys/createApiKey/index.d.ts +3 -0
  313. package/features/accessManagement/apiKeys/createApiKey/index.js +2 -0
  314. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.d.ts +11 -0
  315. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js +39 -0
  316. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js.map +1 -0
  317. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.d.ts +12 -0
  318. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js +22 -0
  319. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js.map +1 -0
  320. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.d.ts +10 -0
  321. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js +18 -0
  322. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js.map +1 -0
  323. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.d.ts +21 -0
  324. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js +7 -0
  325. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js.map +1 -0
  326. package/features/accessManagement/apiKeys/deleteApiKey/feature.d.ts +3 -0
  327. package/features/accessManagement/apiKeys/deleteApiKey/feature.js +21 -0
  328. package/features/accessManagement/apiKeys/deleteApiKey/feature.js.map +1 -0
  329. package/features/accessManagement/apiKeys/deleteApiKey/index.d.ts +3 -0
  330. package/features/accessManagement/apiKeys/deleteApiKey/index.js +2 -0
  331. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.d.ts +12 -0
  332. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js +49 -0
  333. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js.map +1 -0
  334. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.d.ts +11 -0
  335. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js +18 -0
  336. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js.map +1 -0
  337. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.d.ts +11 -0
  338. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js +18 -0
  339. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js.map +1 -0
  340. package/features/accessManagement/apiKeys/getApiKey/abstractions.d.ts +22 -0
  341. package/features/accessManagement/apiKeys/getApiKey/abstractions.js +7 -0
  342. package/features/accessManagement/apiKeys/getApiKey/abstractions.js.map +1 -0
  343. package/features/accessManagement/apiKeys/getApiKey/feature.d.ts +3 -0
  344. package/features/accessManagement/apiKeys/getApiKey/feature.js +21 -0
  345. package/features/accessManagement/apiKeys/getApiKey/feature.js.map +1 -0
  346. package/features/accessManagement/apiKeys/getApiKey/index.d.ts +3 -0
  347. package/features/accessManagement/apiKeys/getApiKey/index.js +2 -0
  348. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.d.ts +11 -0
  349. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js +44 -0
  350. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js.map +1 -0
  351. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.d.ts +11 -0
  352. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js +22 -0
  353. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js.map +1 -0
  354. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.d.ts +10 -0
  355. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js +18 -0
  356. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js.map +1 -0
  357. package/features/accessManagement/apiKeys/listApiKeys/abstractions.d.ts +30 -0
  358. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js +8 -0
  359. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js.map +1 -0
  360. package/features/accessManagement/apiKeys/listApiKeys/feature.d.ts +3 -0
  361. package/features/accessManagement/apiKeys/listApiKeys/feature.js +23 -0
  362. package/features/accessManagement/apiKeys/listApiKeys/feature.js.map +1 -0
  363. package/features/accessManagement/apiKeys/listApiKeys/index.d.ts +3 -0
  364. package/features/accessManagement/apiKeys/listApiKeys/index.js +2 -0
  365. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.d.ts +12 -0
  366. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js +51 -0
  367. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js.map +1 -0
  368. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.d.ts +13 -0
  369. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js +23 -0
  370. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js.map +1 -0
  371. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.d.ts +11 -0
  372. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js +18 -0
  373. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js.map +1 -0
  374. package/features/accessManagement/apiKeys/updateApiKey/abstractions.d.ts +28 -0
  375. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js +7 -0
  376. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js.map +1 -0
  377. package/features/accessManagement/apiKeys/updateApiKey/feature.d.ts +3 -0
  378. package/features/accessManagement/apiKeys/updateApiKey/feature.js +21 -0
  379. package/features/accessManagement/apiKeys/updateApiKey/feature.js.map +1 -0
  380. package/features/accessManagement/apiKeys/updateApiKey/index.d.ts +3 -0
  381. package/features/accessManagement/apiKeys/updateApiKey/index.js +2 -0
  382. package/features/accessManagement/constants.d.ts +5 -0
  383. package/features/accessManagement/constants.js +9 -0
  384. package/features/accessManagement/constants.js.map +1 -0
  385. package/features/accessManagement/permissions/abstractions.d.ts +17 -0
  386. package/features/accessManagement/permissions/abstractions.js +6 -0
  387. package/features/accessManagement/permissions/abstractions.js.map +1 -0
  388. package/features/accessManagement/permissions/feature.d.ts +14 -0
  389. package/features/accessManagement/permissions/feature.js +7 -0
  390. package/features/accessManagement/permissions/feature.js.map +1 -0
  391. package/features/accessManagement/roles/createRole/CreateRoleGateway.d.ts +12 -0
  392. package/features/accessManagement/roles/createRole/CreateRoleGateway.js +51 -0
  393. package/features/accessManagement/roles/createRole/CreateRoleGateway.js.map +1 -0
  394. package/features/accessManagement/roles/createRole/CreateRoleRepository.d.ts +13 -0
  395. package/features/accessManagement/roles/createRole/CreateRoleRepository.js +25 -0
  396. package/features/accessManagement/roles/createRole/CreateRoleRepository.js.map +1 -0
  397. package/features/accessManagement/roles/createRole/CreateRoleUseCase.d.ts +11 -0
  398. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js +18 -0
  399. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js.map +1 -0
  400. package/features/accessManagement/roles/createRole/abstractions.d.ts +29 -0
  401. package/features/accessManagement/roles/createRole/abstractions.js +7 -0
  402. package/features/accessManagement/roles/createRole/abstractions.js.map +1 -0
  403. package/features/accessManagement/roles/createRole/feature.d.ts +3 -0
  404. package/features/accessManagement/roles/createRole/feature.js +21 -0
  405. package/features/accessManagement/roles/createRole/feature.js.map +1 -0
  406. package/features/accessManagement/roles/createRole/index.d.ts +3 -0
  407. package/features/accessManagement/roles/createRole/index.js +2 -0
  408. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.d.ts +11 -0
  409. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js +40 -0
  410. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js.map +1 -0
  411. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.d.ts +12 -0
  412. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js +22 -0
  413. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js.map +1 -0
  414. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.d.ts +10 -0
  415. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js +18 -0
  416. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js.map +1 -0
  417. package/features/accessManagement/roles/deleteRole/abstractions.d.ts +21 -0
  418. package/features/accessManagement/roles/deleteRole/abstractions.js +7 -0
  419. package/features/accessManagement/roles/deleteRole/abstractions.js.map +1 -0
  420. package/features/accessManagement/roles/deleteRole/feature.d.ts +3 -0
  421. package/features/accessManagement/roles/deleteRole/feature.js +21 -0
  422. package/features/accessManagement/roles/deleteRole/feature.js.map +1 -0
  423. package/features/accessManagement/roles/deleteRole/index.d.ts +3 -0
  424. package/features/accessManagement/roles/deleteRole/index.js +2 -0
  425. package/features/accessManagement/roles/getRole/GetRoleGateway.d.ts +12 -0
  426. package/features/accessManagement/roles/getRole/GetRoleGateway.js +50 -0
  427. package/features/accessManagement/roles/getRole/GetRoleGateway.js.map +1 -0
  428. package/features/accessManagement/roles/getRole/GetRoleRepository.d.ts +11 -0
  429. package/features/accessManagement/roles/getRole/GetRoleRepository.js +18 -0
  430. package/features/accessManagement/roles/getRole/GetRoleRepository.js.map +1 -0
  431. package/features/accessManagement/roles/getRole/GetRoleUseCase.d.ts +11 -0
  432. package/features/accessManagement/roles/getRole/GetRoleUseCase.js +18 -0
  433. package/features/accessManagement/roles/getRole/GetRoleUseCase.js.map +1 -0
  434. package/features/accessManagement/roles/getRole/abstractions.d.ts +22 -0
  435. package/features/accessManagement/roles/getRole/abstractions.js +7 -0
  436. package/features/accessManagement/roles/getRole/abstractions.js.map +1 -0
  437. package/features/accessManagement/roles/getRole/feature.d.ts +3 -0
  438. package/features/accessManagement/roles/getRole/feature.js +21 -0
  439. package/features/accessManagement/roles/getRole/feature.js.map +1 -0
  440. package/features/accessManagement/roles/getRole/index.d.ts +3 -0
  441. package/features/accessManagement/roles/getRole/index.js +2 -0
  442. package/features/accessManagement/roles/listRoles/ListRolesGateway.d.ts +11 -0
  443. package/features/accessManagement/roles/listRoles/ListRolesGateway.js +45 -0
  444. package/features/accessManagement/roles/listRoles/ListRolesGateway.js.map +1 -0
  445. package/features/accessManagement/roles/listRoles/ListRolesRepository.d.ts +11 -0
  446. package/features/accessManagement/roles/listRoles/ListRolesRepository.js +22 -0
  447. package/features/accessManagement/roles/listRoles/ListRolesRepository.js.map +1 -0
  448. package/features/accessManagement/roles/listRoles/ListRolesUseCase.d.ts +10 -0
  449. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js +18 -0
  450. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js.map +1 -0
  451. package/features/accessManagement/roles/listRoles/abstractions.d.ts +30 -0
  452. package/features/accessManagement/roles/listRoles/abstractions.js +8 -0
  453. package/features/accessManagement/roles/listRoles/abstractions.js.map +1 -0
  454. package/features/accessManagement/roles/listRoles/feature.d.ts +3 -0
  455. package/features/accessManagement/roles/listRoles/feature.js +23 -0
  456. package/features/accessManagement/roles/listRoles/feature.js.map +1 -0
  457. package/features/accessManagement/roles/listRoles/index.d.ts +3 -0
  458. package/features/accessManagement/roles/listRoles/index.js +2 -0
  459. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.d.ts +12 -0
  460. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js +52 -0
  461. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js.map +1 -0
  462. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.d.ts +13 -0
  463. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js +23 -0
  464. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js.map +1 -0
  465. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.d.ts +11 -0
  466. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js +18 -0
  467. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js.map +1 -0
  468. package/features/accessManagement/roles/updateRole/abstractions.d.ts +28 -0
  469. package/features/accessManagement/roles/updateRole/abstractions.js +7 -0
  470. package/features/accessManagement/roles/updateRole/abstractions.js.map +1 -0
  471. package/features/accessManagement/roles/updateRole/feature.d.ts +3 -0
  472. package/features/accessManagement/roles/updateRole/feature.js +21 -0
  473. package/features/accessManagement/roles/updateRole/feature.js.map +1 -0
  474. package/features/accessManagement/roles/updateRole/index.d.ts +3 -0
  475. package/features/accessManagement/roles/updateRole/index.js +2 -0
  476. package/features/accessManagement/teams/createTeam/CreateTeamGateway.d.ts +12 -0
  477. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js +55 -0
  478. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js.map +1 -0
  479. package/features/accessManagement/teams/createTeam/CreateTeamRepository.d.ts +13 -0
  480. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js +25 -0
  481. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js.map +1 -0
  482. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.d.ts +11 -0
  483. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js +18 -0
  484. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js.map +1 -0
  485. package/features/accessManagement/teams/createTeam/abstractions.d.ts +28 -0
  486. package/features/accessManagement/teams/createTeam/abstractions.js +7 -0
  487. package/features/accessManagement/teams/createTeam/abstractions.js.map +1 -0
  488. package/features/accessManagement/teams/createTeam/feature.d.ts +3 -0
  489. package/features/accessManagement/teams/createTeam/feature.js +21 -0
  490. package/features/accessManagement/teams/createTeam/feature.js.map +1 -0
  491. package/features/accessManagement/teams/createTeam/index.d.ts +3 -0
  492. package/features/accessManagement/teams/createTeam/index.js +2 -0
  493. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.d.ts +11 -0
  494. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js +40 -0
  495. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js.map +1 -0
  496. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.d.ts +12 -0
  497. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js +22 -0
  498. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js.map +1 -0
  499. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.d.ts +10 -0
  500. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js +18 -0
  501. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js.map +1 -0
  502. package/features/accessManagement/teams/deleteTeam/abstractions.d.ts +21 -0
  503. package/features/accessManagement/teams/deleteTeam/abstractions.js +7 -0
  504. package/features/accessManagement/teams/deleteTeam/abstractions.js.map +1 -0
  505. package/features/accessManagement/teams/deleteTeam/feature.d.ts +3 -0
  506. package/features/accessManagement/teams/deleteTeam/feature.js +21 -0
  507. package/features/accessManagement/teams/deleteTeam/feature.js.map +1 -0
  508. package/features/accessManagement/teams/deleteTeam/index.d.ts +3 -0
  509. package/features/accessManagement/teams/deleteTeam/index.js +2 -0
  510. package/features/accessManagement/teams/getTeam/GetTeamGateway.d.ts +12 -0
  511. package/features/accessManagement/teams/getTeam/GetTeamGateway.js +54 -0
  512. package/features/accessManagement/teams/getTeam/GetTeamGateway.js.map +1 -0
  513. package/features/accessManagement/teams/getTeam/GetTeamRepository.d.ts +11 -0
  514. package/features/accessManagement/teams/getTeam/GetTeamRepository.js +18 -0
  515. package/features/accessManagement/teams/getTeam/GetTeamRepository.js.map +1 -0
  516. package/features/accessManagement/teams/getTeam/GetTeamUseCase.d.ts +11 -0
  517. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js +18 -0
  518. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js.map +1 -0
  519. package/features/accessManagement/teams/getTeam/abstractions.d.ts +22 -0
  520. package/features/accessManagement/teams/getTeam/abstractions.js +7 -0
  521. package/features/accessManagement/teams/getTeam/abstractions.js.map +1 -0
  522. package/features/accessManagement/teams/getTeam/feature.d.ts +3 -0
  523. package/features/accessManagement/teams/getTeam/feature.js +21 -0
  524. package/features/accessManagement/teams/getTeam/feature.js.map +1 -0
  525. package/features/accessManagement/teams/getTeam/index.d.ts +3 -0
  526. package/features/accessManagement/teams/getTeam/index.js +2 -0
  527. package/features/accessManagement/teams/listTeams/ListTeamsGateway.d.ts +11 -0
  528. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js +49 -0
  529. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js.map +1 -0
  530. package/features/accessManagement/teams/listTeams/ListTeamsRepository.d.ts +11 -0
  531. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js +22 -0
  532. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js.map +1 -0
  533. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.d.ts +10 -0
  534. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js +18 -0
  535. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js.map +1 -0
  536. package/features/accessManagement/teams/listTeams/abstractions.d.ts +30 -0
  537. package/features/accessManagement/teams/listTeams/abstractions.js +8 -0
  538. package/features/accessManagement/teams/listTeams/abstractions.js.map +1 -0
  539. package/features/accessManagement/teams/listTeams/feature.d.ts +3 -0
  540. package/features/accessManagement/teams/listTeams/feature.js +23 -0
  541. package/features/accessManagement/teams/listTeams/feature.js.map +1 -0
  542. package/features/accessManagement/teams/listTeams/index.d.ts +3 -0
  543. package/features/accessManagement/teams/listTeams/index.js +2 -0
  544. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.d.ts +12 -0
  545. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js +56 -0
  546. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js.map +1 -0
  547. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.d.ts +13 -0
  548. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js +23 -0
  549. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js.map +1 -0
  550. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.d.ts +11 -0
  551. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js +18 -0
  552. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js.map +1 -0
  553. package/features/accessManagement/teams/updateTeam/abstractions.d.ts +27 -0
  554. package/features/accessManagement/teams/updateTeam/abstractions.js +7 -0
  555. package/features/accessManagement/teams/updateTeam/abstractions.js.map +1 -0
  556. package/features/accessManagement/teams/updateTeam/feature.d.ts +3 -0
  557. package/features/accessManagement/teams/updateTeam/feature.js +21 -0
  558. package/features/accessManagement/teams/updateTeam/feature.js.map +1 -0
  559. package/features/accessManagement/teams/updateTeam/index.d.ts +3 -0
  560. package/features/accessManagement/teams/updateTeam/index.js +2 -0
  561. package/features/accessManagement/types.d.ts +34 -0
  562. package/features/accessManagement/types.js +0 -0
  563. package/features/clipboard/ClipboardService.d.ts +15 -0
  564. package/features/clipboard/ClipboardService.js +51 -0
  565. package/features/clipboard/ClipboardService.js.map +1 -0
  566. package/features/clipboard/abstractions.d.ts +14 -0
  567. package/features/clipboard/abstractions.js +5 -0
  568. package/features/clipboard/abstractions.js.map +1 -0
  569. package/features/clipboard/feature.d.ts +3 -0
  570. package/features/clipboard/feature.js +17 -0
  571. package/features/clipboard/feature.js.map +1 -0
  572. package/features/clipboard/index.d.ts +2 -0
  573. package/features/clipboard/index.js +2 -0
  574. package/features/confirmation/Confirmation.d.ts +11 -0
  575. package/features/confirmation/Confirmation.js +29 -0
  576. package/features/confirmation/Confirmation.js.map +1 -0
  577. package/features/confirmation/ConfirmationBridge.d.ts +1 -0
  578. package/features/confirmation/ConfirmationBridge.js +20 -0
  579. package/features/confirmation/ConfirmationBridge.js.map +1 -0
  580. package/features/confirmation/abstractions.d.ts +15 -0
  581. package/features/confirmation/abstractions.js +6 -0
  582. package/features/confirmation/abstractions.js.map +1 -0
  583. package/features/confirmation/feature.d.ts +1 -0
  584. package/features/confirmation/feature.js +11 -0
  585. package/features/confirmation/feature.js.map +1 -0
  586. package/features/confirmation/index.d.ts +3 -0
  587. package/features/confirmation/index.js +3 -0
  588. package/features/formModel/Field.d.ts +5 -5
  589. package/features/formModel/Field.js +69 -23
  590. package/features/formModel/Field.js.map +1 -1
  591. package/features/formModel/FieldBuilder.d.ts +8 -3
  592. package/features/formModel/FieldBuilder.js +20 -1
  593. package/features/formModel/FieldBuilder.js.map +1 -1
  594. package/features/formModel/FormErrors.d.ts +2 -1
  595. package/features/formModel/FormErrors.js +4 -3
  596. package/features/formModel/FormErrors.js.map +1 -1
  597. package/features/formModel/FormModel.d.ts +8 -2
  598. package/features/formModel/FormModel.js +33 -10
  599. package/features/formModel/FormModel.js.map +1 -1
  600. package/features/formModel/FormModel.test.js +248 -53
  601. package/features/formModel/FormModel.test.js.map +1 -1
  602. package/features/formModel/FormView.js +25 -6
  603. package/features/formModel/FormView.js.map +1 -1
  604. package/features/formModel/LayoutBuilderFactory.d.ts +3 -2
  605. package/features/formModel/LayoutBuilderFactory.js +58 -5
  606. package/features/formModel/LayoutBuilderFactory.js.map +1 -1
  607. package/features/formModel/LayoutMutator.js +6 -0
  608. package/features/formModel/LayoutMutator.js.map +1 -1
  609. package/features/formModel/LayoutResolver.d.ts +1 -0
  610. package/features/formModel/LayoutResolver.js +27 -6
  611. package/features/formModel/LayoutResolver.js.map +1 -1
  612. package/features/formModel/ObjectField.d.ts +4 -2
  613. package/features/formModel/ObjectField.js +43 -3
  614. package/features/formModel/ObjectField.js.map +1 -1
  615. package/features/formModel/abstractions.d.ts +86 -19
  616. package/features/formModel/abstractions.js.map +1 -1
  617. package/features/formModel/demo/FormModelPhase11Presenter.js +5 -5
  618. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -1
  619. package/features/formModel/feature.js +4 -1
  620. package/features/formModel/feature.js.map +1 -1
  621. package/features/formModel/fieldTypes/ObjectFieldType.js +2 -1
  622. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  623. package/features/formModel/fieldTypes/PasswordFieldType.d.ts +18 -0
  624. package/features/formModel/fieldTypes/PasswordFieldType.js +23 -0
  625. package/features/formModel/fieldTypes/PasswordFieldType.js.map +1 -0
  626. package/features/formModel/fieldTypes/PermissionsFieldType.d.ts +18 -0
  627. package/features/formModel/fieldTypes/PermissionsFieldType.js +27 -0
  628. package/features/formModel/fieldTypes/PermissionsFieldType.js.map +1 -0
  629. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.d.ts +18 -0
  630. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js +24 -0
  631. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js.map +1 -0
  632. package/features/formModel/fieldTypes/index.d.ts +3 -0
  633. package/features/formModel/fieldTypes/index.js +3 -0
  634. package/features/formModel/index.d.ts +2 -3
  635. package/features/formModel/index.js +3 -4
  636. package/features/formModel/renderers.d.ts +4 -0
  637. package/features/formModel/renderers.js +4 -0
  638. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.d.ts +11 -0
  639. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.js +49 -0
  640. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.js.map +1 -0
  641. package/features/iconPicker/listCustomIcons/abstractions.d.ts +12 -0
  642. package/features/iconPicker/listCustomIcons/abstractions.js +5 -0
  643. package/features/iconPicker/listCustomIcons/abstractions.js.map +1 -0
  644. package/features/iconPicker/listCustomIcons/feature.d.ts +1 -0
  645. package/features/iconPicker/listCustomIcons/feature.js +11 -0
  646. package/features/iconPicker/listCustomIcons/feature.js.map +1 -0
  647. package/features/iconPicker/listCustomIcons/index.d.ts +3 -0
  648. package/features/iconPicker/listCustomIcons/index.js +2 -0
  649. package/features/listCache/ListCache.d.ts +4 -1
  650. package/features/listCache/ListCache.js +13 -3
  651. package/features/listCache/ListCache.js.map +1 -1
  652. package/features/notifications/Notifications.d.ts +16 -0
  653. package/features/notifications/Notifications.js +39 -0
  654. package/features/notifications/Notifications.js.map +1 -0
  655. package/features/notifications/NotificationsPresenter.d.ts +11 -0
  656. package/features/notifications/NotificationsPresenter.js +27 -0
  657. package/features/notifications/NotificationsPresenter.js.map +1 -0
  658. package/features/notifications/NotificationsRenderer.d.ts +7 -0
  659. package/features/notifications/NotificationsRenderer.js +38 -0
  660. package/features/notifications/NotificationsRenderer.js.map +1 -0
  661. package/features/notifications/abstractions.d.ts +38 -0
  662. package/features/notifications/abstractions.js +6 -0
  663. package/features/notifications/abstractions.js.map +1 -0
  664. package/features/notifications/feature.d.ts +4 -0
  665. package/features/notifications/feature.js +20 -0
  666. package/features/notifications/feature.js.map +1 -0
  667. package/features/notifications/index.d.ts +3 -0
  668. package/features/notifications/index.js +3 -0
  669. package/features/webinySdk/WebinySdk.d.ts +2 -1
  670. package/features/webinySdk/WebinySdk.js.map +1 -1
  671. package/hooks/index.d.ts +1 -0
  672. package/hooks/index.js +1 -0
  673. package/hooks/useNamedConfirmationDialog.d.ts +9 -0
  674. package/hooks/useNamedConfirmationDialog.js +20 -0
  675. package/hooks/useNamedConfirmationDialog.js.map +1 -0
  676. package/index.d.ts +34 -1
  677. package/index.js +39 -8
  678. package/modules/AccessManagementExtension.d.ts +2 -0
  679. package/modules/AccessManagementExtension.js +151 -0
  680. package/modules/AccessManagementExtension.js.map +1 -0
  681. package/package.json +29 -37
  682. package/permissions/createPermissions.js.map +1 -1
  683. package/presentation/accessManagement/SecurityPermissions.d.ts +2 -0
  684. package/presentation/accessManagement/SecurityPermissions.js +54 -0
  685. package/presentation/accessManagement/SecurityPermissions.js.map +1 -0
  686. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.d.ts +13 -0
  687. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js +23 -0
  688. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js.map +1 -0
  689. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.d.ts +38 -0
  690. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +193 -0
  691. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -0
  692. package/presentation/accessManagement/apiKeys/abstractions.d.ts +25 -0
  693. package/presentation/accessManagement/apiKeys/abstractions.js +5 -0
  694. package/presentation/accessManagement/apiKeys/abstractions.js.map +1 -0
  695. package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +4 -0
  696. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js +234 -0
  697. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js.map +1 -0
  698. package/presentation/accessManagement/apiKeys/feature.d.ts +3 -0
  699. package/presentation/accessManagement/apiKeys/feature.js +17 -0
  700. package/presentation/accessManagement/apiKeys/feature.js.map +1 -0
  701. package/presentation/accessManagement/roles/RolesDataSource.d.ts +13 -0
  702. package/presentation/accessManagement/roles/RolesDataSource.js +23 -0
  703. package/presentation/accessManagement/roles/RolesDataSource.js.map +1 -0
  704. package/presentation/accessManagement/roles/RolesPresenter.d.ts +38 -0
  705. package/presentation/accessManagement/roles/RolesPresenter.js +201 -0
  706. package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -0
  707. package/presentation/accessManagement/roles/abstractions.d.ts +27 -0
  708. package/presentation/accessManagement/roles/abstractions.js +5 -0
  709. package/presentation/accessManagement/roles/abstractions.js.map +1 -0
  710. package/presentation/accessManagement/roles/components/RolesView.d.ts +4 -0
  711. package/presentation/accessManagement/roles/components/RolesView.js +232 -0
  712. package/presentation/accessManagement/roles/components/RolesView.js.map +1 -0
  713. package/presentation/accessManagement/roles/feature.d.ts +3 -0
  714. package/presentation/accessManagement/roles/feature.js +17 -0
  715. package/presentation/accessManagement/roles/feature.js.map +1 -0
  716. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.d.ts +15 -0
  717. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.js +42 -0
  718. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.js.map +1 -0
  719. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.d.ts +18 -0
  720. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.js +5 -0
  721. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.js.map +1 -0
  722. package/presentation/accessManagement/roles/rolesAutocomplete/feature.d.ts +3 -0
  723. package/presentation/accessManagement/roles/rolesAutocomplete/feature.js +17 -0
  724. package/presentation/accessManagement/roles/rolesAutocomplete/feature.js.map +1 -0
  725. package/presentation/accessManagement/roles/rolesAutocomplete/index.d.ts +3 -0
  726. package/presentation/accessManagement/roles/rolesAutocomplete/index.js +2 -0
  727. package/presentation/accessManagement/routes.d.ts +21 -0
  728. package/presentation/accessManagement/routes.js +36 -0
  729. package/presentation/accessManagement/routes.js.map +1 -0
  730. package/presentation/accessManagement/teams/TeamsDataSource.d.ts +13 -0
  731. package/presentation/accessManagement/teams/TeamsDataSource.js +23 -0
  732. package/presentation/accessManagement/teams/TeamsDataSource.js.map +1 -0
  733. package/presentation/accessManagement/teams/TeamsPresenter.d.ts +39 -0
  734. package/presentation/accessManagement/teams/TeamsPresenter.js +200 -0
  735. package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -0
  736. package/presentation/accessManagement/teams/abstractions.d.ts +26 -0
  737. package/presentation/accessManagement/teams/abstractions.js +5 -0
  738. package/presentation/accessManagement/teams/abstractions.js.map +1 -0
  739. package/presentation/accessManagement/teams/components/TeamsView.d.ts +4 -0
  740. package/presentation/accessManagement/teams/components/TeamsView.js +214 -0
  741. package/presentation/accessManagement/teams/components/TeamsView.js.map +1 -0
  742. package/presentation/accessManagement/teams/feature.d.ts +3 -0
  743. package/presentation/accessManagement/teams/feature.js +17 -0
  744. package/presentation/accessManagement/teams/feature.js.map +1 -0
  745. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.d.ts +15 -0
  746. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.js +42 -0
  747. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.js.map +1 -0
  748. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.d.ts +18 -0
  749. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.js +5 -0
  750. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.js.map +1 -0
  751. package/presentation/accessManagement/teams/teamsAutocomplete/feature.d.ts +3 -0
  752. package/presentation/accessManagement/teams/teamsAutocomplete/feature.js +17 -0
  753. package/presentation/accessManagement/teams/teamsAutocomplete/feature.js.map +1 -0
  754. package/presentation/accessManagement/teams/teamsAutocomplete/index.d.ts +3 -0
  755. package/presentation/accessManagement/teams/teamsAutocomplete/index.js +2 -0
  756. package/presentation/iconPicker/customIcons/CustomIconsPresenter.d.ts +16 -0
  757. package/presentation/iconPicker/customIcons/CustomIconsPresenter.js +40 -0
  758. package/presentation/iconPicker/customIcons/CustomIconsPresenter.js.map +1 -0
  759. package/presentation/iconPicker/customIcons/abstractions.d.ts +14 -0
  760. package/presentation/iconPicker/customIcons/abstractions.js +5 -0
  761. package/presentation/iconPicker/customIcons/abstractions.js.map +1 -0
  762. package/presentation/iconPicker/customIcons/feature.d.ts +3 -0
  763. package/presentation/iconPicker/customIcons/feature.js +17 -0
  764. package/presentation/iconPicker/customIcons/feature.js.map +1 -0
  765. package/presentation/iconPicker/customIcons/index.d.ts +3 -0
  766. package/presentation/iconPicker/customIcons/index.js +2 -0
  767. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +3 -1
  768. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -1
  769. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.d.ts +1 -1
  770. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +1 -1
  771. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
  772. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +5 -4
  773. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -1
  774. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +1 -1
  775. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -1
  776. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +7 -5
  777. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  778. package/presentation/listPresenter/FolderAwareDataSource.d.ts +50 -0
  779. package/presentation/listPresenter/FolderAwareDataSource.js +132 -0
  780. package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -0
  781. package/presentation/listPresenter/ListPresenter.d.ts +4 -0
  782. package/presentation/listPresenter/ListPresenter.js +30 -4
  783. package/presentation/listPresenter/ListPresenter.js.map +1 -1
  784. package/presentation/listPresenter/QueryMatcher.d.ts +56 -0
  785. package/presentation/listPresenter/QueryMatcher.js +59 -0
  786. package/presentation/listPresenter/QueryMatcher.js.map +1 -0
  787. package/presentation/listPresenter/SimpleDataSource.d.ts +15 -0
  788. package/presentation/listPresenter/SimpleDataSource.js +70 -0
  789. package/presentation/listPresenter/SimpleDataSource.js.map +1 -0
  790. package/presentation/listPresenter/abstractions.d.ts +9 -0
  791. package/presentation/listPresenter/abstractions.js.map +1 -1
  792. package/presentation/listPresenter/index.d.ts +5 -0
  793. package/presentation/listPresenter/index.js +3 -0
  794. package/presentation/security/components/HasPermission.d.ts +1 -1
  795. package/presentation/tenancy/TenancyProvider.js +0 -4
  796. package/presentation/tenancy/TenancyProvider.js.map +1 -1
  797. package/presentation/trashBin/TrashBinDataSource.d.ts +16 -0
  798. package/presentation/trashBin/TrashBinDataSource.js +82 -0
  799. package/presentation/trashBin/TrashBinDataSource.js.map +1 -0
  800. package/presentation/trashBin/TrashBinPresenter.d.ts +20 -0
  801. package/presentation/trashBin/TrashBinPresenter.js +114 -0
  802. package/presentation/trashBin/TrashBinPresenter.js.map +1 -0
  803. package/presentation/trashBin/abstractions.d.ts +105 -0
  804. package/presentation/trashBin/abstractions.js +9 -0
  805. package/presentation/trashBin/abstractions.js.map +1 -0
  806. package/presentation/trashBin/components/Actions/DeleteItemAction.d.ts +2 -0
  807. package/presentation/trashBin/components/Actions/DeleteItemAction.js +20 -0
  808. package/presentation/trashBin/components/Actions/DeleteItemAction.js.map +1 -0
  809. package/presentation/trashBin/components/Actions/RestoreItemAction.d.ts +2 -0
  810. package/presentation/trashBin/components/Actions/RestoreItemAction.js +19 -0
  811. package/presentation/trashBin/components/Actions/RestoreItemAction.js.map +1 -0
  812. package/presentation/trashBin/components/Actions/index.d.ts +2 -0
  813. package/presentation/trashBin/components/Actions/index.js +2 -0
  814. package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +4 -0
  815. package/presentation/trashBin/components/BulkActions/DeleteItems.js +72 -0
  816. package/presentation/trashBin/components/BulkActions/DeleteItems.js.map +1 -0
  817. package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +4 -0
  818. package/presentation/trashBin/components/BulkActions/RestoreItems.js +81 -0
  819. package/presentation/trashBin/components/BulkActions/RestoreItems.js.map +1 -0
  820. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.d.ts +5 -0
  821. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js +12 -0
  822. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js.map +1 -0
  823. package/presentation/trashBin/components/BulkActions/index.d.ts +2 -0
  824. package/presentation/trashBin/components/BulkActions/index.js +2 -0
  825. package/presentation/trashBin/components/Cells/CellActions.d.ts +2 -0
  826. package/presentation/trashBin/components/Cells/CellActions.js +18 -0
  827. package/presentation/trashBin/components/Cells/CellActions.js.map +1 -0
  828. package/presentation/trashBin/components/Cells/CellCreatedBy.d.ts +2 -0
  829. package/presentation/trashBin/components/Cells/CellCreatedBy.js +11 -0
  830. package/presentation/trashBin/components/Cells/CellCreatedBy.js.map +1 -0
  831. package/presentation/trashBin/components/Cells/CellDeletedBy.d.ts +2 -0
  832. package/presentation/trashBin/components/Cells/CellDeletedBy.js +11 -0
  833. package/presentation/trashBin/components/Cells/CellDeletedBy.js.map +1 -0
  834. package/presentation/trashBin/components/Cells/CellDeletedOn.d.ts +2 -0
  835. package/presentation/trashBin/components/Cells/CellDeletedOn.js +14 -0
  836. package/presentation/trashBin/components/Cells/CellDeletedOn.js.map +1 -0
  837. package/presentation/trashBin/components/Cells/CellTitle.d.ts +2 -0
  838. package/presentation/trashBin/components/Cells/CellTitle.js +21 -0
  839. package/presentation/trashBin/components/Cells/CellTitle.js.map +1 -0
  840. package/presentation/trashBin/components/Cells/index.d.ts +5 -0
  841. package/presentation/trashBin/components/Cells/index.js +5 -0
  842. package/presentation/trashBin/components/TrashBinConfigs.d.ts +2 -0
  843. package/presentation/trashBin/components/TrashBinConfigs.js +55 -0
  844. package/presentation/trashBin/components/TrashBinConfigs.js.map +1 -0
  845. package/presentation/trashBin/components/TrashBinOverlay.d.ts +12 -0
  846. package/presentation/trashBin/components/TrashBinOverlay.js +139 -0
  847. package/presentation/trashBin/components/TrashBinOverlay.js.map +1 -0
  848. package/presentation/trashBin/components/TrashBinTable.d.ts +2 -0
  849. package/presentation/trashBin/components/TrashBinTable.js +48 -0
  850. package/presentation/trashBin/components/TrashBinTable.js.map +1 -0
  851. package/presentation/trashBin/configs/Browser/BulkAction.d.ts +34 -0
  852. package/presentation/trashBin/configs/Browser/BulkAction.js +59 -0
  853. package/presentation/trashBin/configs/Browser/BulkAction.js.map +1 -0
  854. package/presentation/trashBin/configs/Browser/EntryAction.d.ts +18 -0
  855. package/presentation/trashBin/configs/Browser/EntryAction.js +36 -0
  856. package/presentation/trashBin/configs/Browser/EntryAction.js.map +1 -0
  857. package/presentation/trashBin/configs/Browser/Table/Column.d.ts +16 -0
  858. package/presentation/trashBin/configs/Browser/Table/Column.js +9 -0
  859. package/presentation/trashBin/configs/Browser/Table/Column.js.map +1 -0
  860. package/presentation/trashBin/configs/Browser/Table/Sorting.d.ts +5 -0
  861. package/presentation/trashBin/configs/Browser/Table/Sorting.js +6 -0
  862. package/presentation/trashBin/configs/Browser/Table/Sorting.js.map +1 -0
  863. package/presentation/trashBin/configs/Browser/Table/index.d.ts +18 -0
  864. package/presentation/trashBin/configs/Browser/Table/index.js +9 -0
  865. package/presentation/trashBin/configs/Browser/Table/index.js.map +1 -0
  866. package/presentation/trashBin/configs/Browser/index.d.ts +40 -0
  867. package/presentation/trashBin/configs/Browser/index.js +11 -0
  868. package/presentation/trashBin/configs/Browser/index.js.map +1 -0
  869. package/presentation/trashBin/configs/TrashBinListConfig.d.ts +46 -0
  870. package/presentation/trashBin/configs/TrashBinListConfig.js +43 -0
  871. package/presentation/trashBin/configs/TrashBinListConfig.js.map +1 -0
  872. package/presentation/trashBin/configs/index.d.ts +1 -0
  873. package/presentation/trashBin/configs/index.js +1 -0
  874. package/presentation/trashBin/feature.d.ts +3 -0
  875. package/presentation/trashBin/feature.js +17 -0
  876. package/presentation/trashBin/feature.js.map +1 -0
  877. package/presentation/trashBin/hooks/index.d.ts +4 -0
  878. package/presentation/trashBin/hooks/index.js +4 -0
  879. package/presentation/trashBin/hooks/useDeleteTrashBinItem.d.ts +8 -0
  880. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js +33 -0
  881. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js.map +1 -0
  882. package/presentation/trashBin/hooks/useRestoreTrashBinItem.d.ts +8 -0
  883. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js +35 -0
  884. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js.map +1 -0
  885. package/presentation/trashBin/hooks/useTrashBinItem.d.ts +11 -0
  886. package/presentation/trashBin/hooks/useTrashBinItem.js +7 -0
  887. package/presentation/trashBin/hooks/useTrashBinItem.js.map +1 -0
  888. package/presentation/trashBin/hooks/useTrashBinPresenter.d.ts +13 -0
  889. package/presentation/trashBin/hooks/useTrashBinPresenter.js +7 -0
  890. package/presentation/trashBin/hooks/useTrashBinPresenter.js.map +1 -0
  891. package/presentation/trashBin/index.d.ts +6 -0
  892. package/presentation/trashBin/index.js +6 -0
  893. package/base/plugins/AddGraphQLQuerySelection.d.ts +0 -8
  894. package/base/plugins/AddGraphQLQuerySelection.js +0 -19
  895. package/base/plugins/AddGraphQLQuerySelection.js.map +0 -1
  896. package/base/providers/ApolloProvider.d.ts +0 -13
  897. package/base/providers/ApolloProvider.js +0 -10
  898. package/base/providers/ApolloProvider.js.map +0 -1
  899. package/components/IconPicker/plugins/graphql.d.ts +0 -20
  900. package/components/IconPicker/plugins/graphql.js +0 -22
  901. package/components/IconPicker/plugins/graphql.js.map +0 -1
  902. package/components/RoleAutocomplete/graphql.d.ts +0 -1
  903. package/components/RoleAutocomplete/graphql.js +0 -19
  904. package/components/RoleAutocomplete/graphql.js.map +0 -1
  905. package/components/RoleAutocomplete/index.d.ts +0 -7
  906. package/components/RoleAutocomplete/index.js +0 -26
  907. package/components/RoleAutocomplete/index.js.map +0 -1
  908. package/components/RolesMultiAutocomplete/graphql.d.ts +0 -1
  909. package/components/RolesMultiAutocomplete/graphql.js +0 -24
  910. package/components/RolesMultiAutocomplete/graphql.js.map +0 -1
  911. package/components/TeamAutocomplete/graphql.d.ts +0 -1
  912. package/components/TeamAutocomplete/graphql.js +0 -19
  913. package/components/TeamAutocomplete/graphql.js.map +0 -1
  914. package/components/TeamsMultiAutocomplete/graphql.d.ts +0 -1
  915. package/components/TeamsMultiAutocomplete/graphql.js +0 -24
  916. package/components/TeamsMultiAutocomplete/graphql.js.map +0 -1
  917. package/config/AdminConfig/LexicalTheme/AllowCustomColors.d.ts +0 -5
  918. package/config/AdminConfig/LexicalTheme/AllowCustomColors.js +0 -18
  919. package/config/AdminConfig/LexicalTheme/AllowCustomColors.js.map +0 -1
  920. package/features/apolloClient/abstraction.d.ts +0 -5
  921. package/features/apolloClient/abstraction.js +0 -5
  922. package/features/apolloClient/abstraction.js.map +0 -1
  923. package/features/apolloClient/feature.d.ts +0 -2
  924. package/features/apolloClient/feature.js +0 -31
  925. package/features/apolloClient/feature.js.map +0 -1
  926. package/plugins/MenuPlugin.d.ts +0 -37
  927. package/plugins/MenuPlugin.js +0 -20
  928. package/plugins/MenuPlugin.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { IObjectFieldConfig, IObjectField, IObjectFieldTemplates, IListItemField, IField, IObjectFieldVM, IFieldValidation, IFormModel, IFieldBuilder, IFieldBuilderRegistry, IRule, ITemplateVM, FieldTypeMap, LayoutNode, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback, OnBlurCallback, ComputedFieldCallback } from "./abstractions.js";
1
+ import type { IObjectFieldConfig, IObjectField, IObjectFieldTemplates, IListItemField, IField, IObjectFieldVM, IFieldValidation, IFormModel, IFieldBuilder, IFieldBuilderRegistry, IRule, ITemplateVM, FieldTypeMap, LayoutNode, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback, OnBlurCallback, ComputedFieldCallback, IFieldCallbackParams } from "./abstractions.js";
2
2
  /** Reserved key used as the template discriminator in templated object data. */
3
3
  export declare const TEMPLATE_DISCRIMINATOR = "_templateId";
4
4
  export declare function isObjectField(field: IField): field is ObjectField;
@@ -37,7 +37,7 @@ export declare class ObjectField implements IObjectField {
37
37
  addAfterChange(cb: AfterChangeCallback): void;
38
38
  addAfterSetValue(cb: AfterSetValueCallback): void;
39
39
  addOnBlur(cb: OnBlurCallback): void;
40
- addRequiredWhen(fn: (form: IFormModel) => boolean, message?: string): void;
40
+ addRequiredWhen(fn: (params: IFieldCallbackParams) => boolean, message?: string): void;
41
41
  setComputed(fn: ComputedFieldCallback): void;
42
42
  setComputedUntilDirty(fn: ComputedFieldCallback): void;
43
43
  blur(): void;
@@ -74,6 +74,8 @@ export declare class ObjectField implements IObjectField {
74
74
  get children(): Map<string, IField>;
75
75
  get items(): IListItemField[];
76
76
  private _getItemData;
77
+ private _getClonedItemData;
78
+ private _getClonedData;
77
79
  getChild(name: string): IField | undefined;
78
80
  fields(factory: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder | undefined>): void;
79
81
  getListItemChild(index: number, name: string): IField | undefined;
@@ -267,6 +267,33 @@ class ObjectField {
267
267
  };
268
268
  return data;
269
269
  }
270
+ _getClonedItemData(item) {
271
+ const data = getChildrenData(item.children);
272
+ const children = createChildFields(this._templateChildBuilders(item.templateId), this._form, this.qualifiedName);
273
+ hydrateChildren(children, data, {
274
+ clone: true
275
+ });
276
+ const clonedData = getChildrenData(children);
277
+ if (void 0 !== item.templateId) return {
278
+ [TEMPLATE_DISCRIMINATOR]: item.templateId,
279
+ ...clonedData
280
+ };
281
+ return clonedData;
282
+ }
283
+ _getClonedData() {
284
+ const data = getChildrenData(this._children);
285
+ const builders = this.isTemplated && this._activeTemplateId ? this._templateChildBuilders(this._activeTemplateId) : this.config.childBuilders;
286
+ const children = createChildFields(builders, this._form, this.qualifiedName);
287
+ hydrateChildren(children, data, {
288
+ clone: true
289
+ });
290
+ const clonedData = getChildrenData(children);
291
+ if (this.isTemplated && this._activeTemplateId) return {
292
+ [TEMPLATE_DISCRIMINATOR]: this._activeTemplateId,
293
+ ...clonedData
294
+ };
295
+ return clonedData;
296
+ }
270
297
  getChild(name) {
271
298
  return this._children.get(name);
272
299
  }
@@ -427,6 +454,7 @@ class ObjectField {
427
454
  disabled: baseVm.disabled,
428
455
  renderer: baseVm.renderer,
429
456
  rendererSettings: baseVm.rendererSettings,
457
+ context: baseVm.context,
430
458
  onChange: (value)=>this.setValue(value),
431
459
  onBlur: ()=>{
432
460
  if (this._form?.submitted) this.validate();
@@ -445,16 +473,28 @@ class ObjectField {
445
473
  remove: ()=>this.removeItem(index),
446
474
  moveUp: ()=>this.moveItem(index, index - 1),
447
475
  moveDown: ()=>this.moveItem(index, index + 1),
448
- duplicate: ()=>this.duplicateItem(index)
476
+ duplicate: ()=>this.duplicateItem(index),
477
+ getClonedData: ()=>this._getClonedItemData(item)
449
478
  })) : [],
450
- addItem: (value)=>void 0 !== value ? this.addItem(value) : this.addItem(),
479
+ addItem: (value)=>{
480
+ if (void 0 === value) return this.addItem();
481
+ if ("string" == typeof value) return this.addItem(value);
482
+ const data = value;
483
+ const templateId = data[TEMPLATE_DISCRIMINATOR];
484
+ if ("string" == typeof templateId) {
485
+ const { [TEMPLATE_DISCRIMINATOR]: _, ...rest } = data;
486
+ return this.addItem(templateId, rest);
487
+ }
488
+ return this.addItem(value);
489
+ },
451
490
  removeItem: (index)=>this.removeItem(index),
452
491
  moveItem: (from, to)=>this.moveItem(from, to),
453
492
  duplicateItem: (index)=>this.duplicateItem(index),
454
493
  isTemplated: this.isTemplated,
455
494
  availableTemplates: this.availableTemplates,
456
495
  activeTemplateId: this._activeTemplateId,
457
- setTemplate: (templateId)=>this.setTemplate(templateId)
496
+ setTemplate: (templateId)=>this.setTemplate(templateId),
497
+ getClonedData: ()=>this._getClonedData()
458
498
  };
459
499
  }
460
500
  get hasErrors() {
@@ -1 +1 @@
1
- {"version":3,"file":"features/formModel/ObjectField.js","sources":["../../../src/features/formModel/ObjectField.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, toJS } from \"mobx\";\nimport { Field } from \"./Field.js\";\nimport { createTemplateBuilder } from \"./fieldTypes/ObjectFieldType.js\";\nimport type {\n IObjectFieldConfig,\n IObjectField,\n IObjectFieldTemplates,\n IListItemField,\n IField,\n IObjectFieldVM,\n IFieldValidation,\n IFormModel,\n IFieldBuilder,\n IFieldBuilderRegistry,\n IRule,\n ITemplateBuilder,\n ITemplateConfig,\n ITemplateVM,\n FieldTypeMap,\n LayoutNode,\n LayoutNodeVM,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback,\n OnBlurCallback,\n ComputedFieldCallback\n} from \"./abstractions.js\";\n\n/** Reserved key used as the template discriminator in templated object data. */\nexport const TEMPLATE_DISCRIMINATOR = \"_templateId\";\n\nfunction createChildFields(\n childBuilders: Record<string, IFieldBuilder>,\n form: IFormModel | null,\n parentPath?: string\n): Map<string, IField> {\n const children = new Map<string, IField>();\n for (const [name, builder] of Object.entries(childBuilders)) {\n const config = builder.build(name);\n const field = createFieldFromConfig(config, form, parentPath);\n children.set(name, field);\n }\n return children;\n}\n\nfunction createFieldFromConfig(config: any, form: IFormModel | null, parentPath?: string): IField {\n if (config.childBuilders) {\n const objField = new ObjectField(config as IObjectFieldConfig);\n if (form) {\n objField.setForm(form, parentPath);\n }\n return objField;\n }\n const field = new Field(config);\n if (form) {\n field.setForm(form, parentPath);\n }\n return field;\n}\n\nfunction hydrateChildren(\n children: Map<string, IField>,\n data: Record<string, unknown> | null | undefined,\n options?: { clone?: boolean }\n): void {\n if (!data) {\n return;\n }\n for (const [name, field] of children) {\n if (name in data) {\n if (options?.clone && field.config.cloneValue) {\n field.setValueSilent(field.config.cloneValue(data[name]));\n } else {\n field.setValueSilent(data[name]);\n }\n }\n }\n}\n\nfunction getChildrenData(children: Map<string, IField>): Record<string, unknown> {\n const data: Record<string, unknown> = {};\n for (const [name, field] of children) {\n if (isObjectField(field)) {\n data[name] = toJS(field.getData());\n } else {\n data[name] = toJS(field.getValue());\n }\n }\n return data;\n}\n\nasync function validateChildren(\n children: Map<string, IField>,\n options?: { force?: boolean }\n): Promise<boolean> {\n let allValid = true;\n for (const [, field] of children) {\n const valid = await field.validate(options);\n if (!valid) {\n allValid = false;\n }\n }\n return allValid;\n}\n\nexport function isObjectField(field: IField): field is ObjectField {\n return field.type === \"object\";\n}\n\nlet itemKeyCounter = 0;\n\ninterface ListItem {\n key: string;\n children: Map<string, IField>;\n templateId?: string;\n}\n\n/**\n * ObjectField — hierarchical field with children, using composition.\n * Holds a `_base` Field for scalar behavior (callbacks, disabled/hidden, form ref).\n * Adds its own children/items management for object and list modes.\n */\nexport class ObjectField implements IObjectField {\n readonly config: IObjectFieldConfig;\n\n private _base: Field;\n private _form: IFormModel | null = null;\n private _children: Map<string, IField>;\n private _items: ListItem[] = [];\n private _templates: ITemplateConfig[] = [];\n private _isTemplated: boolean;\n private _activeTemplateId: string | null = null;\n /** Inner layout for non-templated objects (single layout, applied per item too). */\n private _ownLayout: LayoutNode[] | null = null;\n /** Per-template inner layouts for templated objects. */\n private _templateLayouts: Record<string, LayoutNode[]> = {};\n private _validating = false;\n\n constructor(config: IObjectFieldConfig) {\n this.config = config;\n this._base = new Field({\n ...config,\n type: \"object\",\n renderer:\n config.renderer ??\n (config.isList ? \"objectAccordionMultiple\" : \"objectAccordionSingle\")\n });\n this._templates = config.templates ?? [];\n this._isTemplated = this._templates.length > 0;\n\n if (this._isTemplated) {\n // Templated mode: children populated per-item (list) or when a template is picked (single).\n this._children = new Map();\n } else {\n this._children = createChildFields(config.childBuilders, null);\n }\n\n makeAutoObservable(this, {\n config: false\n });\n }\n\n private _findTemplate(id: string): ITemplateConfig | undefined {\n return this._templates.find(t => t.id === id);\n }\n\n private _rebuildChildrenForTemplate(templateId: string): void {\n const template = this._findTemplate(templateId);\n if (!template) {\n throw new Error(\n `Template \"${templateId}\" not found on field \"${this.config.name}\". ` +\n `Available: ${this._templates.map(t => t.id).join(\", \") || \"(none)\"}.`\n );\n }\n const children = createChildFields(template.childBuilders, this._form, this.qualifiedName);\n this._children = children;\n this._activeTemplateId = templateId;\n const inner = this._innerLayoutFor(templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n // --- Forwarded from _base ---\n\n get name(): string {\n return this._base.name;\n }\n\n get type(): string {\n return \"object\";\n }\n\n get visible(): boolean {\n return this._base.visible;\n }\n\n get disabled(): boolean {\n return this._base.disabled;\n }\n\n setDisabled(value: boolean): void {\n this._base.setDisabled(value);\n }\n\n setVisible(value: boolean): void {\n this._base.setVisible(value);\n }\n\n setAncestorRules(rules: IRule[]): void {\n this._base.setAncestorRules(rules);\n }\n\n setForm(form: IFormModel, parentPath?: string): void {\n this._form = form;\n this._base.setForm(form, parentPath);\n const myPath = this._base.qualifiedName;\n for (const [, field] of this._children) {\n field.setForm(form, myPath);\n }\n for (const item of this._items) {\n for (const [, field] of item.children) {\n field.setForm(form, myPath);\n }\n }\n }\n\n setValidation(validation: IFieldValidation): void {\n this._base.setValidation(validation);\n }\n\n addBeforeChange(cb: BeforeChangeCallback): void {\n this._base.addBeforeChange(cb);\n }\n\n addAfterChange(cb: AfterChangeCallback): void {\n this._base.addAfterChange(cb);\n }\n\n addAfterSetValue(cb: AfterSetValueCallback): void {\n this._base.addAfterSetValue(cb);\n }\n\n addOnBlur(cb: OnBlurCallback): void {\n this._base.addOnBlur(cb);\n }\n\n addRequiredWhen(fn: (form: IFormModel) => boolean, message?: string): void {\n this._base.addRequiredWhen(fn, message);\n }\n\n setComputed(fn: ComputedFieldCallback): void {\n this._base.setComputed(fn);\n }\n\n setComputedUntilDirty(fn: ComputedFieldCallback): void {\n this._base.setComputedUntilDirty(fn);\n }\n\n blur(): void {\n this._base.blur();\n }\n\n remove(): void {\n this._base.remove();\n }\n\n get qualifiedName(): string {\n return this._base.qualifiedName;\n }\n\n focus(): void {\n this._base.focus();\n }\n\n requestFocus(): void {\n this._base.requestFocus();\n }\n\n clearFocusRequest(): void {\n this._base.clearFocusRequest();\n }\n\n getInnerLayout(): LayoutNode[] | null {\n if (this.isTemplated) {\n return this._activeTemplateId\n ? (this._templateLayouts[this._activeTemplateId] ?? null)\n : null;\n }\n return this._ownLayout;\n }\n\n // --- Object-specific ---\n\n get isList(): boolean {\n return this.config.isList;\n }\n\n get isTemplated(): boolean {\n return this._isTemplated;\n }\n\n get activeTemplateId(): string | null {\n return this._activeTemplateId;\n }\n\n get availableTemplates(): ITemplateVM[] {\n const result: ITemplateVM[] = [];\n for (const template of this._templates) {\n if (template.visible && this._form) {\n if (!template.visible(this._form)) {\n continue;\n }\n }\n result.push({ id: template.id, label: template.label, icon: template.icon });\n }\n return result;\n }\n\n setTemplate(templateId: string): void {\n if (this._activeTemplateId === templateId) {\n return;\n }\n this._rebuildChildrenForTemplate(templateId);\n }\n\n get templates(): IObjectFieldTemplates {\n return {\n add: (id: string, configure: (t: ITemplateBuilder) => void) =>\n this._addTemplate(id, configure),\n remove: (templateId: string) => this._removeTemplate(templateId)\n };\n }\n\n private _addTemplate(id: string, configure: (t: ITemplateBuilder) => void): void {\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; templates.add() requires the field to be defined with .template().`\n );\n }\n if (id === TEMPLATE_DISCRIMINATOR) {\n throw new Error(\n `Template id \"${TEMPLATE_DISCRIMINATOR}\" is reserved. Choose a different id.`\n );\n }\n if (this._findTemplate(id)) {\n throw new Error(`Duplicate template id \"${id}\".`);\n }\n const tb = createTemplateBuilder();\n configure(tb);\n this._templates.push(tb._build(id, this._form!.registry));\n }\n\n private _removeTemplate(templateId: string): void {\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; templates.remove() requires the field to be defined with .template().`\n );\n }\n const index = this._templates.findIndex(t => t.id === templateId);\n if (index === -1) {\n return;\n }\n this._templates.splice(index, 1);\n\n if (this.config.isList) {\n this._items = this._items.filter(item => item.templateId !== templateId);\n return;\n }\n if (this._activeTemplateId === templateId) {\n this._activeTemplateId = null;\n this._children = new Map();\n }\n }\n\n setInnerLayout(layout: LayoutNode[] | Record<string, LayoutNode[]>): void {\n if (Array.isArray(layout)) {\n if (this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is templated; layout.object() must pass a per-template map (Record<templateId, LayoutNode[]>), not a single LayoutNode[].`\n );\n }\n this._ownLayout = layout;\n this._templateLayouts = {};\n // Apply nested object layouts to children that already exist\n // (non-templated single + non-templated list items).\n this._applyNestedObjectLayouts(layout, this._children);\n for (const item of this._items) {\n this._applyNestedObjectLayouts(layout, item.children);\n }\n return;\n }\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; layout.object() must pass a single LayoutNode[], not a per-template map.`\n );\n }\n this._templateLayouts = layout;\n this._ownLayout = null;\n // Apply nested object layouts to currently-active templated children\n // (templated single with active template + templated list items).\n if (this._activeTemplateId && layout[this._activeTemplateId]) {\n this._applyNestedObjectLayouts(layout[this._activeTemplateId], this._children);\n }\n for (const item of this._items) {\n if (item.templateId && layout[item.templateId]) {\n this._applyNestedObjectLayouts(layout[item.templateId], item.children);\n }\n }\n }\n\n /**\n * Walk an inner layout for nested `object` nodes and forward each one to\n * the matching child field. The recursion bottoms out naturally: each\n * matched child is itself an ObjectField and will run `_applyNestedObjectLayouts`\n * against its own children whenever they materialise.\n */\n private _applyNestedObjectLayouts(layout: LayoutNode[], children: Map<string, IField>): void {\n for (const node of layout) {\n if (node.type === \"object\") {\n const child = children.get(node.fieldName);\n if (child && isObjectField(child)) {\n child.setInnerLayout(node.inner);\n }\n } else if (node.type === \"tabs\") {\n for (const tab of node.tabs) {\n this._applyNestedObjectLayouts(tab.layout, children);\n }\n }\n }\n }\n\n /**\n * Returns the inner layout that should apply to a freshly-built children\n * Map for the given templateId (templated objects/lists) or for the\n * non-templated case. Used to seed nested object layouts on newly-created\n * children before they go live.\n */\n private _innerLayoutFor(templateId: string | undefined): LayoutNode[] | undefined {\n if (this.isTemplated) {\n if (templateId === undefined) {\n return undefined;\n }\n return this._templateLayouts[templateId];\n }\n return this._ownLayout ?? undefined;\n }\n\n private _resolveLayoutForChildren(\n children: Map<string, IField>,\n templateId: string | null\n ): LayoutNodeVM[] {\n const layoutNodes = this.isTemplated\n ? templateId !== null\n ? this._templateLayouts[templateId]\n : undefined\n : (this._ownLayout ?? undefined);\n if (layoutNodes && this._form?.resolveChildLayout) {\n return this._form.resolveChildLayout(layoutNodes, children);\n }\n // Default: one row per visible child, in insertion order.\n const fallback: LayoutNodeVM[] = [];\n for (const [, field] of children) {\n if (field.visible) {\n fallback.push({ type: \"row\", fields: [field.vm] });\n }\n }\n return fallback;\n }\n\n get children(): Map<string, IField> {\n return this._children;\n }\n\n get items(): IListItemField[] {\n return this._items.map(item => ({\n key: item.key,\n children: item.children,\n templateId: item.templateId,\n getData: () => this._getItemData(item)\n }));\n }\n\n private _getItemData(item: ListItem): Record<string, unknown> {\n const data = getChildrenData(item.children);\n if (item.templateId !== undefined) {\n return { [TEMPLATE_DISCRIMINATOR]: item.templateId, ...data };\n }\n return data;\n }\n\n getChild(name: string): IField | undefined {\n return this._children.get(name);\n }\n\n fields(\n factory: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder | undefined>\n ): void {\n if (this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is templated; use templates.add()/remove() to manage children. Each template owns its own fields.`\n );\n }\n const builders = factory(this._form!.registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n if (builder === undefined) {\n this._children.delete(name);\n this.config.childBuilders[name] = undefined as unknown as IFieldBuilder;\n delete this.config.childBuilders[name];\n if (this.config.isList) {\n for (const item of this._items) {\n item.children.delete(name);\n }\n }\n continue;\n }\n\n this.config.childBuilders[name] = builder;\n const built = builder.build(name);\n const newField = createFieldFromConfig(built, this._form, this.qualifiedName);\n this._children.set(name, newField);\n\n if (this.config.isList) {\n for (const item of this._items) {\n const itemField = createFieldFromConfig(built, this._form, this.qualifiedName);\n item.children.set(name, itemField);\n }\n }\n }\n\n // Re-apply nested object layouts so newly-added children pick up any\n // layout.object() entries already registered on this field.\n if (this._ownLayout) {\n this._applyNestedObjectLayouts(this._ownLayout, this._children);\n for (const item of this._items) {\n this._applyNestedObjectLayouts(this._ownLayout, item.children);\n }\n }\n }\n\n getListItemChild(index: number, name: string): IField | undefined {\n const item = this._items[index];\n return item?.children.get(name);\n }\n\n getData(): any {\n if (this.config.isList) {\n return this._items.map(item => this._getItemData(item));\n }\n if (this.isTemplated) {\n if (this._activeTemplateId === null) {\n return null;\n }\n return {\n [TEMPLATE_DISCRIMINATOR]: this._activeTemplateId,\n ...getChildrenData(this._children)\n };\n }\n return getChildrenData(this._children);\n }\n\n getValue<T = unknown>(): T {\n return this.getData() as T;\n }\n\n setValue(value: unknown): void {\n this.setValueSilent(value);\n }\n\n setValueSilent(value: unknown): void {\n if (this.config.isList) {\n this._items = [];\n if (Array.isArray(value)) {\n for (const itemData of value) {\n if (this.isTemplated) {\n if (!itemData || typeof itemData !== \"object\") {\n continue;\n }\n const data = itemData as Record<string, unknown>;\n const templateId = data[TEMPLATE_DISCRIMINATOR];\n if (typeof templateId !== \"string\") {\n continue;\n }\n if (!this._findTemplate(templateId)) {\n continue;\n }\n const { [TEMPLATE_DISCRIMINATOR]: _discarded, ...rest } = data;\n this._addItemInternal(rest, templateId);\n } else {\n this._addItemInternal(itemData);\n }\n }\n }\n return;\n }\n if (this.isTemplated) {\n if (value === null || value === undefined) {\n this._activeTemplateId = null;\n this._children = new Map();\n return;\n }\n const data = value as Record<string, unknown>;\n const templateId = data[TEMPLATE_DISCRIMINATOR];\n if (typeof templateId !== \"string\") {\n return;\n }\n if (!this._findTemplate(templateId)) {\n return;\n }\n this._rebuildChildrenForTemplate(templateId);\n const { [TEMPLATE_DISCRIMINATOR]: _discarded, ...rest } = data;\n hydrateChildren(this._children, rest);\n return;\n }\n hydrateChildren(this._children, value as Record<string, unknown>);\n }\n\n addItem(\n templateIdOrData?: string | Record<string, unknown>,\n data?: Record<string, unknown>\n ): void {\n if (this.isTemplated) {\n if (typeof templateIdOrData !== \"string\") {\n throw new Error(\n `Object field \"${this.config.name}\": templated list items require a template id. ` +\n `Call addItem(templateId) with one of: ${this._templates.map(t => t.id).join(\", \")}.`\n );\n }\n if (!this._findTemplate(templateIdOrData)) {\n throw new Error(\n `Template \"${templateIdOrData}\" not found on field \"${this.config.name}\". ` +\n `Available: ${this._templates.map(t => t.id).join(\", \") || \"(none)\"}.`\n );\n }\n this._addItemInternal(data, templateIdOrData);\n return;\n }\n if (typeof templateIdOrData === \"string\") {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; addItem() does not accept a template id.`\n );\n }\n this._addItemInternal(templateIdOrData);\n }\n\n removeItem(index: number): void {\n this._items.splice(index, 1);\n }\n\n moveItem(fromIndex: number, toIndex: number): void {\n if (\n fromIndex < 0 ||\n fromIndex >= this._items.length ||\n toIndex < 0 ||\n toIndex >= this._items.length ||\n fromIndex === toIndex\n ) {\n return;\n }\n const [item] = this._items.splice(fromIndex, 1);\n this._items.splice(toIndex, 0, item);\n }\n\n duplicateItem(index: number): void {\n const source = this._items[index];\n if (!source) {\n return;\n }\n const data = getChildrenData(source.children);\n const children = createChildFields(\n this._templateChildBuilders(source.templateId),\n this._form,\n this.qualifiedName\n );\n hydrateChildren(children, data, { clone: true });\n const key = `item_${++itemKeyCounter}`;\n this._items.splice(index + 1, 0, { key, children, templateId: source.templateId });\n const inner = this._innerLayoutFor(source.templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n private _templateChildBuilders(templateId: string | undefined): Record<string, IFieldBuilder> {\n if (templateId === undefined) {\n return this.config.childBuilders;\n }\n const template = this._findTemplate(templateId);\n if (!template) {\n throw new Error(`Template \"${templateId}\" not found on field \"${this.config.name}\".`);\n }\n return template.childBuilders;\n }\n\n private _addItemInternal(data?: Record<string, unknown>, templateId?: string): void {\n const children = createChildFields(\n this._templateChildBuilders(templateId),\n this._form,\n this.qualifiedName\n );\n if (data) {\n hydrateChildren(children, data);\n }\n const key = `item_${++itemKeyCounter}`;\n this._items.push({ key, children, templateId });\n const inner = this._innerLayoutFor(templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n resetValidation(): void {\n this._base.resetValidation();\n for (const [, field] of this._children) {\n field.resetValidation();\n }\n for (const item of this._items) {\n for (const [, field] of item.children) {\n field.resetValidation();\n }\n }\n }\n\n as<T extends keyof FieldTypeMap>(type: T): FieldTypeMap[T] {\n if (type !== \"object\") {\n throw new Error(`Field \"${this.config.name}\" is type \"object\", not \"${type}\".`);\n }\n return this as unknown as FieldTypeMap[T];\n }\n\n get vm(): IObjectFieldVM {\n const baseVm = this._base.vm;\n return {\n name: baseVm.name,\n type: \"object\",\n label: baseVm.label,\n help: baseVm.help,\n description: baseVm.description,\n note: baseVm.note,\n placeholder: baseVm.placeholder,\n value: this.getValue(),\n validation: baseVm.validation,\n validating: this._validating,\n required: baseVm.required,\n visible: baseVm.visible,\n disabled: baseVm.disabled,\n renderer: baseVm.renderer,\n rendererSettings: baseVm.rendererSettings,\n onChange: (value: unknown) => this.setValue(value),\n onBlur: () => {\n if (this._form?.submitted) {\n void this.validate();\n }\n this.blur();\n },\n focusRequested: baseVm.focusRequested,\n clearFocusRequest: baseVm.clearFocusRequest,\n isList: this.config.isList,\n fields: this.config.isList\n ? []\n : Array.from(this._children.values())\n .filter(f => f.visible)\n .map(f => f.vm),\n layout: this.config.isList\n ? []\n : this._resolveLayoutForChildren(this._children, this._activeTemplateId),\n items: this.config.isList\n ? this._items.map((item, index) => ({\n key: item.key,\n fields: Array.from(item.children.values())\n .filter(f => f.visible)\n .map(f => f.vm),\n layout: this._resolveLayoutForChildren(\n item.children,\n item.templateId ?? null\n ),\n templateId: item.templateId,\n remove: () => this.removeItem(index),\n moveUp: () => this.moveItem(index, index - 1),\n moveDown: () => this.moveItem(index, index + 1),\n duplicate: () => this.duplicateItem(index)\n }))\n : [],\n addItem: (value?: unknown) => {\n return value !== undefined ? this.addItem(value as string) : this.addItem();\n },\n removeItem: (index: number) => this.removeItem(index),\n moveItem: (from: number, to: number) => this.moveItem(from, to),\n duplicateItem: (index: number) => this.duplicateItem(index),\n isTemplated: this.isTemplated,\n availableTemplates: this.availableTemplates,\n activeTemplateId: this._activeTemplateId,\n setTemplate: (templateId: string) => this.setTemplate(templateId)\n };\n }\n\n get hasErrors(): boolean {\n const checkChildren = (children: Map<string, IField>): boolean => {\n for (const [, field] of children) {\n if (field.vm.validation.isValid === false) {\n return true;\n }\n if (isObjectField(field) && field.hasErrors) {\n return true;\n }\n }\n return false;\n };\n\n if (this.config.isList) {\n for (const item of this._items) {\n if (checkChildren(item.children)) {\n return true;\n }\n }\n } else {\n if (checkChildren(this._children)) {\n return true;\n }\n }\n return false;\n }\n\n async validate(options?: { force?: boolean }): Promise<boolean> {\n if (!this.visible) {\n this.setValidation({ isValid: null });\n return true;\n }\n\n runInAction(() => {\n this._validating = true;\n });\n\n try {\n const requiredState = this._base.resolveRequired();\n if (requiredState.required) {\n const message = requiredState.message || \"This field is required.\";\n if (this.config.isList && this._items.length === 0) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n if (!this.config.isList) {\n if (this.isTemplated) {\n if (this._activeTemplateId === null) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n } else {\n const data = this.getData();\n const hasAnyValue = Object.values(data).some(\n v => v !== null && v !== undefined && v !== \"\"\n );\n if (!hasAnyValue) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n }\n }\n }\n\n if (this.config.isList && this.config.listSchema) {\n const listData = this.getData();\n const result = await this.config.listSchema.safeParseAsync(listData);\n if (!result.success) {\n const firstIssue = result.error.issues[0];\n runInAction(() => {\n this.setValidation({\n isValid: false,\n message: firstIssue?.message || \"Invalid value.\"\n });\n });\n return false;\n }\n }\n\n if (this.config.schema) {\n const data = this.getData();\n const result = await this.config.schema.safeParseAsync(data);\n if (!result.success) {\n const firstIssue = result.error.issues[0];\n runInAction(() => {\n this.setValidation({\n isValid: false,\n message: firstIssue?.message || \"Invalid value.\"\n });\n });\n return false;\n }\n }\n\n let allValid = true;\n\n if (this.config.isList) {\n for (const item of this._items) {\n const valid = await validateChildren(item.children, options);\n if (!valid) {\n allValid = false;\n }\n }\n } else {\n allValid = await validateChildren(this._children, options);\n }\n\n runInAction(() => {\n this.setValidation({ isValid: allValid });\n });\n\n return allValid;\n } finally {\n runInAction(() => {\n this._validating = false;\n });\n }\n }\n}\n"],"names":["TEMPLATE_DISCRIMINATOR","createChildFields","childBuilders","form","parentPath","children","Map","name","builder","Object","config","field","createFieldFromConfig","objField","ObjectField","Field","hydrateChildren","data","options","getChildrenData","isObjectField","toJS","validateChildren","allValid","valid","itemKeyCounter","makeAutoObservable","id","t","templateId","template","Error","inner","value","rules","myPath","item","validation","cb","fn","message","result","configure","tb","createTemplateBuilder","index","layout","Array","node","child","tab","undefined","layoutNodes","fallback","factory","builders","built","newField","itemField","itemData","_discarded","rest","templateIdOrData","fromIndex","toIndex","source","key","type","baseVm","f","from","to","checkChildren","runInAction","requiredState","hasAnyValue","v","listData","firstIssue"],"mappings":"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"}
1
+ {"version":3,"file":"features/formModel/ObjectField.js","sources":["../../../src/features/formModel/ObjectField.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, toJS } from \"mobx\";\nimport { Field } from \"./Field.js\";\nimport { createTemplateBuilder } from \"./fieldTypes/ObjectFieldType.js\";\nimport type {\n IObjectFieldConfig,\n IObjectField,\n IObjectFieldTemplates,\n IListItemField,\n IField,\n IObjectFieldVM,\n IFieldValidation,\n IFormModel,\n IFieldBuilder,\n IFieldBuilderRegistry,\n IRule,\n ITemplateBuilder,\n ITemplateConfig,\n ITemplateVM,\n FieldTypeMap,\n LayoutNode,\n LayoutNodeVM,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback,\n OnBlurCallback,\n ComputedFieldCallback,\n IFieldCallbackParams\n} from \"./abstractions.js\";\n\n/** Reserved key used as the template discriminator in templated object data. */\nexport const TEMPLATE_DISCRIMINATOR = \"_templateId\";\n\nfunction createChildFields(\n childBuilders: Record<string, IFieldBuilder>,\n form: IFormModel | null,\n parentPath?: string\n): Map<string, IField> {\n const children = new Map<string, IField>();\n for (const [name, builder] of Object.entries(childBuilders)) {\n const config = builder.build(name);\n const field = createFieldFromConfig(config, form, parentPath);\n children.set(name, field);\n }\n return children;\n}\n\nfunction createFieldFromConfig(config: any, form: IFormModel | null, parentPath?: string): IField {\n if (config.childBuilders) {\n const objField = new ObjectField(config as IObjectFieldConfig);\n if (form) {\n objField.setForm(form, parentPath);\n }\n return objField;\n }\n const field = new Field(config);\n if (form) {\n field.setForm(form, parentPath);\n }\n return field;\n}\n\nfunction hydrateChildren(\n children: Map<string, IField>,\n data: Record<string, unknown> | null | undefined,\n options?: { clone?: boolean }\n): void {\n if (!data) {\n return;\n }\n for (const [name, field] of children) {\n if (name in data) {\n if (options?.clone && field.config.cloneValue) {\n field.setValueSilent(field.config.cloneValue(data[name]));\n } else {\n field.setValueSilent(data[name]);\n }\n }\n }\n}\n\nfunction getChildrenData(children: Map<string, IField>): Record<string, unknown> {\n const data: Record<string, unknown> = {};\n for (const [name, field] of children) {\n if (isObjectField(field)) {\n data[name] = toJS(field.getData());\n } else {\n data[name] = toJS(field.getValue());\n }\n }\n return data;\n}\n\nasync function validateChildren(\n children: Map<string, IField>,\n options?: { force?: boolean }\n): Promise<boolean> {\n let allValid = true;\n for (const [, field] of children) {\n const valid = await field.validate(options);\n if (!valid) {\n allValid = false;\n }\n }\n return allValid;\n}\n\nexport function isObjectField(field: IField): field is ObjectField {\n return field.type === \"object\";\n}\n\nlet itemKeyCounter = 0;\n\ninterface ListItem {\n key: string;\n children: Map<string, IField>;\n templateId?: string;\n}\n\n/**\n * ObjectField — hierarchical field with children, using composition.\n * Holds a `_base` Field for scalar behavior (callbacks, disabled/hidden, form ref).\n * Adds its own children/items management for object and list modes.\n */\nexport class ObjectField implements IObjectField {\n readonly config: IObjectFieldConfig;\n\n private _base: Field;\n private _form: IFormModel | null = null;\n private _children: Map<string, IField>;\n private _items: ListItem[] = [];\n private _templates: ITemplateConfig[] = [];\n private _isTemplated: boolean;\n private _activeTemplateId: string | null = null;\n /** Inner layout for non-templated objects (single layout, applied per item too). */\n private _ownLayout: LayoutNode[] | null = null;\n /** Per-template inner layouts for templated objects. */\n private _templateLayouts: Record<string, LayoutNode[]> = {};\n private _validating = false;\n\n constructor(config: IObjectFieldConfig) {\n this.config = config;\n this._base = new Field({\n ...config,\n type: \"object\",\n renderer:\n config.renderer ??\n (config.isList ? \"objectAccordionMultiple\" : \"objectAccordionSingle\")\n });\n this._templates = config.templates ?? [];\n this._isTemplated = this._templates.length > 0;\n\n if (this._isTemplated) {\n // Templated mode: children populated per-item (list) or when a template is picked (single).\n this._children = new Map();\n } else {\n this._children = createChildFields(config.childBuilders, null);\n }\n\n makeAutoObservable(this, {\n config: false\n });\n }\n\n private _findTemplate(id: string): ITemplateConfig | undefined {\n return this._templates.find(t => t.id === id);\n }\n\n private _rebuildChildrenForTemplate(templateId: string): void {\n const template = this._findTemplate(templateId);\n if (!template) {\n throw new Error(\n `Template \"${templateId}\" not found on field \"${this.config.name}\". ` +\n `Available: ${this._templates.map(t => t.id).join(\", \") || \"(none)\"}.`\n );\n }\n const children = createChildFields(template.childBuilders, this._form, this.qualifiedName);\n this._children = children;\n this._activeTemplateId = templateId;\n const inner = this._innerLayoutFor(templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n // --- Forwarded from _base ---\n\n get name(): string {\n return this._base.name;\n }\n\n get type(): string {\n return \"object\";\n }\n\n get visible(): boolean {\n return this._base.visible;\n }\n\n get disabled(): boolean {\n return this._base.disabled;\n }\n\n setDisabled(value: boolean): void {\n this._base.setDisabled(value);\n }\n\n setVisible(value: boolean): void {\n this._base.setVisible(value);\n }\n\n setAncestorRules(rules: IRule[]): void {\n this._base.setAncestorRules(rules);\n }\n\n setForm(form: IFormModel, parentPath?: string): void {\n this._form = form;\n this._base.setForm(form, parentPath);\n const myPath = this._base.qualifiedName;\n for (const [, field] of this._children) {\n field.setForm(form, myPath);\n }\n for (const item of this._items) {\n for (const [, field] of item.children) {\n field.setForm(form, myPath);\n }\n }\n }\n\n setValidation(validation: IFieldValidation): void {\n this._base.setValidation(validation);\n }\n\n addBeforeChange(cb: BeforeChangeCallback): void {\n this._base.addBeforeChange(cb);\n }\n\n addAfterChange(cb: AfterChangeCallback): void {\n this._base.addAfterChange(cb);\n }\n\n addAfterSetValue(cb: AfterSetValueCallback): void {\n this._base.addAfterSetValue(cb);\n }\n\n addOnBlur(cb: OnBlurCallback): void {\n this._base.addOnBlur(cb);\n }\n\n addRequiredWhen(fn: (params: IFieldCallbackParams) => boolean, message?: string): void {\n this._base.addRequiredWhen(fn, message);\n }\n\n setComputed(fn: ComputedFieldCallback): void {\n this._base.setComputed(fn);\n }\n\n setComputedUntilDirty(fn: ComputedFieldCallback): void {\n this._base.setComputedUntilDirty(fn);\n }\n\n blur(): void {\n this._base.blur();\n }\n\n remove(): void {\n this._base.remove();\n }\n\n get qualifiedName(): string {\n return this._base.qualifiedName;\n }\n\n focus(): void {\n this._base.focus();\n }\n\n requestFocus(): void {\n this._base.requestFocus();\n }\n\n clearFocusRequest(): void {\n this._base.clearFocusRequest();\n }\n\n getInnerLayout(): LayoutNode[] | null {\n if (this.isTemplated) {\n return this._activeTemplateId\n ? (this._templateLayouts[this._activeTemplateId] ?? null)\n : null;\n }\n return this._ownLayout;\n }\n\n // --- Object-specific ---\n\n get isList(): boolean {\n return this.config.isList;\n }\n\n get isTemplated(): boolean {\n return this._isTemplated;\n }\n\n get activeTemplateId(): string | null {\n return this._activeTemplateId;\n }\n\n get availableTemplates(): ITemplateVM[] {\n const result: ITemplateVM[] = [];\n for (const template of this._templates) {\n if (template.visible && this._form) {\n if (!template.visible(this._form)) {\n continue;\n }\n }\n result.push({ id: template.id, label: template.label, icon: template.icon });\n }\n return result;\n }\n\n setTemplate(templateId: string): void {\n if (this._activeTemplateId === templateId) {\n return;\n }\n this._rebuildChildrenForTemplate(templateId);\n }\n\n get templates(): IObjectFieldTemplates {\n return {\n add: (id: string, configure: (t: ITemplateBuilder) => void) =>\n this._addTemplate(id, configure),\n remove: (templateId: string) => this._removeTemplate(templateId)\n };\n }\n\n private _addTemplate(id: string, configure: (t: ITemplateBuilder) => void): void {\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; templates.add() requires the field to be defined with .template().`\n );\n }\n if (id === TEMPLATE_DISCRIMINATOR) {\n throw new Error(\n `Template id \"${TEMPLATE_DISCRIMINATOR}\" is reserved. Choose a different id.`\n );\n }\n if (this._findTemplate(id)) {\n throw new Error(`Duplicate template id \"${id}\".`);\n }\n const tb = createTemplateBuilder();\n configure(tb);\n this._templates.push(tb._build(id, this._form!.registry));\n }\n\n private _removeTemplate(templateId: string): void {\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; templates.remove() requires the field to be defined with .template().`\n );\n }\n const index = this._templates.findIndex(t => t.id === templateId);\n if (index === -1) {\n return;\n }\n this._templates.splice(index, 1);\n\n if (this.config.isList) {\n this._items = this._items.filter(item => item.templateId !== templateId);\n return;\n }\n if (this._activeTemplateId === templateId) {\n this._activeTemplateId = null;\n this._children = new Map();\n }\n }\n\n setInnerLayout(layout: LayoutNode[] | Record<string, LayoutNode[]>): void {\n if (Array.isArray(layout)) {\n if (this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is templated; layout.object() must pass a per-template map (Record<templateId, LayoutNode[]>), not a single LayoutNode[].`\n );\n }\n this._ownLayout = layout;\n this._templateLayouts = {};\n // Apply nested object layouts to children that already exist\n // (non-templated single + non-templated list items).\n this._applyNestedObjectLayouts(layout, this._children);\n for (const item of this._items) {\n this._applyNestedObjectLayouts(layout, item.children);\n }\n return;\n }\n if (!this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; layout.object() must pass a single LayoutNode[], not a per-template map.`\n );\n }\n this._templateLayouts = layout;\n this._ownLayout = null;\n // Apply nested object layouts to currently-active templated children\n // (templated single with active template + templated list items).\n if (this._activeTemplateId && layout[this._activeTemplateId]) {\n this._applyNestedObjectLayouts(layout[this._activeTemplateId], this._children);\n }\n for (const item of this._items) {\n if (item.templateId && layout[item.templateId]) {\n this._applyNestedObjectLayouts(layout[item.templateId], item.children);\n }\n }\n }\n\n /**\n * Walk an inner layout for nested `object` nodes and forward each one to\n * the matching child field. The recursion bottoms out naturally: each\n * matched child is itself an ObjectField and will run `_applyNestedObjectLayouts`\n * against its own children whenever they materialise.\n */\n private _applyNestedObjectLayouts(layout: LayoutNode[], children: Map<string, IField>): void {\n for (const node of layout) {\n if (node.type === \"object\") {\n const child = children.get(node.fieldName);\n if (child && isObjectField(child)) {\n child.setInnerLayout(node.inner);\n }\n } else if (node.type === \"tabs\") {\n for (const tab of node.tabs) {\n this._applyNestedObjectLayouts(tab.layout, children);\n }\n }\n }\n }\n\n /**\n * Returns the inner layout that should apply to a freshly-built children\n * Map for the given templateId (templated objects/lists) or for the\n * non-templated case. Used to seed nested object layouts on newly-created\n * children before they go live.\n */\n private _innerLayoutFor(templateId: string | undefined): LayoutNode[] | undefined {\n if (this.isTemplated) {\n if (templateId === undefined) {\n return undefined;\n }\n return this._templateLayouts[templateId];\n }\n return this._ownLayout ?? undefined;\n }\n\n private _resolveLayoutForChildren(\n children: Map<string, IField>,\n templateId: string | null\n ): LayoutNodeVM[] {\n const layoutNodes = this.isTemplated\n ? templateId !== null\n ? this._templateLayouts[templateId]\n : undefined\n : (this._ownLayout ?? undefined);\n if (layoutNodes && this._form?.resolveChildLayout) {\n return this._form.resolveChildLayout(layoutNodes, children);\n }\n // Default: one row per visible child, in insertion order.\n const fallback: LayoutNodeVM[] = [];\n for (const [, field] of children) {\n if (field.visible) {\n fallback.push({ type: \"row\", fields: [field.vm] });\n }\n }\n return fallback;\n }\n\n get children(): Map<string, IField> {\n return this._children;\n }\n\n get items(): IListItemField[] {\n return this._items.map(item => ({\n key: item.key,\n children: item.children,\n templateId: item.templateId,\n getData: () => this._getItemData(item)\n }));\n }\n\n private _getItemData(item: ListItem): Record<string, unknown> {\n const data = getChildrenData(item.children);\n if (item.templateId !== undefined) {\n return { [TEMPLATE_DISCRIMINATOR]: item.templateId, ...data };\n }\n return data;\n }\n\n private _getClonedItemData(item: ListItem): Record<string, unknown> {\n const data = getChildrenData(item.children);\n const children = createChildFields(\n this._templateChildBuilders(item.templateId),\n this._form,\n this.qualifiedName\n );\n hydrateChildren(children, data, { clone: true });\n const clonedData = getChildrenData(children);\n if (item.templateId !== undefined) {\n return { [TEMPLATE_DISCRIMINATOR]: item.templateId, ...clonedData };\n }\n return clonedData;\n }\n\n private _getClonedData(): Record<string, unknown> {\n const data = getChildrenData(this._children);\n const builders =\n this.isTemplated && this._activeTemplateId\n ? this._templateChildBuilders(this._activeTemplateId)\n : this.config.childBuilders;\n const children = createChildFields(builders, this._form, this.qualifiedName);\n hydrateChildren(children, data, { clone: true });\n const clonedData = getChildrenData(children);\n if (this.isTemplated && this._activeTemplateId) {\n return { [TEMPLATE_DISCRIMINATOR]: this._activeTemplateId, ...clonedData };\n }\n return clonedData;\n }\n\n getChild(name: string): IField | undefined {\n return this._children.get(name);\n }\n\n fields(\n factory: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder | undefined>\n ): void {\n if (this.isTemplated) {\n throw new Error(\n `Object field \"${this.config.name}\" is templated; use templates.add()/remove() to manage children. Each template owns its own fields.`\n );\n }\n const builders = factory(this._form!.registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n if (builder === undefined) {\n this._children.delete(name);\n this.config.childBuilders[name] = undefined as unknown as IFieldBuilder;\n delete this.config.childBuilders[name];\n if (this.config.isList) {\n for (const item of this._items) {\n item.children.delete(name);\n }\n }\n continue;\n }\n\n this.config.childBuilders[name] = builder;\n const built = builder.build(name);\n const newField = createFieldFromConfig(built, this._form, this.qualifiedName);\n this._children.set(name, newField);\n\n if (this.config.isList) {\n for (const item of this._items) {\n const itemField = createFieldFromConfig(built, this._form, this.qualifiedName);\n item.children.set(name, itemField);\n }\n }\n }\n\n // Re-apply nested object layouts so newly-added children pick up any\n // layout.object() entries already registered on this field.\n if (this._ownLayout) {\n this._applyNestedObjectLayouts(this._ownLayout, this._children);\n for (const item of this._items) {\n this._applyNestedObjectLayouts(this._ownLayout, item.children);\n }\n }\n }\n\n getListItemChild(index: number, name: string): IField | undefined {\n const item = this._items[index];\n return item?.children.get(name);\n }\n\n getData(): any {\n if (this.config.isList) {\n return this._items.map(item => this._getItemData(item));\n }\n if (this.isTemplated) {\n if (this._activeTemplateId === null) {\n return null;\n }\n return {\n [TEMPLATE_DISCRIMINATOR]: this._activeTemplateId,\n ...getChildrenData(this._children)\n };\n }\n return getChildrenData(this._children);\n }\n\n getValue<T = unknown>(): T {\n return this.getData() as T;\n }\n\n setValue(value: unknown): void {\n this.setValueSilent(value);\n }\n\n setValueSilent(value: unknown): void {\n if (this.config.isList) {\n this._items = [];\n if (Array.isArray(value)) {\n for (const itemData of value) {\n if (this.isTemplated) {\n if (!itemData || typeof itemData !== \"object\") {\n continue;\n }\n const data = itemData as Record<string, unknown>;\n const templateId = data[TEMPLATE_DISCRIMINATOR];\n if (typeof templateId !== \"string\") {\n continue;\n }\n if (!this._findTemplate(templateId)) {\n continue;\n }\n const { [TEMPLATE_DISCRIMINATOR]: _discarded, ...rest } = data;\n this._addItemInternal(rest, templateId);\n } else {\n this._addItemInternal(itemData);\n }\n }\n }\n return;\n }\n if (this.isTemplated) {\n if (value === null || value === undefined) {\n this._activeTemplateId = null;\n this._children = new Map();\n return;\n }\n const data = value as Record<string, unknown>;\n const templateId = data[TEMPLATE_DISCRIMINATOR];\n if (typeof templateId !== \"string\") {\n return;\n }\n if (!this._findTemplate(templateId)) {\n return;\n }\n this._rebuildChildrenForTemplate(templateId);\n const { [TEMPLATE_DISCRIMINATOR]: _discarded, ...rest } = data;\n hydrateChildren(this._children, rest);\n return;\n }\n hydrateChildren(this._children, value as Record<string, unknown>);\n }\n\n addItem(\n templateIdOrData?: string | Record<string, unknown>,\n data?: Record<string, unknown>\n ): void {\n if (this.isTemplated) {\n if (typeof templateIdOrData !== \"string\") {\n throw new Error(\n `Object field \"${this.config.name}\": templated list items require a template id. ` +\n `Call addItem(templateId) with one of: ${this._templates.map(t => t.id).join(\", \")}.`\n );\n }\n if (!this._findTemplate(templateIdOrData)) {\n throw new Error(\n `Template \"${templateIdOrData}\" not found on field \"${this.config.name}\". ` +\n `Available: ${this._templates.map(t => t.id).join(\", \") || \"(none)\"}.`\n );\n }\n this._addItemInternal(data, templateIdOrData);\n return;\n }\n if (typeof templateIdOrData === \"string\") {\n throw new Error(\n `Object field \"${this.config.name}\" is not templated; addItem() does not accept a template id.`\n );\n }\n this._addItemInternal(templateIdOrData);\n }\n\n removeItem(index: number): void {\n this._items.splice(index, 1);\n }\n\n moveItem(fromIndex: number, toIndex: number): void {\n if (\n fromIndex < 0 ||\n fromIndex >= this._items.length ||\n toIndex < 0 ||\n toIndex >= this._items.length ||\n fromIndex === toIndex\n ) {\n return;\n }\n const [item] = this._items.splice(fromIndex, 1);\n this._items.splice(toIndex, 0, item);\n }\n\n duplicateItem(index: number): void {\n const source = this._items[index];\n if (!source) {\n return;\n }\n const data = getChildrenData(source.children);\n const children = createChildFields(\n this._templateChildBuilders(source.templateId),\n this._form,\n this.qualifiedName\n );\n hydrateChildren(children, data, { clone: true });\n const key = `item_${++itemKeyCounter}`;\n this._items.splice(index + 1, 0, { key, children, templateId: source.templateId });\n const inner = this._innerLayoutFor(source.templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n private _templateChildBuilders(templateId: string | undefined): Record<string, IFieldBuilder> {\n if (templateId === undefined) {\n return this.config.childBuilders;\n }\n const template = this._findTemplate(templateId);\n if (!template) {\n throw new Error(`Template \"${templateId}\" not found on field \"${this.config.name}\".`);\n }\n return template.childBuilders;\n }\n\n private _addItemInternal(data?: Record<string, unknown>, templateId?: string): void {\n const children = createChildFields(\n this._templateChildBuilders(templateId),\n this._form,\n this.qualifiedName\n );\n if (data) {\n hydrateChildren(children, data);\n }\n const key = `item_${++itemKeyCounter}`;\n this._items.push({ key, children, templateId });\n const inner = this._innerLayoutFor(templateId);\n if (inner) {\n this._applyNestedObjectLayouts(inner, children);\n }\n }\n\n resetValidation(): void {\n this._base.resetValidation();\n for (const [, field] of this._children) {\n field.resetValidation();\n }\n for (const item of this._items) {\n for (const [, field] of item.children) {\n field.resetValidation();\n }\n }\n }\n\n as<T extends keyof FieldTypeMap>(type: T): FieldTypeMap[T] {\n if (type !== \"object\") {\n throw new Error(`Field \"${this.config.name}\" is type \"object\", not \"${type}\".`);\n }\n return this as unknown as FieldTypeMap[T];\n }\n\n get vm(): IObjectFieldVM {\n const baseVm = this._base.vm;\n return {\n name: baseVm.name,\n type: \"object\",\n label: baseVm.label,\n help: baseVm.help,\n description: baseVm.description,\n note: baseVm.note,\n placeholder: baseVm.placeholder,\n value: this.getValue(),\n validation: baseVm.validation,\n validating: this._validating,\n required: baseVm.required,\n visible: baseVm.visible,\n disabled: baseVm.disabled,\n renderer: baseVm.renderer,\n rendererSettings: baseVm.rendererSettings,\n context: baseVm.context,\n onChange: (value: unknown) => this.setValue(value),\n onBlur: () => {\n if (this._form?.submitted) {\n void this.validate();\n }\n this.blur();\n },\n focusRequested: baseVm.focusRequested,\n clearFocusRequest: baseVm.clearFocusRequest,\n isList: this.config.isList,\n fields: this.config.isList\n ? []\n : Array.from(this._children.values())\n .filter(f => f.visible)\n .map(f => f.vm),\n layout: this.config.isList\n ? []\n : this._resolveLayoutForChildren(this._children, this._activeTemplateId),\n items: this.config.isList\n ? this._items.map((item, index) => ({\n key: item.key,\n fields: Array.from(item.children.values())\n .filter(f => f.visible)\n .map(f => f.vm),\n layout: this._resolveLayoutForChildren(\n item.children,\n item.templateId ?? null\n ),\n templateId: item.templateId,\n remove: () => this.removeItem(index),\n moveUp: () => this.moveItem(index, index - 1),\n moveDown: () => this.moveItem(index, index + 1),\n duplicate: () => this.duplicateItem(index),\n getClonedData: () => this._getClonedItemData(item)\n }))\n : [],\n addItem: (value?: unknown) => {\n if (value === undefined) {\n return this.addItem();\n }\n if (typeof value === \"string\") {\n return this.addItem(value);\n }\n const data = value as Record<string, unknown>;\n const templateId = data[TEMPLATE_DISCRIMINATOR];\n if (typeof templateId === \"string\") {\n const { [TEMPLATE_DISCRIMINATOR]: _, ...rest } = data;\n return this.addItem(templateId, rest);\n }\n return this.addItem(value as Record<string, unknown>);\n },\n removeItem: (index: number) => this.removeItem(index),\n moveItem: (from: number, to: number) => this.moveItem(from, to),\n duplicateItem: (index: number) => this.duplicateItem(index),\n isTemplated: this.isTemplated,\n availableTemplates: this.availableTemplates,\n activeTemplateId: this._activeTemplateId,\n setTemplate: (templateId: string) => this.setTemplate(templateId),\n getClonedData: () => this._getClonedData()\n };\n }\n\n get hasErrors(): boolean {\n const checkChildren = (children: Map<string, IField>): boolean => {\n for (const [, field] of children) {\n if (field.vm.validation.isValid === false) {\n return true;\n }\n if (isObjectField(field) && field.hasErrors) {\n return true;\n }\n }\n return false;\n };\n\n if (this.config.isList) {\n for (const item of this._items) {\n if (checkChildren(item.children)) {\n return true;\n }\n }\n } else {\n if (checkChildren(this._children)) {\n return true;\n }\n }\n return false;\n }\n\n async validate(options?: { force?: boolean }): Promise<boolean> {\n if (!this.visible) {\n this.setValidation({ isValid: null });\n return true;\n }\n\n runInAction(() => {\n this._validating = true;\n });\n\n try {\n const requiredState = this._base.resolveRequired();\n if (requiredState.required) {\n const message = requiredState.message || \"This field is required.\";\n if (this.config.isList && this._items.length === 0) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n if (!this.config.isList) {\n if (this.isTemplated) {\n if (this._activeTemplateId === null) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n } else {\n const data = this.getData();\n const hasAnyValue = Object.values(data).some(\n v => v !== null && v !== undefined && v !== \"\"\n );\n if (!hasAnyValue) {\n this.setValidation({ isValid: false, message });\n return false;\n }\n }\n }\n }\n\n if (this.config.isList && this.config.listSchema) {\n const listData = this.getData();\n const result = await this.config.listSchema.safeParseAsync(listData);\n if (!result.success) {\n const firstIssue = result.error.issues[0];\n runInAction(() => {\n this.setValidation({\n isValid: false,\n message: firstIssue?.message || \"Invalid value.\"\n });\n });\n return false;\n }\n }\n\n if (this.config.schema) {\n const data = this.getData();\n const result = await this.config.schema.safeParseAsync(data);\n if (!result.success) {\n const firstIssue = result.error.issues[0];\n runInAction(() => {\n this.setValidation({\n isValid: false,\n message: firstIssue?.message || \"Invalid value.\"\n });\n });\n return false;\n }\n }\n\n let allValid = true;\n\n if (this.config.isList) {\n for (const item of this._items) {\n const valid = await validateChildren(item.children, options);\n if (!valid) {\n allValid = false;\n }\n }\n } else {\n allValid = await validateChildren(this._children, options);\n }\n\n runInAction(() => {\n this.setValidation({ isValid: allValid });\n });\n\n return allValid;\n } finally {\n runInAction(() => {\n this._validating = false;\n });\n }\n }\n}\n"],"names":["TEMPLATE_DISCRIMINATOR","createChildFields","childBuilders","form","parentPath","children","Map","name","builder","Object","config","field","createFieldFromConfig","objField","ObjectField","Field","hydrateChildren","data","options","getChildrenData","isObjectField","toJS","validateChildren","allValid","valid","itemKeyCounter","makeAutoObservable","id","t","templateId","template","Error","inner","value","rules","myPath","item","validation","cb","fn","message","result","configure","tb","createTemplateBuilder","index","layout","Array","node","child","tab","undefined","layoutNodes","fallback","clonedData","builders","factory","built","newField","itemField","itemData","_discarded","rest","templateIdOrData","fromIndex","toIndex","source","key","type","baseVm","f","_","from","to","checkChildren","runInAction","requiredState","hasAnyValue","v","listData","firstIssue"],"mappings":"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"}