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

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 (912) hide show
  1. package/base/Admin.js +34 -2
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base/DefaultFieldRenderers.js +21 -2
  4. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  5. package/base/Base/FieldRenderers/AutoCompleteRenderer.d.ts +13 -0
  6. package/base/Base/FieldRenderers/AutoCompleteRenderer.js +30 -0
  7. package/base/Base/FieldRenderers/AutoCompleteRenderer.js.map +1 -0
  8. package/base/Base/FieldRenderers/BirthdayInputRenderer.d.ts +21 -0
  9. package/base/Base/FieldRenderers/BirthdayInputRenderer.js +39 -0
  10. package/base/Base/FieldRenderers/BirthdayInputRenderer.js.map +1 -0
  11. package/base/Base/FieldRenderers/BirthdayInputRenderer.test.d.ts +1 -0
  12. package/base/Base/FieldRenderers/BirthdayInputRenderer.test.js +123 -0
  13. package/base/Base/FieldRenderers/BirthdayInputRenderer.test.js.map +1 -0
  14. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +2 -2
  15. package/base/Base/FieldRenderers/LexicalRenderer.js +10 -6
  16. package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -1
  17. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +8 -5
  18. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -1
  19. package/base/Base/FieldRenderers/MultiSelectRenderer.d.ts +15 -0
  20. package/base/Base/FieldRenderers/MultiSelectRenderer.js +31 -0
  21. package/base/Base/FieldRenderers/MultiSelectRenderer.js.map +1 -0
  22. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +2 -0
  23. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +5 -2
  24. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -1
  25. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts +11 -0
  26. package/base/Base/FieldRenderers/ObjectRenderer/{MultiValueDynamicZone.js → MultiValueDynamicZone/MultiValueDynamicZone.js} +83 -15
  27. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -0
  28. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.d.ts +13 -0
  29. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js +28 -0
  30. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js.map +1 -0
  31. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.d.ts +15 -0
  32. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js +5 -0
  33. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js.map +1 -0
  34. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.d.ts +1 -0
  35. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js +11 -0
  36. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js.map +1 -0
  37. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.d.ts +2 -0
  38. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.js +2 -0
  39. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +1 -1
  40. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +29 -4
  41. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
  42. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +12 -8
  43. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +48 -8
  44. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  45. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +16 -25
  46. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  47. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +3 -2
  48. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +29 -8
  49. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  50. package/base/Base/FieldRenderers/ObjectRenderer/{TemplatePicker.d.ts → TemplatePicker/AddTemplateButton.d.ts} +1 -1
  51. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/AddTemplateButton.js +24 -0
  52. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/AddTemplateButton.js.map +1 -0
  53. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.d.ts +13 -0
  54. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.js +21 -0
  55. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.js.map +1 -0
  56. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.d.ts +3 -0
  57. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.js +35 -0
  58. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.js.map +1 -0
  59. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.d.ts +8 -0
  60. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.js +22 -0
  61. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.js.map +1 -0
  62. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.d.ts +10 -0
  63. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.js +52 -0
  64. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.js.map +1 -0
  65. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.d.ts +8 -0
  66. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.js +16 -0
  67. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.js.map +1 -0
  68. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.d.ts +10 -0
  69. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.js +22 -0
  70. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.js.map +1 -0
  71. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.d.ts +3 -0
  72. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.js +35 -0
  73. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.js.map +1 -0
  74. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/index.d.ts +1 -0
  75. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/index.js +1 -0
  76. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/types.d.ts +6 -0
  77. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/types.js +0 -0
  78. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +8 -3
  79. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +25 -17
  80. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -1
  81. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.test.d.ts +1 -0
  82. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.test.js +106 -0
  83. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.test.js.map +1 -0
  84. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +3 -2
  85. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
  86. package/base/Base/FieldRenderers/SelectRenderer.d.ts +6 -0
  87. package/base/Base/FieldRenderers/SelectRenderer.js +4 -2
  88. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  89. package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +2 -2
  90. package/base/Base/Menus.js +4 -4
  91. package/base/Base/Menus.js.map +1 -1
  92. package/base/Base.js +2 -1
  93. package/base/Base.js.map +1 -1
  94. package/base/createRootContainer.js +8 -2
  95. package/base/createRootContainer.js.map +1 -1
  96. package/base/resolveApiUrl.d.ts +10 -0
  97. package/base/resolveApiUrl.js +11 -3
  98. package/base/resolveApiUrl.js.map +1 -1
  99. package/base/ui/AssumedPermissionsSelector.d.ts +47 -0
  100. package/base/ui/AssumedPermissionsSelector.js +7 -0
  101. package/base/ui/AssumedPermissionsSelector.js.map +1 -0
  102. package/base/ui/DebuggerIndicator.d.ts +23 -0
  103. package/base/ui/DebuggerIndicator.js +5 -0
  104. package/base/ui/DebuggerIndicator.js.map +1 -0
  105. package/base/ui/Layout.d.ts +20 -0
  106. package/base/ui/Layout.js +2 -1
  107. package/base/ui/Layout.js.map +1 -1
  108. package/components/DeveloperMode/DeveloperMode.d.ts +1 -3
  109. package/components/DeveloperMode/DeveloperMode.js.map +1 -1
  110. package/components/Drawers/DrawerParamsContext.d.ts +6 -0
  111. package/components/Drawers/DrawerParamsContext.js +10 -0
  112. package/components/Drawers/DrawerParamsContext.js.map +1 -0
  113. package/components/Drawers/DrawersContext.d.ts +13 -0
  114. package/components/Drawers/DrawersContext.js +50 -0
  115. package/components/Drawers/DrawersContext.js.map +1 -0
  116. package/components/Drawers/useDrawers.d.ts +2 -0
  117. package/components/Drawers/useDrawers.js +10 -0
  118. package/components/Drawers/useDrawers.js.map +1 -0
  119. package/components/Filters/Filters.js +10 -3
  120. package/components/Filters/Filters.js.map +1 -1
  121. package/components/IconPicker/IconPickerComponent.d.ts +2 -2
  122. package/components/IconPicker/IconPickerComponent.js +1 -1
  123. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  124. package/components/LexicalEditor/LexicalLinkForm.js +3 -0
  125. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  126. package/components/ListView/ListViewBulkActions.d.ts +2 -2
  127. package/components/ListView/ListViewContent.d.ts +2 -2
  128. package/components/ListView/ListViewFilters.d.ts +2 -2
  129. package/components/ListView/index.d.ts +6 -6
  130. package/components/OverlayLayout/OverlayLayout.js +4 -2
  131. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  132. package/components/OverlayLayout/components/OverlayContent.js +1 -0
  133. package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
  134. package/components/RolesMultiAutocomplete/index.d.ts +4 -2
  135. package/components/SplitView/SplitView.d.ts +2 -2
  136. package/components/SplitView/SplitView.js +8 -8
  137. package/components/SplitView/SplitView.js.map +1 -1
  138. package/components/Table/components/Table/TableInner.d.ts +2 -2
  139. package/components/TeamAutocomplete/index.d.ts +4 -2
  140. package/components/TeamsMultiAutocomplete/index.d.ts +4 -2
  141. package/components/index.d.ts +0 -1
  142. package/components/index.js +0 -1
  143. package/config/AdminConfig/Breadcrumbs.d.ts +42 -0
  144. package/config/AdminConfig/Breadcrumbs.js +24 -0
  145. package/config/AdminConfig/Breadcrumbs.js.map +1 -0
  146. package/config/AdminConfig/Drawer.d.ts +10 -0
  147. package/config/AdminConfig/Drawer.js +19 -0
  148. package/config/AdminConfig/Drawer.js.map +1 -0
  149. package/config/AdminConfig/LexicalTheme/AllowCustomColors.d.ts +5 -0
  150. package/config/AdminConfig/LexicalTheme/AllowCustomColors.js +18 -0
  151. package/config/AdminConfig/LexicalTheme/AllowCustomColors.js.map +1 -0
  152. package/config/AdminConfig/LexicalTheme.d.ts +2 -0
  153. package/config/AdminConfig/LexicalTheme.js +2 -0
  154. package/config/AdminConfig/LexicalTheme.js.map +1 -1
  155. package/config/AdminConfig/Widget.d.ts +9 -1
  156. package/config/AdminConfig/Widget.js +6 -2
  157. package/config/AdminConfig/Widget.js.map +1 -1
  158. package/config/AdminConfig.d.ts +8 -0
  159. package/config/AdminConfig.js +8 -1
  160. package/config/AdminConfig.js.map +1 -1
  161. package/domain/Identity.js +1 -1
  162. package/domain/Identity.js.map +1 -1
  163. package/exports/admin/ui.d.ts +4 -0
  164. package/exports/admin/ui.js +4 -1
  165. package/exports/admin.d.ts +7 -0
  166. package/exports/admin.js +5 -0
  167. package/features/accessManagement/types.d.ts +3 -3
  168. package/features/adminAssistant/AdminAssistantGateway.d.ts +30 -0
  169. package/features/adminAssistant/AdminAssistantGateway.js +41 -0
  170. package/features/adminAssistant/AdminAssistantGateway.js.map +1 -0
  171. package/features/adminAssistant/AdminAssistantPresenter.d.ts +60 -0
  172. package/features/adminAssistant/AdminAssistantPresenter.js +377 -0
  173. package/features/adminAssistant/AdminAssistantPresenter.js.map +1 -0
  174. package/features/adminAssistant/abstractions.d.ts +176 -0
  175. package/features/adminAssistant/abstractions.js +6 -0
  176. package/features/adminAssistant/abstractions.js.map +1 -0
  177. package/features/adminAssistant/feature.d.ts +3 -0
  178. package/features/adminAssistant/feature.js +19 -0
  179. package/features/adminAssistant/feature.js.map +1 -0
  180. package/features/adminAssistant/index.d.ts +6 -0
  181. package/features/adminAssistant/index.js +3 -0
  182. package/features/adminAssistant/turnsFromMessages.d.ts +15 -0
  183. package/features/adminAssistant/turnsFromMessages.js +77 -0
  184. package/features/adminAssistant/turnsFromMessages.js.map +1 -0
  185. package/features/adminUsers/account/getCurrentUser/GetCurrentUserGateway.d.ts +11 -0
  186. package/features/adminUsers/account/getCurrentUser/GetCurrentUserGateway.js +44 -0
  187. package/features/adminUsers/account/getCurrentUser/GetCurrentUserGateway.js.map +1 -0
  188. package/features/adminUsers/account/getCurrentUser/GetCurrentUserUseCase.d.ts +10 -0
  189. package/features/adminUsers/account/getCurrentUser/GetCurrentUserUseCase.js +19 -0
  190. package/features/adminUsers/account/getCurrentUser/GetCurrentUserUseCase.js.map +1 -0
  191. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserGateway.d.ts +16 -0
  192. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserGateway.js +5 -0
  193. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserGateway.js.map +1 -0
  194. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserUseCase.d.ts +10 -0
  195. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserUseCase.js +5 -0
  196. package/features/adminUsers/account/getCurrentUser/abstractions/GetCurrentUserUseCase.js.map +1 -0
  197. package/features/adminUsers/account/getCurrentUser/abstractions/index.d.ts +6 -0
  198. package/features/adminUsers/account/getCurrentUser/abstractions/index.js +2 -0
  199. package/features/adminUsers/account/getCurrentUser/feature.d.ts +3 -0
  200. package/features/adminUsers/account/getCurrentUser/feature.js +19 -0
  201. package/features/adminUsers/account/getCurrentUser/feature.js.map +1 -0
  202. package/features/adminUsers/account/getCurrentUser/index.d.ts +1 -0
  203. package/features/adminUsers/account/getCurrentUser/index.js +1 -0
  204. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserGateway.d.ts +11 -0
  205. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserGateway.js +48 -0
  206. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserGateway.js.map +1 -0
  207. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserUseCase.d.ts +10 -0
  208. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserUseCase.js +19 -0
  209. package/features/adminUsers/account/updateCurrentUser/UpdateCurrentUserUseCase.js.map +1 -0
  210. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.d.ts +26 -0
  211. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.js +5 -0
  212. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.js.map +1 -0
  213. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.d.ts +13 -0
  214. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.js +5 -0
  215. package/features/adminUsers/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.js.map +1 -0
  216. package/features/adminUsers/account/updateCurrentUser/abstractions/index.d.ts +8 -0
  217. package/features/adminUsers/account/updateCurrentUser/abstractions/index.js +2 -0
  218. package/features/adminUsers/account/updateCurrentUser/feature.d.ts +3 -0
  219. package/features/adminUsers/account/updateCurrentUser/feature.js +19 -0
  220. package/features/adminUsers/account/updateCurrentUser/feature.js.map +1 -0
  221. package/features/adminUsers/account/updateCurrentUser/index.d.ts +1 -0
  222. package/features/adminUsers/account/updateCurrentUser/index.js +1 -0
  223. package/features/adminUsers/passwordPolicy/RulesPasswordPolicy.d.ts +6 -0
  224. package/features/adminUsers/passwordPolicy/RulesPasswordPolicy.js +22 -0
  225. package/features/adminUsers/passwordPolicy/RulesPasswordPolicy.js.map +1 -0
  226. package/features/adminUsers/passwordPolicy/abstractions.d.ts +20 -0
  227. package/features/adminUsers/passwordPolicy/abstractions.js +5 -0
  228. package/features/adminUsers/passwordPolicy/abstractions.js.map +1 -0
  229. package/features/adminUsers/passwordPolicy/feature.d.ts +8 -0
  230. package/features/adminUsers/passwordPolicy/feature.js +18 -0
  231. package/features/adminUsers/passwordPolicy/feature.js.map +1 -0
  232. package/features/adminUsers/passwordPolicy/index.d.ts +3 -0
  233. package/features/adminUsers/passwordPolicy/index.js +3 -0
  234. package/features/adminUsers/passwordPolicy/readPasswordPolicyRules.d.ts +10 -0
  235. package/features/adminUsers/passwordPolicy/readPasswordPolicyRules.js +11 -0
  236. package/features/adminUsers/passwordPolicy/readPasswordPolicyRules.js.map +1 -0
  237. package/features/adminUsers/permissions/abstractions.d.ts +17 -0
  238. package/features/adminUsers/permissions/abstractions.js +6 -0
  239. package/features/adminUsers/permissions/abstractions.js.map +1 -0
  240. package/features/adminUsers/permissions/feature.d.ts +14 -0
  241. package/features/adminUsers/permissions/feature.js +7 -0
  242. package/features/adminUsers/permissions/feature.js.map +1 -0
  243. package/features/adminUsers/permissionsSchema.d.ts +10 -0
  244. package/features/adminUsers/permissionsSchema.js +18 -0
  245. package/features/adminUsers/permissionsSchema.js.map +1 -0
  246. package/features/adminUsers/users/createUser/CreateUserGateway.d.ts +11 -0
  247. package/features/adminUsers/users/createUser/CreateUserGateway.js +49 -0
  248. package/features/adminUsers/users/createUser/CreateUserGateway.js.map +1 -0
  249. package/features/adminUsers/users/createUser/CreateUserUseCase.d.ts +10 -0
  250. package/features/adminUsers/users/createUser/CreateUserUseCase.js +18 -0
  251. package/features/adminUsers/users/createUser/CreateUserUseCase.js.map +1 -0
  252. package/features/adminUsers/users/createUser/abstractions/CreateUserGateway.d.ts +21 -0
  253. package/features/adminUsers/users/createUser/abstractions/CreateUserGateway.js +5 -0
  254. package/features/adminUsers/users/createUser/abstractions/CreateUserGateway.js.map +1 -0
  255. package/features/adminUsers/users/createUser/abstractions/CreateUserUseCase.d.ts +14 -0
  256. package/features/adminUsers/users/createUser/abstractions/CreateUserUseCase.js +5 -0
  257. package/features/adminUsers/users/createUser/abstractions/CreateUserUseCase.js.map +1 -0
  258. package/features/adminUsers/users/createUser/abstractions/index.d.ts +2 -0
  259. package/features/adminUsers/users/createUser/abstractions/index.js +2 -0
  260. package/features/adminUsers/users/createUser/feature.d.ts +3 -0
  261. package/features/adminUsers/users/createUser/feature.js +19 -0
  262. package/features/adminUsers/users/createUser/feature.js.map +1 -0
  263. package/features/adminUsers/users/createUser/index.d.ts +2 -0
  264. package/features/adminUsers/users/createUser/index.js +2 -0
  265. package/features/adminUsers/users/deleteUser/DeleteUserGateway.d.ts +11 -0
  266. package/features/adminUsers/users/deleteUser/DeleteUserGateway.js +40 -0
  267. package/features/adminUsers/users/deleteUser/DeleteUserGateway.js.map +1 -0
  268. package/features/adminUsers/users/deleteUser/DeleteUserUseCase.d.ts +10 -0
  269. package/features/adminUsers/users/deleteUser/DeleteUserUseCase.js +18 -0
  270. package/features/adminUsers/users/deleteUser/DeleteUserUseCase.js.map +1 -0
  271. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserGateway.d.ts +11 -0
  272. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserGateway.js +5 -0
  273. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserGateway.js.map +1 -0
  274. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserUseCase.d.ts +11 -0
  275. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserUseCase.js +5 -0
  276. package/features/adminUsers/users/deleteUser/abstractions/DeleteUserUseCase.js.map +1 -0
  277. package/features/adminUsers/users/deleteUser/abstractions/index.d.ts +2 -0
  278. package/features/adminUsers/users/deleteUser/abstractions/index.js +2 -0
  279. package/features/adminUsers/users/deleteUser/feature.d.ts +3 -0
  280. package/features/adminUsers/users/deleteUser/feature.js +19 -0
  281. package/features/adminUsers/users/deleteUser/feature.js.map +1 -0
  282. package/features/adminUsers/users/deleteUser/index.d.ts +2 -0
  283. package/features/adminUsers/users/deleteUser/index.js +2 -0
  284. package/features/adminUsers/users/getUser/GetUserGateway.d.ts +11 -0
  285. package/features/adminUsers/users/getUser/GetUserGateway.js +57 -0
  286. package/features/adminUsers/users/getUser/GetUserGateway.js.map +1 -0
  287. package/features/adminUsers/users/getUser/GetUserUseCase.d.ts +10 -0
  288. package/features/adminUsers/users/getUser/GetUserUseCase.js +18 -0
  289. package/features/adminUsers/users/getUser/GetUserUseCase.js.map +1 -0
  290. package/features/adminUsers/users/getUser/abstractions/GetUserGateway.d.ts +32 -0
  291. package/features/adminUsers/users/getUser/abstractions/GetUserGateway.js +5 -0
  292. package/features/adminUsers/users/getUser/abstractions/GetUserGateway.js.map +1 -0
  293. package/features/adminUsers/users/getUser/abstractions/GetUserUseCase.d.ts +14 -0
  294. package/features/adminUsers/users/getUser/abstractions/GetUserUseCase.js +5 -0
  295. package/features/adminUsers/users/getUser/abstractions/GetUserUseCase.js.map +1 -0
  296. package/features/adminUsers/users/getUser/abstractions/index.d.ts +2 -0
  297. package/features/adminUsers/users/getUser/abstractions/index.js +2 -0
  298. package/features/adminUsers/users/getUser/feature.d.ts +3 -0
  299. package/features/adminUsers/users/getUser/feature.js +19 -0
  300. package/features/adminUsers/users/getUser/feature.js.map +1 -0
  301. package/features/adminUsers/users/getUser/index.d.ts +2 -0
  302. package/features/adminUsers/users/getUser/index.js +2 -0
  303. package/features/adminUsers/users/listUsers/ListUsersGateway.d.ts +11 -0
  304. package/features/adminUsers/users/listUsers/ListUsersGateway.js +39 -0
  305. package/features/adminUsers/users/listUsers/ListUsersGateway.js.map +1 -0
  306. package/features/adminUsers/users/listUsers/ListUsersUseCase.d.ts +10 -0
  307. package/features/adminUsers/users/listUsers/ListUsersUseCase.js +18 -0
  308. package/features/adminUsers/users/listUsers/ListUsersUseCase.js.map +1 -0
  309. package/features/adminUsers/users/listUsers/abstractions/ListUsersGateway.d.ts +17 -0
  310. package/features/adminUsers/users/listUsers/abstractions/ListUsersGateway.js +5 -0
  311. package/features/adminUsers/users/listUsers/abstractions/ListUsersGateway.js.map +1 -0
  312. package/features/adminUsers/users/listUsers/abstractions/ListUsersUseCase.d.ts +10 -0
  313. package/features/adminUsers/users/listUsers/abstractions/ListUsersUseCase.js +5 -0
  314. package/features/adminUsers/users/listUsers/abstractions/ListUsersUseCase.js.map +1 -0
  315. package/features/adminUsers/users/listUsers/abstractions/index.d.ts +2 -0
  316. package/features/adminUsers/users/listUsers/abstractions/index.js +2 -0
  317. package/features/adminUsers/users/listUsers/feature.d.ts +3 -0
  318. package/features/adminUsers/users/listUsers/feature.js +19 -0
  319. package/features/adminUsers/users/listUsers/feature.js.map +1 -0
  320. package/features/adminUsers/users/listUsers/index.d.ts +2 -0
  321. package/features/adminUsers/users/listUsers/index.js +2 -0
  322. package/features/adminUsers/users/updateUser/UpdateUserGateway.d.ts +11 -0
  323. package/features/adminUsers/users/updateUser/UpdateUserGateway.js +59 -0
  324. package/features/adminUsers/users/updateUser/UpdateUserGateway.js.map +1 -0
  325. package/features/adminUsers/users/updateUser/UpdateUserUseCase.d.ts +10 -0
  326. package/features/adminUsers/users/updateUser/UpdateUserUseCase.js +18 -0
  327. package/features/adminUsers/users/updateUser/UpdateUserUseCase.js.map +1 -0
  328. package/features/adminUsers/users/updateUser/abstractions/UpdateUserGateway.d.ts +33 -0
  329. package/features/adminUsers/users/updateUser/abstractions/UpdateUserGateway.js +5 -0
  330. package/features/adminUsers/users/updateUser/abstractions/UpdateUserGateway.js.map +1 -0
  331. package/features/adminUsers/users/updateUser/abstractions/UpdateUserUseCase.d.ts +15 -0
  332. package/features/adminUsers/users/updateUser/abstractions/UpdateUserUseCase.js +5 -0
  333. package/features/adminUsers/users/updateUser/abstractions/UpdateUserUseCase.js.map +1 -0
  334. package/features/adminUsers/users/updateUser/abstractions/index.d.ts +2 -0
  335. package/features/adminUsers/users/updateUser/abstractions/index.js +2 -0
  336. package/features/adminUsers/users/updateUser/feature.d.ts +3 -0
  337. package/features/adminUsers/users/updateUser/feature.js +19 -0
  338. package/features/adminUsers/users/updateUser/feature.js.map +1 -0
  339. package/features/adminUsers/users/updateUser/index.d.ts +2 -0
  340. package/features/adminUsers/users/updateUser/index.js +2 -0
  341. package/features/aiChats/AiChatSaveError.d.ts +6 -0
  342. package/features/aiChats/AiChatSaveError.js +8 -0
  343. package/features/aiChats/AiChatSaveError.js.map +1 -0
  344. package/features/aiChats/AiChatsGateway.d.ts +18 -0
  345. package/features/aiChats/AiChatsGateway.js +132 -0
  346. package/features/aiChats/AiChatsGateway.js.map +1 -0
  347. package/features/aiChats/AiChatsRepository.d.ts +36 -0
  348. package/features/aiChats/AiChatsRepository.js +110 -0
  349. package/features/aiChats/AiChatsRepository.js.map +1 -0
  350. package/features/aiChats/AiChatsRequestError.d.ts +9 -0
  351. package/features/aiChats/AiChatsRequestError.js +8 -0
  352. package/features/aiChats/AiChatsRequestError.js.map +1 -0
  353. package/features/aiChats/abstractions.d.ts +76 -0
  354. package/features/aiChats/abstractions.js +6 -0
  355. package/features/aiChats/abstractions.js.map +1 -0
  356. package/features/aiChats/feature.d.ts +3 -0
  357. package/features/aiChats/feature.js +19 -0
  358. package/features/aiChats/feature.js.map +1 -0
  359. package/features/aiChats/index.d.ts +9 -0
  360. package/features/aiChats/index.js +3 -0
  361. package/features/aiChats/messageOf.d.ts +2 -0
  362. package/features/aiChats/messageOf.js +7 -0
  363. package/features/aiChats/messageOf.js.map +1 -0
  364. package/features/aiSettings/abstractions.d.ts +16 -0
  365. package/features/aiSettings/abstractions.js +5 -0
  366. package/features/aiSettings/abstractions.js.map +1 -0
  367. package/features/aiSettings/index.d.ts +2 -0
  368. package/features/aiSettings/index.js +1 -0
  369. package/features/assumePermissions/ApiStreamClientDecorator.d.ts +16 -0
  370. package/features/assumePermissions/ApiStreamClientDecorator.js +29 -0
  371. package/features/assumePermissions/ApiStreamClientDecorator.js.map +1 -0
  372. package/features/assumePermissions/AssumePermissionsContext.d.ts +17 -0
  373. package/features/assumePermissions/AssumePermissionsContext.js +32 -0
  374. package/features/assumePermissions/AssumePermissionsContext.js.map +1 -0
  375. package/features/assumePermissions/AssumePermissionsUseCase.d.ts +33 -0
  376. package/features/assumePermissions/AssumePermissionsUseCase.js +48 -0
  377. package/features/assumePermissions/AssumePermissionsUseCase.js.map +1 -0
  378. package/features/assumePermissions/GraphQLClientDecorator.d.ts +16 -0
  379. package/features/assumePermissions/GraphQLClientDecorator.js +29 -0
  380. package/features/assumePermissions/GraphQLClientDecorator.js.map +1 -0
  381. package/features/assumePermissions/ListAssumableTargetsGateway.d.ts +13 -0
  382. package/features/assumePermissions/ListAssumableTargetsGateway.js +74 -0
  383. package/features/assumePermissions/ListAssumableTargetsGateway.js.map +1 -0
  384. package/features/assumePermissions/ListAssumableTargetsUseCase.d.ts +16 -0
  385. package/features/assumePermissions/ListAssumableTargetsUseCase.js +38 -0
  386. package/features/assumePermissions/ListAssumableTargetsUseCase.js.map +1 -0
  387. package/features/assumePermissions/LogInUseCaseDecorator.d.ts +33 -0
  388. package/features/assumePermissions/LogInUseCaseDecorator.js +36 -0
  389. package/features/assumePermissions/LogInUseCaseDecorator.js.map +1 -0
  390. package/features/assumePermissions/LogOutUseCaseDecorator.d.ts +16 -0
  391. package/features/assumePermissions/LogOutUseCaseDecorator.js +21 -0
  392. package/features/assumePermissions/LogOutUseCaseDecorator.js.map +1 -0
  393. package/features/assumePermissions/abstractions.d.ts +78 -0
  394. package/features/assumePermissions/abstractions.js +8 -0
  395. package/features/assumePermissions/abstractions.js.map +1 -0
  396. package/features/assumePermissions/assumePermissionsHeader.d.ts +3 -0
  397. package/features/assumePermissions/assumePermissionsHeader.js +7 -0
  398. package/features/assumePermissions/assumePermissionsHeader.js.map +1 -0
  399. package/features/assumePermissions/feature.d.ts +4 -0
  400. package/features/assumePermissions/feature.js +32 -0
  401. package/features/assumePermissions/feature.js.map +1 -0
  402. package/features/assumePermissions/index.d.ts +4 -0
  403. package/features/assumePermissions/index.js +2 -0
  404. package/features/banners/Banners.d.ts +15 -0
  405. package/features/banners/Banners.js +39 -0
  406. package/features/banners/Banners.js.map +1 -0
  407. package/features/banners/abstractions.d.ts +34 -0
  408. package/features/banners/abstractions.js +5 -0
  409. package/features/banners/abstractions.js.map +1 -0
  410. package/features/banners/feature.d.ts +3 -0
  411. package/features/banners/feature.js +17 -0
  412. package/features/banners/feature.js.map +1 -0
  413. package/features/banners/index.d.ts +2 -0
  414. package/features/banners/index.js +2 -0
  415. package/features/dateFormatter/DefaultDateFormatter.d.ts +8 -0
  416. package/features/dateFormatter/DefaultDateFormatter.js +25 -0
  417. package/features/dateFormatter/DefaultDateFormatter.js.map +1 -0
  418. package/features/dateFormatter/abstractions.d.ts +13 -0
  419. package/features/dateFormatter/abstractions.js +5 -0
  420. package/features/dateFormatter/abstractions.js.map +1 -0
  421. package/features/dateFormatter/feature.d.ts +3 -0
  422. package/features/dateFormatter/feature.js +17 -0
  423. package/features/dateFormatter/feature.js.map +1 -0
  424. package/features/dateFormatter/formatUtcOffset.d.ts +1 -0
  425. package/features/dateFormatter/formatUtcOffset.js +11 -0
  426. package/features/dateFormatter/formatUtcOffset.js.map +1 -0
  427. package/features/dateFormatter/index.d.ts +4 -0
  428. package/features/dateFormatter/index.js +4 -0
  429. package/features/dateFormatter/useDateFormatter.d.ts +5 -0
  430. package/features/dateFormatter/useDateFormatter.js +8 -0
  431. package/features/dateFormatter/useDateFormatter.js.map +1 -0
  432. package/features/debugger/DebugSessionsRepository.d.ts +35 -0
  433. package/features/debugger/DebugSessionsRepository.js +57 -0
  434. package/features/debugger/DebugSessionsRepository.js.map +1 -0
  435. package/features/debugger/GraphQLExtensionsDebugHandler.d.ts +17 -0
  436. package/features/debugger/GraphQLExtensionsDebugHandler.js +21 -0
  437. package/features/debugger/GraphQLExtensionsDebugHandler.js.map +1 -0
  438. package/features/debugger/GraphQLExtensionsDebugHandler.test.d.ts +1 -0
  439. package/features/debugger/GraphQLExtensionsDebugHandler.test.js +112 -0
  440. package/features/debugger/GraphQLExtensionsDebugHandler.test.js.map +1 -0
  441. package/features/debugger/abstractions.d.ts +50 -0
  442. package/features/debugger/abstractions.js +5 -0
  443. package/features/debugger/abstractions.js.map +1 -0
  444. package/features/debugger/constants.d.ts +1 -0
  445. package/features/debugger/constants.js +4 -0
  446. package/features/debugger/constants.js.map +1 -0
  447. package/features/debugger/feature.d.ts +3 -0
  448. package/features/debugger/feature.js +19 -0
  449. package/features/debugger/feature.js.map +1 -0
  450. package/features/debugger/index.d.ts +3 -0
  451. package/features/debugger/index.js +3 -0
  452. package/features/featureFlags/FeatureFlagsGateway.d.ts +10 -0
  453. package/features/featureFlags/FeatureFlagsGateway.js +40 -0
  454. package/features/featureFlags/FeatureFlagsGateway.js.map +1 -0
  455. package/features/featureFlags/FeatureFlagsService.d.ts +16 -0
  456. package/features/featureFlags/FeatureFlagsService.js +64 -0
  457. package/features/featureFlags/FeatureFlagsService.js.map +1 -0
  458. package/features/featureFlags/abstractions.d.ts +19 -0
  459. package/features/featureFlags/abstractions.js +6 -0
  460. package/features/featureFlags/abstractions.js.map +1 -0
  461. package/features/featureFlags/feature.d.ts +3 -0
  462. package/features/featureFlags/feature.js +19 -0
  463. package/features/featureFlags/feature.js.map +1 -0
  464. package/features/formModel/AccessControlRuleEvaluator.d.ts +12 -0
  465. package/features/formModel/AccessControlRuleEvaluator.js +30 -0
  466. package/features/formModel/AccessControlRuleEvaluator.js.map +1 -0
  467. package/features/formModel/AccessControlRuleEvaluator.test.d.ts +1 -0
  468. package/features/formModel/AccessControlRuleEvaluator.test.js +219 -0
  469. package/features/formModel/AccessControlRuleEvaluator.test.js.map +1 -0
  470. package/features/formModel/ConditionRuleEvaluator.js +34 -4
  471. package/features/formModel/ConditionRuleEvaluator.js.map +1 -1
  472. package/features/formModel/Field.d.ts +14 -1
  473. package/features/formModel/Field.js +49 -3
  474. package/features/formModel/Field.js.map +1 -1
  475. package/features/formModel/FieldBuilder.d.ts +3 -3
  476. package/features/formModel/FieldBuilder.js +3 -2
  477. package/features/formModel/FieldBuilder.js.map +1 -1
  478. package/features/formModel/FieldBuilder.test.js +162 -5
  479. package/features/formModel/FieldBuilder.test.js.map +1 -1
  480. package/features/formModel/FocusManager.js +10 -3
  481. package/features/formModel/FocusManager.js.map +1 -1
  482. package/features/formModel/FormErrors.d.ts +2 -2
  483. package/features/formModel/FormErrors.js +1 -1
  484. package/features/formModel/FormErrors.js.map +1 -1
  485. package/features/formModel/FormModel.d.ts +2 -0
  486. package/features/formModel/FormModel.js +32 -9
  487. package/features/formModel/FormModel.js.map +1 -1
  488. package/features/formModel/FormModel.test.js +883 -2
  489. package/features/formModel/FormModel.test.js.map +1 -1
  490. package/features/formModel/FormView.d.ts +8 -4
  491. package/features/formModel/ObjectField.d.ts +12 -1
  492. package/features/formModel/ObjectField.js +70 -20
  493. package/features/formModel/ObjectField.js.map +1 -1
  494. package/features/formModel/PresenterErrors.d.ts +2 -2
  495. package/features/formModel/Rules.test.js +224 -16
  496. package/features/formModel/Rules.test.js.map +1 -1
  497. package/features/formModel/abstractions.d.ts +56 -4
  498. package/features/formModel/abstractions.js +2 -1
  499. package/features/formModel/abstractions.js.map +1 -1
  500. package/features/formModel/createFieldRenderer.d.ts +42 -0
  501. package/features/formModel/createFieldRenderer.js +33 -10
  502. package/features/formModel/createFieldRenderer.js.map +1 -1
  503. package/features/formModel/demo/FormModelDemo.d.ts +2 -2
  504. package/features/formModel/feature.js +2 -0
  505. package/features/formModel/feature.js.map +1 -1
  506. package/features/formModel/fieldTypes/DateTimeFieldType.d.ts +67 -4
  507. package/features/formModel/fieldTypes/DateTimeFieldType.js +88 -22
  508. package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -1
  509. package/features/formModel/fieldTypes/ObjectFieldType.d.ts +3 -1
  510. package/features/formModel/fieldTypes/ObjectFieldType.js +23 -1
  511. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  512. package/features/formModel/fieldTypes/dateLimits.d.ts +37 -0
  513. package/features/formModel/fieldTypes/dateLimits.js +64 -0
  514. package/features/formModel/fieldTypes/dateLimits.js.map +1 -0
  515. package/features/formModel/fieldTypes/dateLimits.test.d.ts +1 -0
  516. package/features/formModel/fieldTypes/dateLimits.test.js +60 -0
  517. package/features/formModel/fieldTypes/dateLimits.test.js.map +1 -0
  518. package/features/formModel/hasSubtreeFocusRequest.d.ts +12 -0
  519. package/features/formModel/hasSubtreeFocusRequest.js +15 -0
  520. package/features/formModel/hasSubtreeFocusRequest.js.map +1 -0
  521. package/features/formModel/index.d.ts +3 -2
  522. package/features/formModel/index.js +2 -1
  523. package/features/formModel/jsonSchema/JsonSchema.d.ts +18 -0
  524. package/features/formModel/jsonSchema/JsonSchema.js +0 -0
  525. package/features/formModel/jsonSchema/JsonSchemaFieldOptions.d.ts +4 -0
  526. package/features/formModel/jsonSchema/JsonSchemaFieldOptions.js +0 -0
  527. package/features/formModel/jsonSchema/JsonSchemaIssue.d.ts +4 -0
  528. package/features/formModel/jsonSchema/JsonSchemaIssue.js +0 -0
  529. package/features/formModel/jsonSchema/JsonSchemaValidationResult.d.ts +5 -0
  530. package/features/formModel/jsonSchema/JsonSchemaValidationResult.js +0 -0
  531. package/features/formModel/jsonSchema/JsonSchemaValidator.d.ts +4 -0
  532. package/features/formModel/jsonSchema/JsonSchemaValidator.js +0 -0
  533. package/features/formModel/jsonSchema/PlainObject.d.ts +1 -0
  534. package/features/formModel/jsonSchema/PlainObject.js +0 -0
  535. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.d.ts +5 -0
  536. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.js +154 -0
  537. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.js.map +1 -0
  538. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.test.d.ts +1 -0
  539. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.test.js +643 -0
  540. package/features/formModel/jsonSchema/buildFieldsFromJsonSchema.test.js.map +1 -0
  541. package/features/formModel/jsonSchema/createJsonSchemaValidator.d.ts +3 -0
  542. package/features/formModel/jsonSchema/createJsonSchemaValidator.js +40 -0
  543. package/features/formModel/jsonSchema/createJsonSchemaValidator.js.map +1 -0
  544. package/features/formModel/jsonSchema/createJsonSchemaValidator.test.d.ts +1 -0
  545. package/features/formModel/jsonSchema/createJsonSchemaValidator.test.js +141 -0
  546. package/features/formModel/jsonSchema/createJsonSchemaValidator.test.js.map +1 -0
  547. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.d.ts +3 -0
  548. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.js +52 -0
  549. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.js.map +1 -0
  550. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.test.d.ts +1 -0
  551. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.test.js +250 -0
  552. package/features/formModel/jsonSchema/formDataToJsonSchemaValue.test.js.map +1 -0
  553. package/features/formModel/jsonSchema/getJsonSchemaKind.d.ts +3 -0
  554. package/features/formModel/jsonSchema/getJsonSchemaKind.js +31 -0
  555. package/features/formModel/jsonSchema/getJsonSchemaKind.js.map +1 -0
  556. package/features/formModel/jsonSchema/getJsonSchemaKind.test.d.ts +1 -0
  557. package/features/formModel/jsonSchema/getJsonSchemaKind.test.js +123 -0
  558. package/features/formModel/jsonSchema/getJsonSchemaKind.test.js.map +1 -0
  559. package/features/formModel/jsonSchema/isPlainObject.d.ts +2 -0
  560. package/features/formModel/jsonSchema/isPlainObject.js +4 -0
  561. package/features/formModel/jsonSchema/isPlainObject.js.map +1 -0
  562. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.d.ts +3 -0
  563. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.js +30 -0
  564. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.js.map +1 -0
  565. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.test.d.ts +1 -0
  566. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.test.js +207 -0
  567. package/features/formModel/jsonSchema/jsonSchemaValueToFormData.test.js.map +1 -0
  568. package/features/formModel/jsonSchema/normalizeJsonSchema.d.ts +2 -0
  569. package/features/formModel/jsonSchema/normalizeJsonSchema.js +10 -0
  570. package/features/formModel/jsonSchema/normalizeJsonSchema.js.map +1 -0
  571. package/features/formModel/renderers.d.ts +2 -0
  572. package/features/formModel/renderers.js +2 -0
  573. package/features/notifications/Notifications.d.ts +1 -0
  574. package/features/notifications/Notifications.js +3 -0
  575. package/features/notifications/Notifications.js.map +1 -1
  576. package/features/notifications/Notifications.test.d.ts +1 -0
  577. package/features/notifications/Notifications.test.js +106 -0
  578. package/features/notifications/Notifications.test.js.map +1 -0
  579. package/features/notifications/NotificationsRenderer.d.ts +3 -2
  580. package/features/notifications/NotificationsRenderer.js +23 -4
  581. package/features/notifications/NotificationsRenderer.js.map +1 -1
  582. package/features/notifications/NotificationsRenderer.test.d.ts +1 -0
  583. package/features/notifications/NotificationsRenderer.test.js +261 -0
  584. package/features/notifications/NotificationsRenderer.test.js.map +1 -0
  585. package/features/notifications/abstractions.d.ts +13 -2
  586. package/features/notifications/abstractions.js.map +1 -1
  587. package/features/security/AuthenticationContext/ApiStreamClientDecorator.d.ts +22 -0
  588. package/features/security/AuthenticationContext/ApiStreamClientDecorator.js +32 -0
  589. package/features/security/AuthenticationContext/ApiStreamClientDecorator.js.map +1 -0
  590. package/features/security/AuthenticationContext/feature.js +2 -0
  591. package/features/security/AuthenticationContext/feature.js.map +1 -1
  592. package/features/security/LogIn/LogInUseCase.d.ts +0 -1
  593. package/features/security/LogIn/LogInUseCase.js +2 -5
  594. package/features/security/LogIn/LogInUseCase.js.map +1 -1
  595. package/features/security/LogIn/hasAppPermissions.d.ts +2 -0
  596. package/features/security/LogIn/hasAppPermissions.js +8 -0
  597. package/features/security/LogIn/hasAppPermissions.js.map +1 -0
  598. package/features/slugify/DefaultSlugify.d.ts +8 -0
  599. package/features/slugify/DefaultSlugify.js +20 -0
  600. package/features/slugify/DefaultSlugify.js.map +1 -0
  601. package/features/slugify/abstractions.d.ts +12 -0
  602. package/features/slugify/abstractions.js +5 -0
  603. package/features/slugify/abstractions.js.map +1 -0
  604. package/features/slugify/feature.d.ts +1 -0
  605. package/features/slugify/feature.js +11 -0
  606. package/features/slugify/feature.js.map +1 -0
  607. package/features/slugify/index.d.ts +3 -0
  608. package/features/slugify/index.js +3 -0
  609. package/features/stringFormatter/DefaultStringFormatter.d.ts +17 -0
  610. package/features/stringFormatter/DefaultStringFormatter.js +19 -0
  611. package/features/stringFormatter/DefaultStringFormatter.js.map +1 -0
  612. package/features/stringFormatter/abstractions.d.ts +11 -0
  613. package/features/stringFormatter/abstractions.js +5 -0
  614. package/features/stringFormatter/abstractions.js.map +1 -0
  615. package/features/stringFormatter/feature.d.ts +3 -0
  616. package/features/stringFormatter/feature.js +19 -0
  617. package/features/stringFormatter/feature.js.map +1 -0
  618. package/features/stringFormatter/index.d.ts +4 -0
  619. package/features/stringFormatter/index.js +4 -0
  620. package/features/stringFormatter/useStringFormatter.d.ts +5 -0
  621. package/features/stringFormatter/useStringFormatter.js +8 -0
  622. package/features/stringFormatter/useStringFormatter.js.map +1 -0
  623. package/features/tenancy/ApiStreamClientDecorator.d.ts +16 -0
  624. package/features/tenancy/ApiStreamClientDecorator.js +30 -0
  625. package/features/tenancy/ApiStreamClientDecorator.js.map +1 -0
  626. package/features/tenancy/feature.js +2 -0
  627. package/features/tenancy/feature.js.map +1 -1
  628. package/features/wcp/ReactLicense.d.ts +11 -0
  629. package/features/wcp/ReactLicense.js +33 -0
  630. package/features/wcp/ReactLicense.js.map +1 -1
  631. package/features/wcp/WcpGateway.js +7 -0
  632. package/features/wcp/WcpGateway.js.map +1 -1
  633. package/hooks/index.d.ts +3 -0
  634. package/hooks/index.js +3 -0
  635. package/hooks/useDrawer.d.ts +9 -0
  636. package/hooks/useDrawer.js +19 -0
  637. package/hooks/useDrawer.js.map +1 -0
  638. package/hooks/useHotkeys.js +11 -7
  639. package/hooks/useHotkeys.js.map +1 -1
  640. package/hooks/useOpenDrawer.d.ts +7 -0
  641. package/hooks/useOpenDrawer.js +18 -0
  642. package/hooks/useOpenDrawer.js.map +1 -0
  643. package/hooks/useSnackbar.js.map +1 -1
  644. package/index.d.ts +43 -2
  645. package/index.js +43 -15
  646. package/modules/AccessManagementExtension.js +49 -23
  647. package/modules/AccessManagementExtension.js.map +1 -1
  648. package/modules/DebuggerExtension.d.ts +2 -0
  649. package/modules/DebuggerExtension.js +55 -0
  650. package/modules/DebuggerExtension.js.map +1 -0
  651. package/package.json +41 -38
  652. package/presentation/accessManagement/SecurityPermissions.js +3 -3
  653. package/presentation/accessManagement/SecurityPermissions.js.map +1 -1
  654. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.d.ts +3 -1
  655. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +14 -18
  656. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -1
  657. package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +2 -2
  658. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js +13 -7
  659. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js.map +1 -1
  660. package/presentation/accessManagement/roles/RolesPresenter.d.ts +3 -1
  661. package/presentation/accessManagement/roles/RolesPresenter.js +12 -16
  662. package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -1
  663. package/presentation/accessManagement/roles/components/RolesDataList.d.ts +10 -0
  664. package/presentation/accessManagement/roles/components/RolesDataList.js +146 -0
  665. package/presentation/accessManagement/roles/components/RolesDataList.js.map +1 -0
  666. package/presentation/accessManagement/roles/components/RolesForm.d.ts +13 -0
  667. package/presentation/accessManagement/roles/components/RolesForm.js +114 -0
  668. package/presentation/accessManagement/roles/components/RolesForm.js.map +1 -0
  669. package/presentation/accessManagement/roles/components/RolesView.d.ts +2 -2
  670. package/presentation/accessManagement/roles/components/RolesView.js +6 -212
  671. package/presentation/accessManagement/roles/components/RolesView.js.map +1 -1
  672. package/presentation/accessManagement/teams/TeamsPresenter.d.ts +3 -1
  673. package/presentation/accessManagement/teams/TeamsPresenter.js +12 -16
  674. package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -1
  675. package/presentation/accessManagement/teams/components/TeamsDataList.d.ts +10 -0
  676. package/presentation/accessManagement/teams/components/TeamsDataList.js +146 -0
  677. package/presentation/accessManagement/teams/components/TeamsDataList.js.map +1 -0
  678. package/presentation/accessManagement/teams/components/TeamsForm.d.ts +13 -0
  679. package/presentation/accessManagement/teams/components/TeamsForm.js +96 -0
  680. package/presentation/accessManagement/teams/components/TeamsForm.js.map +1 -0
  681. package/presentation/accessManagement/teams/components/TeamsView.d.ts +2 -2
  682. package/presentation/accessManagement/teams/components/TeamsView.js +6 -194
  683. package/presentation/accessManagement/teams/components/TeamsView.js.map +1 -1
  684. package/presentation/adminUsers/AdminUsers.d.ts +10 -0
  685. package/presentation/adminUsers/AdminUsers.js +77 -0
  686. package/presentation/adminUsers/AdminUsers.js.map +1 -0
  687. package/presentation/adminUsers/SecurityPermission.d.ts +2 -0
  688. package/presentation/adminUsers/SecurityPermission.js +15 -0
  689. package/presentation/adminUsers/SecurityPermission.js.map +1 -0
  690. package/presentation/adminUsers/UserItem.d.ts +10 -0
  691. package/presentation/adminUsers/UserItem.js +0 -0
  692. package/presentation/adminUsers/components/AvatarImage/AvatarImage.d.ts +3 -0
  693. package/presentation/adminUsers/components/AvatarImage/AvatarImage.js +31 -0
  694. package/presentation/adminUsers/components/AvatarImage/AvatarImage.js.map +1 -0
  695. package/presentation/adminUsers/components/AvatarImage/AvatarImagePreview.d.ts +10 -0
  696. package/presentation/adminUsers/components/AvatarImage/AvatarImagePreview.js +53 -0
  697. package/presentation/adminUsers/components/AvatarImage/AvatarImagePreview.js.map +1 -0
  698. package/presentation/adminUsers/components/AvatarImage/AvatarImageTrigger.d.ts +7 -0
  699. package/presentation/adminUsers/components/AvatarImage/AvatarImageTrigger.js +28 -0
  700. package/presentation/adminUsers/components/AvatarImage/AvatarImageTrigger.js.map +1 -0
  701. package/presentation/adminUsers/components/AvatarImage/index.d.ts +1 -0
  702. package/presentation/adminUsers/components/AvatarImage/index.js +1 -0
  703. package/presentation/adminUsers/routes.d.ts +10 -0
  704. package/presentation/adminUsers/routes.js +20 -0
  705. package/presentation/adminUsers/routes.js.map +1 -0
  706. package/presentation/adminUsers/userMenu/AccountDetails.d.ts +6 -0
  707. package/presentation/adminUsers/userMenu/AccountDetails.js +20 -0
  708. package/presentation/adminUsers/userMenu/AccountDetails.js.map +1 -0
  709. package/presentation/adminUsers/userMenu/useIsDefaultTenant.d.ts +1 -0
  710. package/presentation/adminUsers/userMenu/useIsDefaultTenant.js +9 -0
  711. package/presentation/adminUsers/userMenu/useIsDefaultTenant.js.map +1 -0
  712. package/presentation/adminUsers/views/Account/Account.d.ts +2 -0
  713. package/presentation/adminUsers/views/Account/Account.js +137 -0
  714. package/presentation/adminUsers/views/Account/Account.js.map +1 -0
  715. package/presentation/adminUsers/views/Account/index.d.ts +1 -0
  716. package/presentation/adminUsers/views/Account/index.js +1 -0
  717. package/presentation/adminUsers/views/Users/UsersDataList.d.ts +3 -0
  718. package/presentation/adminUsers/views/Users/UsersDataList.js +180 -0
  719. package/presentation/adminUsers/views/Users/UsersDataList.js.map +1 -0
  720. package/presentation/adminUsers/views/Users/UsersForm.d.ts +5 -0
  721. package/presentation/adminUsers/views/Users/UsersForm.js +175 -0
  722. package/presentation/adminUsers/views/Users/UsersForm.js.map +1 -0
  723. package/presentation/adminUsers/views/Users/UsersView.d.ts +2 -0
  724. package/presentation/adminUsers/views/Users/UsersView.js +15 -0
  725. package/presentation/adminUsers/views/Users/UsersView.js.map +1 -0
  726. package/presentation/adminUsers/views/Users/components/DeleteAction.d.ts +7 -0
  727. package/presentation/adminUsers/views/Users/components/DeleteAction.js +29 -0
  728. package/presentation/adminUsers/views/Users/components/DeleteAction.js.map +1 -0
  729. package/presentation/adminUsers/views/Users/hooks/useUserForm.d.ts +27 -0
  730. package/presentation/adminUsers/views/Users/hooks/useUserForm.js +101 -0
  731. package/presentation/adminUsers/views/Users/hooks/useUserForm.js.map +1 -0
  732. package/presentation/adminUsers/views/Users/search.js +21 -0
  733. package/presentation/adminUsers/views/Users/search.js.map +1 -0
  734. package/presentation/adminUsers/views/Users/search.svg +20 -0
  735. package/presentation/adminUsers/views/utils.d.ts +3 -0
  736. package/presentation/adminUsers/views/utils.js +12 -0
  737. package/presentation/adminUsers/views/utils.js.map +1 -0
  738. package/presentation/aiChats/AiChatsPanelPresenter.d.ts +28 -0
  739. package/presentation/aiChats/AiChatsPanelPresenter.js +132 -0
  740. package/presentation/aiChats/AiChatsPanelPresenter.js.map +1 -0
  741. package/presentation/aiChats/abstractions.d.ts +69 -0
  742. package/presentation/aiChats/abstractions.js +5 -0
  743. package/presentation/aiChats/abstractions.js.map +1 -0
  744. package/presentation/aiChats/feature.d.ts +3 -0
  745. package/presentation/aiChats/feature.js +17 -0
  746. package/presentation/aiChats/feature.js.map +1 -0
  747. package/presentation/aiChats/index.d.ts +2 -0
  748. package/presentation/aiChats/index.js +2 -0
  749. package/presentation/assumePermissions/AssumePermissionsPresenter.d.ts +36 -0
  750. package/presentation/assumePermissions/AssumePermissionsPresenter.js +153 -0
  751. package/presentation/assumePermissions/AssumePermissionsPresenter.js.map +1 -0
  752. package/presentation/assumePermissions/abstractions.d.ts +30 -0
  753. package/presentation/assumePermissions/abstractions.js +5 -0
  754. package/presentation/assumePermissions/abstractions.js.map +1 -0
  755. package/presentation/assumePermissions/components/AssumePermissionsButton.d.ts +14 -0
  756. package/presentation/assumePermissions/components/AssumePermissionsButton.js +42 -0
  757. package/presentation/assumePermissions/components/AssumePermissionsButton.js.map +1 -0
  758. package/presentation/assumePermissions/components/AssumedPermissionsBanner.d.ts +11 -0
  759. package/presentation/assumePermissions/components/AssumedPermissionsBanner.js +25 -0
  760. package/presentation/assumePermissions/components/AssumedPermissionsBanner.js.map +1 -0
  761. package/presentation/assumePermissions/components/AssumedPermissionsSelector.d.ts +2 -0
  762. package/presentation/assumePermissions/components/AssumedPermissionsSelector.js +68 -0
  763. package/presentation/assumePermissions/components/AssumedPermissionsSelector.js.map +1 -0
  764. package/presentation/assumePermissions/feature.d.ts +3 -0
  765. package/presentation/assumePermissions/feature.js +17 -0
  766. package/presentation/assumePermissions/feature.js.map +1 -0
  767. package/presentation/assumePermissions/index.d.ts +4 -0
  768. package/presentation/assumePermissions/index.js +4 -0
  769. package/presentation/banners/BannersPresenter.d.ts +14 -0
  770. package/presentation/banners/BannersPresenter.js +60 -0
  771. package/presentation/banners/BannersPresenter.js.map +1 -0
  772. package/presentation/banners/abstractions.d.ts +24 -0
  773. package/presentation/banners/abstractions.js +5 -0
  774. package/presentation/banners/abstractions.js.map +1 -0
  775. package/presentation/banners/components/Banner.d.ts +10 -0
  776. package/presentation/banners/components/Banner.js +32 -0
  777. package/presentation/banners/components/Banner.js.map +1 -0
  778. package/presentation/banners/components/BannerBar.d.ts +11 -0
  779. package/presentation/banners/components/BannerBar.js +51 -0
  780. package/presentation/banners/components/BannerBar.js.map +1 -0
  781. package/presentation/banners/feature.d.ts +3 -0
  782. package/presentation/banners/feature.js +17 -0
  783. package/presentation/banners/feature.js.map +1 -0
  784. package/presentation/banners/index.d.ts +6 -0
  785. package/presentation/banners/index.js +4 -0
  786. package/presentation/banners/useBanner.d.ts +10 -0
  787. package/presentation/banners/useBanner.js +15 -0
  788. package/presentation/banners/useBanner.js.map +1 -0
  789. package/presentation/commandPalette/CommandPalettePresenter.d.ts +21 -0
  790. package/presentation/commandPalette/CommandPalettePresenter.js +93 -0
  791. package/presentation/commandPalette/CommandPalettePresenter.js.map +1 -0
  792. package/presentation/commandPalette/abstractions.d.ts +81 -0
  793. package/presentation/commandPalette/abstractions.js +7 -0
  794. package/presentation/commandPalette/abstractions.js.map +1 -0
  795. package/presentation/commandPalette/commands/AiChatsCommand.d.ts +24 -0
  796. package/presentation/commandPalette/commands/AiChatsCommand.js +41 -0
  797. package/presentation/commandPalette/commands/AiChatsCommand.js.map +1 -0
  798. package/presentation/commandPalette/commands/AskAiCommand.d.ts +26 -0
  799. package/presentation/commandPalette/commands/AskAiCommand.js +34 -0
  800. package/presentation/commandPalette/commands/AskAiCommand.js.map +1 -0
  801. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.d.ts +15 -0
  802. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js +33 -0
  803. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js.map +1 -0
  804. package/presentation/commandPalette/commands/SendMessageCommand.d.ts +23 -0
  805. package/presentation/commandPalette/commands/SendMessageCommand.js +66 -0
  806. package/presentation/commandPalette/commands/SendMessageCommand.js.map +1 -0
  807. package/presentation/commandPalette/commands/SignOutCommand.d.ts +18 -0
  808. package/presentation/commandPalette/commands/SignOutCommand.js +37 -0
  809. package/presentation/commandPalette/commands/SignOutCommand.js.map +1 -0
  810. package/presentation/commandPalette/commands/feature.d.ts +5 -0
  811. package/presentation/commandPalette/commands/feature.js +19 -0
  812. package/presentation/commandPalette/commands/feature.js.map +1 -0
  813. package/presentation/commandPalette/feature.d.ts +3 -0
  814. package/presentation/commandPalette/feature.js +17 -0
  815. package/presentation/commandPalette/feature.js.map +1 -0
  816. package/presentation/commandPalette/index.d.ts +3 -0
  817. package/presentation/commandPalette/index.js +2 -0
  818. package/presentation/createReactiveComponent.d.ts +1 -0
  819. package/presentation/createReactiveComponent.js +1 -0
  820. package/presentation/debugger/DebuggerPresenter.d.ts +14 -0
  821. package/presentation/debugger/DebuggerPresenter.js +45 -0
  822. package/presentation/debugger/DebuggerPresenter.js.map +1 -0
  823. package/presentation/debugger/abstractions.d.ts +17 -0
  824. package/presentation/debugger/abstractions.js +5 -0
  825. package/presentation/debugger/abstractions.js.map +1 -0
  826. package/presentation/debugger/components/DebuggerIndicator.d.ts +2 -0
  827. package/presentation/debugger/components/DebuggerIndicator.js +45 -0
  828. package/presentation/debugger/components/DebuggerIndicator.js.map +1 -0
  829. package/presentation/debugger/components/DebuggerView.d.ts +4 -0
  830. package/presentation/debugger/components/DebuggerView.js +44 -0
  831. package/presentation/debugger/components/DebuggerView.js.map +1 -0
  832. package/presentation/debugger/downloadJson.d.ts +7 -0
  833. package/presentation/debugger/downloadJson.js +17 -0
  834. package/presentation/debugger/downloadJson.js.map +1 -0
  835. package/presentation/debugger/feature.d.ts +3 -0
  836. package/presentation/debugger/feature.js +17 -0
  837. package/presentation/debugger/feature.js.map +1 -0
  838. package/presentation/debugger/routes.d.ts +4 -0
  839. package/presentation/debugger/routes.js +10 -0
  840. package/presentation/debugger/routes.js.map +1 -0
  841. package/presentation/featureFlags/FeatureFlagsProvider.d.ts +7 -0
  842. package/presentation/featureFlags/FeatureFlagsProvider.js +22 -0
  843. package/presentation/featureFlags/FeatureFlagsProvider.js.map +1 -0
  844. package/presentation/featureFlags/useFeatureFlags.d.ts +2 -0
  845. package/presentation/featureFlags/useFeatureFlags.js +17 -0
  846. package/presentation/featureFlags/useFeatureFlags.js.map +1 -0
  847. package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +2 -2
  848. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +4 -3
  849. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -1
  850. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js +0 -3
  851. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js.map +1 -1
  852. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  853. package/presentation/listPresenter/FolderAwareDataSource.d.ts +5 -0
  854. package/presentation/listPresenter/FolderAwareDataSource.js +8 -4
  855. package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -1
  856. package/presentation/listPresenter/QueryMatcher.d.ts +28 -5
  857. package/presentation/listPresenter/QueryMatcher.js +74 -4
  858. package/presentation/listPresenter/QueryMatcher.js.map +1 -1
  859. package/presentation/listPresenter/QueryMatcher.test.d.ts +1 -0
  860. package/presentation/listPresenter/QueryMatcher.test.js +345 -0
  861. package/presentation/listPresenter/QueryMatcher.test.js.map +1 -0
  862. package/presentation/sortable/SortablePresenter.d.ts +23 -0
  863. package/presentation/sortable/SortablePresenter.js +175 -0
  864. package/presentation/sortable/SortablePresenter.js.map +1 -0
  865. package/presentation/sortable/abstractions.d.ts +24 -0
  866. package/presentation/sortable/abstractions.js +5 -0
  867. package/presentation/sortable/abstractions.js.map +1 -0
  868. package/presentation/sortable/feature.d.ts +1 -0
  869. package/presentation/sortable/feature.js +11 -0
  870. package/presentation/sortable/feature.js.map +1 -0
  871. package/presentation/sortable/index.d.ts +2 -0
  872. package/presentation/sortable/index.js +2 -0
  873. package/presentation/trashBin/TrashBinPresenter.js +3 -1
  874. package/presentation/trashBin/TrashBinPresenter.js.map +1 -1
  875. package/presentation/trashBin/TrashBinPresenter.test.d.ts +1 -0
  876. package/presentation/trashBin/TrashBinPresenter.test.js +91 -0
  877. package/presentation/trashBin/TrashBinPresenter.test.js.map +1 -0
  878. package/presentation/trashBin/abstractions.d.ts +1 -1
  879. package/presentation/trashBin/abstractions.js.map +1 -1
  880. package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +2 -2
  881. package/presentation/trashBin/components/BulkActions/DeleteItems.js +5 -1
  882. package/presentation/trashBin/components/BulkActions/DeleteItems.js.map +1 -1
  883. package/presentation/trashBin/components/BulkActions/DeleteItems.test.d.ts +1 -0
  884. package/presentation/trashBin/components/BulkActions/DeleteItems.test.js +100 -0
  885. package/presentation/trashBin/components/BulkActions/DeleteItems.test.js.map +1 -0
  886. package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +2 -2
  887. package/presentation/trashBin/components/TrashBinOverlay.d.ts +2 -2
  888. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js +2 -1
  889. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js.map +1 -1
  890. package/presentation/trashBin/hooks/useDeleteTrashBinItem.test.d.ts +1 -0
  891. package/presentation/trashBin/hooks/useDeleteTrashBinItem.test.js +67 -0
  892. package/presentation/trashBin/hooks/useDeleteTrashBinItem.test.js.map +1 -0
  893. package/static/svg/search.43fa797c.svg +20 -0
  894. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +0 -10
  895. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +0 -1
  896. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +0 -68
  897. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +0 -1
  898. package/base/Base/Menus/WebinyVersion.d.ts +0 -2
  899. package/base/Base/Menus/WebinyVersion.js +0 -23
  900. package/base/Base/Menus/WebinyVersion.js.map +0 -1
  901. package/base/WebinyVersion.d.ts +0 -2
  902. package/base/WebinyVersion.js +0 -23
  903. package/base/WebinyVersion.js.map +0 -1
  904. package/components/Wcp.d.ts +0 -19
  905. package/components/Wcp.js +0 -37
  906. package/components/Wcp.js.map +0 -1
  907. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.d.ts +0 -8
  908. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +0 -17
  909. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +0 -1
  910. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.d.ts +0 -1
  911. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js +0 -16
  912. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js.map +0 -1
@@ -62,15 +62,22 @@ class FocusManager {
62
62
  resolveChildScope(field, segments) {
63
63
  const nextSegment = segments[1];
64
64
  if (field.isList) {
65
- const index = parseInt(nextSegment, 10);
66
- if (!isNaN(index)) {
67
- const item = field.items[index];
65
+ if (/^\d+$/.test(nextSegment)) {
66
+ const item = field.items[parseInt(nextSegment, 10)];
68
67
  if (!item) return null;
69
68
  return {
70
69
  segments: segments.slice(2),
71
70
  children: item.children
72
71
  };
73
72
  }
73
+ const item = field.items.find((candidate)=>{
74
+ const idField = candidate.children.get("_id");
75
+ return idField ? idField.getValue() === nextSegment : false;
76
+ });
77
+ if (item) return {
78
+ segments: segments.slice(2),
79
+ children: item.children
80
+ };
74
81
  }
75
82
  return {
76
83
  segments: segments.slice(1),
@@ -1 +1 @@
1
- {"version":3,"file":"features/formModel/FocusManager.js","sources":["../../../src/features/formModel/FocusManager.ts"],"sourcesContent":["import { isObjectField } from \"./ObjectField.js\";\nimport { LayoutBuilderFactory } from \"./LayoutBuilderFactory.js\";\nimport type { IField, IObjectField, LayoutNode, IObjectNode } from \"./abstractions.js\";\n\nexport interface TabActivation {\n tabKey: string;\n tabId: string;\n}\n\nexport class FocusManager {\n constructor(private _fields: Map<string, IField>) {}\n\n buildFocusPath(name: string, layout: LayoutNode[]): TabActivation[] | null {\n const segments = name.split(\".\");\n return this.walkLayout(layout, segments, this._fields);\n }\n\n private walkLayout(\n layout: LayoutNode[],\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n const target = segments[0];\n\n for (const node of layout) {\n switch (node.type) {\n case \"row\": {\n if (!node.fieldIds.includes(target)) {\n break;\n }\n return this.diveIntoField(target, segments, fieldScope);\n }\n case \"object\": {\n if (node.fieldName !== target) {\n break;\n }\n return this.diveIntoObjectNode(node, segments, fieldScope);\n }\n case \"tabs\": {\n const tabKey = node.id || LayoutBuilderFactory.tabsNodeKey(node);\n for (const tab of node.tabs) {\n const result = this.walkLayout(tab.layout, segments, fieldScope);\n if (result !== null) {\n return [{ tabKey, tabId: tab.id }, ...result];\n }\n }\n break;\n }\n }\n }\n return null;\n }\n\n private diveIntoField(\n fieldName: string,\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n if (segments.length === 1) {\n return [];\n }\n const field = fieldScope.get(fieldName);\n if (!field || !isObjectField(field)) {\n return [];\n }\n const childScope = this.resolveChildScope(field, segments);\n if (!childScope) {\n return [];\n }\n const inner = field.getInnerLayout();\n if (!inner) {\n return [];\n }\n return this.walkLayout(inner, childScope.segments, childScope.children);\n }\n\n private diveIntoObjectNode(\n node: IObjectNode,\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n if (segments.length === 1) {\n return [];\n }\n const field = fieldScope.get(node.fieldName);\n if (!field || !isObjectField(field)) {\n return [];\n }\n const childScope = this.resolveChildScope(field, segments);\n if (!childScope) {\n return [];\n }\n const inner = Array.isArray(node.inner)\n ? node.inner\n : field.activeTemplateId\n ? (node.inner[field.activeTemplateId] ?? null)\n : null;\n if (!inner) {\n const stored = field.getInnerLayout();\n if (!stored) {\n return [];\n }\n return this.walkLayout(stored, childScope.segments, childScope.children);\n }\n return this.walkLayout(inner, childScope.segments, childScope.children);\n }\n\n private resolveChildScope(\n field: IObjectField,\n segments: string[]\n ): { segments: string[]; children: Map<string, IField> } | null {\n const nextSegment = segments[1];\n if (field.isList) {\n const index = parseInt(nextSegment, 10);\n if (!isNaN(index)) {\n const item = field.items[index];\n if (!item) {\n return null;\n }\n return { segments: segments.slice(2), children: item.children };\n }\n }\n return { segments: segments.slice(1), children: field.children };\n }\n}\n"],"names":["FocusManager","_fields","name","layout","segments","fieldScope","target","node","tabKey","LayoutBuilderFactory","tab","result","fieldName","field","isObjectField","childScope","inner","Array","stored","nextSegment","index","parseInt","isNaN","item"],"mappings":"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"}
1
+ {"version":3,"file":"features/formModel/FocusManager.js","sources":["../../../src/features/formModel/FocusManager.ts"],"sourcesContent":["import { isObjectField } from \"./ObjectField.js\";\nimport { LayoutBuilderFactory } from \"./LayoutBuilderFactory.js\";\nimport type { IField, IObjectField, LayoutNode, IObjectNode } from \"./abstractions.js\";\n\nexport interface TabActivation {\n tabKey: string;\n tabId: string;\n}\n\nexport class FocusManager {\n constructor(private _fields: Map<string, IField>) {}\n\n buildFocusPath(name: string, layout: LayoutNode[]): TabActivation[] | null {\n const segments = name.split(\".\");\n return this.walkLayout(layout, segments, this._fields);\n }\n\n private walkLayout(\n layout: LayoutNode[],\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n const target = segments[0];\n\n for (const node of layout) {\n switch (node.type) {\n case \"row\": {\n if (!node.fieldIds.includes(target)) {\n break;\n }\n return this.diveIntoField(target, segments, fieldScope);\n }\n case \"object\": {\n if (node.fieldName !== target) {\n break;\n }\n return this.diveIntoObjectNode(node, segments, fieldScope);\n }\n case \"tabs\": {\n const tabKey = node.id || LayoutBuilderFactory.tabsNodeKey(node);\n for (const tab of node.tabs) {\n const result = this.walkLayout(tab.layout, segments, fieldScope);\n if (result !== null) {\n return [{ tabKey, tabId: tab.id }, ...result];\n }\n }\n break;\n }\n }\n }\n return null;\n }\n\n private diveIntoField(\n fieldName: string,\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n if (segments.length === 1) {\n return [];\n }\n const field = fieldScope.get(fieldName);\n if (!field || !isObjectField(field)) {\n return [];\n }\n const childScope = this.resolveChildScope(field, segments);\n if (!childScope) {\n return [];\n }\n const inner = field.getInnerLayout();\n if (!inner) {\n return [];\n }\n return this.walkLayout(inner, childScope.segments, childScope.children);\n }\n\n private diveIntoObjectNode(\n node: IObjectNode,\n segments: string[],\n fieldScope: Map<string, IField>\n ): TabActivation[] | null {\n if (segments.length === 1) {\n return [];\n }\n const field = fieldScope.get(node.fieldName);\n if (!field || !isObjectField(field)) {\n return [];\n }\n const childScope = this.resolveChildScope(field, segments);\n if (!childScope) {\n return [];\n }\n const inner = Array.isArray(node.inner)\n ? node.inner\n : field.activeTemplateId\n ? (node.inner[field.activeTemplateId] ?? null)\n : null;\n if (!inner) {\n const stored = field.getInnerLayout();\n if (!stored) {\n return [];\n }\n return this.walkLayout(stored, childScope.segments, childScope.children);\n }\n return this.walkLayout(inner, childScope.segments, childScope.children);\n }\n\n private resolveChildScope(\n field: IObjectField,\n segments: string[]\n ): { segments: string[]; children: Map<string, IField> } | null {\n const nextSegment = segments[1];\n if (field.isList) {\n // A list field is followed by an item selector: a numeric index, or a stable\n // alphanumeric `_id` (matched against each item's hidden `_id` child value).\n if (/^\\d+$/.test(nextSegment)) {\n const item = field.items[parseInt(nextSegment, 10)];\n if (!item) {\n return null;\n }\n return { segments: segments.slice(2), children: item.children };\n }\n const item = field.items.find(candidate => {\n const idField = candidate.children.get(\"_id\");\n return idField ? idField.getValue() === nextSegment : false;\n });\n if (item) {\n return { segments: segments.slice(2), children: item.children };\n }\n // No item matched — treat the segment as a child field name (legacy locators).\n }\n return { segments: segments.slice(1), children: field.children };\n }\n}\n"],"names":["FocusManager","_fields","name","layout","segments","fieldScope","target","node","tabKey","LayoutBuilderFactory","tab","result","fieldName","field","isObjectField","childScope","inner","Array","stored","nextSegment","item","parseInt","candidate","idField"],"mappings":"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"}
@@ -4,7 +4,7 @@ interface FormErrorsProps {
4
4
  form: IFormVM;
5
5
  className?: string;
6
6
  }
7
- export declare const FormErrors: (({ form, className }: FormErrorsProps) => React.JSX.Element | null) & {
8
- displayName: string;
7
+ export declare const FormErrors: (({ form, className }: FormErrorsProps) => React.JSX.Element | null) & React.NamedExoticComponent<FormErrorsProps> & {
8
+ readonly type: ({ form, className }: FormErrorsProps) => React.JSX.Element | null;
9
9
  };
10
10
  export {};
@@ -29,7 +29,7 @@ const FormErrors = observer(({ form, className })=>{
29
29
  type: "button",
30
30
  className: "underline cursor-pointer",
31
31
  onClick: ()=>form.focusField(error.path)
32
- }, error.breadcrumb ? error.breadcrumb.join(" › ") : error.label ?? error.path) : error.label, ": ", error.message)))));
32
+ }, error.breadcrumb ? error.breadcrumb.join(" › ") : error.label ?? error.path) : error.label, error.path || error.label ? ": " : "", error.message)))));
33
33
  });
34
34
  export { FormErrors };
35
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"features/formModel/FormErrors.js","sources":["../../../src/features/formModel/FormErrors.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Alert, Heading } from \"@webiny/admin-ui\";\nimport type { IFormVM } from \"./abstractions.js\";\n\ninterface FormErrorsProps {\n form: IFormVM;\n className?: string;\n}\n\nexport const FormErrors = observer(({ form, className }: FormErrorsProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (form.submitCount > 0 && form.errors.length > 0 && ref.current) {\n ref.current.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [form.submitCount]);\n\n if (!form.hasErrors) {\n return null;\n }\n\n return (\n <div ref={ref} className={className}>\n <Alert type=\"danger\" variant=\"subtle\">\n <Heading level={6}>Some fields contain errors</Heading>\n <ul className=\"list-disc mt-sm\">\n {form.errors.map((error, index) => (\n <li key={index} className={\"my-xs\"}>\n {error.path ? (\n <button\n type=\"button\"\n className=\"underline cursor-pointer\"\n onClick={() => form.focusField(error.path)}\n >\n {error.breadcrumb\n ? error.breadcrumb.join(\" › \")\n : (error.label ?? error.path)}\n </button>\n ) : (\n error.label\n )}\n : {error.message}\n </li>\n ))}\n </ul>\n </Alert>\n </div>\n );\n});\n"],"names":["FormErrors","observer","form","className","ref","useRef","useEffect","Alert","Heading","error","index"],"mappings":";;;AAUO,MAAMA,aAAaC,SAAS,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAmB;IACpE,MAAMC,MAAMC,OAAuB;IAEnCC,UAAU;QACN,IAAIJ,KAAK,WAAW,GAAG,KAAKA,KAAK,MAAM,CAAC,MAAM,GAAG,KAAKE,IAAI,OAAO,EAC7DA,IAAI,OAAO,CAAC,cAAc,CAAC;YAAE,UAAU;YAAU,OAAO;QAAS;IAEzE,GAAG;QAACF,KAAK,WAAW;KAAC;IAErB,IAAI,CAACA,KAAK,SAAS,EACf,OAAO;IAGX,OAAO,WAAP,GACI,oBAAC;QAAI,KAAKE;QAAK,WAAWD;qBACtB,oBAACI,OAAKA;QAAC,MAAK;QAAS,SAAQ;qBACzB,oBAACC,SAAOA;QAAC,OAAO;OAAG,6CACnB,oBAAC;QAAG,WAAU;OACTN,KAAK,MAAM,CAAC,GAAG,CAAC,CAACO,OAAOC,QAAAA,WAAAA,GACrB,oBAAC;YAAG,KAAKA;YAAO,WAAW;WACtBD,MAAM,IAAI,GAAG,WAAH,GACP,oBAAC;YACG,MAAK;YACL,WAAU;YACV,SAAS,IAAMP,KAAK,UAAU,CAACO,MAAM,IAAI;WAExCA,MAAM,UAAU,GACXA,MAAM,UAAU,CAAC,IAAI,CAAC,SACrBA,MAAM,KAAK,IAAIA,MAAM,IAAI,IAGpCA,MAAM,KAAK,EACb,MACCA,MAAM,OAAO;AAO5C"}
1
+ {"version":3,"file":"features/formModel/FormErrors.js","sources":["../../../src/features/formModel/FormErrors.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Alert, Heading } from \"@webiny/admin-ui\";\nimport type { IFormVM } from \"./abstractions.js\";\n\ninterface FormErrorsProps {\n form: IFormVM;\n className?: string;\n}\n\nexport const FormErrors = observer(({ form, className }: FormErrorsProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (form.submitCount > 0 && form.errors.length > 0 && ref.current) {\n ref.current.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [form.submitCount]);\n\n if (!form.hasErrors) {\n return null;\n }\n\n return (\n <div ref={ref} className={className}>\n <Alert type=\"danger\" variant=\"subtle\">\n <Heading level={6}>Some fields contain errors</Heading>\n <ul className=\"list-disc mt-sm\">\n {form.errors.map((error, index) => (\n <li key={index} className={\"my-xs\"}>\n {error.path ? (\n <button\n type=\"button\"\n className=\"underline cursor-pointer\"\n onClick={() => form.focusField(error.path)}\n >\n {error.breadcrumb\n ? error.breadcrumb.join(\" › \")\n : (error.label ?? error.path)}\n </button>\n ) : (\n error.label\n )}\n {error.path || error.label ? \": \" : \"\"}\n {error.message}\n </li>\n ))}\n </ul>\n </Alert>\n </div>\n );\n});\n"],"names":["FormErrors","observer","form","className","ref","useRef","useEffect","Alert","Heading","error","index"],"mappings":";;;AAUO,MAAMA,aAAaC,SAAS,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAmB;IACpE,MAAMC,MAAMC,OAAuB;IAEnCC,UAAU;QACN,IAAIJ,KAAK,WAAW,GAAG,KAAKA,KAAK,MAAM,CAAC,MAAM,GAAG,KAAKE,IAAI,OAAO,EAC7DA,IAAI,OAAO,CAAC,cAAc,CAAC;YAAE,UAAU;YAAU,OAAO;QAAS;IAEzE,GAAG;QAACF,KAAK,WAAW;KAAC;IAErB,IAAI,CAACA,KAAK,SAAS,EACf,OAAO;IAGX,OAAO,WAAP,GACI,oBAAC;QAAI,KAAKE;QAAK,WAAWD;qBACtB,oBAACI,OAAKA;QAAC,MAAK;QAAS,SAAQ;qBACzB,oBAACC,SAAOA;QAAC,OAAO;OAAG,6CACnB,oBAAC;QAAG,WAAU;OACTN,KAAK,MAAM,CAAC,GAAG,CAAC,CAACO,OAAOC,QAAAA,WAAAA,GACrB,oBAAC;YAAG,KAAKA;YAAO,WAAW;WACtBD,MAAM,IAAI,GAAG,WAAH,GACP,oBAAC;YACG,MAAK;YACL,WAAU;YACV,SAAS,IAAMP,KAAK,UAAU,CAACO,MAAM,IAAI;WAExCA,MAAM,UAAU,GACXA,MAAM,UAAU,CAAC,IAAI,CAAC,SACrBA,MAAM,KAAK,IAAIA,MAAM,IAAI,IAGpCA,MAAM,KAAK,EAEdA,MAAM,IAAI,IAAIA,MAAM,KAAK,GAAG,OAAO,IACnCA,MAAM,OAAO;AAO1C"}
@@ -9,6 +9,7 @@ export declare class FormModel implements IFormModel {
9
9
  private _validateOnChange;
10
10
  private _isValid;
11
11
  private _formRuleErrors;
12
+ private _externalErrorFields;
12
13
  private _activeTabs;
13
14
  private _ruleEvaluators;
14
15
  private _warnedRuleTypes;
@@ -42,6 +43,7 @@ export declare class FormModel implements IFormModel {
42
43
  addRule(rule: FormRule): void;
43
44
  setLayout(factory: (layout: ILayoutBuilder) => ILayoutNodeBuilder[]): void;
44
45
  validate(): Promise<boolean>;
46
+ setErrors(errors: IFormError[]): void;
45
47
  submit<T = Record<string, unknown>>(options?: {
46
48
  skipValidation?: boolean;
47
49
  }): Promise<T | false>;
@@ -16,6 +16,7 @@ class FormModel {
16
16
  this._validateOnChange = false;
17
17
  this._isValid = null;
18
18
  this._formRuleErrors = [];
19
+ this._externalErrorFields = new Set();
19
20
  this._activeTabs = observable.map();
20
21
  this._ruleEvaluators = [];
21
22
  this._warnedRuleTypes = new Set();
@@ -89,15 +90,13 @@ class FormModel {
89
90
  let current = this._fields.get(parts[0]);
90
91
  for(let i = 1; i < parts.length && current; i++)if (isObjectField(current)) {
91
92
  if (current.isList) {
92
- const index = parseInt(parts[i], 10);
93
- if (!isNaN(index)) {
94
- const item = current.items[index];
95
- if (item && i + 1 < parts.length) {
96
- current = item.children.get(parts[i + 1]);
97
- i++;
98
- } else current = void 0;
99
- continue;
100
- }
93
+ const selector = parts[i];
94
+ const item = /^\d+$/.test(selector) ? current.items[parseInt(selector, 10)] : current.items.find((candidate)=>candidate.children.get("_id")?.getValue() === selector);
95
+ if (item && i + 1 < parts.length) {
96
+ current = item.children.get(parts[i + 1]);
97
+ i++;
98
+ } else current = void 0;
99
+ continue;
101
100
  }
102
101
  current = current.getChild(parts[i]);
103
102
  } else current = void 0;
@@ -168,6 +167,7 @@ class FormModel {
168
167
  this._submitCount = 0;
169
168
  this._isValid = null;
170
169
  this._formRuleErrors = [];
170
+ this._externalErrorFields.clear();
171
171
  }
172
172
  reset() {
173
173
  for (const [name, field] of this._fields){
@@ -179,6 +179,7 @@ class FormModel {
179
179
  this._submitCount = 0;
180
180
  this._isValid = null;
181
181
  this._formRuleErrors = [];
182
+ this._externalErrorFields.clear();
182
183
  }
183
184
  get isDirty() {
184
185
  for (const [name, field] of this._fields){
@@ -252,6 +253,7 @@ class FormModel {
252
253
  this._propagateAncestorRules();
253
254
  }
254
255
  async validate() {
256
+ this._externalErrorFields.clear();
255
257
  let allFieldsValid = true;
256
258
  for (const [, field] of this._fields){
257
259
  const valid = await field.validate({
@@ -282,6 +284,27 @@ class FormModel {
282
284
  });
283
285
  return isValid;
284
286
  }
287
+ setErrors(errors) {
288
+ const formErrors = [];
289
+ runInAction(()=>{
290
+ for (const field of this._externalErrorFields)field.resetValidation();
291
+ this._externalErrorFields.clear();
292
+ for (const error of errors){
293
+ const field = error.path ? this._tryGetField(error.path) : void 0;
294
+ if (field?.visible) {
295
+ field.setValidation({
296
+ isValid: false,
297
+ message: error.message
298
+ });
299
+ this._externalErrorFields.add(field);
300
+ } else formErrors.push(error);
301
+ }
302
+ this._formRuleErrors = formErrors;
303
+ this._isValid = 0 === errors.length;
304
+ this._submitted = true;
305
+ this._submitCount++;
306
+ });
307
+ }
285
308
  async submit(options) {
286
309
  if (options?.skipValidation) return this.getData();
287
310
  const valid = await this.validate();
@@ -1 +1 @@
1
- {"version":3,"file":"features/formModel/FormModel.js","sources":["../../../src/features/formModel/FormModel.ts"],"sourcesContent":["import { makeAutoObservable, computed, toJS, runInAction, observable } from \"mobx\";\nimport { Field } from \"./Field.js\";\nimport { ObjectField, isObjectField } from \"./ObjectField.js\";\nimport { LayoutBuilderFactory } from \"./LayoutBuilderFactory.js\";\nimport { LayoutMutator } from \"./LayoutMutator.js\";\nimport { LayoutResolver } from \"./LayoutResolver.js\";\nimport { FocusManager } from \"./FocusManager.js\";\nimport type {\n IFormModel,\n IField,\n IFieldBuilder,\n IFieldBuilderRegistry,\n IObjectFieldConfig,\n IFormVM,\n IFormError,\n IFormModelConfig,\n ILayoutBuilder,\n ILayoutNodeBuilder,\n ILayoutModifier,\n IPositionedLayoutNode,\n ILayoutNodeAccessHandle,\n IRule,\n IRuleEvaluator,\n LayoutNode,\n LayoutNodeVM,\n FormRule,\n FormRuleFn\n} from \"./abstractions.js\";\n\nexport class FormModel implements IFormModel {\n private _fields = new Map<string, IField>();\n private _builders = new Map<string, IFieldBuilder>();\n private _layout: LayoutNode[] = [];\n private _baseline = new Map<string, unknown>();\n private _submitted = false;\n private _submitCount = 0;\n private _validateOnChange = false;\n private _isValid: boolean | null = null;\n private _formRuleErrors: IFormError[] = [];\n private _activeTabs = observable.map<string, string>();\n private _ruleEvaluators: IRuleEvaluator[] = [];\n private _warnedRuleTypes = new Set<string>();\n private _formRules: FormRule[] = [];\n private _lastFocusedField: IField | null = null;\n private _registry: IFieldBuilderRegistry;\n\n private _layoutMutator = new LayoutMutator();\n private _layoutResolver: LayoutResolver = null!;\n private _focusManager: FocusManager = null!;\n\n constructor(config: IFormModelConfig, registry: IFieldBuilderRegistry) {\n this._registry = registry;\n this._ruleEvaluators = config.ruleEvaluators ?? [];\n\n const builders = config.fields(registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n this._builders.set(name, builder);\n const fieldConfig = builder.build(name);\n const field = this._createField(fieldConfig);\n field.setForm(this);\n this._fields.set(name, field);\n }\n\n if (config.layout) {\n this._layout = LayoutBuilderFactory.buildNodes(\n config.layout(LayoutBuilderFactory.create())\n );\n this._warnOrphanFields();\n } else {\n this._layout = this._generateDefaultLayout();\n }\n\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n\n this._validateOnChange = config.validateOnSubmit === false;\n this._snapshotBaseline();\n\n makeAutoObservable(\n this,\n {\n vm: computed,\n _builders: false,\n _layoutMutator: false,\n _layoutResolver: false,\n _focusManager: false\n } as any,\n { autoBind: true }\n );\n\n this._layoutResolver = new LayoutResolver(\n this._fields,\n this._activeTabs,\n this.evaluateRules.bind(this)\n );\n this._focusManager = new FocusManager(this._fields);\n }\n\n evaluateRules(rules: IRule[] | undefined): { visible: boolean; disabled: boolean } {\n let visible = true;\n let disabled = false;\n if (!rules || rules.length === 0) {\n return { visible, disabled };\n }\n\n for (const rule of rules) {\n const evaluator = this._ruleEvaluators.find(e => e.canEvaluate(rule));\n if (!evaluator) {\n if (\n process.env.NODE_ENV === \"development\" &&\n !this._warnedRuleTypes.has(rule.type)\n ) {\n this._warnedRuleTypes.add(rule.type);\n console.warn(\n `[FormModel] No evaluator registered for rule type \"${rule.type}\". Rule is ignored.`\n );\n }\n continue;\n }\n const matched = evaluator.evaluate(rule, this);\n if (!matched) {\n continue;\n }\n if (rule.action === \"hide\") {\n visible = false;\n } else if (rule.action === \"disable\") {\n disabled = true;\n }\n }\n\n return { visible, disabled };\n }\n\n field(name: string): IField {\n const field = this._fields.get(name);\n if (field) {\n return field;\n }\n\n const parts = name.split(\".\");\n if (parts.length > 1) {\n let current: IField | undefined = this._fields.get(parts[0]);\n for (let i = 1; i < parts.length && current; i++) {\n if (isObjectField(current)) {\n if (current.isList) {\n const index = parseInt(parts[i], 10);\n if (!isNaN(index)) {\n const item = current.items[index];\n if (item && i + 1 < parts.length) {\n current = item.children.get(parts[i + 1]);\n i++;\n } else {\n current = undefined;\n }\n continue;\n }\n }\n current = current.getChild(parts[i]);\n } else {\n current = undefined;\n }\n }\n if (current) {\n return current;\n }\n }\n\n throw new Error(`Field \"${name}\" not found.`);\n }\n\n focusField(name: string): void {\n if (this._lastFocusedField) {\n this._lastFocusedField.clearFocusRequest();\n this._lastFocusedField = null;\n }\n\n const activations = this._focusManager.buildFocusPath(name, this._layout);\n let field: IField | undefined;\n try {\n field = this.field(name);\n } catch {\n // Field not found — no-op.\n }\n\n runInAction(() => {\n if (activations) {\n for (const act of activations) {\n this._activeTabs.set(act.tabKey, act.tabId);\n }\n }\n if (field) {\n field.requestFocus();\n this._lastFocusedField = field;\n }\n });\n }\n\n fields(\n factory: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder | undefined>\n ): void {\n const builders = factory(this._registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n if (builder === undefined) {\n this._builders.delete(name);\n this.removeField(name);\n continue;\n }\n\n this._builders.set(name, builder);\n const fieldConfig = builder.build(name);\n const field = this._createField(fieldConfig);\n field.setForm(this);\n\n this._fields.set(name, field);\n }\n\n this._snapshotBaseline();\n this._propagateAncestorRules();\n }\n\n layout(factory: (layout: ILayoutModifier) => (LayoutNode | IPositionedLayoutNode)[]): void;\n layout(nodeId: string): ILayoutNodeAccessHandle;\n layout(\n factoryOrNodeId:\n | ((layout: ILayoutModifier) => (LayoutNode | IPositionedLayoutNode)[])\n | string\n ): void | ILayoutNodeAccessHandle {\n if (typeof factoryOrNodeId === \"string\") {\n return this._layoutMutator.accessNode(this._layout, factoryOrNodeId);\n }\n\n this._layout = this._layoutMutator.applyModifications(this._layout, factoryOrNodeId);\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n }\n\n removeField(name: string): void {\n this._fields.delete(name);\n this._baseline.delete(name);\n this._layout = this._layoutMutator.removeFromLayout(this._layout, name);\n }\n\n getData(): Record<string, unknown> {\n const data: Record<string, unknown> = {};\n for (const [name, field] of this._fields) {\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\n setData(data: Record<string, unknown>, options?: { dirty?: boolean }): void {\n for (const [name, value] of Object.entries(data)) {\n const field = this._fields.get(name);\n if (field) {\n field.setValueSilent(value);\n }\n }\n if (!options?.dirty) {\n this._snapshotBaseline();\n }\n this._resetAllValidation();\n this._submitted = false;\n this._submitCount = 0;\n this._isValid = null;\n this._formRuleErrors = [];\n }\n\n reset(): void {\n for (const [name, field] of this._fields) {\n const baselineValue = this._baseline.get(name);\n field.setValueSilent(baselineValue ?? field.config.defaultValue ?? null);\n }\n this._resetAllValidation();\n this._submitted = false;\n this._submitCount = 0;\n this._isValid = null;\n this._formRuleErrors = [];\n }\n\n get isDirty(): boolean {\n for (const [name, field] of this._fields) {\n const baseline = this._baseline.get(name);\n const current = isObjectField(field) ? field.getData() : field.getValue();\n if (JSON.stringify(toJS(current)) !== JSON.stringify(toJS(baseline))) {\n return true;\n }\n }\n return false;\n }\n\n get isValid(): boolean | null {\n return this._isValid;\n }\n\n get submitted(): boolean {\n return this._submitted;\n }\n\n get submitCount(): number {\n return this._submitCount;\n }\n\n get errors(): IFormError[] {\n if (!this._submitted) {\n return [];\n }\n const ruleErrorPaths = new Set(this._formRuleErrors.filter(e => e.path).map(e => e.path));\n const errors: IFormError[] = [];\n\n const collectErrors = (\n fields: Map<string, IField>,\n pathPrefix: string,\n trail: string[]\n ) => {\n for (const [, field] of fields) {\n const path = pathPrefix ? `${pathPrefix}.${field.name}` : field.name;\n const segment = field.config.label || field.name;\n if (isObjectField(field)) {\n if (!field.visible) {\n continue;\n }\n if (\n field.vm.validation.isValid === false &&\n field.vm.validation.message &&\n !ruleErrorPaths.has(path)\n ) {\n errors.push({\n path,\n label: field.config.label,\n breadcrumb: [...trail, segment],\n message: field.vm.validation.message\n });\n }\n const skipBreadcrumb =\n field.config.renderer === \"passthrough\" && !field.config.label;\n const childTrail = skipBreadcrumb ? trail : [...trail, segment];\n\n if (field.config.isList) {\n for (const [index, item] of field.items.entries()) {\n collectErrors(item.children, `${path}.${index}`, [...childTrail]);\n }\n } else {\n collectErrors(field.children, path, childTrail);\n }\n } else if (\n field.visible &&\n field.vm.validation.isValid === false &&\n !ruleErrorPaths.has(path)\n ) {\n errors.push({\n path,\n label: field.config.label,\n breadcrumb: [...trail, segment],\n message: field.vm.validation.message || \"Invalid value.\"\n });\n }\n }\n };\n\n collectErrors(this._fields, \"\", []);\n return [...errors, ...this._formRuleErrors];\n }\n\n addRule(rule: FormRule): void {\n this._formRules.push(rule);\n }\n\n setLayout(factory: (layout: ILayoutBuilder) => ILayoutNodeBuilder[]): void {\n this._layout = LayoutBuilderFactory.buildNodes(factory(LayoutBuilderFactory.create()));\n this._warnOrphanFields();\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n }\n\n async validate(): Promise<boolean> {\n let allFieldsValid = true;\n\n for (const [, field] of this._fields) {\n const valid = await field.validate({ force: true });\n if (!valid) {\n allFieldsValid = false;\n }\n }\n\n const ruleErrors: IFormError[] = [];\n for (const rule of this._formRules) {\n const errors = await this._runFormRule(rule);\n for (const err of errors) {\n ruleErrors.push(err);\n if (err.path) {\n const target = this._tryGetField(err.path);\n if (target) {\n target.setValidation({ isValid: false, message: err.message });\n }\n }\n }\n }\n\n const isValid = allFieldsValid && ruleErrors.length === 0;\n runInAction(() => {\n this._formRuleErrors = ruleErrors;\n this._isValid = isValid;\n this._submitted = true;\n this._submitCount++;\n });\n return isValid;\n }\n\n async submit<T = Record<string, unknown>>(options?: {\n skipValidation?: boolean;\n }): Promise<T | false> {\n if (options?.skipValidation) {\n return this.getData() as T;\n }\n\n const valid = await this.validate();\n if (!valid) {\n return false;\n }\n return this.getData() as T;\n }\n\n get vm(): IFormVM {\n return {\n layout: this._layoutResolver.resolve(this._layout),\n errors: this.errors,\n hasErrors: this.errors.length > 0,\n isDirty: this.isDirty,\n isValid: this._isValid,\n submitCount: this._submitCount,\n focusField: (path: string) => this.focusField(path),\n getData: () => this.getData() as Record<string, unknown>,\n setData: (data: Record<string, unknown>, options?: { dirty?: boolean }) =>\n this.setData(data, options)\n };\n }\n\n get registry(): IFieldBuilderRegistry {\n return this._registry;\n }\n\n public resolveChildLayout(layout: LayoutNode[], children: Map<string, IField>): LayoutNodeVM[] {\n return this._layoutResolver.resolveChildLayout(layout, children);\n }\n\n getField(name: string): IField | undefined {\n return this._fields.get(name);\n }\n\n getFields(): Map<string, IField> {\n return this._fields;\n }\n\n getFieldBuilders(predicate?: (builder: IFieldBuilder) => boolean): IFieldBuilder[] {\n const pred = predicate ?? (() => true);\n const result: IFieldBuilder[] = [];\n LayoutBuilderFactory.collectBuilders(this._fields, this._builders, pred, result);\n return result;\n }\n\n traverse(callback: (builder: IFieldBuilder) => void): void {\n this._traverseBuilders(this._fields, this._builders, callback);\n }\n\n private _traverseBuilders(\n fields: { get(name: string): IField | undefined },\n builders: Map<string, IFieldBuilder> | Record<string, IFieldBuilder>,\n callback: (builder: IFieldBuilder) => void\n ): void {\n const entries = builders instanceof Map ? builders.entries() : Object.entries(builders);\n for (const [name, builder] of entries) {\n if (!builder || typeof builder !== \"object\") {\n continue;\n }\n callback(builder);\n const field = fields.get(name);\n if (field && isObjectField(field)) {\n this._traverseBuilders(field.children, field.config.childBuilders, callback);\n const templates = (field.config as IObjectFieldConfig).templates;\n if (templates) {\n for (const tpl of templates) {\n for (const tplBuilder of Object.values(tpl.childBuilders)) {\n if (!tplBuilder || typeof tplBuilder !== \"object\") {\n continue;\n }\n callback(tplBuilder);\n }\n }\n }\n }\n }\n }\n\n private async _runFormRule(rule: FormRule): Promise<IFormError[]> {\n if (typeof rule === \"function\") {\n const fn = rule as FormRuleFn;\n const result = await fn(this);\n return Array.isArray(result) ? result : [];\n }\n const data = this.getData();\n const result = await rule.safeParseAsync(data);\n if (result.success) {\n return [];\n }\n return result.error.issues.map(issue => {\n const path = issue.path.map(String).join(\".\");\n const field = path ? this._tryGetField(path) : undefined;\n return {\n path,\n label: field?.config.label,\n message: issue.message || \"Invalid value.\"\n };\n });\n }\n\n private _tryGetField(path: string): IField | undefined {\n try {\n return this.field(path);\n } catch {\n return undefined;\n }\n }\n\n private _registerObjectNodeLayouts(layout: LayoutNode[]): void {\n for (const node of layout) {\n if (node.type === \"object\") {\n const field = this._fields.get(node.fieldName);\n if (field && isObjectField(field)) {\n field.setInnerLayout(node.inner);\n }\n } else if (node.type === \"tabs\") {\n for (const tab of node.tabs) {\n this._registerObjectNodeLayouts(tab.layout);\n }\n }\n }\n }\n\n private _propagateAncestorRules(): void {\n const ancestry = new Map<string, IRule[]>();\n const walk = (nodes: LayoutNode[], rules: IRule[]) => {\n for (const node of nodes) {\n if (node.type === \"row\") {\n for (const id of node.fieldIds) {\n const existing = ancestry.get(id) ?? [];\n ancestry.set(id, [...existing, ...rules]);\n }\n } else if (node.type === \"tabs\") {\n const containerRules = [...rules, ...(node.rules ?? [])];\n for (const tab of node.tabs) {\n const tabRules = [...containerRules, ...(tab.rules ?? [])];\n walk(tab.layout, tabRules);\n }\n } else if (node.type === \"object\") {\n const existing = ancestry.get(node.fieldName) ?? [];\n ancestry.set(node.fieldName, [...existing, ...rules]);\n }\n }\n };\n\n walk(this._layout, []);\n\n for (const [, field] of this._fields) {\n field.setAncestorRules(ancestry.get(field.name) ?? []);\n }\n }\n\n private _generateDefaultLayout(): LayoutNode[] {\n const layout: LayoutNode[] = [];\n for (const [name, field] of this._fields) {\n if (field.visible) {\n layout.push({ type: \"row\", fieldIds: [name] });\n }\n }\n return layout;\n }\n\n private _warnOrphanFields(): void {\n const layoutFieldIds = new Set(LayoutBuilderFactory.collectFieldIds(this._layout));\n\n for (const [name, field] of this._fields) {\n if (field.visible && !layoutFieldIds.has(name)) {\n console.warn(\n `[FormModel] Field \"${name}\" is not in the layout and not marked as .hidden(). ` +\n `Add it to the layout or mark it as .hidden() to suppress this warning.`\n );\n }\n }\n }\n\n private _snapshotBaseline(): void {\n this._baseline.clear();\n for (const [name, field] of this._fields) {\n this._baseline.set(name, toJS(field.getValue()));\n }\n }\n\n private _resetAllValidation(): void {\n for (const [, field] of this._fields) {\n field.resetValidation();\n }\n }\n\n private _createField(config: any): IField {\n if (config.childBuilders) {\n return new ObjectField(config as IObjectFieldConfig);\n }\n return new Field(config);\n }\n}\n"],"names":["FormModel","config","registry","Map","observable","Set","LayoutMutator","builders","name","builder","Object","fieldConfig","field","LayoutBuilderFactory","makeAutoObservable","computed","LayoutResolver","FocusManager","rules","visible","disabled","rule","evaluator","e","process","console","matched","parts","current","i","isObjectField","index","parseInt","isNaN","item","undefined","Error","activations","runInAction","act","factory","factoryOrNodeId","data","toJS","options","value","baselineValue","baseline","JSON","ruleErrorPaths","errors","collectErrors","fields","pathPrefix","trail","path","segment","skipBreadcrumb","childTrail","allFieldsValid","valid","ruleErrors","err","target","isValid","layout","children","predicate","pred","result","callback","entries","templates","tpl","tplBuilder","fn","Array","issue","String","node","tab","ancestry","walk","nodes","id","existing","containerRules","tabRules","layoutFieldIds","ObjectField","Field"],"mappings":"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"}
1
+ {"version":3,"file":"features/formModel/FormModel.js","sources":["../../../src/features/formModel/FormModel.ts"],"sourcesContent":["import { makeAutoObservable, computed, toJS, runInAction, observable } from \"mobx\";\nimport { Field } from \"./Field.js\";\nimport { ObjectField, isObjectField } from \"./ObjectField.js\";\nimport { LayoutBuilderFactory } from \"./LayoutBuilderFactory.js\";\nimport { LayoutMutator } from \"./LayoutMutator.js\";\nimport { LayoutResolver } from \"./LayoutResolver.js\";\nimport { FocusManager } from \"./FocusManager.js\";\nimport type {\n IFormModel,\n IField,\n IFieldBuilder,\n IFieldBuilderRegistry,\n IObjectFieldConfig,\n IFormVM,\n IFormError,\n IFormModelConfig,\n ILayoutBuilder,\n ILayoutNodeBuilder,\n ILayoutModifier,\n IPositionedLayoutNode,\n ILayoutNodeAccessHandle,\n IRule,\n IRuleEvaluator,\n LayoutNode,\n LayoutNodeVM,\n FormRule,\n FormRuleFn\n} from \"./abstractions.js\";\n\nexport class FormModel implements IFormModel {\n private _fields = new Map<string, IField>();\n private _builders = new Map<string, IFieldBuilder>();\n private _layout: LayoutNode[] = [];\n private _baseline = new Map<string, unknown>();\n private _submitted = false;\n private _submitCount = 0;\n private _validateOnChange = false;\n private _isValid: boolean | null = null;\n private _formRuleErrors: IFormError[] = [];\n // Fields that the last `setErrors()` call marked invalid. The next call replaces them.\n private _externalErrorFields = new Set<IField>();\n private _activeTabs = observable.map<string, string>();\n private _ruleEvaluators: IRuleEvaluator[] = [];\n private _warnedRuleTypes = new Set<string>();\n private _formRules: FormRule[] = [];\n private _lastFocusedField: IField | null = null;\n private _registry: IFieldBuilderRegistry;\n\n private _layoutMutator = new LayoutMutator();\n private _layoutResolver: LayoutResolver = null!;\n private _focusManager: FocusManager = null!;\n\n constructor(config: IFormModelConfig, registry: IFieldBuilderRegistry) {\n this._registry = registry;\n this._ruleEvaluators = config.ruleEvaluators ?? [];\n\n const builders = config.fields(registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n this._builders.set(name, builder);\n const fieldConfig = builder.build(name);\n const field = this._createField(fieldConfig);\n field.setForm(this);\n this._fields.set(name, field);\n }\n\n if (config.layout) {\n this._layout = LayoutBuilderFactory.buildNodes(\n config.layout(LayoutBuilderFactory.create())\n );\n this._warnOrphanFields();\n } else {\n this._layout = this._generateDefaultLayout();\n }\n\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n\n this._validateOnChange = config.validateOnSubmit === false;\n this._snapshotBaseline();\n\n makeAutoObservable(\n this,\n {\n vm: computed,\n _builders: false,\n _layoutMutator: false,\n _layoutResolver: false,\n _focusManager: false\n } as any,\n { autoBind: true }\n );\n\n this._layoutResolver = new LayoutResolver(\n this._fields,\n this._activeTabs,\n this.evaluateRules.bind(this)\n );\n this._focusManager = new FocusManager(this._fields);\n }\n\n evaluateRules(rules: IRule[] | undefined): { visible: boolean; disabled: boolean } {\n let visible = true;\n let disabled = false;\n if (!rules || rules.length === 0) {\n return { visible, disabled };\n }\n\n for (const rule of rules) {\n const evaluator = this._ruleEvaluators.find(e => e.canEvaluate(rule));\n if (!evaluator) {\n if (\n process.env.NODE_ENV === \"development\" &&\n !this._warnedRuleTypes.has(rule.type)\n ) {\n this._warnedRuleTypes.add(rule.type);\n console.warn(\n `[FormModel] No evaluator registered for rule type \"${rule.type}\". Rule is ignored.`\n );\n }\n continue;\n }\n const matched = evaluator.evaluate(rule, this);\n if (!matched) {\n continue;\n }\n if (rule.action === \"hide\") {\n visible = false;\n } else if (rule.action === \"disable\") {\n disabled = true;\n }\n }\n\n return { visible, disabled };\n }\n\n field(name: string): IField {\n const field = this._fields.get(name);\n if (field) {\n return field;\n }\n\n const parts = name.split(\".\");\n if (parts.length > 1) {\n let current: IField | undefined = this._fields.get(parts[0]);\n for (let i = 1; i < parts.length && current; i++) {\n if (isObjectField(current)) {\n if (current.isList) {\n // A list field is followed by an item selector: a numeric index, or a\n // stable alphanumeric `_id` (matched against each item's hidden `_id`).\n const selector = parts[i];\n const item = /^\\d+$/.test(selector)\n ? current.items[parseInt(selector, 10)]\n : current.items.find(\n candidate =>\n candidate.children.get(\"_id\")?.getValue() === selector\n );\n if (item && i + 1 < parts.length) {\n current = item.children.get(parts[i + 1]);\n i++;\n } else {\n current = undefined;\n }\n continue;\n }\n current = current.getChild(parts[i]);\n } else {\n current = undefined;\n }\n }\n if (current) {\n return current;\n }\n }\n\n throw new Error(`Field \"${name}\" not found.`);\n }\n\n focusField(name: string): void {\n if (this._lastFocusedField) {\n this._lastFocusedField.clearFocusRequest();\n this._lastFocusedField = null;\n }\n\n const activations = this._focusManager.buildFocusPath(name, this._layout);\n let field: IField | undefined;\n try {\n field = this.field(name);\n } catch {\n // Field not found — no-op.\n }\n\n runInAction(() => {\n if (activations) {\n for (const act of activations) {\n this._activeTabs.set(act.tabKey, act.tabId);\n }\n }\n if (field) {\n field.requestFocus();\n this._lastFocusedField = field;\n }\n });\n }\n\n fields(\n factory: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder | undefined>\n ): void {\n const builders = factory(this._registry);\n\n for (const [name, builder] of Object.entries(builders)) {\n if (builder === undefined) {\n this._builders.delete(name);\n this.removeField(name);\n continue;\n }\n\n this._builders.set(name, builder);\n const fieldConfig = builder.build(name);\n const field = this._createField(fieldConfig);\n field.setForm(this);\n\n this._fields.set(name, field);\n }\n\n this._snapshotBaseline();\n this._propagateAncestorRules();\n }\n\n layout(factory: (layout: ILayoutModifier) => (LayoutNode | IPositionedLayoutNode)[]): void;\n layout(nodeId: string): ILayoutNodeAccessHandle;\n layout(\n factoryOrNodeId:\n | ((layout: ILayoutModifier) => (LayoutNode | IPositionedLayoutNode)[])\n | string\n ): void | ILayoutNodeAccessHandle {\n if (typeof factoryOrNodeId === \"string\") {\n return this._layoutMutator.accessNode(this._layout, factoryOrNodeId);\n }\n\n this._layout = this._layoutMutator.applyModifications(this._layout, factoryOrNodeId);\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n }\n\n removeField(name: string): void {\n this._fields.delete(name);\n this._baseline.delete(name);\n this._layout = this._layoutMutator.removeFromLayout(this._layout, name);\n }\n\n getData(): Record<string, unknown> {\n const data: Record<string, unknown> = {};\n for (const [name, field] of this._fields) {\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\n setData(data: Record<string, unknown>, options?: { dirty?: boolean }): void {\n for (const [name, value] of Object.entries(data)) {\n const field = this._fields.get(name);\n if (field) {\n field.setValueSilent(value);\n }\n }\n if (!options?.dirty) {\n this._snapshotBaseline();\n }\n this._resetAllValidation();\n this._submitted = false;\n this._submitCount = 0;\n this._isValid = null;\n this._formRuleErrors = [];\n this._externalErrorFields.clear();\n }\n\n reset(): void {\n for (const [name, field] of this._fields) {\n const baselineValue = this._baseline.get(name);\n field.setValueSilent(baselineValue ?? field.config.defaultValue ?? null);\n }\n this._resetAllValidation();\n this._submitted = false;\n this._submitCount = 0;\n this._isValid = null;\n this._formRuleErrors = [];\n this._externalErrorFields.clear();\n }\n\n get isDirty(): boolean {\n for (const [name, field] of this._fields) {\n const baseline = this._baseline.get(name);\n const current = isObjectField(field) ? field.getData() : field.getValue();\n if (JSON.stringify(toJS(current)) !== JSON.stringify(toJS(baseline))) {\n return true;\n }\n }\n return false;\n }\n\n get isValid(): boolean | null {\n return this._isValid;\n }\n\n get submitted(): boolean {\n return this._submitted;\n }\n\n get submitCount(): number {\n return this._submitCount;\n }\n\n get errors(): IFormError[] {\n if (!this._submitted) {\n return [];\n }\n const ruleErrorPaths = new Set(this._formRuleErrors.filter(e => e.path).map(e => e.path));\n const errors: IFormError[] = [];\n\n const collectErrors = (\n fields: Map<string, IField>,\n pathPrefix: string,\n trail: string[]\n ) => {\n for (const [, field] of fields) {\n const path = pathPrefix ? `${pathPrefix}.${field.name}` : field.name;\n const segment = field.config.label || field.name;\n if (isObjectField(field)) {\n if (!field.visible) {\n continue;\n }\n if (\n field.vm.validation.isValid === false &&\n field.vm.validation.message &&\n !ruleErrorPaths.has(path)\n ) {\n errors.push({\n path,\n label: field.config.label,\n breadcrumb: [...trail, segment],\n message: field.vm.validation.message\n });\n }\n const skipBreadcrumb =\n field.config.renderer === \"passthrough\" && !field.config.label;\n const childTrail = skipBreadcrumb ? trail : [...trail, segment];\n\n if (field.config.isList) {\n for (const [index, item] of field.items.entries()) {\n collectErrors(item.children, `${path}.${index}`, [...childTrail]);\n }\n } else {\n collectErrors(field.children, path, childTrail);\n }\n } else if (\n field.visible &&\n field.vm.validation.isValid === false &&\n !ruleErrorPaths.has(path)\n ) {\n errors.push({\n path,\n label: field.config.label,\n breadcrumb: [...trail, segment],\n message: field.vm.validation.message || \"Invalid value.\"\n });\n }\n }\n };\n\n collectErrors(this._fields, \"\", []);\n return [...errors, ...this._formRuleErrors];\n }\n\n addRule(rule: FormRule): void {\n this._formRules.push(rule);\n }\n\n setLayout(factory: (layout: ILayoutBuilder) => ILayoutNodeBuilder[]): void {\n this._layout = LayoutBuilderFactory.buildNodes(factory(LayoutBuilderFactory.create()));\n this._warnOrphanFields();\n this._registerObjectNodeLayouts(this._layout);\n this._propagateAncestorRules();\n }\n\n async validate(): Promise<boolean> {\n // Validation recomputes every field, so errors from an earlier `setErrors()` go too.\n this._externalErrorFields.clear();\n let allFieldsValid = true;\n\n for (const [, field] of this._fields) {\n const valid = await field.validate({ force: true });\n if (!valid) {\n allFieldsValid = false;\n }\n }\n\n const ruleErrors: IFormError[] = [];\n for (const rule of this._formRules) {\n const errors = await this._runFormRule(rule);\n for (const err of errors) {\n ruleErrors.push(err);\n if (err.path) {\n const target = this._tryGetField(err.path);\n if (target) {\n target.setValidation({ isValid: false, message: err.message });\n }\n }\n }\n }\n\n const isValid = allFieldsValid && ruleErrors.length === 0;\n runInAction(() => {\n this._formRuleErrors = ruleErrors;\n this._isValid = isValid;\n this._submitted = true;\n this._submitCount++;\n });\n return isValid;\n }\n\n setErrors(errors: IFormError[]): void {\n const formErrors: IFormError[] = [];\n runInAction(() => {\n // A new set of errors replaces the previous one, so a field that was rejected last\n // time and isn't this time goes back to valid.\n for (const field of this._externalErrorFields) {\n field.resetValidation();\n }\n this._externalErrorFields.clear();\n\n for (const error of errors) {\n const field = error.path ? this._tryGetField(error.path) : undefined;\n if (field?.visible) {\n // Collected by `errors` from the field, with its label and breadcrumb.\n field.setValidation({ isValid: false, message: error.message });\n this._externalErrorFields.add(field);\n } else {\n formErrors.push(error);\n }\n }\n // Form-level errors share the slot `validate()` replaces, so the next submit clears them.\n this._formRuleErrors = formErrors;\n this._isValid = errors.length === 0;\n this._submitted = true;\n this._submitCount++;\n });\n }\n\n async submit<T = Record<string, unknown>>(options?: {\n skipValidation?: boolean;\n }): Promise<T | false> {\n if (options?.skipValidation) {\n return this.getData() as T;\n }\n\n const valid = await this.validate();\n if (!valid) {\n return false;\n }\n return this.getData() as T;\n }\n\n get vm(): IFormVM {\n return {\n layout: this._layoutResolver.resolve(this._layout),\n errors: this.errors,\n hasErrors: this.errors.length > 0,\n isDirty: this.isDirty,\n isValid: this._isValid,\n submitCount: this._submitCount,\n focusField: (path: string) => this.focusField(path),\n getData: () => this.getData() as Record<string, unknown>,\n setData: (data: Record<string, unknown>, options?: { dirty?: boolean }) =>\n this.setData(data, options)\n };\n }\n\n get registry(): IFieldBuilderRegistry {\n return this._registry;\n }\n\n public resolveChildLayout(layout: LayoutNode[], children: Map<string, IField>): LayoutNodeVM[] {\n return this._layoutResolver.resolveChildLayout(layout, children);\n }\n\n getField(name: string): IField | undefined {\n return this._fields.get(name);\n }\n\n getFields(): Map<string, IField> {\n return this._fields;\n }\n\n getFieldBuilders(predicate?: (builder: IFieldBuilder) => boolean): IFieldBuilder[] {\n const pred = predicate ?? (() => true);\n const result: IFieldBuilder[] = [];\n LayoutBuilderFactory.collectBuilders(this._fields, this._builders, pred, result);\n return result;\n }\n\n traverse(callback: (builder: IFieldBuilder) => void): void {\n this._traverseBuilders(this._fields, this._builders, callback);\n }\n\n private _traverseBuilders(\n fields: { get(name: string): IField | undefined },\n builders: Map<string, IFieldBuilder> | Record<string, IFieldBuilder>,\n callback: (builder: IFieldBuilder) => void\n ): void {\n const entries = builders instanceof Map ? builders.entries() : Object.entries(builders);\n for (const [name, builder] of entries) {\n if (!builder || typeof builder !== \"object\") {\n continue;\n }\n callback(builder);\n const field = fields.get(name);\n if (field && isObjectField(field)) {\n this._traverseBuilders(field.children, field.config.childBuilders, callback);\n const templates = (field.config as IObjectFieldConfig).templates;\n if (templates) {\n for (const tpl of templates) {\n for (const tplBuilder of Object.values(tpl.childBuilders)) {\n if (!tplBuilder || typeof tplBuilder !== \"object\") {\n continue;\n }\n callback(tplBuilder);\n }\n }\n }\n }\n }\n }\n\n private async _runFormRule(rule: FormRule): Promise<IFormError[]> {\n if (typeof rule === \"function\") {\n const fn = rule as FormRuleFn;\n const result = await fn(this);\n return Array.isArray(result) ? result : [];\n }\n const data = this.getData();\n const result = await rule.safeParseAsync(data);\n if (result.success) {\n return [];\n }\n return result.error.issues.map(issue => {\n const path = issue.path.map(String).join(\".\");\n const field = path ? this._tryGetField(path) : undefined;\n return {\n path,\n label: field?.config.label,\n message: issue.message || \"Invalid value.\"\n };\n });\n }\n\n private _tryGetField(path: string): IField | undefined {\n try {\n return this.field(path);\n } catch {\n return undefined;\n }\n }\n\n private _registerObjectNodeLayouts(layout: LayoutNode[]): void {\n for (const node of layout) {\n if (node.type === \"object\") {\n const field = this._fields.get(node.fieldName);\n if (field && isObjectField(field)) {\n field.setInnerLayout(node.inner);\n }\n } else if (node.type === \"tabs\") {\n for (const tab of node.tabs) {\n this._registerObjectNodeLayouts(tab.layout);\n }\n }\n }\n }\n\n private _propagateAncestorRules(): void {\n const ancestry = new Map<string, IRule[]>();\n const walk = (nodes: LayoutNode[], rules: IRule[]) => {\n for (const node of nodes) {\n if (node.type === \"row\") {\n for (const id of node.fieldIds) {\n const existing = ancestry.get(id) ?? [];\n ancestry.set(id, [...existing, ...rules]);\n }\n } else if (node.type === \"tabs\") {\n const containerRules = [...rules, ...(node.rules ?? [])];\n for (const tab of node.tabs) {\n const tabRules = [...containerRules, ...(tab.rules ?? [])];\n walk(tab.layout, tabRules);\n }\n } else if (node.type === \"object\") {\n const existing = ancestry.get(node.fieldName) ?? [];\n ancestry.set(node.fieldName, [...existing, ...rules]);\n }\n }\n };\n\n walk(this._layout, []);\n\n for (const [, field] of this._fields) {\n field.setAncestorRules(ancestry.get(field.name) ?? []);\n }\n }\n\n private _generateDefaultLayout(): LayoutNode[] {\n const layout: LayoutNode[] = [];\n for (const [name, field] of this._fields) {\n if (field.visible) {\n layout.push({ type: \"row\", fieldIds: [name] });\n }\n }\n return layout;\n }\n\n private _warnOrphanFields(): void {\n const layoutFieldIds = new Set(LayoutBuilderFactory.collectFieldIds(this._layout));\n\n for (const [name, field] of this._fields) {\n if (field.visible && !layoutFieldIds.has(name)) {\n console.warn(\n `[FormModel] Field \"${name}\" is not in the layout and not marked as .hidden(). ` +\n `Add it to the layout or mark it as .hidden() to suppress this warning.`\n );\n }\n }\n }\n\n private _snapshotBaseline(): void {\n this._baseline.clear();\n for (const [name, field] of this._fields) {\n this._baseline.set(name, toJS(field.getValue()));\n }\n }\n\n private _resetAllValidation(): void {\n for (const [, field] of this._fields) {\n field.resetValidation();\n }\n }\n\n private _createField(config: any): IField {\n if (config.childBuilders) {\n return new ObjectField(config as IObjectFieldConfig);\n }\n return new Field(config);\n }\n}\n"],"names":["FormModel","config","registry","Map","Set","observable","LayoutMutator","builders","name","builder","Object","fieldConfig","field","LayoutBuilderFactory","makeAutoObservable","computed","LayoutResolver","FocusManager","rules","visible","disabled","rule","evaluator","e","process","console","matched","parts","current","i","isObjectField","selector","item","parseInt","candidate","undefined","Error","activations","runInAction","act","factory","factoryOrNodeId","data","toJS","options","value","baselineValue","baseline","JSON","ruleErrorPaths","errors","collectErrors","fields","pathPrefix","trail","path","segment","skipBreadcrumb","childTrail","index","allFieldsValid","valid","ruleErrors","err","target","isValid","formErrors","error","layout","children","predicate","pred","result","callback","entries","templates","tpl","tplBuilder","fn","Array","issue","String","node","tab","ancestry","walk","nodes","id","existing","containerRules","tabRules","layoutFieldIds","ObjectField","Field"],"mappings":"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"}