@anzusystems/common-admin 2.0.0-rc.1 → 2.0.0-rc.11

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 (1597) hide show
  1. package/README.md +5 -1
  2. package/dist/AnzuSystemsCommonAdmin.d.ts +51 -32
  3. package/dist/AnzuSystemsCommonAdmin.js +7 -8
  4. package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
  5. package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
  6. package/dist/_virtual/_rolldown/runtime.js +1 -2
  7. package/dist/assets/dam-meta-icons/2k.js +1 -2
  8. package/dist/assets/dam-meta-icons/4k.js +1 -2
  9. package/dist/assets/dam-meta-icons/8k.js +1 -2
  10. package/dist/assets/dam-meta-icons/fhd.js +1 -2
  11. package/dist/assets/dam-meta-icons/low.js +1 -2
  12. package/dist/assets/dam-meta-icons/qhd.js +1 -2
  13. package/dist/assets/dam-meta-icons/rss.js +1 -2
  14. package/dist/assets/dam-meta-icons/slot.js +1 -2
  15. package/dist/assets/dam-meta-icons/tts.js +1 -2
  16. package/dist/assets/image/placeholder16x9.js +1 -2
  17. package/dist/common-admin.css +1 -1
  18. package/dist/common-admin.js +299 -297
  19. package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
  20. package/dist/domains/anzuUser/api/anzuUserApi.js +9 -10
  21. package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
  22. package/dist/domains/anzuUser/components/AAnzuUserDatatable.js +1 -2
  23. package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
  24. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
  25. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js +46 -47
  26. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/domains/anzuUser/components/AAnzuUserFilter.js +1 -2
  28. package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
  29. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
  30. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js +16 -17
  31. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  32. package/dist/domains/anzuUser/components/AAnzuUserForm.js +1 -2
  33. package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
  34. package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
  35. package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js +45 -46
  36. package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js +1 -2
  38. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
  39. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js +1 -2
  40. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/domains/anzuUser/components/AUserBulkActionDialog.js +1 -2
  42. package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
  43. package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js +88 -89
  44. package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js +1 -2
  46. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
  47. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
  48. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js +13 -14
  49. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  50. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js +1 -2
  51. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
  52. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
  53. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js +19 -20
  54. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/domains/anzuUser/components/AUserEnabledSwitch.js +1 -2
  56. package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
  57. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
  58. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js +1 -2
  59. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/domains/anzuUser/components/AUserManageButton.js +1 -2
  61. package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
  62. package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
  63. package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js +1 -2
  64. package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  65. package/dist/domains/anzuUser/components/AUserMetadataForm.js +1 -2
  66. package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
  67. package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
  68. package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js +21 -22
  69. package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  70. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js +1 -2
  71. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
  72. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js +59 -60
  73. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  74. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js +1 -2
  75. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
  76. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
  77. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js +1 -2
  78. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/domains/anzuUser/components/AUserSystemOverview.js +1 -2
  80. package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
  81. package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js +231 -232
  82. package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  83. package/dist/domains/anzuUser/components/AUserSystemPanel.js +1 -2
  84. package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
  85. package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
  86. package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js +16 -17
  87. package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/domains/anzuUser/components/AUserSystemStatusChip.js +1 -2
  89. package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
  90. package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js +1 -2
  91. package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/domains/anzuUser/components/AUserTabsShell.js +1 -2
  93. package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
  94. package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
  95. package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js +67 -68
  96. package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  97. package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +11 -9
  98. package/dist/domains/anzuUser/composables/anzuUserActions.js +26 -23
  99. package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
  100. package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
  101. package/dist/domains/anzuUser/composables/anzuUserValidations.js +1 -2
  102. package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
  103. package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
  104. package/dist/domains/anzuUser/composables/cachedAnzuUsers.js +1 -2
  105. package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
  106. package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
  107. package/dist/domains/anzuUser/composables/userCrossSystemSearch.js +21 -22
  108. package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
  109. package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
  110. package/dist/domains/anzuUser/composables/userCrossSystemWrites.js +46 -47
  111. package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
  112. package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
  113. package/dist/domains/anzuUser/composables/userSystemDescriptor.js +1 -2
  114. package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
  115. package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
  116. package/dist/domains/anzuUser/composables/userSystemProbe.js +22 -23
  117. package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
  118. package/dist/domains/anzuUser/factory/AnzuUserFactory.js +6 -7
  119. package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
  120. package/dist/domains/anzuUser/filter/anzuUserFilter.js +1 -2
  121. package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
  122. package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
  123. package/dist/domains/anzuUser/store/anzuUserStore.js +1 -2
  124. package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
  125. package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
  126. package/dist/domains/anzuUser/store/userCrossSystemStore.js +1 -2
  127. package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
  128. package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
  129. package/dist/domains/anzuUser/utils/userMetadataDiff.js +1 -2
  130. package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
  131. package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
  132. package/dist/domains/anzuUser/utils/userSystemState.js +1 -2
  133. package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
  134. package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
  135. package/dist/domains/anzuUser/utils/userTabs.js +1 -2
  136. package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
  137. package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
  138. package/dist/domains/api/composables/defineApiClient.js +1 -2
  139. package/dist/domains/api/composables/defineApiClient.js.map +1 -1
  140. package/dist/domains/api/composables/pagination.js +10 -11
  141. package/dist/domains/api/composables/request.d.ts +18 -48
  142. package/dist/domains/api/composables/request.js +1 -2
  143. package/dist/domains/api/composables/request.js.map +1 -1
  144. package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
  145. package/dist/domains/api/composables/useApiFetchByIds.js +29 -30
  146. package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
  147. package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
  148. package/dist/domains/api/composables/useApiFetchItems.js +15 -16
  149. package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
  150. package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
  151. package/dist/domains/api/composables/useApiFetchList.js +35 -36
  152. package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
  153. package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
  154. package/dist/domains/api/composables/useApiFetchListBatch.js +36 -37
  155. package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
  156. package/dist/domains/api/composables/useApiQueryBuilder.js +12 -13
  157. package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
  158. package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
  159. package/dist/domains/api/composables/useApiRequest.js +21 -22
  160. package/dist/domains/api/composables/useApiRequest.js.map +1 -1
  161. package/dist/domains/api/types/SortOrder.js +1 -2
  162. package/dist/domains/api/utils/apiErrors.d.ts +28 -55
  163. package/dist/domains/api/utils/apiErrors.js +20 -21
  164. package/dist/domains/api/utils/apiErrors.js.map +1 -1
  165. package/dist/domains/api/utils/apiHelper.js +4 -5
  166. package/dist/domains/api/utils/listBody.d.ts +22 -43
  167. package/dist/domains/api/utils/listBody.js +9 -10
  168. package/dist/domains/api/utils/listBody.js.map +1 -1
  169. package/dist/domains/api/utils/response.js +1 -2
  170. package/dist/domains/auth/components/Acl.js +1 -2
  171. package/dist/domains/auth/components/Acl.js.map +1 -1
  172. package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js +1 -2
  173. package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
  175. package/dist/domains/auth/composables/aclAllowed.js +6 -7
  176. package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
  177. package/dist/domains/auth/composables/defineAuth.js +40 -41
  178. package/dist/domains/auth/composables/defineAuth.js.map +1 -1
  179. package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
  180. package/dist/domains/auth/composables/refreshSession.js +14 -15
  181. package/dist/domains/auth/composables/refreshSession.js.map +1 -1
  182. package/dist/domains/auth/store/authStore.js +1 -2
  183. package/dist/domains/auth/valueObject/Grant.js +1 -2
  184. package/dist/domains/cached/components/ACachedChip.js +1 -2
  185. package/dist/domains/cached/components/ACachedChip.js.map +1 -1
  186. package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
  187. package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js +7 -8
  188. package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  189. package/dist/domains/cached/components/ACachedUserChip.js +4 -5
  190. package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
  191. package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
  192. package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js +8 -9
  193. package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  194. package/dist/domains/cached/composables/createCachedChip.js +1 -2
  195. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
  196. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js +1 -2
  197. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
  198. package/dist/domains/cached/composables/defineCached.d.ts +13 -11
  199. package/dist/domains/cached/composables/defineCached.js +19 -20
  200. package/dist/domains/cached/composables/defineCached.js.map +1 -1
  201. package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
  202. package/dist/domains/cached/composables/useCachedItem.js +1 -2
  203. package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
  204. package/dist/domains/collab/components/ACollabCountdown.js +1 -2
  205. package/dist/domains/collab/components/ACollabCountdown.vue_vue_type_script_setup_true_lang.js +1 -2
  206. package/dist/domains/collab/components/ACollabLockedByUser.js +1 -2
  207. package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
  208. package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js +8 -9
  209. package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/domains/collab/components/ACollabManagement.js +1 -2
  211. package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js +168 -169
  212. package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  213. package/dist/domains/collab/composables/collabAnyDataChange.js +38 -39
  214. package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
  215. package/dist/domains/collab/composables/collabCurrentUserId.js +1 -2
  216. package/dist/domains/collab/composables/collabEventBus.js +1 -2
  217. package/dist/domains/collab/composables/collabField.d.ts +5 -3
  218. package/dist/domains/collab/composables/collabField.js +37 -38
  219. package/dist/domains/collab/composables/collabField.js.map +1 -1
  220. package/dist/domains/collab/composables/collabHelpers.js +1 -2
  221. package/dist/domains/collab/composables/collabInit.js +65 -62
  222. package/dist/domains/collab/composables/collabInit.js.map +1 -1
  223. package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
  224. package/dist/domains/collab/composables/collabRecovery.js +99 -0
  225. package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
  226. package/dist/domains/collab/composables/collabRoom.js +125 -126
  227. package/dist/domains/collab/composables/collabRoom.js.map +1 -1
  228. package/dist/domains/collab/composables/collabState.d.ts +11 -4
  229. package/dist/domains/collab/composables/collabState.js +38 -30
  230. package/dist/domains/collab/composables/collabState.js.map +1 -1
  231. package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
  232. package/dist/domains/collab/composables/commonAdminCollabOptions.js +5 -6
  233. package/dist/domains/collab/types/Collab.d.ts +31 -5
  234. package/dist/domains/collab/types/Collab.js +24 -13
  235. package/dist/domains/collab/types/Collab.js.map +1 -1
  236. package/dist/domains/customDataForm/components/ACustomDataForm.js +1 -2
  237. package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
  238. package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
  239. package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js +26 -27
  240. package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/domains/customDataForm/components/ACustomDataFormElement.js +1 -2
  242. package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
  243. package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js +25 -26
  244. package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  245. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js +1 -2
  246. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
  247. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
  248. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js +1 -2
  249. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  250. package/dist/domains/customDataForm/composables/useCustomDataForm.js +1 -2
  251. package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
  252. package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
  253. package/dist/domains/customDataForm/types/CustomDataFormElementTypes.js +1 -2
  254. package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
  255. package/dist/domains/dam/api/damAssetApi.js +36 -37
  256. package/dist/domains/dam/api/damAssetApi.js.map +1 -1
  257. package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
  258. package/dist/domains/dam/api/damAssetLicenceApi.js +1 -2
  259. package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
  260. package/dist/domains/dam/api/damConstants.js +1 -2
  261. package/dist/domains/dam/api/damConstants.js.map +1 -1
  262. package/dist/domains/dam/api/damEndPoints.js +1 -2
  263. package/dist/domains/dam/api/damEndPoints.js.map +1 -1
  264. package/dist/domains/dam/api/damImageApi.js +60 -61
  265. package/dist/domains/dam/api/damImageApi.js.map +1 -1
  266. package/dist/domains/dam/api/damImageRoiApi.js +15 -16
  267. package/dist/domains/dam/api/damfetchAssetListByFileIdsMultipleLicences.js +10 -11
  268. package/dist/domains/dam/api/uploadApi.js +1 -2
  269. package/dist/domains/dam/api/uploadApi.js.map +1 -1
  270. package/dist/domains/dam/assetDetail/components/AColorBox.js +1 -2
  271. package/dist/domains/dam/assetDetail/components/AColorBox.vue_vue_type_script_setup_true_lang.js +1 -2
  272. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js +1 -2
  273. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
  274. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
  275. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js +18 -19
  276. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  277. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js +1 -2
  278. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
  279. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js +20 -21
  280. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  281. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js +1 -2
  282. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
  283. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
  284. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js +26 -27
  285. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.js +1 -2
  287. package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.vue_vue_type_script_setup_true_lang.js +1 -2
  288. package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.js +1 -2
  289. package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.vue_vue_type_script_setup_true_lang.js +10 -11
  290. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.js +1 -2
  291. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.vue_vue_type_script_setup_true_lang.js +1 -2
  292. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.js +1 -2
  293. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
  294. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue_vue_type_script_setup_true_lang.js +1 -2
  295. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js +1 -2
  296. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
  297. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js +14 -15
  298. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  299. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js +1 -2
  300. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
  301. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js +26 -27
  302. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  303. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js +1 -2
  304. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
  305. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js +25 -26
  306. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.js +1 -2
  308. package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue_vue_type_script_setup_true_lang.js +5 -6
  309. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js +1 -2
  310. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
  311. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +6 -2
  312. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js +96 -70
  313. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  314. package/dist/domains/dam/assetDetail/components/AssetFileRotate.js +1 -2
  315. package/dist/domains/dam/assetDetail/components/AssetFileRotate.vue_vue_type_script_setup_true_lang.js +5 -6
  316. package/dist/domains/dam/assetDetail/components/AssetImage.js +1 -2
  317. package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
  318. package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +8 -1
  319. package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js +30 -17
  320. package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  321. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js +1 -2
  322. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
  323. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +9 -2
  324. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js +56 -29
  325. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
  326. package/dist/domains/dam/assetDetail/components/AssetInfobox.js +1 -2
  327. package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
  328. package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js +8 -9
  329. package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  330. package/dist/domains/dam/assetDetail/components/AssetMetadata.js +1 -2
  331. package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
  332. package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js +88 -71
  333. package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.js +1 -2
  335. package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js +5 -6
  336. package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js.map +1 -1
  337. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
  338. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js +6 -7
  339. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
  340. package/dist/domains/dam/assetDetail/composables/assetDetailSidebarActionbar.js +1 -2
  341. package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
  342. package/dist/domains/dam/assetDetail/composables/assetDetailView.js +1 -2
  343. package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
  344. package/dist/domains/dam/assetDetail/composables/assetFileFailReason.js +1 -2
  345. package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.d.ts +9 -0
  346. package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.js +18 -0
  347. package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.js.map +1 -0
  348. package/dist/domains/dam/assetDetail/store/assetDetailStore.d.ts +4 -2
  349. package/dist/domains/dam/assetDetail/store/assetDetailStore.js +1 -2
  350. package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
  351. package/dist/domains/dam/assetDetail/utils/assetImageIconsConfig.js +1 -2
  352. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
  353. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js +1 -2
  354. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
  355. package/dist/domains/dam/assetSelect/api/damPodcastApi.js +9 -10
  356. package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
  357. package/dist/domains/dam/assetSelect/components/AAssetListInner.js +1 -2
  358. package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
  359. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +791 -787
  360. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js +148 -149
  361. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  362. package/dist/domains/dam/assetSelect/components/AAssetSelect.js +1 -2
  363. package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
  364. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +396 -393
  365. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js +88 -89
  366. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  367. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js +1 -2
  368. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
  369. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
  370. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js +110 -111
  371. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
  372. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js +1 -2
  373. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
  374. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js +8 -9
  375. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  376. package/dist/domains/dam/assetSelect/components/AssetImagePreview.js +1 -2
  377. package/dist/domains/dam/assetSelect/components/AssetImagePreview.js.map +1 -1
  378. package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue.d.ts +3 -0
  379. package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js +29 -19
  380. package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  381. package/dist/domains/dam/assetSelect/components/AssetSelectFilter.js +1 -2
  382. package/dist/domains/dam/assetSelect/components/AssetSelectFilter.vue_vue_type_script_setup_true_lang.js +16 -17
  383. package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.js +1 -2
  384. package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.vue_vue_type_script_setup_true_lang.js +30 -31
  385. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js +1 -2
  386. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
  387. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
  388. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js +40 -41
  389. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  390. package/dist/domains/dam/assetSelect/components/AssetSelectListTable.js +1 -2
  391. package/dist/domains/dam/assetSelect/components/AssetSelectListTable.vue_vue_type_script_setup_true_lang.js +10 -11
  392. package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.js +1 -2
  393. package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.vue_vue_type_script_setup_true_lang.js +11 -12
  394. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js +1 -2
  395. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
  396. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js +19 -15
  397. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  398. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.js +1 -2
  399. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.js.map +1 -1
  400. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js +6 -5
  401. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  402. package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.js +1 -2
  403. package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +6 -7
  404. package/dist/domains/dam/assetSelect/composables/assetSelectFilterSidebar.js +1 -2
  405. package/dist/domains/dam/assetSelect/composables/assetSelectGridView.js +1 -2
  406. package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.d.ts +2 -0
  407. package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.js +38 -33
  408. package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.js.map +1 -1
  409. package/dist/domains/dam/assetSelect/composables/assetSelectListActions.d.ts +4 -2
  410. package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js +41 -42
  411. package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
  412. package/dist/domains/dam/assetSelect/composables/podcastFilterAndActions.js +1 -2
  413. package/dist/domains/dam/assetSelect/filter/AssetFilter.js +5 -6
  414. package/dist/domains/dam/assetSelect/store/assetSelectStore.d.ts +8 -4
  415. package/dist/domains/dam/assetSelect/store/assetSelectStore.js +30 -31
  416. package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
  417. package/dist/domains/dam/author/api/authorApi.js +18 -19
  418. package/dist/domains/dam/author/api/authorApi.js.map +1 -1
  419. package/dist/domains/dam/author/components/AuthorCreateButton.js +1 -2
  420. package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
  421. package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
  422. package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js +86 -87
  423. package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  424. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js +1 -2
  425. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
  426. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
  427. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js +8 -9
  428. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  429. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js +1 -2
  430. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
  431. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js +5 -6
  432. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  433. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +4 -5
  434. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
  435. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
  436. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +89 -90
  437. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  438. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js +1 -2
  439. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
  440. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
  441. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
  442. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  443. package/dist/domains/dam/author/composables/authorActions.js +6 -7
  444. package/dist/domains/dam/author/composables/authorValidation.js +1 -2
  445. package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
  446. package/dist/domains/dam/author/composables/cachedAuthors.js +13 -14
  447. package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
  448. package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
  449. package/dist/domains/dam/author/composables/cachedUsers.js +13 -14
  450. package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
  451. package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
  452. package/dist/domains/dam/author/composables/damAuthorConfig.js +5 -6
  453. package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
  454. package/dist/domains/dam/author/factory/AuthorFactory.js +8 -9
  455. package/dist/domains/dam/author/filter/AuthorFilter.js +5 -6
  456. package/dist/domains/dam/author/types/DamAuthorType.js +1 -2
  457. package/dist/domains/dam/components/DamAdminAssetLink.js +1 -2
  458. package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
  459. package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js +1 -2
  460. package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  461. package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +13 -8
  462. package/dist/domains/dam/composables/commonAdminCoreDamOptions.js +59 -57
  463. package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
  464. package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
  465. package/dist/domains/dam/composables/damConfigName.js +5 -6
  466. package/dist/domains/dam/composables/damConfigName.js.map +1 -1
  467. package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
  468. package/dist/domains/dam/composables/damNotifications.js +9 -10
  469. package/dist/domains/dam/composables/damNotifications.js.map +1 -1
  470. package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
  471. package/dist/domains/dam/composables/damNotificationsConnection.js +1 -2
  472. package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
  473. package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
  474. package/dist/domains/dam/composables/damNotificationsEventBus.js +1 -2
  475. package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
  476. package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
  477. package/dist/domains/dam/composables/extSystemIdForCached.js +1 -2
  478. package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
  479. package/dist/domains/dam/composables/uploadValidations.js +4 -5
  480. package/dist/domains/dam/config/api/damAssetCustomFormApi.js +7 -8
  481. package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
  482. package/dist/domains/dam/config/api/damConfigApi.js +9 -10
  483. package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
  484. package/dist/domains/dam/config/composables/acceptTypeAndSizeHelper.js +1 -2
  485. package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
  486. package/dist/domains/dam/config/composables/damConfigState.js +58 -59
  487. package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
  488. package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
  489. package/dist/domains/dam/config/store/damConfigStore.js +1 -2
  490. package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
  491. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
  492. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js +1 -2
  493. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
  494. package/dist/domains/dam/cropper/components/ACropper.js +1 -2
  495. package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
  496. package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
  497. package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js +3 -4
  498. package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  499. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js +1 -2
  500. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
  501. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js +23 -24
  502. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  503. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.js +1 -2
  504. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.vue_vue_type_script_setup_true_lang.js +5 -6
  505. package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +11 -14
  506. package/dist/domains/dam/cropper/store/imageRoiStore.js +1 -2
  507. package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
  508. package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
  509. package/dist/domains/dam/cropper/utils/cropperGeometry.js +2 -3
  510. package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
  511. package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
  512. package/dist/domains/dam/cropper/utils/cropperJsService.js +11 -5
  513. package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
  514. package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
  515. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
  516. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js +1 -2
  517. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
  518. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js +1 -2
  519. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
  520. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js +46 -47
  521. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  522. package/dist/domains/dam/imageWidget/components/AImagePublicInput.js +1 -2
  523. package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
  524. package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js +74 -75
  525. package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  526. package/dist/domains/dam/imageWidget/components/AImageWidget.js +1 -2
  527. package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
  528. package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js +39 -40
  529. package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  530. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js +1 -2
  531. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
  532. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js +25 -26
  533. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  534. package/dist/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.js +1 -2
  535. package/dist/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.vue_vue_type_script_setup_true_lang.js +13 -14
  536. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js +4 -5
  537. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js.map +1 -1
  538. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
  539. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js +17 -18
  540. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js +4 -5
  541. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js.map +1 -1
  542. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
  543. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js +21 -22
  544. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js +1 -2
  545. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
  546. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
  547. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js +59 -60
  548. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  549. package/dist/domains/dam/imageWidget/components/ImageMassOperations.js +1 -2
  550. package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
  551. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
  552. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js +35 -36
  553. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  554. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js +1 -2
  555. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
  556. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
  557. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js +379 -380
  558. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  559. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js +1 -2
  560. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
  561. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +403 -400
  562. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js +149 -150
  563. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  564. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js +1 -2
  565. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
  566. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +385 -382
  567. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js +79 -80
  568. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  569. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js +1 -2
  570. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
  571. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js +23 -24
  572. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js +1 -2
  574. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
  575. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js +14 -15
  576. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  577. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.js +1 -2
  578. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
  579. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js +1 -2
  580. package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js +10 -11
  581. package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
  582. package/dist/domains/dam/imageWidget/composables/imageActions.js +1 -2
  583. package/dist/domains/dam/imageWidget/composables/imageApiCms.js +19 -20
  584. package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
  585. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +13 -14
  586. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js +53 -54
  587. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
  588. package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js +15 -16
  589. package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
  590. package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js +1 -2
  591. package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
  592. package/dist/domains/dam/imageWidget/store/imageStore.js +1 -2
  593. package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
  594. package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
  595. package/dist/domains/dam/imageWidget/utils/damImage.js +1 -2
  596. package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
  597. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
  598. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js +1 -2
  599. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
  600. package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
  601. package/dist/domains/dam/imageWidget/utils/imageSaves.js +1 -2
  602. package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
  603. package/dist/domains/dam/imageWidget/utils/imageWidgetInkectionKeys.js +1 -2
  604. package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js +1 -2
  605. package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
  606. package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
  607. package/dist/domains/dam/imageWidget/utils/waitLimit.js +4 -5
  608. package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
  609. package/dist/domains/dam/keyword/api/keywordApi.js +18 -19
  610. package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
  611. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js +1 -2
  612. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
  613. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
  614. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +8 -9
  615. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  616. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js +1 -2
  617. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
  618. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
  619. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js +8 -9
  620. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  621. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +4 -5
  622. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
  623. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
  624. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +93 -94
  625. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  626. package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
  627. package/dist/domains/dam/keyword/composables/cachedKeywords.js +13 -14
  628. package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
  629. package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
  630. package/dist/domains/dam/keyword/composables/damKeywordConfig.js +5 -6
  631. package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
  632. package/dist/domains/dam/keyword/composables/keywordActions.js +6 -7
  633. package/dist/domains/dam/keyword/factory/KeywordFactory.js +7 -8
  634. package/dist/domains/dam/keyword/factory/KeywordFactory.js.map +1 -1
  635. package/dist/domains/dam/keyword/filter/KeywordFilter.js +7 -8
  636. package/dist/domains/dam/types/Asset.d.ts +4 -2
  637. package/dist/domains/dam/types/Asset.js +1 -2
  638. package/dist/domains/dam/types/Asset.js.map +1 -1
  639. package/dist/domains/dam/types/AssetFile.d.ts +1 -1
  640. package/dist/domains/dam/types/AssetFile.js +1 -2
  641. package/dist/domains/dam/types/AssetFile.js.map +1 -1
  642. package/dist/domains/dam/types/AssetLicence.d.ts +7 -0
  643. package/dist/domains/dam/types/AssetSelect.js +1 -2
  644. package/dist/domains/dam/types/DamConfig.js +1 -2
  645. package/dist/domains/dam/types/MediaAware.js +1 -2
  646. package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
  647. package/dist/domains/dam/types/UploadQueue.js +1 -2
  648. package/dist/domains/dam/types/UploadQueue.js.map +1 -1
  649. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js +1 -2
  650. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
  651. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js +10 -11
  652. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  653. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js +1 -2
  654. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
  655. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
  656. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js +84 -85
  657. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  658. package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.js +1 -2
  659. package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue_vue_type_script_setup_true_lang.js +7 -8
  660. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js +1 -2
  661. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
  662. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js +84 -85
  663. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  664. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js +1 -2
  665. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
  666. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js +60 -61
  667. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  668. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js +1 -2
  669. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
  670. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
  671. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js +17 -18
  672. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  673. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js +1 -2
  674. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
  675. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
  676. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js +14 -15
  677. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  678. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js +1 -2
  679. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
  680. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js +30 -31
  681. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  682. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js +1 -2
  683. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
  684. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
  685. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js +28 -29
  686. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  687. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js +1 -2
  688. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
  689. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
  690. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js +109 -110
  691. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  692. package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.js +1 -2
  693. package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.vue_vue_type_script_setup_true_lang.js +1 -2
  694. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
  695. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js +18 -19
  696. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
  697. package/dist/domains/dam/uploadQueue/composables/assetSuggestions.js +1 -2
  698. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
  699. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js +1 -2
  700. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
  701. package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
  702. package/dist/domains/dam/uploadQueue/composables/uploadMeter.js +1 -2
  703. package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
  704. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
  705. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js +21 -22
  706. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
  707. package/dist/domains/dam/uploadQueue/composables/uploadQueueMassOperations.js +1 -2
  708. package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
  709. package/dist/domains/dam/uploadQueue/composables/uploadService.js +40 -41
  710. package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
  711. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
  712. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js +1 -2
  713. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
  714. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
  715. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js +55 -56
  716. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
  717. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
  718. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js +1 -2
  719. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
  720. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
  721. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js +1 -2
  722. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
  723. package/dist/domains/dam/uploadQueue/factory/UploadQueueItemFactory.js +1 -2
  724. package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
  725. package/dist/domains/dam/uploadQueue/presets/queuePresets.js +16 -17
  726. package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
  727. package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
  728. package/dist/domains/dam/uploadQueue/presets/uploadPresets.js +9 -10
  729. package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
  730. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
  731. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js +1 -2
  732. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
  733. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
  734. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js +3 -4
  735. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
  736. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
  737. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js +130 -131
  738. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
  739. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
  740. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js +94 -95
  741. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
  742. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
  743. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js +1 -2
  744. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
  745. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
  746. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js +1 -2
  747. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
  748. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
  749. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js +167 -168
  750. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
  751. package/dist/domains/dam/uploadQueue/utils/mimeTypeHelper.js +1 -2
  752. package/dist/domains/dam/user/api/assetLicenceApi.d.ts +2 -1
  753. package/dist/domains/dam/user/api/assetLicenceApi.js +5 -6
  754. package/dist/domains/dam/user/api/assetLicenceApi.js.map +1 -1
  755. package/dist/domains/dam/user/api/assetLicenceGroupApi.js +1 -2
  756. package/dist/domains/dam/user/api/extSystemApi.js +1 -2
  757. package/dist/domains/dam/user/api/userApi.d.ts +2 -2
  758. package/dist/domains/dam/user/api/userApi.js +26 -27
  759. package/dist/domains/dam/user/api/userApi.js.map +1 -1
  760. package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.js +1 -2
  761. package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
  762. package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.js +1 -2
  763. package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +10 -11
  764. package/dist/domains/dam/user/components/DamDistributionServiceSelect.js +1 -2
  765. package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
  766. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
  767. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js +4 -5
  768. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  769. package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.js +1 -2
  770. package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +8 -9
  771. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js +1 -2
  772. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
  773. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
  774. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js +4 -5
  775. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  776. package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.js +1 -2
  777. package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
  778. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js +1 -2
  779. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
  780. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
  781. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +11 -12
  782. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  783. package/dist/domains/dam/user/composables/assetLicenceActions.js +1 -2
  784. package/dist/domains/dam/user/composables/assetLicenceGroupActions.js +1 -2
  785. package/dist/domains/dam/user/composables/cachedAssetLicences.d.ts +17 -0
  786. package/dist/domains/dam/user/composables/cachedAssetLicences.js +35 -0
  787. package/dist/domains/dam/user/composables/cachedAssetLicences.js.map +1 -0
  788. package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
  789. package/dist/domains/dam/user/composables/damUserSelectActions.js +1 -2
  790. package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
  791. package/dist/domains/dam/user/composables/extSystemActions.js +1 -2
  792. package/dist/domains/dam/user/filter/AssetLicenceFilter.js +7 -8
  793. package/dist/domains/dam/user/filter/AssetLicenceGroupFilter.js +7 -8
  794. package/dist/domains/dam/user/filter/DamUserFilter.js +1 -2
  795. package/dist/domains/dam/user/filter/ExtSystemFilter.js +7 -8
  796. package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
  797. package/dist/domains/dam/user/types/DamDistributionServiceType.js +1 -2
  798. package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
  799. package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
  800. package/dist/domains/dam/user/types/DamExternalProviderAssetType.js +1 -2
  801. package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
  802. package/dist/domains/filters/bookmarks/api/userAdminConfigApi.d.ts +1 -3
  803. package/dist/domains/filters/bookmarks/api/userAdminConfigApi.js +14 -15
  804. package/dist/domains/filters/bookmarks/api/userAdminConfigApi.js.map +1 -1
  805. package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.js +1 -2
  806. package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.vue_vue_type_script_setup_true_lang.js +1 -2
  807. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js +1 -2
  808. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
  809. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js +108 -109
  810. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  811. package/dist/domains/filters/bookmarks/components/FilterBookmarks.js +1 -2
  812. package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js +65 -66
  813. package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js.map +1 -1
  814. package/dist/domains/filters/bookmarks/factory/UserAdminConfigFactory.js +7 -8
  815. package/dist/domains/filters/bookmarks/filter/UserAdminConfigFilter.js +1 -2
  816. package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
  817. package/dist/domains/filters/bookmarks/store/bookmarksStore.js +9 -10
  818. package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
  819. package/dist/domains/filters/bookmarks/types/UserAdminConfig.js +1 -2
  820. package/dist/domains/filters/components/AFilterAdvancedButton.js +1 -2
  821. package/dist/domains/filters/components/AFilterAdvancedButton.vue_vue_type_script_setup_true_lang.js +1 -2
  822. package/dist/domains/filters/components/AFilterBooleanSelect.js +1 -2
  823. package/dist/domains/filters/components/AFilterBooleanSelect.vue_vue_type_script_setup_true_lang.js +1 -2
  824. package/dist/domains/filters/components/AFilterDatetimePicker.js +1 -2
  825. package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
  826. package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js +14 -15
  827. package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  828. package/dist/domains/filters/components/AFilterEmpty.js +1 -2
  829. package/dist/domains/filters/components/AFilterEmpty.vue_vue_type_script_setup_true_lang.js +1 -2
  830. package/dist/domains/filters/components/AFilterInteger.js +1 -2
  831. package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
  832. package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js +11 -12
  833. package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  834. package/dist/domains/filters/components/AFilterResetButton.js +1 -2
  835. package/dist/domains/filters/components/AFilterResetButton.vue_vue_type_script_setup_true_lang.js +1 -2
  836. package/dist/domains/filters/components/AFilterString.js +1 -2
  837. package/dist/domains/filters/components/AFilterString.js.map +1 -1
  838. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js +5 -6
  839. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
  840. package/dist/domains/filters/components/AFilterSubmitButton.js +1 -2
  841. package/dist/domains/filters/components/AFilterSubmitButton.vue_vue_type_script_setup_true_lang.js +1 -2
  842. package/dist/domains/filters/components/AFilterTimeInterval.js +4 -5
  843. package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
  844. package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
  845. package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js +91 -92
  846. package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
  847. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js +1 -2
  848. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
  849. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js +16 -17
  850. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  851. package/dist/domains/filters/components/AFilterWrapper.js +1 -2
  852. package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
  853. package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
  854. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +95 -95
  855. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  856. package/dist/domains/filters/components/AFilterWrapperSidebar.js +1 -2
  857. package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
  858. package/dist/domains/filters/components/AFilterWrapperSidebar.vue_vue_type_script_setup_true_lang.js +7 -8
  859. package/dist/domains/filters/components/FilterDetailItem.js +1 -2
  860. package/dist/domains/filters/components/FilterDetailItem.vue_vue_type_script_setup_true_lang.js +10 -11
  861. package/dist/domains/filters/components/FilterDetailItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  862. package/dist/domains/filters/components/FiltersSelected.js +1 -2
  863. package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
  864. package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js +13 -14
  865. package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
  866. package/dist/domains/filters/composables/filterFactory.d.ts +28 -9
  867. package/dist/domains/filters/composables/filterFactory.js +179 -162
  868. package/dist/domains/filters/composables/filterFactory.js.map +1 -1
  869. package/dist/domains/filters/composables/filterTimeIntervalTools.js +1 -2
  870. package/dist/domains/filters/datatable/components/ADatatableConfigButton.js +1 -2
  871. package/dist/domains/filters/datatable/components/ADatatableConfigButton.vue_vue_type_script_setup_true_lang.js +1 -2
  872. package/dist/domains/filters/datatable/components/ADatatableOrdering.js +1 -2
  873. package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
  874. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +25 -24
  875. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
  876. package/dist/domains/filters/datatable/components/ADatatablePagination.js +1 -2
  877. package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
  878. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +7 -10
  879. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  880. package/dist/domains/filters/datatable/composables/createDatatableColumnsConfig.js +13 -14
  881. package/dist/domains/filters/datatable/utils/datatable.js +1 -2
  882. package/dist/domains/filters/datatable/utils/datatableColumns.js +1 -2
  883. package/dist/domains/filters/utils/filterInjectionKeys.js +1 -2
  884. package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
  885. package/dist/domains/form/components/AFormDatetimePicker.js +1 -2
  886. package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
  887. package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
  888. package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js +19 -20
  889. package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  890. package/dist/domains/form/components/AFormFlagDatetimePicker.js +1 -2
  891. package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
  892. package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
  893. package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js +23 -24
  894. package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  895. package/dist/domains/form/components/AFormRemoteCheckbox.js +1 -2
  896. package/dist/domains/form/components/AFormRemoteCheckbox.vue_vue_type_script_setup_true_lang.js +9 -10
  897. package/dist/domains/form/components/AFormRemoteSwitch.js +1 -2
  898. package/dist/domains/form/components/AFormRemoteSwitch.vue_vue_type_script_setup_true_lang.js +9 -10
  899. package/dist/domains/form/components/AFormSwitch.js +1 -2
  900. package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
  901. package/dist/domains/form/components/AFormSwitch.vue_vue_type_script_setup_true_lang.js +12 -13
  902. package/dist/domains/form/components/AFormTextField.js +1 -2
  903. package/dist/domains/form/components/AFormTextField.js.map +1 -1
  904. package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
  905. package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js +14 -15
  906. package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  907. package/dist/domains/form/components/AFormTextarea.js +1 -2
  908. package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
  909. package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js +21 -22
  910. package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  911. package/dist/domains/form/components/AFormValueObjectOptionsSelect.js +1 -2
  912. package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
  913. package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js +17 -18
  914. package/dist/domains/form/components/ASystemEntityScope.js +1 -2
  915. package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
  916. package/dist/domains/form/components/ASystemEntityScope.vue_vue_type_script_setup_true_lang.js +1 -2
  917. package/dist/domains/job/api/jobApi.js +9 -10
  918. package/dist/domains/job/api/jobApi.js.map +1 -1
  919. package/dist/domains/job/components/AJobBaseCreateForm.js +1 -2
  920. package/dist/domains/job/components/AJobBaseCreateForm.vue_vue_type_script_setup_true_lang.js +8 -9
  921. package/dist/domains/job/components/AJobDetailCommon.js +1 -2
  922. package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
  923. package/dist/domains/job/components/AJobDetailCommon.vue_vue_type_script_setup_true_lang.js +9 -10
  924. package/dist/domains/job/components/AJobDetailCommon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  925. package/dist/domains/job/components/AJobPriorityChip.js +1 -2
  926. package/dist/domains/job/components/AJobPriorityChip.vue_vue_type_script_setup_true_lang.js +5 -6
  927. package/dist/domains/job/components/AJobStatusChip.js +1 -2
  928. package/dist/domains/job/components/AJobStatusChip.vue_vue_type_script_setup_true_lang.js +1 -2
  929. package/dist/domains/job/composables/jobPriority.js +1 -2
  930. package/dist/domains/job/factory/JobFactory.js +7 -8
  931. package/dist/domains/job/valueObject/JobBaseResource.js +1 -2
  932. package/dist/domains/job/valueObject/JobStatus.js +1 -2
  933. package/dist/domains/listEditor/components/AListEditor.js +1 -2
  934. package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
  935. package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js +10 -11
  936. package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  937. package/dist/domains/listEditor/components/ANestedSortableListEditor.js +1 -2
  938. package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
  939. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
  940. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js +49 -50
  941. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  942. package/dist/domains/listEditor/components/ASortableListEditor.js +1 -2
  943. package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
  944. package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
  945. package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js +51 -52
  946. package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  947. package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js +4 -5
  948. package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js.map +1 -1
  949. package/dist/domains/listEditor/components/internal/LeChangeParentDialog.vue_vue_type_script_setup_true_lang.js +1 -2
  950. package/dist/domains/listEditor/components/internal/LeDeleteDialog.js +1 -2
  951. package/dist/domains/listEditor/components/internal/LeDeleteDialog.vue_vue_type_script_setup_true_lang.js +1 -2
  952. package/dist/domains/listEditor/components/internal/LeDragHandle.js +1 -2
  953. package/dist/domains/listEditor/components/internal/LeDragHandle.vue_vue_type_script_setup_true_lang.js +1 -2
  954. package/dist/domains/listEditor/components/internal/LeEmptyState.js +1 -2
  955. package/dist/domains/listEditor/components/internal/LeEmptyState.vue_vue_type_script_setup_true_lang.js +1 -2
  956. package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.js +1 -2
  957. package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.vue_vue_type_script_setup_true_lang.js +1 -2
  958. package/dist/domains/listEditor/components/internal/LeNestedRow.js +1 -2
  959. package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js +24 -25
  960. package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  961. package/dist/domains/listEditor/components/internal/LeStatus.js +1 -2
  962. package/dist/domains/listEditor/components/internal/LeStatus.vue_vue_type_script_setup_true_lang.js +1 -2
  963. package/dist/domains/listEditor/components/internal/LeUnsavedLabel.js +1 -2
  964. package/dist/domains/listEditor/components/internal/LeUnsavedLabel.vue_vue_type_script_setup_true_lang.js +1 -2
  965. package/dist/domains/listEditor/components/internal/constants.js +1 -2
  966. package/dist/domains/listEditor/composables/useContainerWidth.js +1 -2
  967. package/dist/domains/listEditor/composables/useDeleteDialog.js +1 -2
  968. package/dist/domains/listEditor/composables/useDragInstruction.js +1 -2
  969. package/dist/domains/listEditor/composables/useInlineEditing.js +1 -2
  970. package/dist/domains/listEditor/composables/useIsTouchDevice.js +1 -2
  971. package/dist/domains/listEditor/composables/useKeyboardNav.js +2 -3
  972. package/dist/domains/listEditor/composables/useKeyboardNav.js.map +1 -1
  973. package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
  974. package/dist/domains/listEditor/composables/useListEditorController.js +16 -17
  975. package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
  976. package/dist/domains/listEditor/composables/useListEditorScopeValidity.js +1 -2
  977. package/dist/domains/listEditor/composables/useListEditorStateScope.js +1 -2
  978. package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
  979. package/dist/domains/listEditor/composables/useNestedListEditor.js +1 -2
  980. package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
  981. package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
  982. package/dist/domains/listEditor/composables/useNestedListEditorController.js +19 -20
  983. package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
  984. package/dist/domains/listEditor/composables/useReorderMode.js +1 -2
  985. package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
  986. package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
  987. package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
  988. package/dist/domains/listEditor/utils/listEditorLoader.js +1 -2
  989. package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
  990. package/dist/domains/listEditor/utils/positions.js +1 -2
  991. package/dist/domains/listEditor/utils/resolveCompactText.js +1 -2
  992. package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
  993. package/dist/domains/listEditor/utils/revealInvalidRows.js +1 -2
  994. package/dist/domains/listEditor/utils/tempId.js +1 -2
  995. package/dist/domains/log/api/logApi.d.ts +2 -3
  996. package/dist/domains/log/api/logApi.js +6 -7
  997. package/dist/domains/log/api/logApi.js.map +1 -1
  998. package/dist/domains/log/components/ALogDatatable.js +1 -2
  999. package/dist/domains/log/components/ALogDatatable.js.map +1 -1
  1000. package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js +28 -29
  1001. package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1002. package/dist/domains/log/components/ALogDetail.js +4 -5
  1003. package/dist/domains/log/components/ALogDetail.js.map +1 -1
  1004. package/dist/domains/log/components/ALogDetail.vue_vue_type_script_setup_true_lang.js +5 -6
  1005. package/dist/domains/log/components/ALogDetailView.js +1 -2
  1006. package/dist/domains/log/components/ALogDetailView.js.map +1 -1
  1007. package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
  1008. package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js +10 -11
  1009. package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1010. package/dist/domains/log/components/ALogFilter.js +1 -2
  1011. package/dist/domains/log/components/ALogFilter.js.map +1 -1
  1012. package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js +8 -9
  1013. package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1014. package/dist/domains/log/components/ALogLevelChip.js +1 -2
  1015. package/dist/domains/log/components/ALogLevelChip.vue_vue_type_script_setup_true_lang.js +1 -2
  1016. package/dist/domains/log/components/ALogListView.js +1 -2
  1017. package/dist/domains/log/components/ALogListView.js.map +1 -1
  1018. package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
  1019. package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js +1 -2
  1020. package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1021. package/dist/domains/log/composables/logActions.d.ts +4 -5
  1022. package/dist/domains/log/composables/logActions.js +1 -2
  1023. package/dist/domains/log/composables/logActions.js.map +1 -1
  1024. package/dist/domains/log/composables/logType.d.ts +6 -7
  1025. package/dist/domains/log/composables/logType.js +1 -2
  1026. package/dist/domains/log/composables/logType.js.map +1 -1
  1027. package/dist/domains/log/filter/logFilter.d.ts +8 -11
  1028. package/dist/domains/log/filter/logFilter.js +16 -17
  1029. package/dist/domains/log/filter/logFilter.js.map +1 -1
  1030. package/dist/domains/log/valueObject/LogLevel.js +6 -7
  1031. package/dist/domains/log/valueObject/LogLevel.js.map +1 -1
  1032. package/dist/domains/permission/components/APermissionEditor.js +1 -2
  1033. package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
  1034. package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
  1035. package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js +28 -29
  1036. package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1037. package/dist/domains/permission/components/APermissionGrantEditor.js +1 -2
  1038. package/dist/domains/permission/components/APermissionGrantEditor.vue_vue_type_script_setup_true_lang.js +1 -2
  1039. package/dist/domains/permission/components/APermissionValueChip.js +1 -2
  1040. package/dist/domains/permission/components/APermissionValueChip.vue_vue_type_script_setup_true_lang.js +1 -2
  1041. package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
  1042. package/dist/domains/permission/composables/permissionActions.js +9 -10
  1043. package/dist/domains/permission/composables/permissionActions.js.map +1 -1
  1044. package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
  1045. package/dist/domains/permission/config/api/permissionConfigApi.js +1 -2
  1046. package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
  1047. package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
  1048. package/dist/domains/permission/config/composables/permissionConfigActions.js +9 -10
  1049. package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
  1050. package/dist/domains/permission/config/factory/PermissionConfigFactory.js +1 -2
  1051. package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
  1052. package/dist/domains/permission/config/store/permissionConfigStore.js +1 -2
  1053. package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
  1054. package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
  1055. package/dist/domains/permission/group/api/permissionGroupApi.js +5 -6
  1056. package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
  1057. package/dist/domains/permission/group/components/APermissionGroupDatatable.js +1 -2
  1058. package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
  1059. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
  1060. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js +41 -42
  1061. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1062. package/dist/domains/permission/group/components/APermissionGroupDetail.js +1 -2
  1063. package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
  1064. package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
  1065. package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js +13 -14
  1066. package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1067. package/dist/domains/permission/group/components/APermissionGroupFilter.js +1 -2
  1068. package/dist/domains/permission/group/components/APermissionGroupFilter.vue_vue_type_script_setup_true_lang.js +11 -12
  1069. package/dist/domains/permission/group/components/APermissionGroupManage.js +1 -2
  1070. package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
  1071. package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
  1072. package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js +8 -9
  1073. package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1074. package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.js +1 -2
  1075. package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +7 -8
  1076. package/dist/domains/permission/group/composables/cachedPermissionGroups.js +1 -2
  1077. package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
  1078. package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
  1079. package/dist/domains/permission/group/composables/permissionGroupActions.js +15 -16
  1080. package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
  1081. package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
  1082. package/dist/domains/permission/group/composables/permissionGroupValidations.js +1 -2
  1083. package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
  1084. package/dist/domains/permission/group/factory/PermissionGroupFactory.js +1 -2
  1085. package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
  1086. package/dist/domains/permission/group/filter/permissionGroupFilter.js +1 -2
  1087. package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
  1088. package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
  1089. package/dist/domains/permission/group/store/permissionGroupStore.js +1 -2
  1090. package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
  1091. package/dist/domains/permission/valueObject/GrantOrigin.js +1 -2
  1092. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js +1 -2
  1093. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
  1094. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +7 -8
  1095. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1096. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js +1 -2
  1097. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
  1098. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js +9 -10
  1099. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1100. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js +1 -2
  1101. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
  1102. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +15 -16
  1103. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1104. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.js +1 -2
  1105. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
  1106. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +27 -28
  1107. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
  1108. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js +27 -28
  1109. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
  1110. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.js +1 -2
  1111. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
  1112. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js +56 -57
  1113. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1114. package/dist/domains/subjectSelect/components/ASubjectSelect.js +1 -2
  1115. package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
  1116. package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js +82 -83
  1117. package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1118. package/dist/domains/subjectSelect/composables/useSubjectSelect.js +55 -54
  1119. package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
  1120. package/dist/domains/subjectSelect/utils/selectStrategies.js +1 -2
  1121. package/dist/domains/system/appShell/components/AActionbar.js +1 -2
  1122. package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
  1123. package/dist/domains/system/appShell/components/AActionbar.vue_vue_type_script_setup_true_lang.js +1 -2
  1124. package/dist/domains/system/appShell/components/AActionbarTarget.js +1 -2
  1125. package/dist/domains/system/appShell/components/AActionbarTarget.vue_vue_type_script_setup_true_lang.js +1 -2
  1126. package/dist/domains/system/appShell/components/ALayoutLoader.js +1 -2
  1127. package/dist/domains/system/appShell/components/ALayoutLoader.vue_vue_type_script_setup_true_lang.js +1 -2
  1128. package/dist/domains/system/appShell/components/ALayoutSwitch.js +1 -2
  1129. package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
  1130. package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
  1131. package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js +1 -2
  1132. package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1133. package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
  1134. package/dist/domains/system/appShell/composables/teleportSlot.js +1 -2
  1135. package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
  1136. package/dist/domains/system/components/AAdminSwitcher.js +1 -2
  1137. package/dist/domains/system/components/AAdminSwitcher.vue_vue_type_script_setup_true_lang.js +1 -2
  1138. package/dist/domains/system/components/AAlerts.js +1 -2
  1139. package/dist/domains/system/components/AAlerts.js.map +1 -1
  1140. package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js +1 -2
  1141. package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1142. package/dist/domains/system/components/ALanguageSelect.js +4 -5
  1143. package/dist/domains/system/components/ALanguageSelect.js.map +1 -1
  1144. package/dist/domains/system/components/ALanguageSelect.vue_vue_type_script_setup_true_lang.js +11 -12
  1145. package/dist/domains/system/components/AThemeSelect.js +1 -2
  1146. package/dist/domains/system/components/AThemeSelect.vue_vue_type_script_setup_true_lang.js +1 -2
  1147. package/dist/domains/system/composables/alerts.js +1 -2
  1148. package/dist/domains/system/composables/alerts.js.map +1 -1
  1149. package/dist/domains/system/composables/alertsQueue.js +1 -2
  1150. package/dist/domains/system/composables/breadcrumbs.d.ts +6 -6
  1151. package/dist/domains/system/composables/breadcrumbs.js +8 -9
  1152. package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
  1153. package/dist/domains/system/composables/languageSettings.js +1 -2
  1154. package/dist/domains/system/composables/languageSettings.js.map +1 -1
  1155. package/dist/domains/system/composables/loginStatus.js +1 -2
  1156. package/dist/domains/system/composables/loginStatus.js.map +1 -1
  1157. package/dist/domains/system/composables/navigationError.d.ts +6 -8
  1158. package/dist/domains/system/composables/navigationError.js +1 -2
  1159. package/dist/domains/system/composables/navigationError.js.map +1 -1
  1160. package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
  1161. package/dist/domains/system/composables/pageNavigation.js +1 -2
  1162. package/dist/domains/system/composables/pageNavigation.js.map +1 -1
  1163. package/dist/domains/system/composables/recordActions.d.ts +33 -0
  1164. package/dist/domains/system/composables/recordActions.js +32 -0
  1165. package/dist/domains/system/composables/recordActions.js.map +1 -0
  1166. package/dist/domains/system/composables/recordPage.d.ts +26 -31
  1167. package/dist/domains/system/composables/recordPage.js +71 -70
  1168. package/dist/domains/system/composables/recordPage.js.map +1 -1
  1169. package/dist/domains/system/composables/routeHistory.d.ts +4 -5
  1170. package/dist/domains/system/composables/routeHistory.js +34 -28
  1171. package/dist/domains/system/composables/routeHistory.js.map +1 -1
  1172. package/dist/domains/system/composables/sentry.js +1 -2
  1173. package/dist/domains/system/composables/sentry.js.map +1 -1
  1174. package/dist/domains/system/composables/themeSettings.js +1 -2
  1175. package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
  1176. package/dist/domains/system/composables/useDebugFeatures.js +1 -2
  1177. package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
  1178. package/dist/domains/system/composables/useUnreleasedFeatures.js +1 -2
  1179. package/dist/domains/system/composables/useUserActivity.js +1 -2
  1180. package/dist/domains/system/flags/components/FlagCountry.js +1 -2
  1181. package/dist/domains/system/flags/components/FlagCountry.vue_vue_type_script_setup_true_lang.js +1 -2
  1182. package/dist/domains/system/flags/components/FlagEmpty.js +1 -2
  1183. package/dist/domains/system/flags/components/FlagEn.js +1 -2
  1184. package/dist/domains/system/flags/components/FlagSk.js +1 -2
  1185. package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
  1186. package/dist/domains/system/store/datatablePageStore.js +11 -5
  1187. package/dist/domains/system/store/datatablePageStore.js.map +1 -1
  1188. package/dist/domains/system/systemBar/components/ASystemBar.js +1 -2
  1189. package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
  1190. package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js +13 -14
  1191. package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1192. package/dist/domains/system/systemBar/components/ASystemBarNewVersion.js +1 -2
  1193. package/dist/domains/system/systemBar/components/ASystemBarNewVersion.vue_vue_type_script_setup_true_lang.js +1 -2
  1194. package/dist/domains/system/systemBar/composables/systemBar.js +1 -2
  1195. package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
  1196. package/dist/domains/system/systemBar/utils/appReload.js +7 -8
  1197. package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
  1198. package/dist/domains/system/systemBar/utils/pageReload.js +1 -2
  1199. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js +1 -2
  1200. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
  1201. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
  1202. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js +1 -2
  1203. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1204. package/dist/domains/ui/buttons/action/components/AActionCreateButton.js +1 -2
  1205. package/dist/domains/ui/buttons/action/components/AActionCreateButton.vue_vue_type_script_setup_true_lang.js +1 -2
  1206. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js +1 -2
  1207. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
  1208. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js +7 -8
  1209. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1210. package/dist/domains/ui/buttons/action/components/AActionEditButton.js +1 -2
  1211. package/dist/domains/ui/buttons/action/components/AActionEditButton.vue_vue_type_script_setup_true_lang.js +5 -6
  1212. package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.js +1 -2
  1213. package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.vue_vue_type_script_setup_true_lang.js +8 -9
  1214. package/dist/domains/ui/buttons/action/components/AActionSaveButton.js +1 -2
  1215. package/dist/domains/ui/buttons/action/components/AActionSaveButton.vue_vue_type_script_setup_true_lang.js +5 -6
  1216. package/dist/domains/ui/buttons/components/ABtnSplit.js +1 -2
  1217. package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
  1218. package/dist/domains/ui/buttons/components/ABtnSplit.vue_vue_type_script_setup_true_lang.js +1 -2
  1219. package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.js +1 -2
  1220. package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.vue_vue_type_script_setup_true_lang.js +8 -9
  1221. package/dist/domains/ui/buttons/table/components/ATableDetailButton.js +1 -2
  1222. package/dist/domains/ui/buttons/table/components/ATableDetailButton.vue_vue_type_script_setup_true_lang.js +4 -5
  1223. package/dist/domains/ui/buttons/table/components/ATableEditButton.js +1 -2
  1224. package/dist/domains/ui/buttons/table/components/ATableEditButton.vue_vue_type_script_setup_true_lang.js +4 -5
  1225. package/dist/domains/ui/components/AAnzuUserAvatar.js +1 -2
  1226. package/dist/domains/ui/components/AAnzuUserAvatar.vue_vue_type_script_setup_true_lang.js +1 -2
  1227. package/dist/domains/ui/components/AAvatarColorPicker.js +1 -2
  1228. package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
  1229. package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js +1 -2
  1230. package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1231. package/dist/domains/ui/components/ABooleanSelect.js +1 -2
  1232. package/dist/domains/ui/components/ABooleanSelect.vue_vue_type_script_setup_true_lang.js +1 -2
  1233. package/dist/domains/ui/components/ABooleanValue.js +1 -2
  1234. package/dist/domains/ui/components/ABooleanValue.vue_vue_type_script_setup_true_lang.js +1 -2
  1235. package/dist/domains/ui/components/ACard.js +1 -2
  1236. package/dist/domains/ui/components/ACard.js.map +1 -1
  1237. package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
  1238. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +7 -4
  1239. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1240. package/dist/domains/ui/components/ACardLoader.js +1 -2
  1241. package/dist/domains/ui/components/ACardLoader.js.map +1 -1
  1242. package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
  1243. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +14 -9
  1244. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1245. package/dist/domains/ui/components/AChipNoLink.js +1 -2
  1246. package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
  1247. package/dist/domains/ui/components/AChipNoLink.vue_vue_type_script_setup_true_lang.js +1 -2
  1248. package/dist/domains/ui/components/ACopyText.js +1 -2
  1249. package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
  1250. package/dist/domains/ui/components/ACopyText.vue_vue_type_script_setup_true_lang.js +7 -8
  1251. package/dist/domains/ui/components/ACreateDialog.js +1 -2
  1252. package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
  1253. package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
  1254. package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js +16 -17
  1255. package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1256. package/dist/domains/ui/components/ACurrentUserDropdown.js +1 -2
  1257. package/dist/domains/ui/components/ACurrentUserDropdown.vue_vue_type_script_setup_true_lang.js +1 -2
  1258. package/dist/domains/ui/components/ADialogToolbar.js +1 -2
  1259. package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
  1260. package/dist/domains/ui/components/ADialogToolbar.vue_vue_type_script_setup_true_lang.js +1 -2
  1261. package/dist/domains/ui/components/AIconGroup.js +1 -2
  1262. package/dist/domains/ui/components/AIconGroup.vue_vue_type_script_setup_true_lang.js +1 -2
  1263. package/dist/domains/ui/components/AProgress.js +1 -2
  1264. package/dist/domains/ui/components/AProgress.vue_vue_type_script_setup_true_lang.js +1 -2
  1265. package/dist/domains/ui/components/ARow.js +1 -2
  1266. package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
  1267. package/dist/domains/ui/components/ARow.vue_vue_type_script_setup_true_lang.js +1 -2
  1268. package/dist/domains/ui/components/ATimeTrackingFields.js +1 -2
  1269. package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
  1270. package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js +6 -7
  1271. package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1272. package/dist/domains/ui/components/AUserAndTimeTrackingFields.js +1 -2
  1273. package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
  1274. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
  1275. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js +12 -13
  1276. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1277. package/dist/domains/ui/datetime/components/ADatetime.js +1 -2
  1278. package/dist/domains/ui/datetime/components/ADatetime.vue_vue_type_script_setup_true_lang.js +1 -2
  1279. package/dist/domains/ui/datetime/components/ADatetimePicker.js +4 -5
  1280. package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
  1281. package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
  1282. package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js +2 -3
  1283. package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1284. package/dist/domains/ui/datetime/components/TimePicker.js +4 -5
  1285. package/dist/domains/ui/datetime/components/TimePicker.js.map +1 -1
  1286. package/dist/domains/ui/datetime/components/TimePicker.vue_vue_type_script_setup_true_lang.js +1 -2
  1287. package/dist/domains/ui/datetime/composables/remainingTime.js +1 -2
  1288. package/dist/domains/ui/file/components/AFileDropzone.js +1 -2
  1289. package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
  1290. package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
  1291. package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js +6 -7
  1292. package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1293. package/dist/domains/ui/file/components/AFileInput.js +1 -2
  1294. package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
  1295. package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
  1296. package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js +5 -6
  1297. package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1298. package/dist/domains/ui/file/components/AFileInputDialog.js +1 -2
  1299. package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
  1300. package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
  1301. package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js +7 -8
  1302. package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1303. package/dist/domains/ui/file/composables/dropzone.js +1 -2
  1304. package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
  1305. package/dist/domains/ui/file/composables/formatAndSizeCheck.js +25 -26
  1306. package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
  1307. package/dist/domains/ui/file/utils/fileType.js +1 -2
  1308. package/dist/domains/ui/view/components/AGenericView.js +1 -2
  1309. package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
  1310. package/dist/domains/ui/view/components/AGenericView.vue_vue_type_script_setup_true_lang.js +1 -2
  1311. package/dist/domains/ui/view/components/ALoginView.js +4 -5
  1312. package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
  1313. package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
  1314. package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js +1 -2
  1315. package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1316. package/dist/domains/ui/view/components/ALogoutView.js +1 -2
  1317. package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
  1318. package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js +1 -2
  1319. package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1320. package/dist/domains/ui/view/components/ANotFoundView.js +1 -2
  1321. package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
  1322. package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js +1 -2
  1323. package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  1324. package/dist/domains/ui/view/components/AUnauthorizedView.js +1 -2
  1325. package/dist/domains/ui/view/components/AUnauthorizedView.vue_vue_type_script_setup_true_lang.js +1 -2
  1326. package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js +4 -5
  1327. package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js.map +1 -1
  1328. package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.vue_vue_type_script_setup_true_lang.js +1 -2
  1329. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
  1330. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js +1 -2
  1331. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
  1332. package/dist/domains/unsavedGuard/composables/useUnsavedSection.js +1 -2
  1333. package/dist/lib.d.ts +6 -4
  1334. package/dist/locales/cs/common/alert.js +1 -2
  1335. package/dist/locales/cs/common/anzuUser.js +1 -2
  1336. package/dist/locales/cs/common/assetSelect.js +1 -2
  1337. package/dist/locales/cs/common/button.js +1 -2
  1338. package/dist/locales/cs/common/collab.js +1 -2
  1339. package/dist/locales/cs/common/confirmDialog.js +1 -2
  1340. package/dist/locales/cs/common/customForm.js +1 -2
  1341. package/dist/locales/cs/common/customFormElement.js +1 -2
  1342. package/dist/locales/cs/common/damImage.js +30 -2
  1343. package/dist/locales/cs/common/damImage.js.map +1 -1
  1344. package/dist/locales/cs/common/dayOfWeek.js +1 -2
  1345. package/dist/locales/cs/common/filter.js +1 -2
  1346. package/dist/locales/cs/common/job.js +1 -2
  1347. package/dist/locales/cs/common/linkDto.js +1 -2
  1348. package/dist/locales/cs/common/listItemDto.js +1 -2
  1349. package/dist/locales/cs/common/log.js +1 -2
  1350. package/dist/locales/cs/common/model.js +1 -2
  1351. package/dist/locales/cs/common/permission.js +1 -2
  1352. package/dist/locales/cs/common/permissionEditor.js +1 -2
  1353. package/dist/locales/cs/common/permissionGroup.js +1 -2
  1354. package/dist/locales/cs/common/routeSettings.js +1 -2
  1355. package/dist/locales/cs/common/sortable.js +1 -2
  1356. package/dist/locales/cs/common/subjectSelect.js +1 -2
  1357. package/dist/locales/cs/common/system.js +1 -2
  1358. package/dist/locales/cs/common/time.js +1 -2
  1359. package/dist/locales/cs/common/userSystem.js +1 -2
  1360. package/dist/locales/cs/error/apiDependencyExists.js +1 -2
  1361. package/dist/locales/cs/error/apiForbiddenOperation.js +1 -2
  1362. package/dist/locales/cs/error/apiTimedOut.js +1 -2
  1363. package/dist/locales/cs/error/apiValidation.js +1 -2
  1364. package/dist/locales/cs/error/jsValidation.js +1 -2
  1365. package/dist/locales/cs/vuetify.js +1 -2
  1366. package/dist/locales/cs.d.ts +3 -0
  1367. package/dist/locales/cs.js +1 -2
  1368. package/dist/locales/en/common/alert.js +1 -2
  1369. package/dist/locales/en/common/anzuUser.js +1 -2
  1370. package/dist/locales/en/common/assetSelect.js +1 -2
  1371. package/dist/locales/en/common/button.js +1 -2
  1372. package/dist/locales/en/common/collab.js +1 -2
  1373. package/dist/locales/en/common/confirmDialog.js +1 -2
  1374. package/dist/locales/en/common/customForm.js +1 -2
  1375. package/dist/locales/en/common/customFormElement.js +1 -2
  1376. package/dist/locales/en/common/damImage.js +30 -2
  1377. package/dist/locales/en/common/damImage.js.map +1 -1
  1378. package/dist/locales/en/common/dayOfWeek.js +1 -2
  1379. package/dist/locales/en/common/filter.js +1 -2
  1380. package/dist/locales/en/common/job.js +1 -2
  1381. package/dist/locales/en/common/linkDto.js +1 -2
  1382. package/dist/locales/en/common/listItemDto.js +1 -2
  1383. package/dist/locales/en/common/log.js +1 -2
  1384. package/dist/locales/en/common/model.js +1 -2
  1385. package/dist/locales/en/common/permission.js +1 -2
  1386. package/dist/locales/en/common/permissionEditor.js +1 -2
  1387. package/dist/locales/en/common/permissionGroup.js +1 -2
  1388. package/dist/locales/en/common/routeSettings.js +1 -2
  1389. package/dist/locales/en/common/sortable.js +1 -2
  1390. package/dist/locales/en/common/subjectSelect.js +1 -2
  1391. package/dist/locales/en/common/system.js +1 -2
  1392. package/dist/locales/en/common/time.js +1 -2
  1393. package/dist/locales/en/common/userSystem.js +1 -2
  1394. package/dist/locales/en/error/apiDependencyExists.js +1 -2
  1395. package/dist/locales/en/error/apiForbiddenOperation.js +1 -2
  1396. package/dist/locales/en/error/apiTimedOut.js +1 -2
  1397. package/dist/locales/en/error/apiValidation.js +1 -2
  1398. package/dist/locales/en/error/jsValidation.js +1 -2
  1399. package/dist/locales/en/vuetify.js +1 -2
  1400. package/dist/locales/en.d.ts +3 -0
  1401. package/dist/locales/en.js +1 -2
  1402. package/dist/locales/sk/common/alert.js +1 -2
  1403. package/dist/locales/sk/common/anzuUser.js +1 -2
  1404. package/dist/locales/sk/common/assetSelect.js +1 -2
  1405. package/dist/locales/sk/common/button.js +1 -2
  1406. package/dist/locales/sk/common/collab.js +1 -2
  1407. package/dist/locales/sk/common/confirmDialog.js +1 -2
  1408. package/dist/locales/sk/common/customForm.js +1 -2
  1409. package/dist/locales/sk/common/customFormElement.js +1 -2
  1410. package/dist/locales/sk/common/damImage.js +30 -2
  1411. package/dist/locales/sk/common/damImage.js.map +1 -1
  1412. package/dist/locales/sk/common/dayOfWeek.js +1 -2
  1413. package/dist/locales/sk/common/filter.js +1 -2
  1414. package/dist/locales/sk/common/job.js +1 -2
  1415. package/dist/locales/sk/common/linkDto.js +1 -2
  1416. package/dist/locales/sk/common/listItemDto.js +1 -2
  1417. package/dist/locales/sk/common/log.js +1 -2
  1418. package/dist/locales/sk/common/model.js +1 -2
  1419. package/dist/locales/sk/common/permission.js +1 -2
  1420. package/dist/locales/sk/common/permissionEditor.js +1 -2
  1421. package/dist/locales/sk/common/permissionGroup.js +1 -2
  1422. package/dist/locales/sk/common/routeSettings.js +1 -2
  1423. package/dist/locales/sk/common/sortable.js +1 -2
  1424. package/dist/locales/sk/common/subjectSelect.js +1 -2
  1425. package/dist/locales/sk/common/system.js +1 -2
  1426. package/dist/locales/sk/common/time.js +1 -2
  1427. package/dist/locales/sk/common/userSystem.js +1 -2
  1428. package/dist/locales/sk/error/apiDependencyExists.js +1 -2
  1429. package/dist/locales/sk/error/apiForbiddenOperation.js +1 -2
  1430. package/dist/locales/sk/error/apiTimedOut.js +1 -2
  1431. package/dist/locales/sk/error/apiValidation.js +1 -2
  1432. package/dist/locales/sk/error/jsValidation.js +1 -2
  1433. package/dist/locales/sk/vuetify.js +1 -2
  1434. package/dist/locales/sk.d.ts +3 -0
  1435. package/dist/locales/sk.js +1 -2
  1436. package/dist/plugins/commonVuetifyConfig.d.ts +4 -49
  1437. package/dist/plugins/commonVuetifyConfig.js +1 -2
  1438. package/dist/plugins/commonVuetifyConfig.js.map +1 -1
  1439. package/dist/plugins/i18n.d.ts +7 -5
  1440. package/dist/plugins/i18n.js +1 -2
  1441. package/dist/plugins/i18n.js.map +1 -1
  1442. package/dist/plugins/pluginOptions.d.ts +4 -2
  1443. package/dist/plugins/pluginOptions.js +1 -2
  1444. package/dist/plugins/pluginOptions.js.map +1 -1
  1445. package/dist/plugins/webfontloader.js +0 -1
  1446. package/dist/plugins/webfontloader.js.map +1 -1
  1447. package/dist/shared/commonConfig.js +0 -1
  1448. package/dist/shared/error/AnzuApiAxiosError.js +1 -2
  1449. package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
  1450. package/dist/shared/error/AnzuApiCancelledError.js +1 -2
  1451. package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
  1452. package/dist/shared/error/AnzuApiDependencyExistsError.js +1 -2
  1453. package/dist/shared/error/AnzuApiForbiddenError.js +1 -2
  1454. package/dist/shared/error/AnzuApiForbiddenOperationError.js +1 -2
  1455. package/dist/shared/error/AnzuApiResponseCodeError.js +1 -2
  1456. package/dist/shared/error/AnzuApiTimeoutError.js +1 -2
  1457. package/dist/shared/error/AnzuApiValidationError.js +1 -2
  1458. package/dist/shared/error/AnzuError.d.ts +3 -5
  1459. package/dist/shared/error/AnzuError.js +1 -2
  1460. package/dist/shared/error/AnzuError.js.map +1 -1
  1461. package/dist/shared/error/AnzuFatalError.js +1 -2
  1462. package/dist/shared/error/AnzuNewVersionFetchError.js +1 -2
  1463. package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
  1464. package/dist/shared/error/AuthUnavailableError.js +1 -2
  1465. package/dist/shared/error/AuthUnavailableError.js.map +1 -1
  1466. package/dist/shared/error/SessionExpiredError.js +1 -2
  1467. package/dist/shared/error/isInCauseChain.d.ts +2 -2
  1468. package/dist/shared/error/isInCauseChain.js +1 -2
  1469. package/dist/shared/error/isInCauseChain.js.map +1 -1
  1470. package/dist/shared/injectionKeys.js +1 -2
  1471. package/dist/shared/statusCodes.js +1 -2
  1472. package/dist/shared/types/CreatedByAware.js +1 -2
  1473. package/dist/shared/types/OwnerAware.js +1 -2
  1474. package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
  1475. package/dist/shared/types/Validation.d.ts +4 -5
  1476. package/dist/shared/types/common.d.ts +1 -3
  1477. package/dist/shared/types/globalComponents.d.ts +5 -6
  1478. package/dist/shared/types/utils.js +1 -2
  1479. package/dist/shared/utils/array.js +1 -2
  1480. package/dist/shared/utils/boolean.js +1 -2
  1481. package/dist/shared/utils/common.js +1 -2
  1482. package/dist/shared/utils/common.js.map +1 -1
  1483. package/dist/shared/utils/datetime.d.ts +0 -1
  1484. package/dist/shared/utils/datetime.js +0 -1
  1485. package/dist/shared/utils/datetime.js.map +1 -1
  1486. package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
  1487. package/dist/shared/utils/datetimePickerValue.js +0 -1
  1488. package/dist/shared/utils/datetimePickerValue.js.map +1 -1
  1489. package/dist/shared/utils/development.d.ts +3 -3
  1490. package/dist/shared/utils/development.js +1 -2
  1491. package/dist/shared/utils/development.js.map +1 -1
  1492. package/dist/shared/utils/enum.js +1 -2
  1493. package/dist/shared/utils/envConfig.d.ts +4 -4
  1494. package/dist/shared/utils/envConfig.js +1 -2
  1495. package/dist/shared/utils/envConfig.js.map +1 -1
  1496. package/dist/shared/utils/event.js +1 -2
  1497. package/dist/shared/utils/file.js +1 -2
  1498. package/dist/shared/utils/generator.js +1 -2
  1499. package/dist/shared/utils/history.js +1 -2
  1500. package/dist/shared/utils/json.d.ts +1 -1
  1501. package/dist/shared/utils/json.js +1 -2
  1502. package/dist/shared/utils/json.js.map +1 -1
  1503. package/dist/shared/utils/number.js +1 -2
  1504. package/dist/shared/utils/object.js +1 -2
  1505. package/dist/shared/utils/string.js +1 -2
  1506. package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
  1507. package/dist/shared/utils/userAndTimeTracking.js +1 -2
  1508. package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
  1509. package/dist/shared/validators/vuelidate/common/useValidateBetween.js +1 -2
  1510. package/dist/shared/validators/vuelidate/common/useValidateCompareDates.js +1 -2
  1511. package/dist/shared/validators/vuelidate/common/useValidateEmail.js +1 -2
  1512. package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
  1513. package/dist/shared/validators/vuelidate/common/useValidateHexColor.js +1 -2
  1514. package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
  1515. package/dist/shared/validators/vuelidate/common/useValidateMaxLength.js +1 -2
  1516. package/dist/shared/validators/vuelidate/common/useValidateMaxValue.js +1 -2
  1517. package/dist/shared/validators/vuelidate/common/useValidateMinLength.js +1 -2
  1518. package/dist/shared/validators/vuelidate/common/useValidateMinValue.js +1 -2
  1519. package/dist/shared/validators/vuelidate/common/useValidateNumeric.js +1 -2
  1520. package/dist/shared/validators/vuelidate/common/useValidateRequired.js +1 -2
  1521. package/dist/shared/validators/vuelidate/common/useValidateRequiredIf.js +1 -2
  1522. package/dist/shared/validators/vuelidate/common/useValidateSlug.js +1 -2
  1523. package/dist/shared/validators/vuelidate/common/useValidateStringArrayItemLength.js +1 -2
  1524. package/dist/shared/validators/vuelidate/common/useValidateUrl.js +1 -2
  1525. package/dist/shared/validators/vuelidate/useValidate.js +1 -2
  1526. package/dist/testing/appShell.d.ts +11 -11
  1527. package/dist/testing/appShell.js +1 -2
  1528. package/dist/testing/appShell.js.map +1 -1
  1529. package/dist/testing/closeButtons.d.ts +9 -11
  1530. package/dist/testing/closeButtons.js +1 -2
  1531. package/dist/testing/closeButtons.js.map +1 -1
  1532. package/dist/testing/declaredDependencies.d.ts +7 -7
  1533. package/dist/testing/declaredDependencies.js +1 -2
  1534. package/dist/testing/declaredDependencies.js.map +1 -1
  1535. package/dist/testing/generatedRoutes.d.ts +6 -11
  1536. package/dist/testing/generatedRoutes.js +1 -2
  1537. package/dist/testing/generatedRoutes.js.map +1 -1
  1538. package/dist/testing/routeHistory.d.ts +5 -12
  1539. package/dist/testing/routeHistory.js +1 -2
  1540. package/dist/testing/routeHistory.js.map +1 -1
  1541. package/dist/testing/sortableLists.d.ts +16 -21
  1542. package/dist/testing/sortableLists.js +1 -2
  1543. package/dist/testing/sortableLists.js.map +1 -1
  1544. package/dist/testing/typedRouter.d.ts +0 -1
  1545. package/dist/testing/typedRouter.js +1 -2
  1546. package/dist/testing/typedRouter.js.map +1 -1
  1547. package/dist/vendor/@cropper/element/dist/element.esm.raw.js +2 -3
  1548. package/dist/vendor/@cropper/element/dist/element.esm.raw.js.map +1 -1
  1549. package/dist/vendor/@cropper/element-canvas/dist/element-canvas.esm.raw.js +51 -52
  1550. package/dist/vendor/@cropper/element-canvas/dist/element-canvas.esm.raw.js.map +1 -1
  1551. package/dist/vendor/@cropper/element-crosshair/dist/element-crosshair.esm.raw.js +5 -6
  1552. package/dist/vendor/@cropper/element-crosshair/dist/element-crosshair.esm.raw.js.map +1 -1
  1553. package/dist/vendor/@cropper/element-grid/dist/element-grid.esm.raw.js +5 -6
  1554. package/dist/vendor/@cropper/element-grid/dist/element-grid.esm.raw.js.map +1 -1
  1555. package/dist/vendor/@cropper/element-handle/dist/element-handle.esm.raw.js +6 -7
  1556. package/dist/vendor/@cropper/element-handle/dist/element-handle.esm.raw.js.map +1 -1
  1557. package/dist/vendor/@cropper/element-image/dist/element-image.esm.raw.js +119 -104
  1558. package/dist/vendor/@cropper/element-image/dist/element-image.esm.raw.js.map +1 -1
  1559. package/dist/vendor/@cropper/element-selection/dist/element-selection.esm.raw.js +231 -86
  1560. package/dist/vendor/@cropper/element-selection/dist/element-selection.esm.raw.js.map +1 -1
  1561. package/dist/vendor/@cropper/element-shade/dist/element-shade.esm.raw.js +29 -23
  1562. package/dist/vendor/@cropper/element-shade/dist/element-shade.esm.raw.js.map +1 -1
  1563. package/dist/vendor/@cropper/element-viewer/dist/element-viewer.esm.raw.js +21 -22
  1564. package/dist/vendor/@cropper/element-viewer/dist/element-viewer.esm.raw.js.map +1 -1
  1565. package/dist/vendor/@cropper/utils/dist/utils.esm.raw.js +90 -48
  1566. package/dist/vendor/@cropper/utils/dist/utils.esm.raw.js.map +1 -1
  1567. package/dist/vendor/{cropperjs2 → cropperjs}/dist/cropper.esm.raw.js +11 -12
  1568. package/dist/vendor/cropperjs/dist/cropper.esm.raw.js.map +1 -0
  1569. package/dist/vendor/rusha/dist/rusha.js +1 -2
  1570. package/dist/vendor/uuid/dist/rng.js +1 -2
  1571. package/dist/vendor/uuid/dist/stringify.js +1 -2
  1572. package/dist/vendor/uuid/dist/v1.js +7 -8
  1573. package/dist/vendor/uuid/dist/v4.js +5 -6
  1574. package/package.json +53 -43
  1575. package/src/e2e/conventions.d.mts +4 -0
  1576. package/src/e2e/conventions.mjs +15 -0
  1577. package/src/e2e/env.d.mts +46 -0
  1578. package/src/e2e/env.mjs +78 -0
  1579. package/src/e2e/index.d.mts +11 -0
  1580. package/src/e2e/index.mjs +3 -0
  1581. package/src/e2e/routeWalk.d.mts +44 -0
  1582. package/src/e2e/routeWalk.mjs +618 -0
  1583. package/src/e2e/routeWalkConfig.d.mts +16 -0
  1584. package/src/e2e/routeWalkConfig.mjs +52 -0
  1585. package/src/e2e/types.d.mts +166 -0
  1586. package/src/eslint/adminConfig.mjs +21 -28
  1587. package/src/eslint/globalComponentNames.mjs +3 -4
  1588. package/src/eslint/oxlint-admin.json +3 -0
  1589. package/src/eslint/oxlint.mjs +7 -20
  1590. package/src/eslint/plugin.d.mts +2 -4
  1591. package/src/eslint/plugin.mjs +18 -34
  1592. package/src/eslint/validRouteName.mjs +6 -7
  1593. package/src/vite/devWatch.mjs +30 -43
  1594. package/src/vite/index.d.mts +5 -5
  1595. package/src/vite/sentry.mjs +7 -12
  1596. package/src/vite/sourcemaps.mjs +4 -8
  1597. package/dist/vendor/cropperjs2/dist/cropper.esm.raw.js.map +0 -1
@@ -1,24 +1,24 @@
1
- import { cloneDeep as e, isUndefined as t } from "../../../shared/utils/common.js";
2
- import n from "../../ui/components/ADialogToolbar.js";
3
- import r from "./AUserMetadataForm.js";
4
- import { descriptorMayWrite as i } from "../composables/userSystemDescriptor.js";
5
- import { BulkAction as a, BulkOutcome as o, useUserCrossSystemStore as ee } from "../store/userCrossSystemStore.js";
6
- import { USER_METADATA_FIELDS as te, pickPrefillSource as ne, readMetadataField as s, systemsNeedingWrite as c } from "../utils/userMetadataDiff.js";
7
- import re from "./AUserSystemStatusChip.js";
1
+ import e from "../../ui/components/ADialogToolbar.js";
2
+ import t from "./AUserMetadataForm.js";
3
+ import n from "./AUserSystemStatusChip.js";
4
+ import { descriptorMayWrite as ee } from "../composables/userSystemDescriptor.js";
5
+ import { USER_METADATA_FIELDS as r, pickPrefillSource as i, readMetadataField as a, systemsNeedingWrite as te } from "../utils/userMetadataDiff.js";
6
+ import { BulkAction as ne, BulkOutcome as o, useUserCrossSystemStore as re } from "../store/userCrossSystemStore.js";
7
+ import { cloneDeep as s, isUndefined as c } from "../../../shared/utils/common.js";
8
8
  import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, mergeModels as v, openBlock as y, ref as b, renderList as x, resolveComponent as S, toDisplayString as C, unref as w, useModel as ie, watch as T, withCtx as E, withModifiers as D } from "vue";
9
9
  import { useI18n as ae } from "vue-i18n";
10
10
  import { VSpacer as oe } from "vuetify/components/VGrid";
11
11
  import { VAlert as se } from "vuetify/components/VAlert";
12
12
  import { VCard as ce, VCardActions as le, VCardText as O } from "vuetify/components/VCard";
13
- import { VDialog as ue } from "vuetify/components/VDialog";
14
- import de from "@vuelidate/core";
15
- import { VCheckbox as k } from "vuetify/components/VCheckbox";
16
- import { VSelect as fe } from "vuetify/components/VSelect";
17
- //#region src/domains/anzuUser/components/AUserMetadataRepairDialog.vue?vue&type=script&setup=true&lang.ts
18
- var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center ga-2" }, he = { class: "font-weight-medium" }, ge = {
13
+ import { VDialog as k } from "vuetify/components/VDialog";
14
+ import ue from "@vuelidate/core";
15
+ import { VCheckbox as A } from "vuetify/components/VCheckbox";
16
+ import { VSelect as de } from "vuetify/components/VSelect";
17
+ // src/domains/anzuUser/components/AUserMetadataRepairDialog.vue?vue&type=script&setup=true&lang.ts
18
+ var fe = { class: "mt-4 text-label-large" }, pe = { class: "d-flex align-center ga-2" }, me = { class: "font-weight-medium" }, he = {
19
19
  key: 0,
20
20
  class: "text-body-small text-warning"
21
- }, _e = ["data-cy"], A = { class: "font-weight-medium" }, j = { class: "text-body-small text-medium-emphasis" }, M = { class: "text-label-large mb-2" }, N = {
21
+ }, ge = ["data-cy"], _e = { class: "font-weight-medium" }, j = { class: "text-body-small text-medium-emphasis" }, M = { class: "text-label-large mb-2" }, N = {
22
22
  "aria-live": "polite",
23
23
  "data-cy": "repair-log"
24
24
  }, P = { class: "font-weight-medium" }, F = { class: "text-body-small" }, ve = {
@@ -35,7 +35,7 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
35
35
  }),
36
36
  emits: /*@__PURE__*/ v(["confirm"], ["update:open"]),
37
37
  setup(_, { emit: v }) {
38
- let I = _, L = v, R = ie(_, "open"), { t: z } = ae(), B = ee(), ye = de(), V = u(() => {
38
+ let I = _, L = v, R = ie(_, "open"), { t: z } = ae(), B = re(), ye = ue(), V = u(() => {
39
39
  let e = /* @__PURE__ */ new Map();
40
40
  for (let t of I.descriptors) {
41
41
  let n = B.results.get(t.system)?.user;
@@ -43,47 +43,47 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
43
43
  }
44
44
  return e;
45
45
  }), H = b(null), U = b(null), W = b([]), G = b(!1);
46
- T(R, (n) => {
47
- if (!n) return;
46
+ T(R, (e) => {
47
+ if (!e) return;
48
48
  G.value = !1;
49
- let r = I.descriptors.map((e) => e.system);
50
- H.value = ne(r, V.value);
51
- let i = H.value === null ? void 0 : V.value.get(H.value);
52
- U.value = t(i) ? null : e({
53
- id: i.id,
54
- email: i.email,
55
- person: i.person,
56
- avatar: i.avatar
49
+ let t = I.descriptors.map((e) => e.system);
50
+ H.value = i(t, V.value);
51
+ let n = H.value === null ? void 0 : V.value.get(H.value);
52
+ U.value = c(n) ? null : s({
53
+ id: n.id,
54
+ email: n.email,
55
+ person: n.person,
56
+ avatar: n.avatar
57
57
  });
58
- }, { immediate: !0 }), T(H, (n) => {
59
- if (n === null) return;
60
- let r = V.value.get(n);
61
- t(r) || (U.value = e({
62
- id: r.id,
63
- email: r.email,
64
- person: r.person,
65
- avatar: r.avatar
58
+ }, { immediate: !0 }), T(H, (e) => {
59
+ if (e === null) return;
60
+ let t = V.value.get(e);
61
+ c(t) || (U.value = s({
62
+ id: t.id,
63
+ email: t.email,
64
+ person: t.person,
65
+ avatar: t.avatar
66
66
  }));
67
67
  });
68
68
  let be = u(() => I.descriptors.filter((e) => V.value.has(e.system)).map((e) => ({
69
69
  value: e.system,
70
70
  title: e.label ?? e.system
71
71
  }))), K = (e) => {
72
- let n = I.descriptors.find((t) => t.system === e);
73
- return t(n) || i(n, "update");
74
- }, q = u(() => U.value === null ? [] : c(U.value, V.value)), J = u(() => q.value.filter(K)), xe = u(() => q.value.filter((e) => !K(e))), Y = u(() => J.value.filter((e) => W.value.includes(e)));
72
+ let t = I.descriptors.find((t) => t.system === e);
73
+ return c(t) || ee(t, "update");
74
+ }, q = u(() => U.value === null ? [] : te(U.value, V.value)), J = u(() => q.value.filter(K)), xe = u(() => q.value.filter((e) => !K(e))), Y = u(() => J.value.filter((e) => W.value.includes(e)));
75
75
  T(J, (e) => {
76
76
  W.value = [...e];
77
77
  }, { immediate: !0 });
78
78
  let Se = u(() => U.value === null ? [] : J.value.flatMap((e) => {
79
- let n = V.value.get(e);
80
- return t(n) ? [] : te.filter((e) => s(n, e) !== s(U.value, e)).map((t) => ({
79
+ let t = V.value.get(e);
80
+ return c(t) ? [] : r.filter((e) => a(t, e) !== a(U.value, e)).map((n) => ({
81
81
  system: e,
82
- field: t,
83
- from: s(n, t),
84
- to: s(U.value, t)
82
+ field: n,
83
+ from: a(t, n),
84
+ to: a(U.value, n)
85
85
  }));
86
- })), X = u(() => B.bulkLog.filter((e) => e.action === a.Metadata && e.subjectId === B.resolvedId)), Z = u(() => X.value.filter((e) => e.outcome !== o.Done && e.outcome !== o.Pending)), Q = (e) => I.descriptors.find((t) => t.system === e)?.metadataNote, $ = (e) => I.descriptors.find((t) => t.system === e)?.label ?? e, Ce = async () => {
86
+ })), X = u(() => B.bulkLog.filter((e) => e.action === ne.Metadata && e.subjectId === B.resolvedId)), Z = u(() => X.value.filter((e) => e.outcome !== o.Done && e.outcome !== o.Pending)), Q = (e) => I.descriptors.find((t) => t.system === e)?.metadataNote, $ = (e) => I.descriptors.find((t) => t.system === e)?.label ?? e, Ce = async () => {
87
87
  U.value !== null && B.identityConflict === null && Y.value.length !== 0 && await ye.value.$validate() && (G.value = !0, L("confirm", {
88
88
  target: U.value,
89
89
  systems: Y.value
@@ -94,17 +94,17 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
94
94
  systems: Z.value.map((e) => e.system)
95
95
  });
96
96
  };
97
- return (e, t) => {
97
+ return (ee, r) => {
98
98
  let i = S("ABtnTertiary"), a = S("ABtnPrimary");
99
- return y(), d(ue, {
99
+ return y(), d(k, {
100
100
  modelValue: R.value,
101
- "onUpdate:modelValue": t[5] ||= (e) => R.value = e,
101
+ "onUpdate:modelValue": r[5] ||= (e) => R.value = e,
102
102
  "max-width": 900,
103
103
  "data-cy": "user-metadata-repair-dialog"
104
104
  }, {
105
105
  default: E(() => [g(ce, null, {
106
106
  default: E(() => [
107
- g(n, { onCancel: t[0] ||= (e) => R.value = !1 }, {
107
+ g(e, { onCancel: r[0] ||= (e) => R.value = !1 }, {
108
108
  default: E(() => [h(C(w(z)("common.userSystem.repair.title")), 1)]),
109
109
  _: 1
110
110
  }),
@@ -121,9 +121,9 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
121
121
  default: E(() => [h(C(w(z)("common.userSystem.search.identityConflict")), 1)]),
122
122
  _: 1
123
123
  })) : f("", !0),
124
- g(fe, {
124
+ g(de, {
125
125
  modelValue: H.value,
126
- "onUpdate:modelValue": t[1] ||= (e) => H.value = e,
126
+ "onUpdate:modelValue": r[1] ||= (e) => H.value = e,
127
127
  items: be.value,
128
128
  label: w(z)("common.userSystem.repair.source"),
129
129
  density: "compact",
@@ -133,20 +133,20 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
133
133
  "items",
134
134
  "label"
135
135
  ]),
136
- g(r, {
136
+ g(t, {
137
137
  user: U.value,
138
- "onUpdate:user": t[2] ||= (e) => U.value = e,
138
+ "onUpdate:user": r[2] ||= (e) => U.value = e,
139
139
  required: "",
140
140
  "id-input": !1,
141
141
  "is-edit": ""
142
142
  }, null, 8, ["user"]),
143
- m("div", pe, C(w(z)("common.userSystem.repair.changes")), 1),
143
+ m("div", fe, C(w(z)("common.userSystem.repair.changes")), 1),
144
144
  (y(!0), p(l, null, x(J.value, (e) => (y(), p("div", {
145
145
  key: e,
146
146
  class: "mt-2 d-flex align-start ga-2"
147
- }, [g(k, {
147
+ }, [g(A, {
148
148
  modelValue: W.value,
149
- "onUpdate:modelValue": t[3] ||= (e) => W.value = e,
149
+ "onUpdate:modelValue": r[3] ||= (e) => W.value = e,
150
150
  value: e,
151
151
  disabled: !!w(B).identityConflict,
152
152
  "data-cy": `repair-system-${e}`,
@@ -158,11 +158,11 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
158
158
  "disabled",
159
159
  "data-cy"
160
160
  ]), m("div", null, [
161
- m("div", me, [m("span", he, C($(e)), 1), w(B).results.get(e) ? (y(), d(re, {
161
+ m("div", pe, [m("span", me, C($(e)), 1), w(B).results.get(e) ? (y(), d(n, {
162
162
  key: 0,
163
163
  axes: w(B).results.get(e).axes
164
164
  }, null, 8, ["axes"])) : f("", !0)]),
165
- Q(e) ? (y(), p("div", ge, C(Q(e)), 1)) : f("", !0),
165
+ Q(e) ? (y(), p("div", he, C(Q(e)), 1)) : f("", !0),
166
166
  (y(!0), p(l, null, x(Se.value.filter((t) => t.system === e), (e) => (y(), p("div", {
167
167
  key: e.field,
168
168
  class: "text-body-small"
@@ -177,15 +177,15 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
177
177
  class: "mt-2 d-flex align-center ga-2",
178
178
  "data-cy": `repair-system-no-right-${e}`
179
179
  }, [
180
- g(k, {
180
+ g(A, {
181
181
  "model-value": !1,
182
182
  disabled: "",
183
183
  density: "compact",
184
184
  "hide-details": ""
185
185
  }),
186
- m("span", A, C($(e)), 1),
186
+ m("span", _e, C($(e)), 1),
187
187
  m("span", j, C(w(z)("common.userSystem.state.noWriteRight")), 1)
188
- ], 8, _e))), 128))
188
+ ], 8, ge))), 128))
189
189
  ]),
190
190
  _: 1
191
191
  })) : G.value ? (y(), d(O, { key: 1 }, {
@@ -201,7 +201,7 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
201
201
  })) : f("", !0),
202
202
  g(le, null, {
203
203
  default: E(() => [
204
- g(i, { onClick: t[4] ||= D((e) => R.value = !1, ["stop"]) }, {
204
+ g(i, { onClick: r[4] ||= D((e) => R.value = !1, ["stop"]) }, {
205
205
  default: E(() => [h(C(G.value ? w(z)("common.userSystem.bulk.close") : w(z)("common.button.cancel")), 1)]),
206
206
  _: 1
207
207
  }),
@@ -234,7 +234,6 @@ var pe = { class: "mt-4 text-label-large" }, me = { class: "d-flex align-center
234
234
  };
235
235
  }
236
236
  });
237
- //#endregion
238
237
  export { I as default };
239
238
 
240
239
  //# sourceMappingURL=AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_resolveComponent","_openBlock","_createBlock","_component_VDialog","_withCtx","_createVNode","_component_VCard","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_component_VAlert","_createCommentVNode","_component_VSelect","AUserMetadataForm","_createElementVNode","_createElementBlock","_Fragment","_renderList","_component_VCheckbox","AUserSystemStatusChip","_component_VCardActions","_withModifiers","_component_VSpacer","ADialogToolbar_default","AUserMetadataForm_default","AUserSystemStatusChip_default","useVuelidate","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","AUserMetadataRepairDialog_vue_vue_type_script_setup_true_lang_default","\"open\"","\"openModifiers\"","__emit","props","__props","emit","open","useModel","useI18n","store","useUserCrossSystemStore","v$","records","computed","map","descriptor","user","sourceSystem","ref","target","selected","showingLog","watch","value","order","pickPrefillSource","source","isUndefined","cloneDeep","system","sourceOptions","mayUpdate","item","descriptorMayWrite","allDiffering","systemsNeedingWrite","differing","differingWithoutRight","affected","systems","changes","current","USER_METADATA_FIELDS","readMetadataField","field","currentLog","entry","BulkAction","failed","BulkOutcome","noteFor","labelFor","confirm","retryFailed","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createBlock","VDialog","_cache","$event","withCtx","createVNode","VCard","createTextVNode","toDisplayString","unref","t","VCardText","VAlert","createCommentVNode","VSelect","createElementVNode","createElementBlock","Fragment","renderList","VCheckbox","change","VCardActions","withModifiers","VSpacer"],"sources":["../../../../src/domains/anzuUser/components/AUserMetadataRepairDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AUserSystemStatusChip from '@/domains/anzuUser/components/AUserSystemStatusChip.vue'\nimport { type AnyUserSystemDescriptor, descriptorMayWrite } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport {\n pickPrefillSource,\n readMetadataField,\n systemsNeedingWrite,\n USER_METADATA_FIELDS,\n} from '@/domains/anzuUser/utils/userMetadataDiff'\nimport { BulkAction, BulkOutcome, useUserCrossSystemStore } from '@/domains/anzuUser/store/userCrossSystemStore'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport { cloneDeep, isUndefined } from '@/shared/utils/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n}>()\n\nconst emit = defineEmits<{\n (e: 'confirm', payload: { target: BaseUser; systems: string[] }): void\n}>()\n\nconst open = defineModel<boolean>('open', { required: true })\n\nconst { t } = useI18n()\nconst store = useUserCrossSystemStore()\n\n// The form's own collector. Without it the strict rules only showed asterisks: nothing asked them\n// before writing, and a source with an empty name or colour -- blog's `person` is empty for most\n// accounts, cms never required a colour -- was written as blank into every ticked system.\nconst v$ = useVuelidate()\n\nconst records = computed(() => {\n const map = new Map<string, BaseUser>()\n for (const descriptor of props.descriptors) {\n const user = store.results.get(descriptor.system)?.user\n if (user) map.set(descriptor.system, user)\n }\n return map\n})\n\nconst sourceSystem = ref<string | null>(null)\nconst target = ref<BaseUser | null>(null)\n/**\n * Which systems the write goes to. Ticked by default, and untickable one by one -- the same shape\n * as the enable/disable dialog, because an operator who knows one system's value is deliberately\n * different needs a way to leave it out that is not \"abort the whole repair\".\n */\nconst selected = ref<string[]>([])\n/**\n * The dialog stays open after confirm and shows the run, exactly as the enable/disable one does.\n *\n * Closing on confirm is what made a failed repair invisible: the outcomes went into the shared log\n * with nothing rendering them, so a 422 on one system looked the same as a repair that worked.\n */\nconst showingLog = ref(false)\n\n/**\n * The pre-fill comes from the first system in the configured order that has a record -- never from\n * whichever answered first, since the fan-out is parallel and that would differ every run.\n *\n * And the source is not hidden: it is named here and can be changed, so the order in the config is\n * a default rather than a rule nobody can see.\n */\nwatch(\n open,\n (value) => {\n if (!value) return\n showingLog.value = false\n const order = props.descriptors.map((descriptor) => descriptor.system)\n sourceSystem.value = pickPrefillSource(order, records.value)\n const source = sourceSystem.value === null ? undefined : records.value.get(sourceSystem.value)\n target.value = isUndefined(source)\n ? null\n : cloneDeep({ id: source.id, email: source.email, person: source.person, avatar: source.avatar })\n },\n { immediate: true }\n)\n\nwatch(sourceSystem, (system) => {\n if (system === null) return\n const source = records.value.get(system)\n if (isUndefined(source)) return\n target.value = cloneDeep({ id: source.id, email: source.email, person: source.person, avatar: source.avatar })\n})\n\nconst sourceOptions = computed(() =>\n props.descriptors\n .filter((descriptor) => records.value.has(descriptor.system))\n .map((descriptor) => ({ value: descriptor.system, title: descriptor.label ?? descriptor.system }))\n)\n\nconst mayUpdate = (system: string) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n return isUndefined(descriptor) || descriptorMayWrite(descriptor, 'update')\n}\n\nconst allDiffering = computed(() => (target.value === null ? [] : systemsNeedingWrite(target.value, records.value)))\n\n/** Only the systems whose stored value differs and that may be written. Nothing else is offered, let alone written to. */\nconst differing = computed(() => allDiffering.value.filter(mayUpdate))\n\n/** Differing, but the operator may not write them: listed so the repair does not look complete. */\nconst differingWithoutRight = computed(() => allDiffering.value.filter((system) => !mayUpdate(system)))\n\n/** What confirm would actually write to: the differing systems that are still ticked. */\nconst affected = computed(() => differing.value.filter((system) => selected.value.includes(system)))\n\n// Everything that differs, ticked, whenever the set changes -- on open and on a source switch.\nwatch(\n differing,\n (systems) => {\n selected.value = [...systems]\n },\n { immediate: true }\n)\n\nconst changes = computed(() => {\n if (target.value === null) return []\n return differing.value.flatMap((system) => {\n const current = records.value.get(system)\n if (isUndefined(current)) return []\n return USER_METADATA_FIELDS.filter(\n (field) => readMetadataField(current, field) !== readMetadataField(target.value as BaseUser, field)\n ).map((field) => ({\n system,\n field,\n from: readMetadataField(current, field),\n to: readMetadataField(target.value as BaseUser, field),\n }))\n })\n})\n\nconst currentLog = computed(() =>\n store.bulkLog.filter((entry) => entry.action === BulkAction.Metadata && entry.subjectId === store.resolvedId)\n)\n\nconst failed = computed(() =>\n currentLog.value.filter((entry) => entry.outcome !== BulkOutcome.Done && entry.outcome !== BulkOutcome.Pending)\n)\n\nconst noteFor = (system: string) => props.descriptors.find((item) => item.system === system)?.metadataNote\n\nconst labelFor = (system: string) => props.descriptors.find((item) => item.system === system)?.label ?? system\n\nconst confirm = async () => {\n if (target.value === null || store.identityConflict !== null || affected.value.length === 0) return\n // Strict because it writes to up to nine places: only a value that passes in every system may go.\n if (!(await v$.value.$validate())) return\n showingLog.value = true\n emit('confirm', { target: target.value, systems: affected.value })\n}\n\n/** The same value again, to the systems it did not reach. 403 included: rights may have been granted since. */\nconst retryFailed = () => {\n if (target.value === null) return\n emit('confirm', { target: target.value, systems: failed.value.map((entry) => entry.system) })\n}\n</script>\n\n<template>\n <VDialog\n v-model=\"open\"\n :max-width=\"900\"\n data-cy=\"user-metadata-repair-dialog\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"open = false\">\n {{ t('common.userSystem.repair.title') }}\n </ADialogToolbar>\n <VCardText v-if=\"target && !showingLog\">\n <!--\n Two ids behind one e-mail. Writing under either of them would put this person's metadata\n on somebody else's account, and no admin can delete an AnzuUser afterwards.\n -->\n <VAlert\n v-if=\"store.identityConflict\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mb-3\"\n data-cy=\"repair-identity-conflict\"\n >\n {{ t('common.userSystem.search.identityConflict') }}\n </VAlert>\n <VSelect\n v-model=\"sourceSystem\"\n :items=\"sourceOptions\"\n :label=\"t('common.userSystem.repair.source')\"\n density=\"compact\"\n data-cy=\"repair-source\"\n />\n <!--\n Always strict, whatever the target systems' own profiles say: this writes to up to nine\n places at once, and a loose form could put an empty name into cms -- a record cms's own\n form would then refuse to save.\n\n `randomColor` is deliberately not passed. The form is strict, so it would invent a colour\n the moment the dialog opens and mark it as a change in every system at once.\n -->\n <AUserMetadataForm\n v-model:user=\"target\"\n required\n :id-input=\"false\"\n is-edit\n />\n <div class=\"mt-4 text-label-large\">{{ t('common.userSystem.repair.changes') }}</div>\n <div\n v-for=\"system in differing\"\n :key=\"system\"\n class=\"mt-2 d-flex align-start ga-2\"\n >\n <VCheckbox\n v-model=\"selected\"\n :value=\"system\"\n :disabled=\"!!store.identityConflict\"\n :data-cy=\"`repair-system-${system}`\"\n density=\"compact\"\n hide-details\n />\n <div>\n <div class=\"d-flex align-center ga-2\">\n <span class=\"font-weight-medium\">{{ labelFor(system) }}</span>\n <AUserSystemStatusChip\n v-if=\"store.results.get(system)\"\n :axes=\"store.results.get(system)!.axes\"\n />\n </div>\n <div\n v-if=\"noteFor(system)\"\n class=\"text-body-small text-warning\"\n >\n {{ noteFor(system) }}\n </div>\n <div\n v-for=\"change in changes.filter((item) => item.system === system)\"\n :key=\"change.field\"\n class=\"text-body-small\"\n >\n {{ change.field }}: <s>{{ change.from || '—' }}</s> → {{ change.to || '—' }}\n </div>\n </div>\n </div>\n <div\n v-for=\"system in differingWithoutRight\"\n :key=\"system\"\n class=\"mt-2 d-flex align-center ga-2\"\n :data-cy=\"`repair-system-no-right-${system}`\"\n >\n <VCheckbox\n :model-value=\"false\"\n disabled\n density=\"compact\"\n hide-details\n />\n <span class=\"font-weight-medium\">{{ labelFor(system) }}</span>\n <span class=\"text-body-small text-medium-emphasis\">{{ t('common.userSystem.state.noWriteRight') }}</span>\n </div>\n </VCardText>\n <VCardText v-else-if=\"showingLog\">\n <div class=\"text-label-large mb-2\">{{ t('common.userSystem.bulk.log') }}</div>\n <!-- `polite`: nine systems finishing one after another would flood a screen reader. -->\n <div\n aria-live=\"polite\"\n data-cy=\"repair-log\"\n >\n <div\n v-for=\"entry in currentLog\"\n :key=\"entry.system\"\n class=\"d-flex align-center ga-2 py-1\"\n >\n <div class=\"font-weight-medium\">{{ labelFor(entry.system) }}</div>\n <div class=\"text-body-small\">{{ t(`common.userSystem.bulk.outcome.${entry.outcome}`) }}</div>\n <div\n v-if=\"entry.detail\"\n class=\"text-body-small text-warning\"\n >\n {{ entry.detail }}\n </div>\n </div>\n </div>\n </VCardText>\n <VCardActions>\n <ABtnTertiary @click.stop=\"open = false\">\n {{ showingLog ? t('common.userSystem.bulk.close') : t('common.button.cancel') }}\n </ABtnTertiary>\n <VSpacer />\n <ABtnTertiary\n v-if=\"showingLog && failed.length > 0 && !store.bulkRunning\"\n data-cy=\"repair-retry\"\n @click.stop=\"retryFailed\"\n >\n {{ t('common.userSystem.bulk.retryFailed') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"!showingLog\"\n :disabled=\"affected.length === 0 || !!store.identityConflict\"\n data-cy=\"repair-confirm\"\n @click.stop=\"confirm\"\n >\n {{ t('common.userSystem.bulk.metadata.confirm', { count: affected.length }, affected.length) }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_resolveComponent","_openBlock","_createBlock","_component_VDialog","_withCtx","_createVNode","_component_VCard","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_component_VAlert","_createCommentVNode","_component_VSelect","AUserMetadataForm","_createElementVNode","_createElementBlock","_Fragment","_renderList","_component_VCheckbox","AUserSystemStatusChip","_component_VCardActions","_withModifiers","_component_VSpacer","ADialogToolbar_default","AUserMetadataForm_default","AUserSystemStatusChip_default","useVuelidate","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","AUserMetadataRepairDialog_vue_vue_type_script_setup_true_lang_default","\"open\"","\"openModifiers\"","__emit","props","__props","emit","open","useModel","useI18n","store","useUserCrossSystemStore","v$","records","computed","map","descriptor","user","sourceSystem","ref","target","selected","showingLog","watch","value","order","pickPrefillSource","source","isUndefined","cloneDeep","system","sourceOptions","mayUpdate","item","descriptorMayWrite","allDiffering","systemsNeedingWrite","differing","differingWithoutRight","affected","systems","changes","current","USER_METADATA_FIELDS","readMetadataField","field","currentLog","entry","BulkAction","failed","BulkOutcome","noteFor","labelFor","confirm","retryFailed","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createBlock","VDialog","_cache","$event","withCtx","createVNode","VCard","createTextVNode","toDisplayString","unref","t","VCardText","VAlert","createCommentVNode","VSelect","createElementVNode","createElementBlock","Fragment","renderList","VCheckbox","change","VCardActions","withModifiers","VSpacer"],"sources":["../../../../src/domains/anzuUser/components/AUserMetadataRepairDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AUserSystemStatusChip from '@/domains/anzuUser/components/AUserSystemStatusChip.vue'\nimport { type AnyUserSystemDescriptor, descriptorMayWrite } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport {\n pickPrefillSource,\n readMetadataField,\n systemsNeedingWrite,\n USER_METADATA_FIELDS,\n} from '@/domains/anzuUser/utils/userMetadataDiff'\nimport { BulkAction, BulkOutcome, useUserCrossSystemStore } from '@/domains/anzuUser/store/userCrossSystemStore'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport { cloneDeep, isUndefined } from '@/shared/utils/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n}>()\n\nconst emit = defineEmits<{\n (e: 'confirm', payload: { target: BaseUser; systems: string[] }): void\n}>()\n\nconst open = defineModel<boolean>('open', { required: true })\n\nconst { t } = useI18n()\nconst store = useUserCrossSystemStore()\n\n// The form's own collector, so the strict rules are checked before writing. Without it an empty\n// name or colour from the source (common in blog and cms) was written blank to every ticked system.\nconst v$ = useVuelidate()\n\nconst records = computed(() => {\n const map = new Map<string, BaseUser>()\n for (const descriptor of props.descriptors) {\n const user = store.results.get(descriptor.system)?.user\n if (user) map.set(descriptor.system, user)\n }\n return map\n})\n\nconst sourceSystem = ref<string | null>(null)\nconst target = ref<BaseUser | null>(null)\n/**\n * Target systems. Ticked by default and untickable one by one, like the enable/disable\n * dialog, so an operator can skip a system whose value is intentionally different.\n */\nconst selected = ref<string[]>([])\n/**\n * The dialog stays open after confirm and shows the run, like the enable/disable one.\n * Closing on confirm hid failures: a 422 on one system looked like a successful repair.\n */\nconst showingLog = ref(false)\n\n/**\n * Pre-fill from the first system in configured order that has a record, not\n * the first to answer. The fan-out is parallel, so that would differ per run.\n * The source is shown and can be changed.\n */\nwatch(\n open,\n (value) => {\n if (!value) return\n showingLog.value = false\n const order = props.descriptors.map((descriptor) => descriptor.system)\n sourceSystem.value = pickPrefillSource(order, records.value)\n const source = sourceSystem.value === null ? undefined : records.value.get(sourceSystem.value)\n target.value = isUndefined(source)\n ? null\n : cloneDeep({ id: source.id, email: source.email, person: source.person, avatar: source.avatar })\n },\n { immediate: true }\n)\n\nwatch(sourceSystem, (system) => {\n if (system === null) return\n const source = records.value.get(system)\n if (isUndefined(source)) return\n target.value = cloneDeep({ id: source.id, email: source.email, person: source.person, avatar: source.avatar })\n})\n\nconst sourceOptions = computed(() =>\n props.descriptors\n .filter((descriptor) => records.value.has(descriptor.system))\n .map((descriptor) => ({ value: descriptor.system, title: descriptor.label ?? descriptor.system }))\n)\n\nconst mayUpdate = (system: string) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n return isUndefined(descriptor) || descriptorMayWrite(descriptor, 'update')\n}\n\nconst allDiffering = computed(() => (target.value === null ? [] : systemsNeedingWrite(target.value, records.value)))\n\n/** Only systems whose value differs and that may be written. */\nconst differing = computed(() => allDiffering.value.filter(mayUpdate))\n\n/** Differing, but the operator may not write them: listed so the repair does not look complete. */\nconst differingWithoutRight = computed(() => allDiffering.value.filter((system) => !mayUpdate(system)))\n\nconst affected = computed(() => differing.value.filter((system) => selected.value.includes(system)))\n\n// Re-tick everything that differs whenever the set changes: on open and on a source switch.\nwatch(\n differing,\n (systems) => {\n selected.value = [...systems]\n },\n { immediate: true }\n)\n\nconst changes = computed(() => {\n if (target.value === null) return []\n return differing.value.flatMap((system) => {\n const current = records.value.get(system)\n if (isUndefined(current)) return []\n return USER_METADATA_FIELDS.filter(\n (field) => readMetadataField(current, field) !== readMetadataField(target.value as BaseUser, field)\n ).map((field) => ({\n system,\n field,\n from: readMetadataField(current, field),\n to: readMetadataField(target.value as BaseUser, field),\n }))\n })\n})\n\nconst currentLog = computed(() =>\n store.bulkLog.filter((entry) => entry.action === BulkAction.Metadata && entry.subjectId === store.resolvedId)\n)\n\nconst failed = computed(() =>\n currentLog.value.filter((entry) => entry.outcome !== BulkOutcome.Done && entry.outcome !== BulkOutcome.Pending)\n)\n\nconst noteFor = (system: string) => props.descriptors.find((item) => item.system === system)?.metadataNote\n\nconst labelFor = (system: string) => props.descriptors.find((item) => item.system === system)?.label ?? system\n\nconst confirm = async () => {\n if (target.value === null || store.identityConflict !== null || affected.value.length === 0) return\n // Strict because it writes to up to nine places: only a value that passes in every system may go.\n if (!(await v$.value.$validate())) return\n showingLog.value = true\n emit('confirm', { target: target.value, systems: affected.value })\n}\n\n/** Retries the same value on systems it did not reach, 403 included: rights may have been granted since. */\nconst retryFailed = () => {\n if (target.value === null) return\n emit('confirm', { target: target.value, systems: failed.value.map((entry) => entry.system) })\n}\n</script>\n\n<template>\n <VDialog\n v-model=\"open\"\n :max-width=\"900\"\n data-cy=\"user-metadata-repair-dialog\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"open = false\">\n {{ t('common.userSystem.repair.title') }}\n </ADialogToolbar>\n <VCardText v-if=\"target && !showingLog\">\n <!--\n Two ids share one e-mail. Writing under either could put this person's\n metadata on someone else's account, and no admin can delete an AnzuUser.\n -->\n <VAlert\n v-if=\"store.identityConflict\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mb-3\"\n data-cy=\"repair-identity-conflict\"\n >\n {{ t('common.userSystem.search.identityConflict') }}\n </VAlert>\n <VSelect\n v-model=\"sourceSystem\"\n :items=\"sourceOptions\"\n :label=\"t('common.userSystem.repair.source')\"\n density=\"compact\"\n data-cy=\"repair-source\"\n />\n <!--\n Always strict, whatever the target profiles say. It writes to many systems, and a loose\n form could put an empty name into cms, which cms's form would then refuse to save.\n `randomColor` is deliberately not passed: the strict form would\n invent a colour on open and mark it as a change everywhere.\n -->\n <AUserMetadataForm\n v-model:user=\"target\"\n required\n :id-input=\"false\"\n is-edit\n />\n <div class=\"mt-4 text-label-large\">{{ t('common.userSystem.repair.changes') }}</div>\n <div\n v-for=\"system in differing\"\n :key=\"system\"\n class=\"mt-2 d-flex align-start ga-2\"\n >\n <VCheckbox\n v-model=\"selected\"\n :value=\"system\"\n :disabled=\"!!store.identityConflict\"\n :data-cy=\"`repair-system-${system}`\"\n density=\"compact\"\n hide-details\n />\n <div>\n <div class=\"d-flex align-center ga-2\">\n <span class=\"font-weight-medium\">{{ labelFor(system) }}</span>\n <AUserSystemStatusChip\n v-if=\"store.results.get(system)\"\n :axes=\"store.results.get(system)!.axes\"\n />\n </div>\n <div\n v-if=\"noteFor(system)\"\n class=\"text-body-small text-warning\"\n >\n {{ noteFor(system) }}\n </div>\n <div\n v-for=\"change in changes.filter((item) => item.system === system)\"\n :key=\"change.field\"\n class=\"text-body-small\"\n >\n {{ change.field }}: <s>{{ change.from || '—' }}</s> → {{ change.to || '—' }}\n </div>\n </div>\n </div>\n <div\n v-for=\"system in differingWithoutRight\"\n :key=\"system\"\n class=\"mt-2 d-flex align-center ga-2\"\n :data-cy=\"`repair-system-no-right-${system}`\"\n >\n <VCheckbox\n :model-value=\"false\"\n disabled\n density=\"compact\"\n hide-details\n />\n <span class=\"font-weight-medium\">{{ labelFor(system) }}</span>\n <span class=\"text-body-small text-medium-emphasis\">{{ t('common.userSystem.state.noWriteRight') }}</span>\n </div>\n </VCardText>\n <VCardText v-else-if=\"showingLog\">\n <div class=\"text-label-large mb-2\">{{ t('common.userSystem.bulk.log') }}</div>\n <!-- `polite`: nine systems finishing one after another would flood a screen reader. -->\n <div\n aria-live=\"polite\"\n data-cy=\"repair-log\"\n >\n <div\n v-for=\"entry in currentLog\"\n :key=\"entry.system\"\n class=\"d-flex align-center ga-2 py-1\"\n >\n <div class=\"font-weight-medium\">{{ labelFor(entry.system) }}</div>\n <div class=\"text-body-small\">{{ t(`common.userSystem.bulk.outcome.${entry.outcome}`) }}</div>\n <div\n v-if=\"entry.detail\"\n class=\"text-body-small text-warning\"\n >\n {{ entry.detail }}\n </div>\n </div>\n </div>\n </VCardText>\n <VCardActions>\n <ABtnTertiary @click.stop=\"open = false\">\n {{ showingLog ? t('common.userSystem.bulk.close') : t('common.button.cancel') }}\n </ABtnTertiary>\n <VSpacer />\n <ABtnTertiary\n v-if=\"showingLog && failed.length > 0 && !store.bulkRunning\"\n data-cy=\"repair-retry\"\n @click.stop=\"retryFailed\"\n >\n {{ t('common.userSystem.bulk.retryFailed') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"!showingLog\"\n :disabled=\"affected.length === 0 || !!store.identityConflict\"\n data-cy=\"repair-confirm\"\n @click.stop=\"confirm\"\n >\n {{ t('common.userSystem.bulk.metadata.confirm', { count: affected.length }, affected.length) }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import e from "./AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js";
2
- //#region src/domains/anzuUser/components/AUserOtherSystemsTable.vue
2
+ // src/domains/anzuUser/components/AUserOtherSystemsTable.vue
3
3
  var t = e;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=AUserOtherSystemsTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AUserOtherSystemsTable.js","names":["_sfc_main","AUserOtherSystemsTable_vue_vue_type_script_setup_true_lang_default","AUserOtherSystemsTable_default"],"sources":["../../../../src/domains/anzuUser/components/AUserOtherSystemsTable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport AUserSystemPanel from '@/domains/anzuUser/components/AUserSystemPanel.vue'\nimport type { AnyUserSystemDescriptor } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport type { IntegerId } from '@/shared/types/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n userId: IntegerId\n readonly?: boolean\n /** Whether an account created from here would be switched on -- the dialog says so out loud. */\n createEnabled?: boolean\n /** What the owning system holds, to prefill the create form. */\n source?: BaseUser | null\n /** The system a create is currently running for. */\n creatingSystem?: string | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'create', descriptor: AnyUserSystemDescriptor, user: BaseUser): void\n}>()\n\n/**\n * A read-only list of panels, not `AUserSystemOverview`.\n *\n * The overview adds a search, bulk actions and inconsistency detection, and belongs to task 3.\n * Building this out of it would make task 2 depend on task 3, which the plan's task table says it\n * does not.\n */\nconst panels = ref<InstanceType<typeof AUserSystemPanel>[]>([])\n\nconst refreshSystem = (system: string) => {\n const index = props.descriptors.findIndex((descriptor) => descriptor.system === system)\n panels.value[index]?.refresh()\n}\n\ndefineExpose({\n refresh: () => panels.value.forEach((panel) => panel?.refresh()),\n refreshSystem,\n})\n</script>\n\n<template>\n <VCard variant=\"flat\">\n <VCardText class=\"d-flex flex-column ga-4\">\n <AUserSystemPanel\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n ref=\"panels\"\n :descriptor=\"descriptor\"\n :user-id=\"userId\"\n :readonly=\"readonly\"\n :create-enabled=\"createEnabled\"\n :source=\"source\"\n :creating=\"creatingSystem === descriptor.system\"\n @create=\"(target, user) => emit('create', target, user)\"\n />\n </VCardText>\n </VCard>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AUserOtherSystemsTable.js","names":["_sfc_main","AUserOtherSystemsTable_vue_vue_type_script_setup_true_lang_default","AUserOtherSystemsTable_default"],"sources":["../../../../src/domains/anzuUser/components/AUserOtherSystemsTable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport AUserSystemPanel from '@/domains/anzuUser/components/AUserSystemPanel.vue'\nimport type { AnyUserSystemDescriptor } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport type { IntegerId } from '@/shared/types/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n userId: IntegerId\n readonly?: boolean\n /** Whether an account created from here would be switched on. The dialog states it. */\n createEnabled?: boolean\n /** What the owning system holds, to prefill the create form. */\n source?: BaseUser | null\n creatingSystem?: string | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'create', descriptor: AnyUserSystemDescriptor, user: BaseUser): void\n}>()\n\n/**\n * A read-only list of panels, not `AUserSystemOverview`. The overview adds search, bulk\n * actions and inconsistency detection, and building on it would make task 2 depend on task 3.\n */\nconst panels = ref<InstanceType<typeof AUserSystemPanel>[]>([])\n\nconst refreshSystem = (system: string) => {\n const index = props.descriptors.findIndex((descriptor) => descriptor.system === system)\n panels.value[index]?.refresh()\n}\n\ndefineExpose({\n refresh: () => panels.value.forEach((panel) => panel?.refresh()),\n refreshSystem,\n})\n</script>\n\n<template>\n <VCard variant=\"flat\">\n <VCardText class=\"d-flex flex-column ga-4\">\n <AUserSystemPanel\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n ref=\"panels\"\n :descriptor=\"descriptor\"\n :user-id=\"userId\"\n :readonly=\"readonly\"\n :create-enabled=\"createEnabled\"\n :source=\"source\"\n :creating=\"creatingSystem === descriptor.system\"\n @create=\"(target, user) => emit('create', target, user)\"\n />\n </VCardText>\n </VCard>\n</template>\n"],"mappings":""}
@@ -5,11 +5,10 @@ type __VLS_Props = {
5
5
  descriptors: AnyUserSystemDescriptor[];
6
6
  userId: IntegerId;
7
7
  readonly?: boolean;
8
- /** Whether an account created from here would be switched on -- the dialog says so out loud. */
8
+ /** Whether an account created from here would be switched on. The dialog states it. */
9
9
  createEnabled?: boolean;
10
10
  /** What the owning system holds, to prefill the create form. */
11
11
  source?: BaseUser | null;
12
- /** The system a create is currently running for. */
13
12
  creatingSystem?: string | null;
14
13
  };
15
14
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
@@ -1,7 +1,7 @@
1
1
  import e from "./AUserSystemPanel.js";
2
2
  import { Fragment as t, createBlock as n, createElementBlock as r, createVNode as i, defineComponent as a, openBlock as o, ref as s, renderList as c, withCtx as l } from "vue";
3
3
  import { VCard as u, VCardText as d } from "vuetify/components/VCard";
4
- //#region src/domains/anzuUser/components/AUserOtherSystemsTable.vue?vue&type=script&setup=true&lang.ts
4
+ // src/domains/anzuUser/components/AUserOtherSystemsTable.vue?vue&type=script&setup=true&lang.ts
5
5
  var f = /*@__PURE__*/ a({
6
6
  __name: "AUserOtherSystemsTable",
7
7
  props: {
@@ -49,7 +49,6 @@ var f = /*@__PURE__*/ a({
49
49
  }));
50
50
  }
51
51
  });
52
- //#endregion
53
52
  export { f as default };
54
53
 
55
54
  //# sourceMappingURL=AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VCard","_withCtx","_createVNode","_component_VCardText","_createElementBlock","_Fragment","_renderList","AUserSystemPanel","AUserSystemPanel_default","AUserOtherSystemsTable_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","panels","ref","panel","index","descriptor","system","openBlock","createBlock","VCard","withCtx","createVNode","VCardText","createElementBlock","Fragment","renderList","_cache","target","user"],"sources":["../../../../src/domains/anzuUser/components/AUserOtherSystemsTable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport AUserSystemPanel from '@/domains/anzuUser/components/AUserSystemPanel.vue'\nimport type { AnyUserSystemDescriptor } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport type { IntegerId } from '@/shared/types/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n userId: IntegerId\n readonly?: boolean\n /** Whether an account created from here would be switched on -- the dialog says so out loud. */\n createEnabled?: boolean\n /** What the owning system holds, to prefill the create form. */\n source?: BaseUser | null\n /** The system a create is currently running for. */\n creatingSystem?: string | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'create', descriptor: AnyUserSystemDescriptor, user: BaseUser): void\n}>()\n\n/**\n * A read-only list of panels, not `AUserSystemOverview`.\n *\n * The overview adds a search, bulk actions and inconsistency detection, and belongs to task 3.\n * Building this out of it would make task 2 depend on task 3, which the plan's task table says it\n * does not.\n */\nconst panels = ref<InstanceType<typeof AUserSystemPanel>[]>([])\n\nconst refreshSystem = (system: string) => {\n const index = props.descriptors.findIndex((descriptor) => descriptor.system === system)\n panels.value[index]?.refresh()\n}\n\ndefineExpose({\n refresh: () => panels.value.forEach((panel) => panel?.refresh()),\n refreshSystem,\n})\n</script>\n\n<template>\n <VCard variant=\"flat\">\n <VCardText class=\"d-flex flex-column ga-4\">\n <AUserSystemPanel\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n ref=\"panels\"\n :descriptor=\"descriptor\"\n :user-id=\"userId\"\n :readonly=\"readonly\"\n :create-enabled=\"createEnabled\"\n :source=\"source\"\n :creating=\"creatingSystem === descriptor.system\"\n @create=\"(target, user) => emit('create', target, user)\"\n />\n </VCardText>\n </VCard>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAOA,IAAMc,IAAQC,GAYRC,IAAOH,GAWPI,IAASC,EAA6C,CAAC,CAAC;E,OAO9DN,EAAa;GACX,eAAeK,EAAO,MAAM,SAAS,MAAUE,GAAO,QAAQ,CAAC;GAC/D,gBAPqB,MAAmB;IACxC,IAAMC,IAAQN,EAAM,YAAY,WAAW,MAAeO,EAAW,WAAWC,CAAM;IACtF,EAAO,MAAMF,EAAM,EAAE,QAAQ;GAC/B;EAKA,CAAC,I,UAICpB,EAAA,GAAAC,EAeQC,GAAA,EAfD,SAAQ,OAAM,GAAA;GACnB,SAAAC,QAaY,CAbZC,EAaYC,GAAA,EAbD,OAAM,0BAAyB,GAAA;IAEtC,SAAAF,QAAiC,EADnCH,EAAA,EAAA,GAAAM,EAWEC,GAAA,MAAAC,EAVqBO,EAAA,cAAd,OADTf,EAAA,GAAAC,EAWEQ,GAAA;KATC,KAAKY,EAAW;;KACb,SAAA;KAAJ,KAAIJ;KACS;KACZ,WAASF,EAAA;KACT,UAAUA,EAAA;KACV,kBAAgBA,EAAA;KAChB,QAAQA,EAAA;KACR,UAAUA,EAAA,mBAAmBM,EAAW;KACxC,UAAM,AAAAW,EAAA,QAAG,GAAQ,MAAShB,EAAI,UAAWiB,GAAQC,CAAI"}
1
+ {"version":3,"file":"AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VCard","_withCtx","_createVNode","_component_VCardText","_createElementBlock","_Fragment","_renderList","AUserSystemPanel","AUserSystemPanel_default","AUserOtherSystemsTable_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","panels","ref","panel","index","descriptor","system","openBlock","createBlock","VCard","withCtx","createVNode","VCardText","createElementBlock","Fragment","renderList","_cache","target","user"],"sources":["../../../../src/domains/anzuUser/components/AUserOtherSystemsTable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport AUserSystemPanel from '@/domains/anzuUser/components/AUserSystemPanel.vue'\nimport type { AnyUserSystemDescriptor } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { BaseUser } from '@/shared/types/AnzuUser'\nimport type { IntegerId } from '@/shared/types/common'\n\nconst props = defineProps<{\n descriptors: AnyUserSystemDescriptor[]\n userId: IntegerId\n readonly?: boolean\n /** Whether an account created from here would be switched on. The dialog states it. */\n createEnabled?: boolean\n /** What the owning system holds, to prefill the create form. */\n source?: BaseUser | null\n creatingSystem?: string | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'create', descriptor: AnyUserSystemDescriptor, user: BaseUser): void\n}>()\n\n/**\n * A read-only list of panels, not `AUserSystemOverview`. The overview adds search, bulk\n * actions and inconsistency detection, and building on it would make task 2 depend on task 3.\n */\nconst panels = ref<InstanceType<typeof AUserSystemPanel>[]>([])\n\nconst refreshSystem = (system: string) => {\n const index = props.descriptors.findIndex((descriptor) => descriptor.system === system)\n panels.value[index]?.refresh()\n}\n\ndefineExpose({\n refresh: () => panels.value.forEach((panel) => panel?.refresh()),\n refreshSystem,\n})\n</script>\n\n<template>\n <VCard variant=\"flat\">\n <VCardText class=\"d-flex flex-column ga-4\">\n <AUserSystemPanel\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n ref=\"panels\"\n :descriptor=\"descriptor\"\n :user-id=\"userId\"\n :readonly=\"readonly\"\n :create-enabled=\"createEnabled\"\n :source=\"source\"\n :creating=\"creatingSystem === descriptor.system\"\n @create=\"(target, user) => emit('create', target, user)\"\n />\n </VCardText>\n </VCard>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAOA,IAAMc,IAAQC,GAWRC,IAAOH,GAQPI,IAASC,EAA6C,CAAC,CAAC;E,OAO9DN,EAAa;GACX,eAAeK,EAAO,MAAM,SAAS,MAAUE,GAAO,QAAQ,CAAC;GAC/D,gBAPqB,MAAmB;IACxC,IAAMC,IAAQN,EAAM,YAAY,WAAW,MAAeO,EAAW,WAAWC,CAAM;IACtF,EAAO,MAAMF,EAAM,EAAE,QAAQ;GAC/B;EAKA,CAAC,I,UAICpB,EAAA,GAAAC,EAeQC,GAAA,EAfD,SAAQ,OAAM,GAAA;GACnB,SAAAC,QAaY,CAbZC,EAaYC,GAAA,EAbD,OAAM,0BAAyB,GAAA;IAEtC,SAAAF,QAAiC,EADnCH,EAAA,EAAA,GAAAM,EAWEC,GAAA,MAAAC,EAVqBO,EAAA,cAAd,OADTf,EAAA,GAAAC,EAWEQ,GAAA;KATC,KAAKY,EAAW;;KACb,SAAA;KAAJ,KAAIJ;KACS;KACZ,WAASF,EAAA;KACT,UAAUA,EAAA;KACV,kBAAgBA,EAAA;KAChB,QAAQA,EAAA;KACR,UAAUA,EAAA,mBAAmBM,EAAW;KACxC,UAAM,AAAAW,EAAA,QAAG,GAAQ,MAAShB,EAAI,UAAWiB,GAAQC,CAAI"}
@@ -1,7 +1,6 @@
1
1
  import e from "./AUserSystemOverview.vue_vue_type_script_setup_true_lang.js";
2
- //#region src/domains/anzuUser/components/AUserSystemOverview.vue
2
+ // src/domains/anzuUser/components/AUserSystemOverview.vue
3
3
  var t = e;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=AUserSystemOverview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AUserSystemOverview.js","names":["_sfc_main","AUserSystemOverview_vue_vue_type_script_setup_true_lang_default","AUserSystemOverview_default"],"sources":["../../../../src/domains/anzuUser/components/AUserSystemOverview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, ref } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAnzuUserFactory } from '@/domains/anzuUser/factory/AnzuUserFactory'\nimport AUserBulkActionDialog from '@/domains/anzuUser/components/AUserBulkActionDialog.vue'\nimport AUserCreateInSystemButton from '@/domains/anzuUser/components/AUserCreateInSystemButton.vue'\nimport AUserManageButton from '@/domains/anzuUser/components/AUserManageButton.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AUserMetadataRepairDialog from '@/domains/anzuUser/components/AUserMetadataRepairDialog.vue'\nimport AUserSystemStatusChip from '@/domains/anzuUser/components/AUserSystemStatusChip.vue'\nimport {\n BulkAction,\n BulkOutcome,\n CrossSystemPhase,\n useUserCrossSystemStore,\n type BulkActionType,\n type BulkOutcomeType,\n} from '@/domains/anzuUser/store/userCrossSystemStore'\nimport { isEmailTerm, useUserCrossSystemSearch } from '@/domains/anzuUser/composables/userCrossSystemSearch'\nimport { useUserCrossSystemWrites } from '@/domains/anzuUser/composables/userCrossSystemWrites'\nimport { findMetadataDifferences, type UserMetadataField } from '@/domains/anzuUser/utils/userMetadataDiff'\nimport { type AnyUserSystemDescriptor, descriptorMayWrite } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { UserSystemRefreshHook } from '@/domains/anzuUser/composables/userSystemProbe'\nimport { isActionable } from '@/domains/anzuUser/utils/userSystemState'\nimport type { AnzuUser, BaseUser } from '@/shared/types/AnzuUser'\nimport { cloneDeep, isNull, isUndefined } from '@/shared/utils/common'\n\nconst props = defineProps<{\n /** Order matters twice: the order of the rows, and the priority when pre-filling. */\n descriptors: AnyUserSystemDescriptor[]\n refreshHook?: UserSystemRefreshHook | undefined\n}>()\n\nconst emit = defineEmits<{\n (e: 'searched', term: string): void\n}>()\n\nconst { t } = useI18n()\nconst { showError } = useAlerts()\nconst store = useUserCrossSystemStore()\nconst { createAnzuUser } = useAnzuUserFactory()\nconst writes = useUserCrossSystemWrites()\n\n// A collector for the metadata form inside the create dialog. Without one its rules register\n// against whatever ancestor happens to have an instance, and the dialog's confirm could not ask\n// whether the fields it is about to send are valid.\nconst v$ = useVuelidate()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { search, refreshSystem, unresolvedSystems, cancel } = useUserCrossSystemSearch({\n descriptors: props.descriptors,\n refreshHook: props.refreshHook,\n})\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst term = ref('')\nconst rowBusy = ref(new Set<string>())\n\nconst runSearch = async () => {\n const value = term.value.trim()\n if (value.length === 0) return\n emit('searched', value)\n await search(value)\n}\n\nconst records = computed(() => {\n const map = new Map<string, BaseUser>()\n for (const descriptor of props.descriptors) {\n const user = store.results.get(descriptor.system)?.user\n if (user) map.set(descriptor.system, user)\n }\n return map\n})\n\nconst differences = computed(() => findMetadataDifferences(records.value))\n\nconst foundAnywhere = computed(() => records.value.size > 0)\n\n/** The bulk actions only write where the person was found; offer them when at least one of those may be written. */\nconst anyFoundWritable = computed(() =>\n props.descriptors.some((item) => records.value.has(item.system) && descriptorMayWrite(item, 'update'))\n)\nconst searchDone = computed(() => store.phase === CrossSystemPhase.Done)\n\nconst searchedByEmail = computed(() => isEmailTerm(store.searchTerm))\n\n/**\n * When creating an account may be offered after a search that found nobody.\n *\n * By id: only when every relevant probe answered an authoritative 404. A record that could not be\n * read is not a record that does not exist, and no admin can delete an AnzuUser, so a duplicate\n * identity created on a guess cannot be taken back.\n *\n * By e-mail: always, because an address search cannot prove absence at all -- a system holding the\n * same person under a different address answers nothing, which is why the second round exists.\n * What makes it safe is that the dialog asks for the id and runs its own authoritative fan-out on\n * it before writing anything; refusing here would put the flow decision 21 describes out of reach\n * of the search people actually use, since the id is the thing they do not know yet.\n */\nconst canOfferCreateAnywhere = computed(\n () =>\n searchDone.value &&\n !foundAnywhere.value &&\n (searchedByEmail.value || unresolvedSystems.value.length === 0) &&\n props.descriptors.some((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))\n)\n\n/** A conflict is not a state to act from: writes would land on somebody else's account. */\nconst blockedByConflict = computed(() => store.identityConflict !== null)\n\nconst labelFor = (descriptor: AnyUserSystemDescriptor) => descriptor.label ?? descriptor.system\n\nconst manageTargetFor = (descriptor: AnyUserSystemDescriptor) => {\n const user = store.results.get(descriptor.system)?.user\n if (isUndefined(user) || isNull(user) || isUndefined(descriptor.manage)) return null\n return descriptor.manage(user)\n}\n\nconst extraStateFor = (descriptor: AnyUserSystemDescriptor) => {\n const user = store.results.get(descriptor.system)?.user\n if (isUndefined(user) || isNull(user) || isUndefined(descriptor.extraState)) return null\n return descriptor.extraState(user)\n}\n\nconst EXTRA_STATE_COLOR = { ok: 'success', warn: 'warning', error: 'error' } as const\n\n/**\n * A failed row action says so.\n *\n * The bulk dialog has its log; a single row had nothing -- a 403 on Vypnúť left a spinner, an\n * unchanged row and silence, and the api helpers only write to the logger. The per-admin pages this\n * replaces put every write through `showErrorsDefault`.\n */\nconst reportOutcome = (label: string, outcome: BulkOutcomeType) => {\n if (outcome === BulkOutcome.Done) return\n showError(label + ': ' + t('common.userSystem.bulk.outcome.' + outcome))\n}\n\nconst detailFor = (fields: UserMetadataField[] | undefined) =>\n isUndefined(fields) || fields.length === 0\n ? undefined\n : t('common.userSystem.bulk.concurrentChange', { fields: fields.join(', ') })\n\nconst withRowBusy = async (system: string, run: () => Promise<void>) => {\n rowBusy.value = new Set([...rowBusy.value, system])\n try {\n await run()\n } finally {\n const next = new Set(rowBusy.value)\n next.delete(system)\n rowBusy.value = next\n }\n}\n\n/** After every write the touched row is read again -- otherwise it keeps showing the old state. */\nconst toggleOne = async (descriptor: AnyUserSystemDescriptor, enabled: boolean) => {\n const id = store.resolvedId\n if (isNull(id)) return\n await withRowBusy(descriptor.system, async () => {\n const result = await writes.setEnabled(descriptor, id, enabled)\n reportOutcome(labelFor(descriptor), result.outcome)\n await refreshSystem(descriptor.system)\n })\n}\n\nconst createFromSource = async (descriptor: AnyUserSystemDescriptor, metadata: BaseUser) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const sourceSystem = props.descriptors.find((item) => records.value.has(item.system))\n if (isUndefined(sourceSystem)) return\n\n await withRowBusy(descriptor.system, async () => {\n // Read fresh from the server, never from the search results or a form's store: a switch flipped\n // and not saved would otherwise be copied into a system where it means a working public account.\n const source = await writes.readSourceUser(sourceSystem, id)\n if (isNull(source)) {\n showError(t('common.userSystem.create.sourceUnreadable', { system: labelFor(sourceSystem) }))\n return\n }\n // The same promise the panel makes: the dialog has already said whether this account will be\n // switched on, taken from the search result. If the server no longer agrees, somebody changed\n // it in between, and in blog and forum the difference is a working public account.\n if (source.enabled !== sourceEnabled.value) {\n // Re-read rather than patch the record: the chip draws from the probe's axes, and replacing\n // only the user left it showing the old state next to a toggle already showing the new one.\n await refreshSystem(sourceSystem.system)\n showError(t('common.userSystem.create.sourceChanged'))\n return\n }\n // The create right may have gone while the source was read; nothing is offered then, so nothing is said.\n if (!descriptorMayWrite(descriptor, 'create')) return\n // Metadata from the dialog, which was validated against the target's profile: the source may\n // leave `person` empty -- blog fills it for nobody -- where the target requires it.\n const body = createAnzuUser(descriptor.system)\n body.id = source.id\n body.email = metadata.email\n body.person = cloneDeep(metadata.person)\n body.avatar = cloneDeep(metadata.avatar)\n // Copying a person into another system copies whether they are switched on. Roles stay empty.\n body.enabled = source.enabled\n const result = await writes.createInSystem(descriptor, body)\n reportOutcome(labelFor(descriptor), result.outcome)\n await refreshSystem(descriptor.system)\n })\n}\n\n/** The record the create form is prefilled from: the first configured system that has one. */\nconst prefillSource = computed(() => {\n const first = props.descriptors.find((item) => records.value.has(item.system))\n return isUndefined(first) ? null : (records.value.get(first.system) ?? null)\n})\n\nconst sourceEnabled = computed(() => {\n const first = props.descriptors.find((item) => records.value.has(item.system))\n if (isUndefined(first)) return false\n return store.results.get(first.system)?.user?.enabled === true\n})\n\n/* ---- bulk ---- */\n\nconst bulkOpen = ref(false)\nconst bulkAction = ref<BulkActionType>(BulkAction.Disable)\nconst repairOpen = ref(false)\n\nconst openBulk = (action: BulkActionType) => {\n bulkAction.value = action\n bulkOpen.value = true\n}\n\n/** The one place every bulk write passes through, retries included: a system the descriptor refuses is not written. */\nconst writableSystems = (systems: string[]) =>\n systems.filter((system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n return !isUndefined(descriptor) && descriptorMayWrite(descriptor, 'update')\n })\n\nconst runBulk = async (requested: string[]) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const systems = writableSystems(requested)\n if (systems.length === 0) return\n const enabled = bulkAction.value === BulkAction.Enable\n store.startBulk(bulkAction.value, systems, id)\n await Promise.allSettled(\n systems.map(async (system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor)) return\n store.setBulkEntry(system, BulkOutcome.Running)\n const result = await writes.setEnabled(descriptor, id, enabled)\n store.setBulkEntry(system, result.outcome)\n await refreshSystem(system)\n })\n )\n store.finishBulk()\n}\n\nconst runRepair = async (payload: { target: BaseUser; systems: string[] }) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const systems = writableSystems(payload.systems)\n if (systems.length === 0) return\n store.startBulk(BulkAction.Metadata, systems, id)\n // What the search showed is captured before anything is written, so the comparison is against the\n // values the operator was actually looking at rather than against a row a sibling write refreshed.\n const seenBefore = new Map(records.value)\n await Promise.allSettled(\n systems.map(async (system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor)) return\n store.setBulkEntry(system, BulkOutcome.Running)\n const result = await writes.writeMetadata(\n descriptor,\n id,\n payload.target,\n undefined,\n seenBefore.get(system) ?? null\n )\n store.setBulkEntry(system, result.outcome, detailFor(result.concurrentFields))\n await refreshSystem(system)\n })\n )\n store.finishBulk()\n}\n\n/* ---- create where nobody was found ---- */\n\nconst createAnywhereOpen = ref(false)\nconst createAnywhereSystem = ref<string | null>(null)\nconst createAnywhereUser = ref<AnzuUser>(createAnzuUser())\nconst createAnywhereChecking = ref(false)\nconst createAnywhereConflict = ref<string[]>([])\nconst createAnywhereError = ref<string | null>(null)\n\n/** Set when the page goes away, so work that finishes afterwards does not refill it. */\nlet left = false\n\nconst openCreateAnywhere = () => {\n // The first system that is switched on, not the first one listed: a system disabled in the\n // configuration is not among the options, and preselecting it would POST through a client with\n // no base URL.\n createAnywhereSystem.value =\n props.descriptors.find((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))?.system ?? null\n createAnywhereUser.value = createAnzuUser(createAnywhereSystem.value ?? '')\n createAnywhereConflict.value = []\n createAnywhereError.value = null\n createAnywhereOpen.value = true\n}\n\n/**\n * Before creating, the typed id is looked up across the systems.\n *\n * cms, dam and contentHub skip the SSO lookup for a numeric id, and the validators check the id and\n * the e-mail separately rather than as a pair -- so a typo creates an account with one person's id\n * and another's e-mail, and every later fan-out then follows the wrong identity.\n *\n * The check has to be authoritative too: if a probe answers 401, 403 or nothing, creating is not\n * allowed, because whether that id belongs to somebody is unknown.\n */\nconst confirmCreateAnywhere = async () => {\n const id = createAnywhereUser.value.id\n const system = createAnywhereSystem.value\n createAnywhereConflict.value = []\n createAnywhereError.value = null\n if (isNull(system)) return\n // The id is checked here and not only by the form, because everything below depends on the\n // fan-out having run: a term the search refuses probes nothing, and the empty result that leaves\n // behind would otherwise read as \"this id belongs to nobody\".\n if (isNull(id) || isUndefined(id) || !Number.isInteger(id) || id <= 0) {\n createAnywhereError.value = t('common.userSystem.create.invalidId')\n return\n }\n if (!(await v$.value.$validate())) return\n createAnywhereChecking.value = true\n try {\n if (!(await search(String(id)))) {\n createAnywhereError.value = t('common.userSystem.create.invalidId')\n return\n }\n if (left) return\n if (records.value.size > 0) {\n createAnywhereConflict.value = [...records.value.keys()]\n return\n }\n if (unresolvedSystems.value.length > 0) {\n createAnywhereConflict.value = unresolvedSystems.value\n return\n }\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor) || !descriptor.isEnabled() || !descriptorMayWrite(descriptor, 'create')) return\n const body = createAnzuUser(system)\n body.id = id\n body.email = createAnywhereUser.value.email\n body.person = cloneDeep(createAnywhereUser.value.person)\n body.avatar = cloneDeep(createAnywhereUser.value.avatar)\n // Nobody to copy from, so the account is created switched off, as on an ordinary new-user page.\n body.enabled = false\n const result = await writes.createInSystem(descriptor, body)\n reportOutcome(labelFor(descriptor), result.outcome)\n if (result.outcome !== BulkOutcome.Done) return\n // The dialog is not persistent: the operator can click outside it and use the menu while the\n // POST is still out. The search after it takes a fresh generation that `cancel()` cannot stop,\n // and would put the new person back into a store the unmount just emptied.\n if (left) return\n createAnywhereOpen.value = false\n await search(String(id))\n } finally {\n createAnywhereChecking.value = false\n }\n}\n\n/**\n * The chosen target's own profile, not a blanket strict one.\n *\n * The repair dialog is strict on purpose -- it writes to nine places at once -- but this creates\n * one account in one system, and the plan asks for that system's profile. Strict here would demand\n * an avatar colour for a blog account that does not require one.\n */\nconst createAnywhereRequiredMetadata = computed(\n () => props.descriptors.find((item) => item.system === createAnywhereSystem.value)?.requiredMetadata ?? true\n)\n\n/** What is special about having an account in the chosen system -- for blog and forum, a public one. */\nconst createAnywhereNote = computed(\n () => props.descriptors.find((item) => item.system === createAnywhereSystem.value)?.createNote\n)\n\nconst createSystemOptions = computed(() =>\n props.descriptors\n .filter((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))\n .map((item) => ({ value: item.system, title: labelFor(item) }))\n)\n\n// The store is there so a closed dialog does not take a running bulk action with it -- not to keep\n// a person on screen across navigation. Coming back through the menu showed the last one's rows and\n// live buttons under an empty search box.\nonBeforeUnmount(() => {\n left = true\n cancel()\n store.reset()\n})\n\ndefineExpose({\n search: async (value: string) => {\n term.value = value\n await runSearch()\n },\n})\n</script>\n\n<template>\n <div>\n <VCard variant=\"flat\">\n <VCardText>\n <div class=\"d-flex align-center ga-2\">\n <VTextField\n v-model=\"term\"\n :label=\"t('common.userSystem.search.label')\"\n :hint=\"t('common.userSystem.search.hint')\"\n persistent-hint\n density=\"compact\"\n data-cy=\"cross-system-search\"\n @keyup.enter=\"runSearch\"\n />\n <ABtnPrimary\n data-cy=\"cross-system-search-submit\"\n @click.stop=\"runSearch\"\n >\n {{ t('common.userSystem.search.submit') }}\n </ABtnPrimary>\n </div>\n <!--\n The two rounds are named while they run. Between them a row is neither present nor absent,\n and calling it \"no account here\" would invite a Create for an account that exists under\n another address.\n -->\n <div\n v-if=\"store.phase === CrossSystemPhase.MatchingEmail\"\n class=\"text-body-small mt-2\"\n >\n {{ t('common.userSystem.search.phase.matchingEmail') }}\n </div>\n <div\n v-else-if=\"store.phase === CrossSystemPhase.VerifyingById\"\n class=\"text-body-small mt-2\"\n >\n {{ t('common.userSystem.search.phase.verifyingById') }}\n </div>\n </VCardText>\n </VCard>\n\n <VAlert\n v-if=\"store.identityConflict\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"my-3\"\n data-cy=\"identity-conflict\"\n >\n {{ t('common.userSystem.search.identityConflict') }}\n </VAlert>\n\n <!-- Neither an address nor an id. The previous person's rows are gone, and this says why. -->\n <VAlert\n v-if=\"store.termRejected\"\n type=\"warning\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"my-3\"\n data-cy=\"cross-system-term-rejected\"\n >\n {{ t('common.userSystem.search.termRejected') }}\n </VAlert>\n\n <VCard\n v-if=\"searchDone\"\n variant=\"flat\"\n class=\"mt-3\"\n >\n <VCardText class=\"d-flex flex-column ga-3\">\n <div\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n class=\"d-flex align-center flex-wrap ga-2\"\n :data-cy=\"`cross-system-row-${descriptor.system}`\"\n >\n <div\n class=\"font-weight-medium\"\n style=\"min-width: 8rem\"\n >\n {{ labelFor(descriptor) }}\n </div>\n <AUserSystemStatusChip\n v-if=\"store.results.get(descriptor.system)\"\n :axes=\"store.results.get(descriptor.system)!.axes\"\n />\n <VChip\n v-if=\"extraStateFor(descriptor)\"\n :color=\"EXTRA_STATE_COLOR[extraStateFor(descriptor)!.tone]\"\n label\n size=\"small\"\n >\n {{ extraStateFor(descriptor)!.label }}: {{ extraStateFor(descriptor)!.value }}\n </VChip>\n <div class=\"text-body-small text-medium-emphasis\">\n {{ store.results.get(descriptor.system)?.user?.person.fullName }}\n <template v-if=\"store.results.get(descriptor.system)?.user\">\n · {{ store.results.get(descriptor.system)?.user?.email }}\n </template>\n </div>\n <VSpacer />\n <template\n v-if=\"store.results.get(descriptor.system) && isActionable(store.results.get(descriptor.system)!.axes)\"\n >\n <VBtn\n v-if=\"descriptorMayWrite(descriptor, 'update')\"\n size=\"small\"\n variant=\"text\"\n :loading=\"rowBusy.has(descriptor.system)\"\n :disabled=\"blockedByConflict\"\n :data-cy=\"`cross-system-toggle-${descriptor.system}`\"\n @click=\"toggleOne(descriptor, !store.results.get(descriptor.system)!.user!.enabled)\"\n >\n {{\n store.results.get(descriptor.system)!.user!.enabled\n ? t('common.userSystem.bulk.disable.title')\n : t('common.userSystem.bulk.enable.title')\n }}\n </VBtn>\n <AUserManageButton\n v-if=\"manageTargetFor(descriptor) && descriptorMayWrite(descriptor, 'update')\"\n :target=\"manageTargetFor(descriptor)!\"\n :system-label=\"labelFor(descriptor)\"\n />\n </template>\n <!--\n Create is offered on a row only when the person exists somewhere -- that is the only way\n their global id is known.\n -->\n <AUserCreateInSystemButton\n v-else-if=\"\n foundAnywhere &&\n store.results.get(descriptor.system) &&\n store.results.get(descriptor.system)!.axes.presence === 'absent' &&\n descriptorMayWrite(descriptor, 'create')\n \"\n :system-label=\"labelFor(descriptor)\"\n :create-note=\"descriptor.createNote\"\n :will-be-enabled=\"sourceEnabled\"\n :loading=\"rowBusy.has(descriptor.system)\"\n :disabled=\"blockedByConflict\"\n :required-metadata=\"descriptor.requiredMetadata\"\n :user-id=\"store.resolvedId\"\n :source=\"prefillSource\"\n @confirm=\"(user) => createFromSource(descriptor, user)\"\n />\n </div>\n </VCardText>\n </VCard>\n\n <VCard\n v-if=\"differences.length > 0\"\n variant=\"flat\"\n class=\"mt-3\"\n data-cy=\"cross-system-differences\"\n >\n <VCardText>\n <div class=\"text-label-large\">{{ t('common.userSystem.inconsistency.title') }}</div>\n <div\n v-for=\"difference in differences\"\n :key=\"difference.field\"\n class=\"text-body-small\"\n >\n <strong>{{ difference.field }}</strong>\n <span\n v-for=\"[system, systemValue] in difference.values\"\n :key=\"system\"\n class=\"ml-2\"\n >\n {{ system }}: {{ systemValue || '—' }}\n </span>\n </div>\n </VCardText>\n </VCard>\n\n <div\n v-if=\"searchDone && foundAnywhere && anyFoundWritable\"\n class=\"d-flex ga-2 mt-3\"\n >\n <!-- All three open a dialog. None of them acts straight away. -->\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-disable\"\n @click=\"openBulk(BulkAction.Disable)\"\n >\n {{ t('common.userSystem.bulk.openDisable') }}\n </ABtnTertiary>\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-enable\"\n @click=\"openBulk(BulkAction.Enable)\"\n >\n {{ t('common.userSystem.bulk.openEnable') }}\n </ABtnTertiary>\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-metadata\"\n @click=\"repairOpen = true\"\n >\n {{ t('common.userSystem.bulk.openMetadata') }}\n </ABtnTertiary>\n <div\n v-if=\"store.bulkRunning\"\n class=\"text-body-small align-self-center\"\n >\n {{ t('common.userSystem.bulk.runningElsewhere') }}\n </div>\n </div>\n\n <VCard\n v-if=\"searchDone && !foundAnywhere\"\n variant=\"flat\"\n class=\"mt-3\"\n >\n <VCardText>\n <div data-cy=\"cross-system-not-found\">{{ t('common.userSystem.search.notFound') }}</div>\n <ABtnPrimary\n v-if=\"canOfferCreateAnywhere\"\n class=\"mt-2\"\n data-cy=\"cross-system-create-anywhere\"\n @click=\"openCreateAnywhere\"\n >\n {{ t('common.userSystem.search.createAnywhere') }}\n </ABtnPrimary>\n <!-- Not offered for want of a create right: then nothing is left unconfirmed to retry. -->\n <template v-else-if=\"!searchedByEmail && unresolvedSystems.length > 0\">\n <div class=\"text-body-small mt-2\">\n {{ t('common.userSystem.create.notAuthoritative', { systems: unresolvedSystems.join(', ') }) }}\n </div>\n <ABtnTertiary\n class=\"mt-2\"\n data-cy=\"cross-system-retry-search\"\n @click=\"runSearch\"\n >\n {{ t('common.userSystem.button.retry') }}\n </ABtnTertiary>\n </template>\n </VCardText>\n </VCard>\n\n <AUserBulkActionDialog\n v-model:open=\"bulkOpen\"\n :action=\"bulkAction\"\n :descriptors=\"descriptors\"\n @run=\"runBulk\"\n />\n\n <AUserMetadataRepairDialog\n v-model:open=\"repairOpen\"\n :descriptors=\"descriptors\"\n @confirm=\"runRepair\"\n />\n\n <VDialog\n v-model=\"createAnywhereOpen\"\n :max-width=\"720\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"createAnywhereOpen = false\">\n {{ t('common.userSystem.search.createAnywhere') }}\n </ADialogToolbar>\n <VCardText>\n <VSelect\n v-model=\"createAnywhereSystem\"\n :items=\"createSystemOptions\"\n :label=\"t('common.userSystem.table.system')\"\n density=\"compact\"\n data-cy=\"create-anywhere-system\"\n />\n <!-- Id and e-mail are both asked for: the e-mail is required by the backend. -->\n <AUserMetadataForm\n v-model:user=\"createAnywhereUser\"\n :required=\"createAnywhereRequiredMetadata\"\n id-input\n />\n <p\n v-if=\"createAnywhereNote\"\n class=\"mt-2\"\n >\n {{ createAnywhereNote }}\n </p>\n <VAlert\n v-if=\"createAnywhereError\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mt-2\"\n data-cy=\"create-anywhere-error\"\n >\n {{ createAnywhereError }}\n </VAlert>\n <VAlert\n v-if=\"createAnywhereConflict.length > 0\"\n type=\"warning\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mt-2\"\n data-cy=\"create-anywhere-conflict\"\n >\n {{ t('common.userSystem.create.notAuthoritative', { systems: createAnywhereConflict.join(', ') }) }}\n </VAlert>\n <p class=\"mt-2\">{{ t('common.userSystem.create.note') }}</p>\n <p>{{ t('common.userSystem.create.willBeDisabled') }}</p>\n </VCardText>\n <VCardActions>\n <ABtnTertiary @click.stop=\"createAnywhereOpen = false\">\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <VSpacer />\n <ABtnPrimary\n :loading=\"createAnywhereChecking\"\n data-cy=\"create-anywhere-confirm\"\n @click.stop=\"confirmCreateAnywhere\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AUserSystemOverview.js","names":["_sfc_main","AUserSystemOverview_vue_vue_type_script_setup_true_lang_default","AUserSystemOverview_default"],"sources":["../../../../src/domains/anzuUser/components/AUserSystemOverview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, ref } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAnzuUserFactory } from '@/domains/anzuUser/factory/AnzuUserFactory'\nimport AUserBulkActionDialog from '@/domains/anzuUser/components/AUserBulkActionDialog.vue'\nimport AUserCreateInSystemButton from '@/domains/anzuUser/components/AUserCreateInSystemButton.vue'\nimport AUserManageButton from '@/domains/anzuUser/components/AUserManageButton.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AUserMetadataRepairDialog from '@/domains/anzuUser/components/AUserMetadataRepairDialog.vue'\nimport AUserSystemStatusChip from '@/domains/anzuUser/components/AUserSystemStatusChip.vue'\nimport {\n BulkAction,\n BulkOutcome,\n CrossSystemPhase,\n useUserCrossSystemStore,\n type BulkActionType,\n type BulkOutcomeType,\n} from '@/domains/anzuUser/store/userCrossSystemStore'\nimport { isEmailTerm, useUserCrossSystemSearch } from '@/domains/anzuUser/composables/userCrossSystemSearch'\nimport { useUserCrossSystemWrites } from '@/domains/anzuUser/composables/userCrossSystemWrites'\nimport { findMetadataDifferences, type UserMetadataField } from '@/domains/anzuUser/utils/userMetadataDiff'\nimport { type AnyUserSystemDescriptor, descriptorMayWrite } from '@/domains/anzuUser/composables/userSystemDescriptor'\nimport type { UserSystemRefreshHook } from '@/domains/anzuUser/composables/userSystemProbe'\nimport { isActionable } from '@/domains/anzuUser/utils/userSystemState'\nimport type { AnzuUser, BaseUser } from '@/shared/types/AnzuUser'\nimport { cloneDeep, isNull, isUndefined } from '@/shared/utils/common'\n\nconst props = defineProps<{\n /** Order matters twice: the order of the rows, and the priority when pre-filling. */\n descriptors: AnyUserSystemDescriptor[]\n refreshHook?: UserSystemRefreshHook | undefined\n}>()\n\nconst emit = defineEmits<{\n (e: 'searched', term: string): void\n}>()\n\nconst { t } = useI18n()\nconst { showError } = useAlerts()\nconst store = useUserCrossSystemStore()\nconst { createAnzuUser } = useAnzuUserFactory()\nconst writes = useUserCrossSystemWrites()\n\n// Collector for the metadata form in the create dialog. Without it the rules register\n// on some ancestor, and the dialog cannot validate the fields before sending.\nconst v$ = useVuelidate()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { search, refreshSystem, unresolvedSystems, cancel } = useUserCrossSystemSearch({\n descriptors: props.descriptors,\n refreshHook: props.refreshHook,\n})\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst term = ref('')\nconst rowBusy = ref(new Set<string>())\n\nconst runSearch = async () => {\n const value = term.value.trim()\n if (value.length === 0) return\n emit('searched', value)\n await search(value)\n}\n\nconst records = computed(() => {\n const map = new Map<string, BaseUser>()\n for (const descriptor of props.descriptors) {\n const user = store.results.get(descriptor.system)?.user\n if (user) map.set(descriptor.system, user)\n }\n return map\n})\n\nconst differences = computed(() => findMetadataDifferences(records.value))\n\nconst foundAnywhere = computed(() => records.value.size > 0)\n\n/** Bulk actions only write where the person was found, so offer them when at least one of those systems is writable. */\nconst anyFoundWritable = computed(() =>\n props.descriptors.some((item) => records.value.has(item.system) && descriptorMayWrite(item, 'update'))\n)\nconst searchDone = computed(() => store.phase === CrossSystemPhase.Done)\n\nconst searchedByEmail = computed(() => isEmailTerm(store.searchTerm))\n\n/**\n * When to offer creating an account after a search that found nobody.\n * By id: only if every relevant probe returned an authoritative 404. An\n * unreadable record may exist, and a duplicate identity cannot be deleted.\n * By e-mail: always. An address search cannot prove absence, and the dialog\n * asks for the id and runs its own authoritative check before writing.\n * Refusing here would block the decision 21 flow for the search people actually use, since they do not know the id yet.\n */\nconst canOfferCreateAnywhere = computed(\n () =>\n searchDone.value &&\n !foundAnywhere.value &&\n (searchedByEmail.value || unresolvedSystems.value.length === 0) &&\n props.descriptors.some((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))\n)\n\n/** A conflict is not a state to act from: writes would land on somebody else's account. */\nconst blockedByConflict = computed(() => store.identityConflict !== null)\n\nconst labelFor = (descriptor: AnyUserSystemDescriptor) => descriptor.label ?? descriptor.system\n\nconst manageTargetFor = (descriptor: AnyUserSystemDescriptor) => {\n const user = store.results.get(descriptor.system)?.user\n if (isUndefined(user) || isNull(user) || isUndefined(descriptor.manage)) return null\n return descriptor.manage(user)\n}\n\nconst extraStateFor = (descriptor: AnyUserSystemDescriptor) => {\n const user = store.results.get(descriptor.system)?.user\n if (isUndefined(user) || isNull(user) || isUndefined(descriptor.extraState)) return null\n return descriptor.extraState(user)\n}\n\nconst EXTRA_STATE_COLOR = { ok: 'success', warn: 'warning', error: 'error' } as const\n\n/**\n * Report a failed row action to the user.\n * Without this a 403 on Vypnúť leaves a spinner and an unchanged row, because the api helpers only write to the logger.\n */\nconst reportOutcome = (label: string, outcome: BulkOutcomeType) => {\n if (outcome === BulkOutcome.Done) return\n showError(label + ': ' + t('common.userSystem.bulk.outcome.' + outcome))\n}\n\nconst detailFor = (fields: UserMetadataField[] | undefined) =>\n isUndefined(fields) || fields.length === 0\n ? undefined\n : t('common.userSystem.bulk.concurrentChange', { fields: fields.join(', ') })\n\nconst withRowBusy = async (system: string, run: () => Promise<void>) => {\n rowBusy.value = new Set([...rowBusy.value, system])\n try {\n await run()\n } finally {\n const next = new Set(rowBusy.value)\n next.delete(system)\n rowBusy.value = next\n }\n}\n\n/** The touched row is read again after every write. Otherwise it keeps showing the old state. */\nconst toggleOne = async (descriptor: AnyUserSystemDescriptor, enabled: boolean) => {\n const id = store.resolvedId\n if (isNull(id)) return\n await withRowBusy(descriptor.system, async () => {\n const result = await writes.setEnabled(descriptor, id, enabled)\n reportOutcome(labelFor(descriptor), result.outcome)\n await refreshSystem(descriptor.system)\n })\n}\n\nconst createFromSource = async (descriptor: AnyUserSystemDescriptor, metadata: BaseUser) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const sourceSystem = props.descriptors.find((item) => records.value.has(item.system))\n if (isUndefined(sourceSystem)) return\n\n await withRowBusy(descriptor.system, async () => {\n // Read from the server, never from search results or a form's store.\n // An unsaved switch would otherwise be copied into a system where it means a working public account.\n const source = await writes.readSourceUser(sourceSystem, id)\n if (isNull(source)) {\n showError(t('common.userSystem.create.sourceUnreadable', { system: labelFor(sourceSystem) }))\n return\n }\n // The dialog already told the operator whether the account will be switched on, based on the search result.\n // If the server disagrees now, someone changed it. In blog and forum that means a working public account.\n if (source.enabled !== sourceEnabled.value) {\n // Re-read instead of patching the record. The chip uses the probe's axes, so\n // replacing only the user leaves the chip stale next to an updated toggle.\n await refreshSystem(sourceSystem.system)\n showError(t('common.userSystem.create.sourceChanged'))\n return\n }\n // The create right may have been lost while the source was read. Nothing is offered then, so nothing is reported.\n if (!descriptorMayWrite(descriptor, 'create')) return\n // Metadata comes from the dialog, which was validated against the target's profile.\n // The source may leave `person` empty (blog never fills it) where the target requires it.\n const body = createAnzuUser(descriptor.system)\n body.id = source.id\n body.email = metadata.email\n body.person = cloneDeep(metadata.person)\n body.avatar = cloneDeep(metadata.avatar)\n // Copying a person into another system copies whether they are switched on. Roles stay empty.\n body.enabled = source.enabled\n const result = await writes.createInSystem(descriptor, body)\n reportOutcome(labelFor(descriptor), result.outcome)\n await refreshSystem(descriptor.system)\n })\n}\n\n/** The record the create form is prefilled from: the first configured system that has one. */\nconst prefillSource = computed(() => {\n const first = props.descriptors.find((item) => records.value.has(item.system))\n return isUndefined(first) ? null : (records.value.get(first.system) ?? null)\n})\n\nconst sourceEnabled = computed(() => {\n const first = props.descriptors.find((item) => records.value.has(item.system))\n if (isUndefined(first)) return false\n return store.results.get(first.system)?.user?.enabled === true\n})\n\nconst bulkOpen = ref(false)\nconst bulkAction = ref<BulkActionType>(BulkAction.Disable)\nconst repairOpen = ref(false)\n\nconst openBulk = (action: BulkActionType) => {\n bulkAction.value = action\n bulkOpen.value = true\n}\n\n/** Every bulk write passes through here, retries included. A system the descriptor refuses is not written. */\nconst writableSystems = (systems: string[]) =>\n systems.filter((system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n return !isUndefined(descriptor) && descriptorMayWrite(descriptor, 'update')\n })\n\nconst runBulk = async (requested: string[]) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const systems = writableSystems(requested)\n if (systems.length === 0) return\n const enabled = bulkAction.value === BulkAction.Enable\n store.startBulk(bulkAction.value, systems, id)\n await Promise.allSettled(\n systems.map(async (system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor)) return\n store.setBulkEntry(system, BulkOutcome.Running)\n const result = await writes.setEnabled(descriptor, id, enabled)\n store.setBulkEntry(system, result.outcome)\n await refreshSystem(system)\n })\n )\n store.finishBulk()\n}\n\nconst runRepair = async (payload: { target: BaseUser; systems: string[] }) => {\n const id = store.resolvedId\n if (isNull(id)) return\n const systems = writableSystems(payload.systems)\n if (systems.length === 0) return\n store.startBulk(BulkAction.Metadata, systems, id)\n // Captured before any write, so the comparison uses the values the operator saw, not a row a sibling write refreshed.\n const seenBefore = new Map(records.value)\n await Promise.allSettled(\n systems.map(async (system) => {\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor)) return\n store.setBulkEntry(system, BulkOutcome.Running)\n const result = await writes.writeMetadata(\n descriptor,\n id,\n payload.target,\n undefined,\n seenBefore.get(system) ?? null\n )\n store.setBulkEntry(system, result.outcome, detailFor(result.concurrentFields))\n await refreshSystem(system)\n })\n )\n store.finishBulk()\n}\n\nconst createAnywhereOpen = ref(false)\nconst createAnywhereSystem = ref<string | null>(null)\nconst createAnywhereUser = ref<AnzuUser>(createAnzuUser())\nconst createAnywhereChecking = ref(false)\nconst createAnywhereConflict = ref<string[]>([])\nconst createAnywhereError = ref<string | null>(null)\n\n/** Set when the page goes away, so work that finishes afterwards does not refill it. */\nlet left = false\n\nconst openCreateAnywhere = () => {\n // Pick the first enabled system, not the first listed. A system disabled in the configuration\n // is not an option, and preselecting it would POST through a client with no base URL.\n createAnywhereSystem.value =\n props.descriptors.find((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))?.system ?? null\n createAnywhereUser.value = createAnzuUser(createAnywhereSystem.value ?? '')\n createAnywhereConflict.value = []\n createAnywhereError.value = null\n createAnywhereOpen.value = true\n}\n\n/**\n * Before creating, the typed id is looked up across the systems.\n * cms, dam and contentHub skip the SSO lookup for a numeric id, and the validators check id and e-mail separately. A\n * typo would create an account with one person's id and another's e-mail, and later fan-outs follow the wrong identity.\n * If a probe answers 401, 403 or nothing, creating is blocked, because the id's owner is unknown.\n */\nconst confirmCreateAnywhere = async () => {\n const id = createAnywhereUser.value.id\n const system = createAnywhereSystem.value\n createAnywhereConflict.value = []\n createAnywhereError.value = null\n if (isNull(system)) return\n // The id is checked here, not only by the form. A term the search refuses probes\n // nothing, and that empty result would read as \"this id belongs to nobody\".\n if (isNull(id) || isUndefined(id) || !Number.isInteger(id) || id <= 0) {\n createAnywhereError.value = t('common.userSystem.create.invalidId')\n return\n }\n if (!(await v$.value.$validate())) return\n createAnywhereChecking.value = true\n try {\n if (!(await search(String(id)))) {\n createAnywhereError.value = t('common.userSystem.create.invalidId')\n return\n }\n if (left) return\n if (records.value.size > 0) {\n createAnywhereConflict.value = [...records.value.keys()]\n return\n }\n if (unresolvedSystems.value.length > 0) {\n createAnywhereConflict.value = unresolvedSystems.value\n return\n }\n const descriptor = props.descriptors.find((item) => item.system === system)\n if (isUndefined(descriptor) || !descriptor.isEnabled() || !descriptorMayWrite(descriptor, 'create')) return\n const body = createAnzuUser(system)\n body.id = id\n body.email = createAnywhereUser.value.email\n body.person = cloneDeep(createAnywhereUser.value.person)\n body.avatar = cloneDeep(createAnywhereUser.value.avatar)\n // Nobody to copy from, so the account is created switched off, as on an ordinary new-user page.\n body.enabled = false\n const result = await writes.createInSystem(descriptor, body)\n reportOutcome(labelFor(descriptor), result.outcome)\n if (result.outcome !== BulkOutcome.Done) return\n // The dialog is not persistent, so the operator can navigate away while the POST is pending.\n // The following search takes a fresh generation that `cancel()`\n // cannot stop, and would refill the store the unmount just emptied.\n if (left) return\n createAnywhereOpen.value = false\n await search(String(id))\n } finally {\n createAnywhereChecking.value = false\n }\n}\n\n/**\n * Uses the chosen target's own profile, not a blanket strict one.\n * The repair dialog is strict because it writes to nine systems. This creates one account\n * in one system, and strict would demand an avatar colour that blog does not require.\n */\nconst createAnywhereRequiredMetadata = computed(\n () => props.descriptors.find((item) => item.system === createAnywhereSystem.value)?.requiredMetadata ?? true\n)\n\n/** What is special about an account in the chosen system. For blog and forum it is a public one. */\nconst createAnywhereNote = computed(\n () => props.descriptors.find((item) => item.system === createAnywhereSystem.value)?.createNote\n)\n\nconst createSystemOptions = computed(() =>\n props.descriptors\n .filter((item) => item.isEnabled() && descriptorMayWrite(item, 'create'))\n .map((item) => ({ value: item.system, title: labelFor(item) }))\n)\n\n// The store exists so a closed dialog does not stop a running bulk action, not to keep a person across navigation.\n// Without this reset, returning through the menu showed the last\n// person's rows and live buttons under an empty search box.\nonBeforeUnmount(() => {\n left = true\n cancel()\n store.reset()\n})\n\ndefineExpose({\n search: async (value: string) => {\n term.value = value\n await runSearch()\n },\n})\n</script>\n\n<template>\n <div>\n <VCard variant=\"flat\">\n <VCardText>\n <div class=\"d-flex align-center ga-2\">\n <VTextField\n v-model=\"term\"\n :label=\"t('common.userSystem.search.label')\"\n :hint=\"t('common.userSystem.search.hint')\"\n persistent-hint\n density=\"compact\"\n data-cy=\"cross-system-search\"\n @keyup.enter=\"runSearch\"\n />\n <ABtnPrimary\n data-cy=\"cross-system-search-submit\"\n @click.stop=\"runSearch\"\n >\n {{ t('common.userSystem.search.submit') }}\n </ABtnPrimary>\n </div>\n <!--\n The two rounds are named while they run. Between them a row is neither present nor absent.\n Showing \"no account here\" would invite a Create for an account that exists under another address.\n -->\n <div\n v-if=\"store.phase === CrossSystemPhase.MatchingEmail\"\n class=\"text-body-small mt-2\"\n >\n {{ t('common.userSystem.search.phase.matchingEmail') }}\n </div>\n <div\n v-else-if=\"store.phase === CrossSystemPhase.VerifyingById\"\n class=\"text-body-small mt-2\"\n >\n {{ t('common.userSystem.search.phase.verifyingById') }}\n </div>\n </VCardText>\n </VCard>\n\n <VAlert\n v-if=\"store.identityConflict\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"my-3\"\n data-cy=\"identity-conflict\"\n >\n {{ t('common.userSystem.search.identityConflict') }}\n </VAlert>\n\n <!-- Neither an address nor an id. The previous person's rows are gone, and this says why. -->\n <VAlert\n v-if=\"store.termRejected\"\n type=\"warning\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"my-3\"\n data-cy=\"cross-system-term-rejected\"\n >\n {{ t('common.userSystem.search.termRejected') }}\n </VAlert>\n\n <VCard\n v-if=\"searchDone\"\n variant=\"flat\"\n class=\"mt-3\"\n >\n <VCardText class=\"d-flex flex-column ga-3\">\n <div\n v-for=\"descriptor in descriptors\"\n :key=\"descriptor.system\"\n class=\"d-flex align-center flex-wrap ga-2\"\n :data-cy=\"`cross-system-row-${descriptor.system}`\"\n >\n <div\n class=\"font-weight-medium\"\n style=\"min-width: 8rem\"\n >\n {{ labelFor(descriptor) }}\n </div>\n <AUserSystemStatusChip\n v-if=\"store.results.get(descriptor.system)\"\n :axes=\"store.results.get(descriptor.system)!.axes\"\n />\n <VChip\n v-if=\"extraStateFor(descriptor)\"\n :color=\"EXTRA_STATE_COLOR[extraStateFor(descriptor)!.tone]\"\n label\n size=\"small\"\n >\n {{ extraStateFor(descriptor)!.label }}: {{ extraStateFor(descriptor)!.value }}\n </VChip>\n <div class=\"text-body-small text-medium-emphasis\">\n {{ store.results.get(descriptor.system)?.user?.person.fullName }}\n <template v-if=\"store.results.get(descriptor.system)?.user\">\n · {{ store.results.get(descriptor.system)?.user?.email }}\n </template>\n </div>\n <VSpacer />\n <template\n v-if=\"store.results.get(descriptor.system) && isActionable(store.results.get(descriptor.system)!.axes)\"\n >\n <VBtn\n v-if=\"descriptorMayWrite(descriptor, 'update')\"\n size=\"small\"\n variant=\"text\"\n :loading=\"rowBusy.has(descriptor.system)\"\n :disabled=\"blockedByConflict\"\n :data-cy=\"`cross-system-toggle-${descriptor.system}`\"\n @click=\"toggleOne(descriptor, !store.results.get(descriptor.system)!.user!.enabled)\"\n >\n {{\n store.results.get(descriptor.system)!.user!.enabled\n ? t('common.userSystem.bulk.disable.title')\n : t('common.userSystem.bulk.enable.title')\n }}\n </VBtn>\n <AUserManageButton\n v-if=\"manageTargetFor(descriptor) && descriptorMayWrite(descriptor, 'update')\"\n :target=\"manageTargetFor(descriptor)!\"\n :system-label=\"labelFor(descriptor)\"\n />\n </template>\n <!--\n Create is offered only when the person exists somewhere. That is the only way their global id is known.\n -->\n <AUserCreateInSystemButton\n v-else-if=\"\n foundAnywhere &&\n store.results.get(descriptor.system) &&\n store.results.get(descriptor.system)!.axes.presence === 'absent' &&\n descriptorMayWrite(descriptor, 'create')\n \"\n :system-label=\"labelFor(descriptor)\"\n :create-note=\"descriptor.createNote\"\n :will-be-enabled=\"sourceEnabled\"\n :loading=\"rowBusy.has(descriptor.system)\"\n :disabled=\"blockedByConflict\"\n :required-metadata=\"descriptor.requiredMetadata\"\n :user-id=\"store.resolvedId\"\n :source=\"prefillSource\"\n @confirm=\"(user) => createFromSource(descriptor, user)\"\n />\n </div>\n </VCardText>\n </VCard>\n\n <VCard\n v-if=\"differences.length > 0\"\n variant=\"flat\"\n class=\"mt-3\"\n data-cy=\"cross-system-differences\"\n >\n <VCardText>\n <div class=\"text-label-large\">{{ t('common.userSystem.inconsistency.title') }}</div>\n <div\n v-for=\"difference in differences\"\n :key=\"difference.field\"\n class=\"text-body-small\"\n >\n <strong>{{ difference.field }}</strong>\n <span\n v-for=\"[system, systemValue] in difference.values\"\n :key=\"system\"\n class=\"ml-2\"\n >\n {{ system }}: {{ systemValue || '—' }}\n </span>\n </div>\n </VCardText>\n </VCard>\n\n <div\n v-if=\"searchDone && foundAnywhere && anyFoundWritable\"\n class=\"d-flex ga-2 mt-3\"\n >\n <!-- All three open a dialog. None of them acts straight away. -->\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-disable\"\n @click=\"openBulk(BulkAction.Disable)\"\n >\n {{ t('common.userSystem.bulk.openDisable') }}\n </ABtnTertiary>\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-enable\"\n @click=\"openBulk(BulkAction.Enable)\"\n >\n {{ t('common.userSystem.bulk.openEnable') }}\n </ABtnTertiary>\n <ABtnTertiary\n :disabled=\"store.bulkRunning || blockedByConflict\"\n data-cy=\"cross-system-bulk-metadata\"\n @click=\"repairOpen = true\"\n >\n {{ t('common.userSystem.bulk.openMetadata') }}\n </ABtnTertiary>\n <div\n v-if=\"store.bulkRunning\"\n class=\"text-body-small align-self-center\"\n >\n {{ t('common.userSystem.bulk.runningElsewhere') }}\n </div>\n </div>\n\n <VCard\n v-if=\"searchDone && !foundAnywhere\"\n variant=\"flat\"\n class=\"mt-3\"\n >\n <VCardText>\n <div data-cy=\"cross-system-not-found\">{{ t('common.userSystem.search.notFound') }}</div>\n <ABtnPrimary\n v-if=\"canOfferCreateAnywhere\"\n class=\"mt-2\"\n data-cy=\"cross-system-create-anywhere\"\n @click=\"openCreateAnywhere\"\n >\n {{ t('common.userSystem.search.createAnywhere') }}\n </ABtnPrimary>\n <!-- Not offered for want of a create right: then nothing is left unconfirmed to retry. -->\n <template v-else-if=\"!searchedByEmail && unresolvedSystems.length > 0\">\n <div class=\"text-body-small mt-2\">\n {{ t('common.userSystem.create.notAuthoritative', { systems: unresolvedSystems.join(', ') }) }}\n </div>\n <ABtnTertiary\n class=\"mt-2\"\n data-cy=\"cross-system-retry-search\"\n @click=\"runSearch\"\n >\n {{ t('common.userSystem.button.retry') }}\n </ABtnTertiary>\n </template>\n </VCardText>\n </VCard>\n\n <AUserBulkActionDialog\n v-model:open=\"bulkOpen\"\n :action=\"bulkAction\"\n :descriptors=\"descriptors\"\n @run=\"runBulk\"\n />\n\n <AUserMetadataRepairDialog\n v-model:open=\"repairOpen\"\n :descriptors=\"descriptors\"\n @confirm=\"runRepair\"\n />\n\n <VDialog\n v-model=\"createAnywhereOpen\"\n :max-width=\"720\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"createAnywhereOpen = false\">\n {{ t('common.userSystem.search.createAnywhere') }}\n </ADialogToolbar>\n <VCardText>\n <VSelect\n v-model=\"createAnywhereSystem\"\n :items=\"createSystemOptions\"\n :label=\"t('common.userSystem.table.system')\"\n density=\"compact\"\n data-cy=\"create-anywhere-system\"\n />\n <!-- Id and e-mail are both asked for: the e-mail is required by the backend. -->\n <AUserMetadataForm\n v-model:user=\"createAnywhereUser\"\n :required=\"createAnywhereRequiredMetadata\"\n id-input\n />\n <p\n v-if=\"createAnywhereNote\"\n class=\"mt-2\"\n >\n {{ createAnywhereNote }}\n </p>\n <VAlert\n v-if=\"createAnywhereError\"\n type=\"error\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mt-2\"\n data-cy=\"create-anywhere-error\"\n >\n {{ createAnywhereError }}\n </VAlert>\n <VAlert\n v-if=\"createAnywhereConflict.length > 0\"\n type=\"warning\"\n variant=\"tonal\"\n density=\"compact\"\n class=\"mt-2\"\n data-cy=\"create-anywhere-conflict\"\n >\n {{ t('common.userSystem.create.notAuthoritative', { systems: createAnywhereConflict.join(', ') }) }}\n </VAlert>\n <p class=\"mt-2\">{{ t('common.userSystem.create.note') }}</p>\n <p>{{ t('common.userSystem.create.willBeDisabled') }}</p>\n </VCardText>\n <VCardActions>\n <ABtnTertiary @click.stop=\"createAnywhereOpen = false\">\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <VSpacer />\n <ABtnPrimary\n :loading=\"createAnywhereChecking\"\n data-cy=\"create-anywhere-confirm\"\n @click.stop=\"confirmCreateAnywhere\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n</template>\n"],"mappings":""}