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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1593) 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/index.d.mts +8 -0
  1578. package/src/e2e/index.mjs +1 -0
  1579. package/src/e2e/routeWalk.d.mts +44 -0
  1580. package/src/e2e/routeWalk.mjs +617 -0
  1581. package/src/e2e/types.d.mts +161 -0
  1582. package/src/eslint/adminConfig.mjs +21 -28
  1583. package/src/eslint/globalComponentNames.mjs +3 -4
  1584. package/src/eslint/oxlint-admin.json +3 -0
  1585. package/src/eslint/oxlint.mjs +7 -20
  1586. package/src/eslint/plugin.d.mts +2 -4
  1587. package/src/eslint/plugin.mjs +18 -34
  1588. package/src/eslint/validRouteName.mjs +6 -7
  1589. package/src/vite/devWatch.mjs +30 -43
  1590. package/src/vite/index.d.mts +5 -5
  1591. package/src/vite/sentry.mjs +7 -12
  1592. package/src/vite/sourcemaps.mjs +4 -8
  1593. package/dist/vendor/cropperjs2/dist/cropper.esm.raw.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_toDisplayString","_createCommentVNode","_createVNode","AFileInput","_unref","_withCtx","_component_VBtn","_mergeProps","_createTextVNode","AAssetSelect","_createSlots","_renderSlot","_normalizeProps","_guardReactiveProps","_component_VProgressCircular","_createElementVNode","_createBlock","ASortableListEditor","_isRef","_Fragment","_renderList","ImageWidgetMultipleItem","AImageWidgetSimple","AImageDropzone","UploadQueueDialog","AssetDetailDialog","ImageWidgetMultipleLimitDialog","AFileDropzone_default","AFileInput_default","AAssetSelect_default","AssetDetailDialog_default","UploadQueueDialog_default","AImageWidgetSimple_default","ImageWidgetMultipleItem_default","ASortableListEditor_default","ImageWidgetMultipleLimitDialog_default","useVuelidate","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","ImageWidgetMultipleInner_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","damConfigName","useDamConfigName","assetSelectDialog","ref","imageWidgetUploadConfig","inject","ImageWidgetUploadConfigKey","isUndefined","useCommonAdminImageOptions","useAlerts","uploadButtonComponent","useDamAcceptTypeAndSizeHelper","DamAssetType","useI18n","imagesLoading","imagesLoadFailed","imagesReady","listEditor","imageStore","useImageStore","watch","value","storeToRefs","thisWidget","ownImageSaves","cancelSaveWaits","savesOfOthersOver","waits","ids","imageSavesOfOthersOver","id","isNull","wait","over","withinWaitLimit","WAIT_RAN_OUT","unmounted","showErrorT","imagesLoaded","fetchImagesOnLoad","readAt","holdImages","read","imageApi","imageClient","image","imagesRes","saved","imageSavedSince","a","b","groupedIds","group","assetsRes","fetchAssetListByFileIdsMultipleLicences","damClient","endPointAsset","imageRes","found","asset","generateUUIDv1","images","showErrorsDefault","uploadQueuesStore","useUploadQueuesStore","uploadQueue","computed","useExtSystemIdForCached","useUploadQueueDialog","onFileInput","files","config","stopQueueLeftBehind","limitDialogComponent","onDrop","onCopyToLicence","data","refused","item","afterLimitDialogAdd","assetSelectConfirmMap","assetSelectStore","useAssetSelectStore","assetMetadataMap","authorsMap","idsByLicence","licence","readUnder","failures","assetDetails","fetchAssetListByIds","customAssetSelectMetadataToImageMap","mapped","assetDetail","authorIdsToFetch","isString","authorId","licenceConfig","fetchAuthorListByIds","endPointAuthor","getExtSystemByLicence","author","showUnknownError","items","authorIds","description","createDamImage","authorNames","name","positioned","maxPosition","onAssetSelectConfirm","picked","toCopy","copyToLicenceEnabled","addingIsOver","copying","copyToLicence","endPointImage","asTheyAre","imagesAsTheyAre","copyRes","assetDetailStore","useAssetDetailStore","assetDialog","useCommonAdminCoreDamOptions","detailOfRow","detailAssetReads","onEditAsset","extSystem","fetchAssetByFileId","assetFileId","shownUnder","loadAssetDetailExtSystem","uploadWaitsForLoad","onAssetUploadConfirm","addUploadedRows","authorEnabled","takeAuthorsGiven","actionLibrary","v$","AImageMetadataValidationScopeSymbol","useDamConfigState","damConfigStore","useDamConfigStoreOf","getDamConfigExtSystem","cachedExtSystemId","authorNamesOf","pageExtSystem","authorsRes","authors","row","names","takeAuthorsOfDetailAsset","detailSave","fetchAsset","assetId","source","onAssetDetailClose","ofRow","shown","saveImages","showValidationError","assetUpdateItems","imagesRaw","toRaw","offering","of","named","rows","readAgain","givenMeanwhile","index","showWarningT","bulkUpdateAssetsAuthors","sentRows","resItems","noteImagesSave","imageFieldsOf","resItem","updatedItems","matchedImage","showMetadataSaveError","removeImage","updateAllPositions","removeItem","editorMode","createImageStoreItem","pos","onReorderApplied","onMounted","openBlock","createElementBlock","toDisplayString","createCommentVNode","createVNode","unref","uploadAccept","uploadSizes","withCtx","fileInputProps","VBtn","mergeProps","createTextVNode","t","addFromDamLabel","_cache","$event","createSlots","_ctx","renderSlot","normalizeProps","guardReactiveProps","slotProps","VProgressCircular","createElementVNode","createBlock","isRef","Fragment","renderList","showSourceEnabled","sourceLabel","editAssetLabel","raw","uploadQueueDialog"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport { computed, inject, onBeforeUnmount, onMounted, ref, type ShallowRef, toRaw, watch } from 'vue'\nimport { isNull, isString, isUndefined } from '@/shared/utils/common'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport ImageWidgetMultipleItem from '@/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue'\nimport { storeToRefs } from 'pinia'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport {\n type AssetDetailItemDto,\n type AssetSearchListItemDto,\n DamAssetType,\n type DamImageCopyToLicenceResponse,\n} from '@/domains/dam/types/Asset'\nimport AAssetSelect from '@/domains/dam/assetSelect/components/AAssetSelect.vue'\nimport AFileInput from '@/domains/ui/file/components/AFileInput.vue'\nimport AImageDropzone from '@/domains/ui/file/components/AFileDropzone.vue'\nimport { useDamAcceptTypeAndSizeHelper } from '@/domains/dam/config/composables/acceptTypeAndSizeHelper'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { AssetSelectReturnData } from '@/domains/dam/types/AssetSelect'\nimport UploadQueueDialog from '@/domains/dam/uploadQueue/components/UploadQueueDialog.vue'\nimport { useUploadQueueDialog } from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport AssetDetailDialog from '@/domains/dam/assetDetail/components/AssetDetailDialog.vue'\nimport {\n type AssetAuthorsItems,\n bulkUpdateAssetsAuthors,\n fetchAsset,\n fetchAssetByFileId,\n fetchAssetListByIds,\n type IdsGroupedByLicences,\n showMetadataSaveError,\n} from '@/domains/dam/api/damAssetApi'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { loadAssetDetailExtSystem } from '@/domains/dam/assetDetail/composables/assetDetailExtSystem'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageStoreItem } from '@/domains/dam/types/ImageAware'\nimport { generateUUIDv1 } from '@/shared/utils/generator'\nimport ASortableListEditor from '@/domains/listEditor/components/ASortableListEditor.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { fetchAuthorListByIds } from '@/domains/dam/author/api/authorApi'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { AImageMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useAssetSelectStore } from '@/domains/dam/assetSelect/store/assetSelectStore'\nimport ImageWidgetMultipleLimitDialog from '@/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { fetchAssetListByFileIdsMultipleLicences } from '@/domains/dam/api/damfetchAssetListByFileIdsMultipleLicences'\nimport { copyToLicence } from '@/domains/dam/api/damImageApi'\nimport { createDamImage, imageFieldsOf } from '@/domains/dam/imageWidget/utils/damImage'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport {\n holdImages,\n imageSavedSince,\n imageSavesOfOthersOver,\n noteImagesSave,\n} from '@/domains/dam/imageWidget/utils/imageSaves'\nimport { WAIT_RAN_OUT, withinWaitLimit } from '@/domains/dam/imageWidget/utils/waitLimit'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerId[]\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n configName?: string\n label?: string | undefined\n readonly?: boolean\n dataCy?: string | undefined\n width?: number | undefined\n disableDraggable?: boolean\n widgetIdentifierId?: string | undefined\n callDeleteApiOnRemove?: boolean\n skipCurrentUserCheck?: boolean\n }>(),\n {\n configName: undefined,\n label: undefined,\n image: undefined,\n readonly: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n width: undefined,\n disableDraggable: false,\n widgetIdentifierId: undefined,\n callDeleteApiOnRemove: false,\n skipCurrentUserCheck: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: IntegerId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst assetSelectDialog = ref(false)\n\nconst imageWidgetUploadConfig = inject<ShallowRef<DamConfigLicenceExtSystemReturnType | undefined> | undefined>(\n ImageWidgetUploadConfigKey,\n undefined\n)\n\nif (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n throw new Error(\"Fatal error, parent component doesn't provide necessary config ext system config.\")\n}\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { imageClient, imageApi } = imageOptions\nconst { showErrorsDefault, showValidationError, showErrorT, showWarningT, showUnknownError } = useAlerts()\nconst uploadButtonComponent = ref<InstanceType<any> | null>(null)\n\nconst { uploadSizes, uploadAccept } = useDamAcceptTypeAndSizeHelper(\n DamAssetType.Image,\n imageWidgetUploadConfig.value.extSystemConfig\n)\n\nconst { t } = useI18n()\n\nconst imagesLoading = ref(false)\nconst imagesLoadFailed = ref(false)\n\n// Editor must not mount before the fetch lands: its dirty baseline is captured once, so rows\n// arriving later would read as \"added\". One-shot, like the fetch.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst imagesReady = ref(props.modelValue.length === 0)\n\nconst listEditor = ref<{ commit: (rows?: ImageStoreItem[]) => void; cancelReorderMode: () => void } | null>(null)\n\nconst imageStore = useImageStore()\n// One store for every widget: whatever the previous one left is not this entity's.\nimageStore.reset()\nwatch(\n () => props.readonly,\n (value) => {\n imageStore.readonly = value\n },\n { immediate: true }\n)\nconst { images, maxPosition } = storeToRefs(imageStore)\n\n// The widget among the widgets of the page that save images (`imageSaves.ts`), and the marks of its own saves on\n// their way.\nconst thisWidget = Symbol('image widget multiple')\nconst ownImageSaves = new Set<symbol>()\n// The wait of the rows for saves of their images by other widgets: let go once the widget goes.\nlet cancelSaveWaits: (() => void) | null = null\n\n/**\n * Once no other widget of the page has a save of any of the images `ids` on its way (the widget this one was drawn in\n * place of, its save still on its way), or once the wait has run out: then the user is told the request timed out.\n */\nconst savesOfOthersOver = async (ids: IntegerId[]) => {\n const waits = ids\n .map((id) => imageSavesOfOthersOver(damConfigName, id, ownImageSaves))\n .filter((wait) => !isNull(wait))\n if (waits.length === 0) return\n cancelSaveWaits = () => waits.forEach((wait) => wait.cancel())\n const over = await withinWaitLimit(Promise.all(waits.map((wait) => wait.over)), 1, damConfigName)\n cancelSaveWaits = null\n if (over !== WAIT_RAN_OUT) return\n waits.forEach((wait) => wait.cancel())\n if (!unmounted) showErrorT('error.apiTimedOut.message')\n}\n\n// The load of the images of the entity: rows added while it is on its way (a pick, an upload) wait for it, and come\n// after the images it loads. Added before, the load put its images in their place, and they were gone without a word.\nlet imagesLoaded: Promise<void> = Promise.resolve()\n\nconst fetchImagesOnLoad = async () => {\n if (props.modelValue.length === 0) {\n return\n }\n try {\n imagesLoading.value = true\n // Counted as the read is sent: a save answered after that may have taken effect only after the read.\n const readAt = holdImages(damConfigName, thisWidget, props.modelValue)\n const read = await imageApi.fetchImageListByIds(imageClient, props.modelValue)\n // The rows come once the saves of these images by other widgets are over, each image as the save answered last\n // left it when one has answered since the read was sent. Read before such a save took effect, a row had the old\n // texts, and the save of this widget wrote them back over the saved ones.\n await savesOfOthersOver(read.map((image) => image.id))\n if (unmounted) return\n const imagesRes = read\n .map((image) => {\n const saved = imageSavedSince(damConfigName, image.id, readAt.get(image.id) ?? 0)\n return saved ? { ...image, ...saved, id: image.id, position: saved.position ?? image.position } : image\n })\n .sort((a, b) => (a.position ?? 0) - (b.position ?? 0))\n const groupedIds: IdsGroupedByLicences = new Map()\n imagesRes.forEach((image) => {\n const group = groupedIds.get(image.dam.licenceId)\n if (group) {\n group.push(image.dam.damId)\n } else {\n groupedIds.set(image.dam.licenceId, [image.dam.damId])\n }\n })\n\n let assetsRes: Awaited<ReturnType<typeof fetchAssetListByFileIdsMultipleLicences>> = []\n try {\n assetsRes = await fetchAssetListByFileIdsMultipleLicences(damClient, endPointAsset, groupedIds)\n } catch (e) {\n // Read-only shows the images without their DAM authors: a user refused the upload is often refused the assets.\n if (!props.readonly) throw e\n }\n\n imageStore.setImages(\n imagesRes.map((imageRes) => {\n if (isUndefined(imageRes.position)) throw new Error('Image object needs position field!')\n imageStore.updateMaxPositionIfGreater(imageRes.position)\n const found = assetsRes.find((asset) => asset.mainFile?.id === imageRes.dam.damId)\n return {\n key: generateUUIDv1(),\n ...imageRes,\n // Each row its own copy: the rows of one asset (an image twice in the entity) shared the array.\n damAuthors: found ? [...found.authors] : [],\n showDamAuthors: found ? found.authors.length === 0 : false,\n assetId: found ? found.id : undefined,\n }\n })\n )\n // Displaying a read-only widget must not rewrite the form's value with the stored order.\n if (!props.readonly) {\n emit('update:modelValue', images.value.map((image) => image.id).filter((id) => id !== undefined) as IntegerId[])\n }\n } catch (e) {\n imagesLoadFailed.value = true\n showErrorsDefault(e)\n } finally {\n imagesLoading.value = false\n imagesReady.value = true\n }\n}\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst uploadQueue = computed(() => {\n return uploadQueuesStore.getQueue(props.queueKey)\n})\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nconst { uploadQueueDialog, stopQueueLeftBehind } = useUploadQueueDialog()\n\nconst onFileInput = (files: File[]) => {\n if (props.readonly) return\n // The input has turned every file away, and said so: the queue dialog would open over nothing new.\n if (files.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n // The queue dialog is opened by `afterLimitDialogAdd`, once files are queued: over the limit none is, until the\n // user agrees to the first of them. The rows a queue no dialog names holds are not counted: they go first.\n stopQueueLeftBehind(props.queueKey)\n limitDialogComponent.value?.check(files)\n}\n\nconst onDrop = (files: File[]) => {\n if (props.readonly) return\n // As the input: the dropzone has turned every file away, and said so.\n if (files.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n stopQueueLeftBehind(props.queueKey)\n limitDialogComponent.value?.check(files)\n}\n\nconst onCopyToLicence = (data: DamImageCopyToLicenceResponse) => {\n if (props.readonly) return\n if (data.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n stopQueueLeftBehind(props.queueKey)\n let refused = 0\n data.forEach((item) => {\n if (item.result === 'copy') {\n uploadQueuesStore.addByCopyToLicence(\n props.queueKey,\n config.extSystem,\n config.licence,\n [item.targetAsset],\n damConfigName\n )\n } else if (item.result === 'exists') {\n uploadQueuesStore.addByCopyToLicence(\n props.queueKey,\n config.extSystem,\n config.licence,\n [item.targetAsset],\n damConfigName\n )\n uploadQueuesStore.queueItemDuplicate(item.targetAsset, item.targetMainFile, DamAssetType.Image, damConfigName)\n } else {\n refused++\n }\n })\n if (refused > 0) showErrorT('common.damImage.queueItem.errorUnableToCopyToLicence')\n if (refused === data.length) return\n uploadQueueDialog.value = props.queueKey\n}\n\nconst afterLimitDialogAdd = () => {\n uploadQueueDialog.value = props.queueKey\n}\n\n/**\n * The images of picked assets, without their position. Each asset is read under the licence it is in, and its authors\n * under the ext system of that licence: what was picked outlives a change of the licence browsed, and under another\n * licence the DAM leaves an asset out of its answer without a word. `readUnder`: the licence all of the assets are in\n * and its ext system, where the caller knows them.\n */\nconst assetSelectConfirmMap = async (\n items: AssetSearchListItemDto[],\n readUnder?: { licence: IntegerId; extSystem: IntegerId }\n): Promise<ImageStoreItem[]> => {\n const assetSelectStore = useAssetSelectStore()\n const assetMetadataMap = new Map<DocId, { description: string; authorIds: DocId[] }>()\n const authorsMap = new Map<DocId, string>()\n const idsByLicence: IdsGroupedByLicences = new Map()\n items.forEach((item) => {\n const licence = readUnder ? readUnder.licence : item.licence\n const group = idsByLicence.get(licence)\n if (group) {\n group.push(item.id)\n } else {\n idsByLicence.set(licence, [item.id])\n }\n })\n // A licence that cannot be read does not keep the others from being read.\n const failures: unknown[] = []\n for (const [licence, ids] of idsByLicence) {\n try {\n const assetDetails = await fetchAssetListByIds(damClient, endPointAsset, ids, licence)\n if (customAssetSelectMetadataToImageMap) {\n assetDetails.forEach((assetDetail) => {\n const mapped = customAssetSelectMetadataToImageMap(assetDetail)\n assetMetadataMap.set(assetDetail.id, {\n description: mapped.description,\n authorIds: [],\n })\n authorsMap.set(assetDetail.id, mapped.source)\n })\n continue\n }\n const authorIdsToFetch = new Set<DocId>()\n assetDetails.forEach((assetDetail) => {\n assetMetadataMap.set(assetDetail.id, {\n description: isString(assetDetail.metadata.customData?.description)\n ? assetDetail.metadata.customData.description.trim()\n : '',\n authorIds: assetDetail.authors,\n })\n assetDetail.authors.forEach((authorId) => {\n authorIdsToFetch.add(authorId)\n })\n })\n if (authorIdsToFetch.size > 0) {\n const licenceConfig = assetSelectStore.selectConfig.find((config) => config.licence === licence)\n // Under the ext system of the licence, as every name of the authors of the DAM the widgets write; that of\n // the picker where the licence does not tell.\n const authorsRes = await fetchAuthorListByIds(\n damClient,\n endPointAuthor,\n readUnder\n ? readUnder.extSystem\n : ((await getExtSystemByLicence(licence)) ??\n (licenceConfig ?? assetSelectStore.requireSelectedSelectConfig()).extSystem),\n [...authorIdsToFetch]\n )\n authorsRes.forEach((author) => {\n authorsMap.set(author.id, author.name)\n })\n }\n } catch (e) {\n failures.push(e)\n }\n }\n // Said once, however many of them failed. A read the DAM refuses comes as the bare error of axios, which the\n // default says nothing of.\n if (failures.length > 0 && !showErrorsDefault(failures[0])) showUnknownError()\n\n return items.map((asset) => {\n const authorIds = assetMetadataMap.get(asset.id)?.authorIds || []\n const description = assetMetadataMap.get(asset.id)?.description ?? ''\n\n if (customAssetSelectMetadataToImageMap) {\n return {\n key: generateUUIDv1(),\n ...createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description, source: authorsMap.get(asset.id) ?? '' },\n { position: 0 }\n ),\n damAuthors: [],\n showDamAuthors: false,\n assetId: asset.id,\n }\n }\n\n const authorNames: string[] = []\n assetMetadataMap.get(asset.id)?.authorIds.forEach((authorId) => {\n const name = authorsMap.get(authorId)\n if (!isUndefined(name) && name.trim().length > 0) {\n authorNames.push(name)\n }\n })\n\n return {\n key: generateUUIDv1(),\n ...createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description, source: authorNames.join(', ') },\n { position: 0 }\n ),\n damAuthors: authorIds,\n // Only for an asset that was read: of one that was not, nobody knows whether it has authors, and those picked\n // in its row would replace them in the DAM. Its row has the source, as one whose asset was not returned at load.\n showDamAuthors: assetMetadataMap.has(asset.id) && authorIds.length === 0,\n assetId: asset.id,\n }\n })\n}\n\nconst positioned = (items: ImageStoreItem[]) =>\n items.map((item) => {\n maxPosition.value++\n return { ...item, position: maxPosition.value }\n })\n\nconst onAssetSelectConfirm = async (data: AssetSelectReturnData) => {\n if (props.readonly) return\n if (data.type !== 'asset' || data.value.length === 0) return\n const picked = data.value.filter((asset) => !isNull(asset.mainFile))\n // Copied: the picked assets of another licence than the one of the upload. One already in it is taken as it is, at\n // once; the copies come in once the dialog of the queue is used.\n const toCopy =\n copyToLicenceEnabled !== false && !isUndefined(data.copyToLicence)\n ? picked.filter((asset) => asset.licence !== data.copyToLicence)\n : []\n // A widget that is gone by the answer adds nothing: the store of the images is the next widget's by then. Nor one\n // that has turned read-only meanwhile.\n const addingIsOver = () => unmounted || props.readonly\n if (toCopy.length === 0) {\n const images = await assetSelectConfirmMap(picked)\n await imagesLoaded\n if (!addingIsOver()) imageStore.addImages(positioned(images))\n return\n }\n const copying = copyToLicence(\n damClient,\n endPointImage,\n toCopy.map((asset) => ({ asset: asset.id, targetAssetLicence: data.copyToLicence! }))\n )\n // Read while the copy runs, under the licence they are in, the one of the upload, and its ext system: not the one\n // browsed. They are added before the dialog of the queue opens: used before they were read, it put the copies\n // before them.\n const asTheyAre = picked.filter((asset) => !toCopy.includes(asset))\n const config = imageWidgetUploadConfig.value\n const imagesAsTheyAre =\n asTheyAre.length === 0\n ? Promise.resolve([])\n : assetSelectConfirmMap(\n asTheyAre,\n config ? { licence: data.copyToLicence!, extSystem: config.extSystem } : undefined\n )\n let copyRes: DamImageCopyToLicenceResponse | null = null\n try {\n copyRes = await copying\n } catch (e) {\n showErrorsDefault(e)\n }\n const images = await imagesAsTheyAre\n await imagesLoaded\n if (addingIsOver()) return\n imageStore.addImages(positioned(images))\n if (copyRes) onCopyToLicence(copyRes)\n}\n\nconst assetDetailStore = useAssetDetailStore()\nconst { dialog: assetDialog } = storeToRefs(assetDetailStore)\nconst {\n damClient,\n endPointAsset,\n endPointImage,\n endPointAuthor,\n copyToLicenceEnabled,\n showSourceEnabled,\n sourceLabel,\n editAssetLabel,\n addFromDamLabel,\n customAssetSelectMetadataToImageMap,\n} = useCommonAdminCoreDamOptions(damConfigName)\n\n// Whether the detail was opened by \"edit asset\" of a row, until it closes. Not so the detail a row of the queue\n// dialog opens, which is drawn here as well: nothing is read when that one closes.\nlet detailOfRow = false\n// The reads of assets whose detail has closed, those of one asset in a row, by that asset: the save of the widget waits\n// for them. The reads of another asset do not wait for these: closing the detail of one asset waited for the save of\n// the detail of another one, and the read after it.\nconst detailAssetReads = new Map<DocId, Promise<void>>()\n// Such a read may end once the widget is gone, and the images in the store are the next widget's by then.\nlet unmounted = false\nonBeforeUnmount(() => {\n unmounted = true\n holdImages(damConfigName, thisWidget, [])\n cancelSaveWaits?.()\n})\n\nconst onEditAsset = async (assetFileId: DocId) => {\n detailOfRow = true\n let extSystem: IntegerId | null = null\n try {\n await assetDetailStore.open(\n props.queueKey,\n async () => {\n const asset = await fetchAssetByFileId(damClient, endPointAsset, assetFileId)\n // A licence the client cannot resolve: the ext system of the widget's upload licence, which its root loaded.\n const shownUnder = (await getExtSystemByLicence(asset.licence)) ?? imageWidgetUploadConfig.value!.extSystem\n // Before the detail shows the asset: it reads the configuration of its ext system as it draws, and threw\n // without it.\n await loadAssetDetailExtSystem(damClient, shownUnder, asset.attributes.assetType, damConfigName)\n extSystem = shownUnder\n return asset\n },\n // Only for the asset the detail shows: an answer it no longer waits for must not change the ext system its\n // configuration asks for names under.\n () => {\n if (extSystem) cachedExtSystemId.value = extSystem\n }\n )\n } catch (e) {\n showErrorsDefault(e)\n }\n}\n\n// An upload applied while the images of the entity load waits for them, its dialog and its queue as they are: once\n// those images are there, its rows come after them and the dialog goes. A widget that is read-only or gone by then\n// leaves the dialog and its queue as a read-only widget does, and nothing of the upload is lost; the dialog went at\n// once, and the rows with it. Applied again while it waits, it is not taken: the rows would come twice.\nlet uploadWaitsForLoad = false\nconst onAssetUploadConfirm = async (items: ImageStoreItem[]) => {\n if (props.readonly) return\n if (items.length === 0) return\n if (imagesLoading.value) {\n if (uploadWaitsForLoad) return\n uploadWaitsForLoad = true\n await imagesLoaded\n uploadWaitsForLoad = false\n if (unmounted || props.readonly) return\n }\n addUploadedRows(items)\n uploadQueueDialog.value = null\n uploadQueuesStore.stopUpload(props.queueKey)\n}\n\nconst addUploadedRows = (items: ImageStoreItem[]) => {\n // A file that is a duplicate of one the widget has becomes the asset of that image in the queue, and the dialog has\n // just saved its authors. The rows of that asset that offer the pick take them with their names (the source of the\n // upload), as after its detail has closed: left as they were, what is picked in them would be written over those\n // authors. Their names go into the source of a row only where it has none of its own, as there; it took them always.\n if (authorEnabled.value) {\n items.forEach((item) => {\n if (isUndefined(item.assetId) || item.damAuthors.length === 0) return\n images.value.forEach((image) => {\n if (image.assetId !== item.assetId || !image.showDamAuthors) return\n takeAuthorsGiven(image, item.damAuthors, item.texts.source)\n })\n })\n }\n imageStore.addImages(positioned(items))\n}\n\nconst actionLibrary = () => {\n assetSelectDialog.value = true\n}\n\nconst v$ = useVuelidate({ $scope: AImageMetadataValidationScopeSymbol })\n\nconst { getDamConfigExtSystem, getExtSystemByLicence } = useDamConfigState(damClient, damConfigName)\nconst damConfigStore = useDamConfigStoreOf(damConfigName)\n\nconst authorEnabled = computed(() => {\n return !!getDamConfigExtSystem(cachedExtSystemId.value)?.[DamAssetType.Image]?.authors?.enabled\n})\n\n/**\n * The names of the authors of an asset, in its order, under the ext system of its licence; `pageExtSystem` where its\n * licence does not tell.\n */\nconst authorNamesOf = async (asset: AssetDetailItemDto, pageExtSystem: IntegerId) => {\n const extSystem = (await getExtSystemByLicence(asset.licence)) ?? pageExtSystem\n const authorsRes = await fetchAuthorListByIds(damClient, endPointAuthor, extSystem, asset.authors)\n const authorNames: string[] = []\n asset.authors.forEach((authorId) => {\n const name = authorsRes.find((author) => author.id === authorId)?.name\n if (!isUndefined(name) && name.trim().length > 0) {\n authorNames.push(name)\n }\n })\n return authorNames.join(', ')\n}\n\n/**\n * A row that offers the pick of the authors of the DAM, once its asset turns out to have authors: it takes them, the\n * pick goes, and the row shows its source from then on. That source takes their names where it is empty, or is what a\n * pick of authors wrote there (\"fill empty\" of the mass operations), which the row did not show. A source of the\n * image's own (stored, given by an upload, typed while the row showed it) stays, to be checked by the user.\n */\nconst takeAuthorsGiven = (row: ImageStoreItem, authors: DocId[], names: string) => {\n row.damAuthors = [...authors]\n if (row.texts.source.trim().length === 0 || imageStore.hasSourceOfPick(row)) row.texts.source = names\n imageStore.forgetSourceOfPick(row)\n row.showDamAuthors = false\n}\n\n/**\n * The detail may have given authors to an asset whose row offers the pick of them. Left as it was, the row would write\n * what is picked in it over those authors with the save of the widget, and with nothing picked its image would be\n * saved without a source. So the asset is read again, and once it has authors its rows that offer the pick take them\n * over what was picked there, as a row of an asset picked with its authors has them: named in its source, under the\n * ext system of the licence of the asset, but for a source of the image's own (`takeAuthorsGiven`). A row that shows\n * its source is left alone: that text is the user's. `detailSave`: the save of the detail that was on its way when it\n * closed. `pageExtSystem`: the ext system its configuration asked for names under by then.\n */\nconst takeAuthorsOfDetailAsset = async (assetId: DocId, detailSave: Promise<void> | null, pageExtSystem: IntegerId) => {\n try {\n // Read before the DAM has answered that save, the asset would be as it was before it.\n await detailSave\n const asset = await fetchAsset(damClient, endPointAsset, assetId)\n if (asset.authors.length === 0) return\n const source = await authorNamesOf(asset, pageExtSystem)\n // The widget is gone, or has turned read-only meanwhile: nothing is written.\n if (unmounted || props.readonly) return\n images.value.forEach((image) => {\n // By the row's own flag. Whether the page draws the pick goes by an ext system that the detail of another asset,\n // opened meanwhile, may have changed.\n if (image.assetId !== asset.id || !image.showDamAuthors) return\n takeAuthorsGiven(image, asset.authors, source)\n })\n } catch (e) {\n if (!unmounted && !showErrorsDefault(e)) showUnknownError()\n }\n}\n\n/**\n * `shown`: the asset the detail showed; none when it closed from its loader, or by itself after a read that failed.\n * What the read goes by is noted here, before anything is awaited: whether a row of that asset offers the pick, the\n * save of the detail that is on its way, and the ext system its configuration asks for names under.\n */\nconst onAssetDetailClose = (shown: AssetDetailItemDto | null) => {\n const ofRow = detailOfRow\n detailOfRow = false\n if (!ofRow || isNull(shown) || props.readonly || !authorEnabled.value) return\n const assetId = shown.id\n if (!images.value.some((image) => image.assetId === assetId && image.showDamAuthors)) return\n const detailSave = assetDetailStore.savingOf(assetId, damConfigName)\n const pageExtSystem = cachedExtSystemId.value\n const read = (detailAssetReads.get(assetId) ?? Promise.resolve()).then(() =>\n takeAuthorsOfDetailAsset(assetId, detailSave, pageExtSystem)\n )\n detailAssetReads.set(assetId, read)\n void read.then(() => {\n if (detailAssetReads.get(assetId) === read) detailAssetReads.delete(assetId)\n })\n}\n\nconst saveImages = async () => {\n // Nothing of the user's to write; the images stay as they were loaded.\n if (props.readonly) return true\n // Empty store here means the fetch is pending or failed, not a user deletion — the empty\n // path below would detach every image.\n if (imagesLoading.value || imagesLoadFailed.value) {\n showUnknownError()\n return false\n }\n // The asset of a detail that has just closed is still being read: its rows are not written before they have its\n // authors. Gone by then, the widget writes nothing.\n await Promise.all(detailAssetReads.values())\n if (unmounted) return false\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return false\n }\n try {\n const assetUpdateItems: AssetAuthorsItems = []\n const imagesRaw = toRaw(images.value)\n // The rows that offer the pick of the authors, those of one asset together: the entity may have an image twice,\n // and a duplicate from the queue is a second row of its asset. Each row on its own, the authors of an asset went\n // out once per row that had some, the last to stay, and a row with none picked was saved without a source and\n // went on offering the pick of authors the asset had by then. The asset gets what is picked in any of its rows,\n // each author once, and each of those rows the authors and their names, once the DAM has taken them.\n const offering = new Map<DocId, { assetId: DocId | undefined; rows: ImageStoreItem[]; authors: DocId[] }>()\n if (authorEnabled.value) {\n images.value.forEach((image) => {\n if (!image.showDamAuthors) return\n // A row that offers the pick has its asset; one that had none would be on its own.\n const of = image.assetId ?? image.key\n const asset = offering.get(of) ?? { assetId: image.assetId, rows: [], authors: [] }\n offering.set(of, asset)\n asset.rows.push(image)\n image.damAuthors.forEach((author) => {\n if (!asset.authors.includes(author)) asset.authors.push(author)\n })\n })\n }\n const named: Array<{ assetId: DocId | undefined; rows: ImageStoreItem[]; authors: DocId[]; source: string }> = []\n for (const { assetId, rows, authors } of offering.values()) {\n if (authors.length === 0) continue\n if (assetId) assetUpdateItems.push({ id: assetId, authors })\n // Under the ext system of the licence of the asset of the rows, as the read before the write names authors\n // given since; that its configuration asks for names under where the page does not know the licence. Not read\n // for it: the rows come of the entity, of any licence.\n const extSystem =\n damConfigStore.damConfigLicenceExtSystem.get(rows[0]!.dam.licenceId)?.extSystem ?? cachedExtSystemId.value\n const authorsRes = await fetchAuthorListByIds(damClient, endPointAuthor, extSystem, authors)\n named.push({ assetId, rows, authors, source: authorsRes.map((author) => author.name).join(', ') })\n }\n // Gone while the authors loaded, the widget writes nothing. Turned read-only meanwhile: nothing of the user's is\n // written any more.\n if (unmounted) return false\n if (props.readonly) return true\n // An asset was read when its rows came, and may have been given authors elsewhere since: the write replaces them\n // with those picked in its rows. Each asset with something picked is read again, right before the write. Once one\n // has authors nothing is written, of any asset or image: the rows of that asset that offer the pick take them\n // (`takeAuthorsGiven`), the user is told till they close the message, and saves again.\n const picked = [...offering.values()].filter(({ assetId, authors }) => !isUndefined(assetId) && authors.length > 0)\n if (picked.length > 0) {\n const readAgain = await Promise.all(picked.map(({ assetId }) => fetchAsset(damClient, endPointAsset, assetId!)))\n // Gone, or turned read-only while the assets were read: nothing of the user's is written any more.\n if (unmounted || props.readonly) return false\n const givenMeanwhile = picked\n .map(({ rows }, index) => ({ rows, asset: readAgain[index]! }))\n .filter(({ asset }) => asset.authors.length > 0)\n if (givenMeanwhile.length > 0) {\n const pageExtSystem = cachedExtSystemId.value\n const names = await Promise.all(givenMeanwhile.map(({ asset }) => authorNamesOf(asset, pageExtSystem)))\n if (unmounted || props.readonly) return false\n givenMeanwhile.forEach(({ rows, asset }, index) => {\n rows.forEach((row) => {\n if (row.showDamAuthors) takeAuthorsGiven(row, asset.authors, names[index]!)\n })\n })\n showWarningT('common.damImage.image.meta.galleryAuthorsGivenMeanwhile', -1)\n return false\n }\n }\n if (assetUpdateItems.length) {\n await bulkUpdateAssetsAuthors(damClient, endPointAsset, assetUpdateItems)\n // Gone while the authors were written, the widget saves no image: a widget drawn meanwhile, of the same images,\n // read them before this save, and it was noted only once sent.\n if (unmounted) return false\n }\n // The DAM has the authors of those rows by now, also when the images are not saved: the rows show the source from\n // here on, as after a save. Left offering the pick, the rows went into the next save as picks, the read before the\n // write found the authors written here, and that save wrote nothing.\n named.forEach(({ assetId, rows, authors, source }) => {\n rows.forEach((row) => {\n row.damAuthors = [...authors]\n row.texts.source = source\n if (isUndefined(assetId)) return\n row.showDamAuthors = false\n imageStore.forgetSourceOfPick(row)\n })\n })\n const sentRows = [...imagesRaw]\n // Noted for the other widgets of the page, image by image, also when this one is gone by its answer.\n const resItems = await noteImagesSave(\n damConfigName,\n sentRows.map((row) => row.id).filter((id) => !isUndefined(id)),\n ownImageSaves,\n imageApi.bulkUpdateImages(imageClient, sentRows.map(imageFieldsOf))\n )\n // Gone by the answer, the widget writes nothing into the store of the images, which is the next widget's by then.\n if (unmounted) return true\n holdImages(\n damConfigName,\n thisWidget,\n resItems.map((resItem) => resItem.id)\n )\n const ids: IntegerId[] = []\n const items = resItems.map((resItem) => {\n ids.push(resItem.id)\n\n return {\n key: generateUUIDv1(),\n ...resItem,\n damAuthors: [],\n showDamAuthors: false,\n assetId: undefined,\n }\n })\n if (imageStore.images.length === 0) {\n listEditor.value?.commit([])\n // Emptying is a change too — without this the parent kept its old ids.\n emit('update:modelValue', ids)\n return true\n }\n\n // Each image of the answer takes what its own row had, the rows of one file one by one in the order they were\n // sent in: found by the file alone, every row of a file took what the first of them had.\n const getUpdatedItem = (item: ImageStoreItem): ImageStoreItem => {\n const index = sentRows.findIndex((row) => row.dam.damId === item.dam.damId)\n const matchedImage = index < 0 ? undefined : sentRows.splice(index, 1)[0]\n\n return {\n ...item,\n damAuthors: matchedImage ? matchedImage.damAuthors : item.damAuthors,\n // Only a row that offered the authors of the DAM goes on offering them: one whose asset the DAM did not\n // return has no asset to save them into, and keeps its source.\n showDamAuthors: matchedImage ? matchedImage.showDamAuthors && matchedImage.damAuthors.length === 0 : false,\n assetId: matchedImage ? matchedImage.assetId : item.assetId,\n }\n }\n\n const updatedItems = items.map(getUpdatedItem)\n imageStore.setImages(updatedItems)\n // Rows passed explicitly: setImages just replaced their keys, bare commit() would read the\n // not-yet-rerendered prop.\n listEditor.value?.commit(updatedItems)\n emit('update:modelValue', ids)\n return true\n } catch (e) {\n // The authors refused by validation are named as the forms name them; anything else as before.\n showMetadataSaveError(e, cachedExtSystemId.value, damConfigName)\n return false\n }\n}\n\n// The images that stay are numbered anew, as after a move: the backend got positions with a gap where one went.\nconst removeImage = (index: number) => {\n imageStore.removeImageByIndex(index)\n updateAllPositions()\n}\n\nconst removeItem = async (index: number) => {\n const image = images.value[index]\n if (!image) return\n if (isUndefined(image.id)) {\n removeImage(index)\n return\n }\n if (props.callDeleteApiOnRemove) {\n try {\n await imageApi.deleteImage(imageClient, image.id)\n removeImage(index)\n } catch (e) {\n showErrorsDefault(e)\n }\n return\n }\n removeImage(index)\n}\n\nconst limitDialogComponent = ref<InstanceType<typeof ImageWidgetMultipleLimitDialog> | null>(null)\n\nconst editorMode = ref<'view' | 'reorder'>('view')\n// A reorder under way would keep moving rows a read-only widget does not save.\nwatch(\n () => props.readonly,\n (value) => {\n if (value && editorMode.value === 'reorder') listEditor.value?.cancelReorderMode()\n }\n)\n\n// Required by the editor, but never invoked here — adds happen through the\n// upload / asset-select flow, not the editor's add button (which is hidden).\nconst createImageStoreItem = (): ImageStoreItem => ({\n key: generateUUIDv1(),\n ...createDamImage({ fileId: '', licenceId: 0 }, {}, { position: 0 }),\n damAuthors: [],\n showDamAuthors: false,\n assetId: undefined,\n})\n\nconst updateAllPositions = () => {\n let pos = 0\n images.value.forEach((image) => {\n pos++\n image.position = pos\n })\n imageStore.maxPosition = pos\n}\n\nconst onReorderApplied = () => {\n updateAllPositions()\n}\n\ndefineExpose({\n saveImages,\n})\n\nonMounted(() => {\n imagesLoaded = fetchImagesOnLoad()\n})\n</script>\n\n<template>\n <div>\n <h4\n v-if=\"label\"\n class=\"font-weight-bold text-label-large\"\n >\n {{ label }}\n </h4>\n <div\n v-if=\"!readonly\"\n class=\"pb-2\"\n >\n <AFileInput\n :file-input-key=\"uploadQueue?.fileInputKey\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @files-input=\"onFileInput\"\n >\n <template #activator=\"{ props: fileInputProps }\">\n <VBtn\n ref=\"uploadButtonComponent\"\n v-bind=\"fileInputProps\"\n >\n {{ t('common.damImage.image.button.upload') }}\n </VBtn>\n </template>\n </AFileInput>\n <VBtn\n class=\"mr-2\"\n @click=\"actionLibrary\"\n >\n {{ addFromDamLabel }}\n </VBtn>\n </div>\n <AAssetSelect\n v-model=\"assetSelectDialog\"\n :select-licences=\"selectLicences\"\n :upload-licence=\"uploadLicence\"\n :min-count=\"1\"\n :max-count=\"50\"\n :asset-type=\"DamAssetType.Image\"\n :skip-current-user-check=\"skipCurrentUserCheck\"\n :config-name=\"damConfigName\"\n return-type=\"asset\"\n @confirm=\"onAssetSelectConfirm\"\n >\n <template\n v-if=\"$slots['asset-select-sidebar-prepend']\"\n #sidebar-prepend=\"slotProps\"\n >\n <slot\n name=\"asset-select-sidebar-prepend\"\n v-bind=\"slotProps\"\n />\n </template>\n </AAssetSelect>\n <div\n v-if=\"imagesLoading\"\n class=\"w-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n class=\"position-relative w-100\"\n style=\"min-height: 140px\"\n >\n <ASortableListEditor\n v-if=\"imagesReady\"\n ref=\"listEditor\"\n v-model=\"images\"\n v-model:mode=\"editorMode\"\n :factory=\"createImageStoreItem\"\n get-key=\"key\"\n position=\"position\"\n :show-add-button=\"false\"\n :show-delete-button=\"false\"\n :show-edit-button=\"false\"\n :disable-drag=\"disableDraggable || readonly\"\n :readonly=\"readonly\"\n @reorder-applied=\"onReorderApplied\"\n >\n <template #view-body>\n <div class=\"asset-list-tiles asset-list-tiles--thumbnail a-sortable-widget__group\">\n <ImageWidgetMultipleItem\n v-for=\"(image, index) in images\"\n :key=\"image.key\"\n :index=\"index\"\n :show-source-enabled=\"showSourceEnabled\"\n :source-label=\"sourceLabel\"\n :edit-asset-label=\"editAssetLabel\"\n :author-enabled=\"authorEnabled\"\n :readonly=\"readonly\"\n :config-name=\"damConfigName\"\n @edit-asset=\"onEditAsset\"\n @remove-item=\"removeItem\"\n />\n </div>\n </template>\n <template #item-compact=\"{ raw }\">\n <div class=\"image-widget-multiple-reorder\">\n <div class=\"image-widget-multiple-reorder__thumb\">\n <AImageWidgetSimple\n :model-value=\"raw.id\"\n :image=\"raw\"\n :config-name=\"damConfigName\"\n />\n </div>\n <div class=\"image-widget-multiple-reorder__meta\">\n <div class=\"image-widget-multiple-reorder__title\">\n {{ raw.texts?.description?.trim() || '—' }}\n </div>\n <div\n v-if=\"raw.texts?.source\"\n class=\"image-widget-multiple-reorder__source\"\n >\n {{ raw.texts.source }}\n </div>\n </div>\n </div>\n </template>\n </ASortableListEditor>\n <AImageDropzone\n v-if=\"editorMode === 'view' && !readonly\"\n variant=\"fill\"\n :hover-only=\"modelValue.length > 0 || images.length > 0\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n @drop=\"onDrop\"\n @click=\"uploadButtonComponent?.$el.click()\"\n />\n </div>\n <UploadQueueDialog\n v-if=\"uploadQueueDialog === queueKey && imageWidgetUploadConfig\"\n :queue-key=\"queueKey\"\n :ext-system=\"imageWidgetUploadConfig.extSystem\"\n :licence-id=\"imageWidgetUploadConfig.licence\"\n :file-input-key=\"uploadQueue?.fileInputKey ?? -1\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @apply=\"onAssetUploadConfirm\"\n @files-input=\"onFileInput\"\n @drop=\"onFileInput\"\n />\n <AssetDetailDialog\n v-if=\"assetDialog === queueKey\"\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :ext-system=\"cachedExtSystemId\"\n @close=\"onAssetDetailClose\"\n />\n <ImageWidgetMultipleLimitDialog\n ref=\"limitDialogComponent\"\n :queue-key=\"queueKey\"\n @after-add=\"afterLimitDialogAdd\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.image-widget-multiple-reorder {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 100%;\n min-height: 100px;\n padding: 4px 0;\n\n &__thumb {\n flex: 0 0 auto;\n width: 200px;\n border-radius: 4px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n width: 100%;\n height: auto;\n display: block;\n }\n }\n\n &__meta {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n &__title {\n font-size: 0.95rem;\n font-weight: 500;\n color: rgb(var(--v-theme-on-surface));\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n &__source {\n font-size: 0.82rem;\n color: rgb(var(--v-theme-on-surface) / 70%);\n margin-top: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n @media (width <= 600px) {\n gap: 8px;\n min-height: 72px;\n\n &__thumb {\n width: 80px;\n }\n\n &__source {\n display: none;\n }\n }\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_toDisplayString","_createCommentVNode","_createVNode","AFileInput","_unref","_withCtx","_component_VBtn","_mergeProps","_createTextVNode","AAssetSelect","_createSlots","_renderSlot","_normalizeProps","_guardReactiveProps","_component_VProgressCircular","_createElementVNode","_createBlock","ASortableListEditor","_isRef","_Fragment","_renderList","ImageWidgetMultipleItem","AImageWidgetSimple","AImageDropzone","UploadQueueDialog","AssetDetailDialog","ImageWidgetMultipleLimitDialog","ImageWidgetMultipleItem_default","AAssetSelect_default","AFileInput_default","AFileDropzone_default","UploadQueueDialog_default","AssetDetailDialog_default","ASortableListEditor_default","AImageWidgetSimple_default","ImageWidgetMultipleLimitDialog_default","useVuelidate","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","ImageWidgetMultipleInner_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","damConfigName","useDamConfigName","assetSelectDialog","ref","imageWidgetUploadConfig","inject","ImageWidgetUploadConfigKey","isUndefined","useCommonAdminImageOptions","useAlerts","uploadButtonComponent","useDamAcceptTypeAndSizeHelper","DamAssetType","useI18n","imagesLoading","imagesLoadFailed","imagesReady","listEditor","imageStore","useImageStore","watch","value","storeToRefs","thisWidget","ownImageSaves","cancelSaveWaits","savesOfOthersOver","waits","ids","imageSavesOfOthersOver","id","isNull","wait","over","withinWaitLimit","WAIT_RAN_OUT","unmounted","showErrorT","imagesLoaded","fetchImagesOnLoad","readAt","holdImages","read","imageApi","imageClient","image","imagesRes","saved","imageSavedSince","a","b","groupedIds","group","assetsRes","fetchAssetListByFileIdsMultipleLicences","damClient","endPointAsset","imageRes","found","asset","generateUUIDv1","images","showErrorsDefault","uploadQueuesStore","useUploadQueuesStore","uploadQueue","computed","useExtSystemIdForCached","useUploadQueueDialog","onFileInput","files","config","stopQueueLeftBehind","limitDialogComponent","onDrop","onCopyToLicence","data","refused","item","afterLimitDialogAdd","assetSelectConfirmMap","assetSelectStore","useAssetSelectStore","assetMetadataMap","authorsMap","idsByLicence","licence","readUnder","failures","assetDetails","fetchAssetListByIds","customAssetSelectMetadataToImageMap","mapped","assetDetail","authorIdsToFetch","isString","authorId","licenceConfig","fetchAuthorListByIds","endPointAuthor","getExtSystemByLicence","author","showUnknownError","items","authorIds","description","createDamImage","authorNames","name","positioned","maxPosition","onAssetSelectConfirm","picked","toCopy","copyToLicenceEnabled","addingIsOver","copying","copyToLicence","endPointImage","asTheyAre","imagesAsTheyAre","copyRes","assetDetailStore","useAssetDetailStore","assetDialog","useCommonAdminCoreDamOptions","detailOfRow","detailAssetReads","onEditAsset","extSystem","fetchAssetByFileId","assetFileId","shownUnder","loadAssetDetailExtSystem","uploadWaitsForLoad","onAssetUploadConfirm","addUploadedRows","authorEnabled","takeAuthorsGiven","actionLibrary","v$","AImageMetadataValidationScopeSymbol","useDamConfigState","damConfigStore","useDamConfigStoreOf","getDamConfigExtSystem","cachedExtSystemId","authorNamesOf","pageExtSystem","authorsRes","authors","row","names","takeAuthorsOfDetailAsset","detailSave","fetchAsset","assetId","source","onAssetDetailClose","ofRow","shown","saveImages","showValidationError","assetUpdateItems","imagesRaw","toRaw","offering","of","named","rows","readAgain","givenMeanwhile","index","showWarningT","bulkUpdateAssetsAuthors","sentRows","resItems","noteImagesSave","imageFieldsOf","resItem","updatedItems","matchedImage","showMetadataSaveError","removeImage","updateAllPositions","removeItem","editorMode","createImageStoreItem","pos","onReorderApplied","onMounted","openBlock","createElementBlock","toDisplayString","createCommentVNode","createVNode","unref","uploadAccept","uploadSizes","withCtx","fileInputProps","VBtn","mergeProps","createTextVNode","t","addFromDamLabel","_cache","$event","createSlots","_ctx","renderSlot","normalizeProps","guardReactiveProps","slotProps","VProgressCircular","createElementVNode","createBlock","isRef","Fragment","renderList","showSourceEnabled","sourceLabel","editAssetLabel","raw","uploadQueueDialog"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport { computed, inject, onBeforeUnmount, onMounted, ref, type ShallowRef, toRaw, watch } from 'vue'\nimport { isNull, isString, isUndefined } from '@/shared/utils/common'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport ImageWidgetMultipleItem from '@/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue'\nimport { storeToRefs } from 'pinia'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport {\n type AssetDetailItemDto,\n type AssetSearchListItemDto,\n DamAssetType,\n type DamImageCopyToLicenceResponse,\n} from '@/domains/dam/types/Asset'\nimport AAssetSelect from '@/domains/dam/assetSelect/components/AAssetSelect.vue'\nimport AFileInput from '@/domains/ui/file/components/AFileInput.vue'\nimport AImageDropzone from '@/domains/ui/file/components/AFileDropzone.vue'\nimport { useDamAcceptTypeAndSizeHelper } from '@/domains/dam/config/composables/acceptTypeAndSizeHelper'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { AssetSelectReturnData } from '@/domains/dam/types/AssetSelect'\nimport UploadQueueDialog from '@/domains/dam/uploadQueue/components/UploadQueueDialog.vue'\nimport { useUploadQueueDialog } from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport AssetDetailDialog from '@/domains/dam/assetDetail/components/AssetDetailDialog.vue'\nimport {\n type AssetAuthorsItems,\n bulkUpdateAssetsAuthors,\n fetchAsset,\n fetchAssetByFileId,\n fetchAssetListByIds,\n type IdsGroupedByLicences,\n showMetadataSaveError,\n} from '@/domains/dam/api/damAssetApi'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { loadAssetDetailExtSystem } from '@/domains/dam/assetDetail/composables/assetDetailExtSystem'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageStoreItem } from '@/domains/dam/types/ImageAware'\nimport { generateUUIDv1 } from '@/shared/utils/generator'\nimport ASortableListEditor from '@/domains/listEditor/components/ASortableListEditor.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { fetchAuthorListByIds } from '@/domains/dam/author/api/authorApi'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { AImageMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useAssetSelectStore } from '@/domains/dam/assetSelect/store/assetSelectStore'\nimport ImageWidgetMultipleLimitDialog from '@/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { fetchAssetListByFileIdsMultipleLicences } from '@/domains/dam/api/damfetchAssetListByFileIdsMultipleLicences'\nimport { copyToLicence } from '@/domains/dam/api/damImageApi'\nimport { createDamImage, imageFieldsOf } from '@/domains/dam/imageWidget/utils/damImage'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport {\n holdImages,\n imageSavedSince,\n imageSavesOfOthersOver,\n noteImagesSave,\n} from '@/domains/dam/imageWidget/utils/imageSaves'\nimport { WAIT_RAN_OUT, withinWaitLimit } from '@/domains/dam/imageWidget/utils/waitLimit'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerId[]\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n configName?: string\n label?: string | undefined\n readonly?: boolean\n dataCy?: string | undefined\n width?: number | undefined\n disableDraggable?: boolean\n widgetIdentifierId?: string | undefined\n callDeleteApiOnRemove?: boolean\n skipCurrentUserCheck?: boolean\n }>(),\n {\n configName: undefined,\n label: undefined,\n image: undefined,\n readonly: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n width: undefined,\n disableDraggable: false,\n widgetIdentifierId: undefined,\n callDeleteApiOnRemove: false,\n skipCurrentUserCheck: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: IntegerId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst assetSelectDialog = ref(false)\n\nconst imageWidgetUploadConfig = inject<ShallowRef<DamConfigLicenceExtSystemReturnType | undefined> | undefined>(\n ImageWidgetUploadConfigKey,\n undefined\n)\n\nif (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n throw new Error(\"Fatal error, parent component doesn't provide necessary config ext system config.\")\n}\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { imageClient, imageApi } = imageOptions\nconst { showErrorsDefault, showValidationError, showErrorT, showWarningT, showUnknownError } = useAlerts()\nconst uploadButtonComponent = ref<InstanceType<any> | null>(null)\n\nconst { uploadSizes, uploadAccept } = useDamAcceptTypeAndSizeHelper(\n DamAssetType.Image,\n imageWidgetUploadConfig.value.extSystemConfig\n)\n\nconst { t } = useI18n()\n\nconst imagesLoading = ref(false)\nconst imagesLoadFailed = ref(false)\n\n// Editor must not mount before the fetch lands: its dirty baseline is captured once, so rows\n// arriving later would read as \"added\". One-shot, like the fetch.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst imagesReady = ref(props.modelValue.length === 0)\n\nconst listEditor = ref<{ commit: (rows?: ImageStoreItem[]) => void; cancelReorderMode: () => void } | null>(null)\n\nconst imageStore = useImageStore()\n// The store is shared by all widgets. Leftovers from the previous one do not belong to this entity.\nimageStore.reset()\nwatch(\n () => props.readonly,\n (value) => {\n imageStore.readonly = value\n },\n { immediate: true }\n)\nconst { images, maxPosition } = storeToRefs(imageStore)\n\n// Identity of this widget among the image-saving widgets (`imageSaves.ts`), and marks of its own pending saves.\nconst thisWidget = Symbol('image widget multiple')\nconst ownImageSaves = new Set<symbol>()\n// Cancels waiting on other widgets' saves when this widget unmounts.\nlet cancelSaveWaits: (() => void) | null = null\n\n/**\n * Resolves once no other widget has a pending save of any of `ids`, such as the\n * widget this one replaced. On timeout the user is told the request timed out.\n */\nconst savesOfOthersOver = async (ids: IntegerId[]) => {\n const waits = ids\n .map((id) => imageSavesOfOthersOver(damConfigName, id, ownImageSaves))\n .filter((wait) => !isNull(wait))\n if (waits.length === 0) return\n cancelSaveWaits = () => waits.forEach((wait) => wait.cancel())\n const over = await withinWaitLimit(Promise.all(waits.map((wait) => wait.over)), 1, damConfigName)\n cancelSaveWaits = null\n if (over !== WAIT_RAN_OUT) return\n waits.forEach((wait) => wait.cancel())\n if (!unmounted) showErrorT('error.apiTimedOut.message')\n}\n\n// Rows added while the entity images load wait for the load and\n// come after them. Otherwise the load replaced them silently.\nlet imagesLoaded: Promise<void> = Promise.resolve()\n\nconst fetchImagesOnLoad = async () => {\n if (props.modelValue.length === 0) {\n return\n }\n try {\n imagesLoading.value = true\n // Counted when the read is sent: a save answered later may have taken effect after the read.\n const readAt = holdImages(damConfigName, thisWidget, props.modelValue)\n const read = await imageApi.fetchImageListByIds(imageClient, props.modelValue)\n // Rows wait until other widgets' saves of these images are over, using the latest saved state.\n // Otherwise a row had old texts and this widget's save wrote them back over the saved ones.\n await savesOfOthersOver(read.map((image) => image.id))\n if (unmounted) return\n const imagesRes = read\n .map((image) => {\n const saved = imageSavedSince(damConfigName, image.id, readAt.get(image.id) ?? 0)\n return saved ? { ...image, ...saved, id: image.id, position: saved.position ?? image.position } : image\n })\n .sort((a, b) => (a.position ?? 0) - (b.position ?? 0))\n const groupedIds: IdsGroupedByLicences = new Map()\n imagesRes.forEach((image) => {\n const group = groupedIds.get(image.dam.licenceId)\n if (group) {\n group.push(image.dam.damId)\n } else {\n groupedIds.set(image.dam.licenceId, [image.dam.damId])\n }\n })\n\n let assetsRes: Awaited<ReturnType<typeof fetchAssetListByFileIdsMultipleLicences>> = []\n try {\n assetsRes = await fetchAssetListByFileIdsMultipleLicences(damClient, endPointAsset, groupedIds)\n } catch (e) {\n // Read-only shows images without DAM authors. A user without upload rights is often refused the assets.\n if (!props.readonly) throw e\n }\n\n imageStore.setImages(\n imagesRes.map((imageRes) => {\n if (isUndefined(imageRes.position)) throw new Error('Image object needs position field!')\n imageStore.updateMaxPositionIfGreater(imageRes.position)\n const found = assetsRes.find((asset) => asset.mainFile?.id === imageRes.dam.damId)\n return {\n key: generateUUIDv1(),\n ...imageRes,\n // Each row gets its own copy. Rows of the same asset shared the array.\n damAuthors: found ? [...found.authors] : [],\n showDamAuthors: found ? found.authors.length === 0 : false,\n assetId: found ? found.id : undefined,\n }\n })\n )\n // Displaying a read-only widget must not rewrite the form's value with the stored order.\n if (!props.readonly) {\n emit('update:modelValue', images.value.map((image) => image.id).filter((id) => id !== undefined) as IntegerId[])\n }\n } catch (e) {\n imagesLoadFailed.value = true\n showErrorsDefault(e)\n } finally {\n imagesLoading.value = false\n imagesReady.value = true\n }\n}\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst uploadQueue = computed(() => {\n return uploadQueuesStore.getQueue(props.queueKey)\n})\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nconst { uploadQueueDialog, stopQueueLeftBehind } = useUploadQueueDialog()\n\nconst onFileInput = (files: File[]) => {\n if (props.readonly) return\n // The input rejected every file and reported it. Opening the queue dialog would show nothing new.\n if (files.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n // `afterLimitDialogAdd` opens the queue dialog once files are\n // queued. Over the limit nothing is queued until the user agrees.\n // Rows of a queue no dialog shows are not counted. They go first.\n stopQueueLeftBehind(props.queueKey)\n limitDialogComponent.value?.check(files)\n}\n\nconst onDrop = (files: File[]) => {\n if (props.readonly) return\n // Same as the input: the dropzone rejected every file and reported it.\n if (files.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n stopQueueLeftBehind(props.queueKey)\n limitDialogComponent.value?.check(files)\n}\n\nconst onCopyToLicence = (data: DamImageCopyToLicenceResponse) => {\n if (props.readonly) return\n if (data.length === 0) return\n const config = imageWidgetUploadConfig.value\n if (isUndefined(config)) return\n cachedExtSystemId.value = config.extSystem\n stopQueueLeftBehind(props.queueKey)\n let refused = 0\n data.forEach((item) => {\n if (item.result === 'copy') {\n uploadQueuesStore.addByCopyToLicence(\n props.queueKey,\n config.extSystem,\n config.licence,\n [item.targetAsset],\n damConfigName\n )\n } else if (item.result === 'exists') {\n uploadQueuesStore.addByCopyToLicence(\n props.queueKey,\n config.extSystem,\n config.licence,\n [item.targetAsset],\n damConfigName\n )\n uploadQueuesStore.queueItemDuplicate(item.targetAsset, item.targetMainFile, DamAssetType.Image, damConfigName)\n } else {\n refused++\n }\n })\n if (refused > 0) showErrorT('common.damImage.queueItem.errorUnableToCopyToLicence')\n if (refused === data.length) return\n uploadQueueDialog.value = props.queueKey\n}\n\nconst afterLimitDialogAdd = () => {\n uploadQueueDialog.value = props.queueKey\n}\n\n/**\n * Images of picked assets, without position. Each asset is read under\n * its own licence, and its authors under that licence's ext system.\n * The browsed licence can change after picking, and the DAM silently omits assets of another licence.\n * `readUnder`: the licence of all assets and its ext system, when the caller knows them.\n */\nconst assetSelectConfirmMap = async (\n items: AssetSearchListItemDto[],\n readUnder?: { licence: IntegerId; extSystem: IntegerId }\n): Promise<ImageStoreItem[]> => {\n const assetSelectStore = useAssetSelectStore()\n const assetMetadataMap = new Map<DocId, { description: string; authorIds: DocId[] }>()\n const authorsMap = new Map<DocId, string>()\n const idsByLicence: IdsGroupedByLicences = new Map()\n items.forEach((item) => {\n const licence = readUnder ? readUnder.licence : item.licence\n const group = idsByLicence.get(licence)\n if (group) {\n group.push(item.id)\n } else {\n idsByLicence.set(licence, [item.id])\n }\n })\n // A licence that fails to read does not stop the others.\n const failures: unknown[] = []\n for (const [licence, ids] of idsByLicence) {\n try {\n const assetDetails = await fetchAssetListByIds(damClient, endPointAsset, ids, licence)\n if (customAssetSelectMetadataToImageMap) {\n assetDetails.forEach((assetDetail) => {\n const mapped = customAssetSelectMetadataToImageMap(assetDetail)\n assetMetadataMap.set(assetDetail.id, {\n description: mapped.description,\n authorIds: [],\n })\n authorsMap.set(assetDetail.id, mapped.source)\n })\n continue\n }\n const authorIdsToFetch = new Set<DocId>()\n assetDetails.forEach((assetDetail) => {\n assetMetadataMap.set(assetDetail.id, {\n description: isString(assetDetail.metadata.customData?.description)\n ? assetDetail.metadata.customData.description.trim()\n : '',\n authorIds: assetDetail.authors,\n })\n assetDetail.authors.forEach((authorId) => {\n authorIdsToFetch.add(authorId)\n })\n })\n if (authorIdsToFetch.size > 0) {\n const licenceConfig = assetSelectStore.selectConfig.find((config) => config.licence === licence)\n // Uses the licence's ext system, as for every DAM author name the widgets\n // write. Falls back to the picker's when the licence does not tell.\n const authorsRes = await fetchAuthorListByIds(\n damClient,\n endPointAuthor,\n readUnder\n ? readUnder.extSystem\n : ((await getExtSystemByLicence(licence)) ??\n (licenceConfig ?? assetSelectStore.requireSelectedSelectConfig()).extSystem),\n [...authorIdsToFetch]\n )\n authorsRes.forEach((author) => {\n authorsMap.set(author.id, author.name)\n })\n }\n } catch (e) {\n failures.push(e)\n }\n }\n // Reported once for all failures. A DAM refusal arrives as a bare axios error that the default handler ignores.\n if (failures.length > 0 && !showErrorsDefault(failures[0])) showUnknownError()\n\n return items.map((asset) => {\n const authorIds = assetMetadataMap.get(asset.id)?.authorIds || []\n const description = assetMetadataMap.get(asset.id)?.description ?? ''\n\n if (customAssetSelectMetadataToImageMap) {\n return {\n key: generateUUIDv1(),\n ...createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description, source: authorsMap.get(asset.id) ?? '' },\n { position: 0 }\n ),\n damAuthors: [],\n showDamAuthors: false,\n assetId: asset.id,\n }\n }\n\n const authorNames: string[] = []\n assetMetadataMap.get(asset.id)?.authorIds.forEach((authorId) => {\n const name = authorsMap.get(authorId)\n if (!isUndefined(name) && name.trim().length > 0) {\n authorNames.push(name)\n }\n })\n\n return {\n key: generateUUIDv1(),\n ...createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description, source: authorNames.join(', ') },\n { position: 0 }\n ),\n damAuthors: authorIds,\n // Only for assets that were read. For an unread asset its authors are unknown, and authors\n // picked in the row would replace them in the DAM. Its row shows the source instead.\n showDamAuthors: assetMetadataMap.has(asset.id) && authorIds.length === 0,\n assetId: asset.id,\n }\n })\n}\n\nconst positioned = (items: ImageStoreItem[]) =>\n items.map((item) => {\n maxPosition.value++\n return { ...item, position: maxPosition.value }\n })\n\nconst onAssetSelectConfirm = async (data: AssetSelectReturnData) => {\n if (props.readonly) return\n if (data.type !== 'asset' || data.value.length === 0) return\n const picked = data.value.filter((asset) => !isNull(asset.mainFile))\n // Picked assets from a licence other than the upload licence are copied. Assets\n // already in it are used at once. Copies are added when the queue dialog is used.\n const toCopy =\n copyToLicenceEnabled !== false && !isUndefined(data.copyToLicence)\n ? picked.filter((asset) => asset.licence !== data.copyToLicence)\n : []\n // A widget that unmounted or became read-only adds nothing. The image store belongs to the next widget by then.\n const addingIsOver = () => unmounted || props.readonly\n if (toCopy.length === 0) {\n const images = await assetSelectConfirmMap(picked)\n await imagesLoaded\n if (!addingIsOver()) imageStore.addImages(positioned(images))\n return\n }\n const copying = copyToLicence(\n damClient,\n endPointImage,\n toCopy.map((asset) => ({ asset: asset.id, targetAssetLicence: data.copyToLicence! }))\n )\n // Read during the copy under their own licence (the upload's) and its ext system, not the browsed one.\n // Added before the queue dialog opens. Otherwise using the dialog first put the copies before them.\n const asTheyAre = picked.filter((asset) => !toCopy.includes(asset))\n const config = imageWidgetUploadConfig.value\n const imagesAsTheyAre =\n asTheyAre.length === 0\n ? Promise.resolve([])\n : assetSelectConfirmMap(\n asTheyAre,\n config ? { licence: data.copyToLicence!, extSystem: config.extSystem } : undefined\n )\n let copyRes: DamImageCopyToLicenceResponse | null = null\n try {\n copyRes = await copying\n } catch (e) {\n showErrorsDefault(e)\n }\n const images = await imagesAsTheyAre\n await imagesLoaded\n if (addingIsOver()) return\n imageStore.addImages(positioned(images))\n if (copyRes) onCopyToLicence(copyRes)\n}\n\nconst assetDetailStore = useAssetDetailStore()\nconst { dialog: assetDialog } = storeToRefs(assetDetailStore)\nconst {\n damClient,\n endPointAsset,\n endPointImage,\n endPointAuthor,\n copyToLicenceEnabled,\n showSourceEnabled,\n sourceLabel,\n editAssetLabel,\n addFromDamLabel,\n customAssetSelectMetadataToImageMap,\n} = useCommonAdminCoreDamOptions(damConfigName)\n\n// True while the detail was opened by \"edit asset\" of a row. Not for the detail\n// opened from the queue dialog, which is drawn here too and reads nothing on close.\nlet detailOfRow = false\n// Reads of assets whose detail closed, keyed by asset. The widget save waits for them.\n// Reads of other assets do not wait on these. Otherwise closing one detail waited for another asset's save and read.\nconst detailAssetReads = new Map<DocId, Promise<void>>()\n// Such a read may finish after unmount, when the store belongs to the next widget.\nlet unmounted = false\nonBeforeUnmount(() => {\n unmounted = true\n holdImages(damConfigName, thisWidget, [])\n cancelSaveWaits?.()\n})\n\nconst onEditAsset = async (assetFileId: DocId) => {\n detailOfRow = true\n let extSystem: IntegerId | null = null\n try {\n await assetDetailStore.open(\n props.queueKey,\n async () => {\n const asset = await fetchAssetByFileId(damClient, endPointAsset, assetFileId)\n // Falls back to the ext system of the widget's upload licence,\n // loaded by its root, when the licence cannot be resolved.\n const shownUnder = (await getExtSystemByLicence(asset.licence)) ?? imageWidgetUploadConfig.value!.extSystem\n // Must load before the detail shows the asset: it reads the ext\n // system configuration while rendering and threw without it.\n await loadAssetDetailExtSystem(damClient, shownUnder, asset.attributes.assetType, damConfigName)\n extSystem = shownUnder\n return asset\n },\n // Only for the asset the detail still shows: a stale answer must not change the ext system used for name lookups.\n () => {\n if (extSystem) cachedExtSystemId.value = extSystem\n }\n )\n } catch (e) {\n showErrorsDefault(e)\n }\n}\n\n// An upload applied during the entity image load waits with its dialog and\n// queue intact. Its rows come after the loaded images, then the dialog closes.\n// If the widget is read-only or gone by then, the dialog and queue stay as for\n// read-only, so nothing is lost. Before, the dialog and rows were dropped.\n// Applying again while waiting is ignored, or rows would be added twice.\nlet uploadWaitsForLoad = false\nconst onAssetUploadConfirm = async (items: ImageStoreItem[]) => {\n if (props.readonly) return\n if (items.length === 0) return\n if (imagesLoading.value) {\n if (uploadWaitsForLoad) return\n uploadWaitsForLoad = true\n await imagesLoaded\n uploadWaitsForLoad = false\n if (unmounted || props.readonly) return\n }\n addUploadedRows(items)\n uploadQueueDialog.value = null\n uploadQueuesStore.stopUpload(props.queueKey)\n}\n\nconst addUploadedRows = (items: ImageStoreItem[]) => {\n // A duplicate file becomes the asset of the existing image, and the dialog has just saved its authors. Rows of that\n // asset offering the pick take them, as after closing the detail. Otherwise their pick would overwrite those authors.\n // Names go into a row's source only if it has none. Before, they always overwrote it.\n if (authorEnabled.value) {\n items.forEach((item) => {\n if (isUndefined(item.assetId) || item.damAuthors.length === 0) return\n images.value.forEach((image) => {\n if (image.assetId !== item.assetId || !image.showDamAuthors) return\n takeAuthorsGiven(image, item.damAuthors, item.texts.source)\n })\n })\n }\n imageStore.addImages(positioned(items))\n}\n\nconst actionLibrary = () => {\n assetSelectDialog.value = true\n}\n\nconst v$ = useVuelidate({ $scope: AImageMetadataValidationScopeSymbol })\n\nconst { getDamConfigExtSystem, getExtSystemByLicence } = useDamConfigState(damClient, damConfigName)\nconst damConfigStore = useDamConfigStoreOf(damConfigName)\n\nconst authorEnabled = computed(() => {\n return !!getDamConfigExtSystem(cachedExtSystemId.value)?.[DamAssetType.Image]?.authors?.enabled\n})\n\n/**\n * Author names of an asset, in order, under its licence's ext system.\n * Falls back to `pageExtSystem` when the licence does not tell.\n */\nconst authorNamesOf = async (asset: AssetDetailItemDto, pageExtSystem: IntegerId) => {\n const extSystem = (await getExtSystemByLicence(asset.licence)) ?? pageExtSystem\n const authorsRes = await fetchAuthorListByIds(damClient, endPointAuthor, extSystem, asset.authors)\n const authorNames: string[] = []\n asset.authors.forEach((authorId) => {\n const name = authorsRes.find((author) => author.id === authorId)?.name\n if (!isUndefined(name) && name.trim().length > 0) {\n authorNames.push(name)\n }\n })\n return authorNames.join(', ')\n}\n\n/**\n * Once the asset turns out to have authors, a row offering the\n * author pick takes them, drops the pick and shows its source.\n * The source takes their names if empty or if it holds a hidden \"fill empty\"\n * pick from mass operations. An image's own source stays for the user to check.\n */\nconst takeAuthorsGiven = (row: ImageStoreItem, authors: DocId[], names: string) => {\n row.damAuthors = [...authors]\n if (row.texts.source.trim().length === 0 || imageStore.hasSourceOfPick(row)) row.texts.source = names\n imageStore.forgetSourceOfPick(row)\n row.showDamAuthors = false\n}\n\n/**\n * The detail may have given authors to an asset whose row offers the pick.\n * Otherwise the widget save overwrote them, or saved the image without a source.\n * So the asset is read again, and its offering rows take its authors with names under the asset\n * licence's ext system (see `takeAuthorsGiven`). Rows showing their source are left alone.\n * `detailSave`: the detail save pending at close. `pageExtSystem`: the ext system configured at that time.\n */\nconst takeAuthorsOfDetailAsset = async (assetId: DocId, detailSave: Promise<void> | null, pageExtSystem: IntegerId) => {\n try {\n // Read before the DAM answers that save, the asset would be stale.\n await detailSave\n const asset = await fetchAsset(damClient, endPointAsset, assetId)\n if (asset.authors.length === 0) return\n const source = await authorNamesOf(asset, pageExtSystem)\n if (unmounted || props.readonly) return\n images.value.forEach((image) => {\n // Uses the row's own flag. Whether the page shows the pick depends\n // on an ext system that another asset's detail may have changed.\n if (image.assetId !== asset.id || !image.showDamAuthors) return\n takeAuthorsGiven(image, asset.authors, source)\n })\n } catch (e) {\n if (!unmounted && !showErrorsDefault(e)) showUnknownError()\n }\n}\n\n/**\n * `shown`: the asset the detail showed. None if it closed from its loader or after a failed read.\n * Captured before any await: whether a row of that asset offers the\n * pick, the pending detail save, and the configured ext system.\n */\nconst onAssetDetailClose = (shown: AssetDetailItemDto | null) => {\n const ofRow = detailOfRow\n detailOfRow = false\n if (!ofRow || isNull(shown) || props.readonly || !authorEnabled.value) return\n const assetId = shown.id\n if (!images.value.some((image) => image.assetId === assetId && image.showDamAuthors)) return\n const detailSave = assetDetailStore.savingOf(assetId, damConfigName)\n const pageExtSystem = cachedExtSystemId.value\n const read = (detailAssetReads.get(assetId) ?? Promise.resolve()).then(() =>\n takeAuthorsOfDetailAsset(assetId, detailSave, pageExtSystem)\n )\n detailAssetReads.set(assetId, read)\n void read.then(() => {\n if (detailAssetReads.get(assetId) === read) detailAssetReads.delete(assetId)\n })\n}\n\nconst saveImages = async () => {\n // Nothing of the user's to write. The images stay as loaded.\n if (props.readonly) return true\n // An empty store here means the fetch is pending or failed, not a\n // user deletion. The empty path below would detach every image.\n if (imagesLoading.value || imagesLoadFailed.value) {\n showUnknownError()\n return false\n }\n // A closed detail's asset is still being read. Its rows are not written until they have its authors.\n await Promise.all(detailAssetReads.values())\n if (unmounted) return false\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return false\n }\n try {\n const assetUpdateItems: AssetAuthorsItems = []\n const imagesRaw = toRaw(images.value)\n // Rows offering the author pick, grouped by asset. An entity may have\n // an image twice, and a queue duplicate is a second row of its asset.\n // Per row, authors went out once per row and the last won, and a row with no pick was saved without a source.\n // The asset gets the union of picks in its rows, each author once,\n // and each row gets the authors and names after the DAM accepts them.\n const offering = new Map<DocId, { assetId: DocId | undefined; rows: ImageStoreItem[]; authors: DocId[] }>()\n if (authorEnabled.value) {\n images.value.forEach((image) => {\n if (!image.showDamAuthors) return\n // A row offering the pick has an asset. One without would be grouped alone.\n const of = image.assetId ?? image.key\n const asset = offering.get(of) ?? { assetId: image.assetId, rows: [], authors: [] }\n offering.set(of, asset)\n asset.rows.push(image)\n image.damAuthors.forEach((author) => {\n if (!asset.authors.includes(author)) asset.authors.push(author)\n })\n })\n }\n const named: Array<{ assetId: DocId | undefined; rows: ImageStoreItem[]; authors: DocId[]; source: string }> = []\n for (const { assetId, rows, authors } of offering.values()) {\n if (authors.length === 0) continue\n if (assetId) assetUpdateItems.push({ id: assetId, authors })\n // Uses the ext system of the rows' asset licence, as the pre-write read does. Falls back to the configured\n // one when the page does not know the licence. It is not fetched, since entity rows can be of any licence.\n const extSystem =\n damConfigStore.damConfigLicenceExtSystem.get(rows[0]!.dam.licenceId)?.extSystem ?? cachedExtSystemId.value\n const authorsRes = await fetchAuthorListByIds(damClient, endPointAuthor, extSystem, authors)\n named.push({ assetId, rows, authors, source: authorsRes.map((author) => author.name).join(', ') })\n }\n // Unmounted while authors loaded: write nothing. Turned read-only: nothing of the user's is written.\n if (unmounted) return false\n if (props.readonly) return true\n // Assets may have received authors elsewhere since their rows loaded, and the write would\n // replace them. So each asset with picked authors is re-read right before the write.\n // If any asset already has authors, nothing is written. Its offering rows take those\n // authors (`takeAuthorsGiven`), a message stays until closed, and the user saves again.\n const picked = [...offering.values()].filter(({ assetId, authors }) => !isUndefined(assetId) && authors.length > 0)\n if (picked.length > 0) {\n const readAgain = await Promise.all(picked.map(({ assetId }) => fetchAsset(damClient, endPointAsset, assetId!)))\n // Unmounted or made read-only while the assets were read: write nothing.\n if (unmounted || props.readonly) return false\n const givenMeanwhile = picked\n .map(({ rows }, index) => ({ rows, asset: readAgain[index]! }))\n .filter(({ asset }) => asset.authors.length > 0)\n if (givenMeanwhile.length > 0) {\n const pageExtSystem = cachedExtSystemId.value\n const names = await Promise.all(givenMeanwhile.map(({ asset }) => authorNamesOf(asset, pageExtSystem)))\n if (unmounted || props.readonly) return false\n givenMeanwhile.forEach(({ rows, asset }, index) => {\n rows.forEach((row) => {\n if (row.showDamAuthors) takeAuthorsGiven(row, asset.authors, names[index]!)\n })\n })\n showWarningT('common.damImage.image.meta.galleryAuthorsGivenMeanwhile', -1)\n return false\n }\n }\n if (assetUpdateItems.length) {\n await bulkUpdateAssetsAuthors(damClient, endPointAsset, assetUpdateItems)\n // Unmounted while the authors were written: save no image. A widget mounted meanwhile\n // for the same images read them before this save, which is noted only once sent.\n if (unmounted) return false\n }\n // The DAM now has these authors even if the images are not saved, so the rows show the source as after a save.\n // If the rows kept offering the pick, the next save would send them as picks,\n // the pre-write read would find these authors, and nothing would be written.\n named.forEach(({ assetId, rows, authors, source }) => {\n rows.forEach((row) => {\n row.damAuthors = [...authors]\n row.texts.source = source\n if (isUndefined(assetId)) return\n row.showDamAuthors = false\n imageStore.forgetSourceOfPick(row)\n })\n })\n const sentRows = [...imagesRaw]\n // Note the saved images for the page's other widgets, one by one.\n // This runs even if this widget unmounted before the response.\n const resItems = await noteImagesSave(\n damConfigName,\n sentRows.map((row) => row.id).filter((id) => !isUndefined(id)),\n ownImageSaves,\n imageApi.bulkUpdateImages(imageClient, sentRows.map(imageFieldsOf))\n )\n // If unmounted before the response, write nothing to the image store. By then it belongs to the next widget.\n if (unmounted) return true\n holdImages(\n damConfigName,\n thisWidget,\n resItems.map((resItem) => resItem.id)\n )\n const ids: IntegerId[] = []\n const items = resItems.map((resItem) => {\n ids.push(resItem.id)\n\n return {\n key: generateUUIDv1(),\n ...resItem,\n damAuthors: [],\n showDamAuthors: false,\n assetId: undefined,\n }\n })\n if (imageStore.images.length === 0) {\n listEditor.value?.commit([])\n // Emptying is a change too. Without this emit the parent keeps its old ids.\n emit('update:modelValue', ids)\n return true\n }\n\n // Match each returned image to its own sent row. Rows of the same file are matched one by one in send order.\n // Matching by file alone gave every row of a file the values of the first one.\n const getUpdatedItem = (item: ImageStoreItem): ImageStoreItem => {\n const index = sentRows.findIndex((row) => row.dam.damId === item.dam.damId)\n const matchedImage = index < 0 ? undefined : sentRows.splice(index, 1)[0]\n\n return {\n ...item,\n damAuthors: matchedImage ? matchedImage.damAuthors : item.damAuthors,\n // Only a row that offered DAM authors keeps offering them.\n // A row whose asset the DAM did not return has no asset to save them into, so it keeps its source.\n showDamAuthors: matchedImage ? matchedImage.showDamAuthors && matchedImage.damAuthors.length === 0 : false,\n assetId: matchedImage ? matchedImage.assetId : item.assetId,\n }\n }\n\n const updatedItems = items.map(getUpdatedItem)\n imageStore.setImages(updatedItems)\n // Pass the rows explicitly. `setImages` just replaced their keys,\n // so a bare `commit()` would read the not-yet-rerendered prop.\n listEditor.value?.commit(updatedItems)\n emit('update:modelValue', ids)\n return true\n } catch (e) {\n // Authors refused by validation are named as the forms name them. Other errors are shown as before.\n showMetadataSaveError(e, cachedExtSystemId.value, damConfigName)\n return false\n }\n}\n\n// Renumber the remaining images as after a move. Otherwise the backend gets positions with a gap.\nconst removeImage = (index: number) => {\n imageStore.removeImageByIndex(index)\n updateAllPositions()\n}\n\nconst removeItem = async (index: number) => {\n const image = images.value[index]\n if (!image) return\n if (isUndefined(image.id)) {\n removeImage(index)\n return\n }\n if (props.callDeleteApiOnRemove) {\n try {\n await imageApi.deleteImage(imageClient, image.id)\n removeImage(index)\n } catch (e) {\n showErrorsDefault(e)\n }\n return\n }\n removeImage(index)\n}\n\nconst limitDialogComponent = ref<InstanceType<typeof ImageWidgetMultipleLimitDialog> | null>(null)\n\nconst editorMode = ref<'view' | 'reorder'>('view')\n// A reorder under way would keep moving rows a read-only widget does not save.\nwatch(\n () => props.readonly,\n (value) => {\n if (value && editorMode.value === 'reorder') listEditor.value?.cancelReorderMode()\n }\n)\n\n// Required by the editor but never called. Adds go through the\n// upload and asset-select flow; the editor's add button is hidden.\nconst createImageStoreItem = (): ImageStoreItem => ({\n key: generateUUIDv1(),\n ...createDamImage({ fileId: '', licenceId: 0 }, {}, { position: 0 }),\n damAuthors: [],\n showDamAuthors: false,\n assetId: undefined,\n})\n\nconst updateAllPositions = () => {\n let pos = 0\n images.value.forEach((image) => {\n pos++\n image.position = pos\n })\n imageStore.maxPosition = pos\n}\n\nconst onReorderApplied = () => {\n updateAllPositions()\n}\n\ndefineExpose({\n saveImages,\n})\n\nonMounted(() => {\n imagesLoaded = fetchImagesOnLoad()\n})\n</script>\n\n<template>\n <div>\n <h4\n v-if=\"label\"\n class=\"font-weight-bold text-label-large\"\n >\n {{ label }}\n </h4>\n <div\n v-if=\"!readonly\"\n class=\"pb-2\"\n >\n <AFileInput\n :file-input-key=\"uploadQueue?.fileInputKey\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @files-input=\"onFileInput\"\n >\n <template #activator=\"{ props: fileInputProps }\">\n <VBtn\n ref=\"uploadButtonComponent\"\n v-bind=\"fileInputProps\"\n >\n {{ t('common.damImage.image.button.upload') }}\n </VBtn>\n </template>\n </AFileInput>\n <VBtn\n class=\"mr-2\"\n @click=\"actionLibrary\"\n >\n {{ addFromDamLabel }}\n </VBtn>\n </div>\n <AAssetSelect\n v-model=\"assetSelectDialog\"\n :select-licences=\"selectLicences\"\n :upload-licence=\"uploadLicence\"\n :min-count=\"1\"\n :max-count=\"50\"\n :asset-type=\"DamAssetType.Image\"\n :skip-current-user-check=\"skipCurrentUserCheck\"\n :config-name=\"damConfigName\"\n return-type=\"asset\"\n @confirm=\"onAssetSelectConfirm\"\n >\n <template\n v-if=\"$slots['asset-select-sidebar-prepend']\"\n #sidebar-prepend=\"slotProps\"\n >\n <slot\n name=\"asset-select-sidebar-prepend\"\n v-bind=\"slotProps\"\n />\n </template>\n </AAssetSelect>\n <div\n v-if=\"imagesLoading\"\n class=\"w-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n class=\"position-relative w-100\"\n style=\"min-height: 140px\"\n >\n <ASortableListEditor\n v-if=\"imagesReady\"\n ref=\"listEditor\"\n v-model=\"images\"\n v-model:mode=\"editorMode\"\n :factory=\"createImageStoreItem\"\n get-key=\"key\"\n position=\"position\"\n :show-add-button=\"false\"\n :show-delete-button=\"false\"\n :show-edit-button=\"false\"\n :disable-drag=\"disableDraggable || readonly\"\n :readonly=\"readonly\"\n @reorder-applied=\"onReorderApplied\"\n >\n <template #view-body>\n <div class=\"asset-list-tiles asset-list-tiles--thumbnail a-sortable-widget__group\">\n <ImageWidgetMultipleItem\n v-for=\"(image, index) in images\"\n :key=\"image.key\"\n :index=\"index\"\n :show-source-enabled=\"showSourceEnabled\"\n :source-label=\"sourceLabel\"\n :edit-asset-label=\"editAssetLabel\"\n :author-enabled=\"authorEnabled\"\n :readonly=\"readonly\"\n :config-name=\"damConfigName\"\n @edit-asset=\"onEditAsset\"\n @remove-item=\"removeItem\"\n />\n </div>\n </template>\n <template #item-compact=\"{ raw }\">\n <div class=\"image-widget-multiple-reorder\">\n <div class=\"image-widget-multiple-reorder__thumb\">\n <AImageWidgetSimple\n :model-value=\"raw.id\"\n :image=\"raw\"\n :config-name=\"damConfigName\"\n />\n </div>\n <div class=\"image-widget-multiple-reorder__meta\">\n <div class=\"image-widget-multiple-reorder__title\">\n {{ raw.texts?.description?.trim() || '—' }}\n </div>\n <div\n v-if=\"raw.texts?.source\"\n class=\"image-widget-multiple-reorder__source\"\n >\n {{ raw.texts.source }}\n </div>\n </div>\n </div>\n </template>\n </ASortableListEditor>\n <AImageDropzone\n v-if=\"editorMode === 'view' && !readonly\"\n variant=\"fill\"\n :hover-only=\"modelValue.length > 0 || images.length > 0\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n @drop=\"onDrop\"\n @click=\"uploadButtonComponent?.$el.click()\"\n />\n </div>\n <UploadQueueDialog\n v-if=\"uploadQueueDialog === queueKey && imageWidgetUploadConfig\"\n :queue-key=\"queueKey\"\n :ext-system=\"imageWidgetUploadConfig.extSystem\"\n :licence-id=\"imageWidgetUploadConfig.licence\"\n :file-input-key=\"uploadQueue?.fileInputKey ?? -1\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @apply=\"onAssetUploadConfirm\"\n @files-input=\"onFileInput\"\n @drop=\"onFileInput\"\n />\n <AssetDetailDialog\n v-if=\"assetDialog === queueKey\"\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :ext-system=\"cachedExtSystemId\"\n @close=\"onAssetDetailClose\"\n />\n <ImageWidgetMultipleLimitDialog\n ref=\"limitDialogComponent\"\n :queue-key=\"queueKey\"\n @after-add=\"afterLimitDialogAdd\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.image-widget-multiple-reorder {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 100%;\n min-height: 100px;\n padding: 4px 0;\n\n &__thumb {\n flex: 0 0 auto;\n width: 200px;\n border-radius: 4px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n width: 100%;\n height: auto;\n display: block;\n }\n }\n\n &__meta {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n &__title {\n font-size: 0.95rem;\n font-weight: 500;\n color: rgb(var(--v-theme-on-surface));\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n &__source {\n font-size: 0.82rem;\n color: rgb(var(--v-theme-on-surface) / 70%);\n margin-top: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n @media (width <= 600px) {\n gap: 8px;\n min-height: 72px;\n\n &__thumb {\n width: 80px;\n }\n\n &__source {\n display: none;\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import e from "./ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js";
2
2
  /* empty css */
3
- //#region src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue
3
+ // src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue
4
4
  var t = e;
5
- //#endregion
6
5
  export { t as default };
7
6
 
8
7
  //# sourceMappingURL=ImageWidgetMultipleItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageWidgetMultipleItem.js","names":["_sfc_main","ImageWidgetMultipleItem_vue_vue_type_script_setup_true_lang_default","ImageWidgetMultipleItem_default"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport { computed, ref } from 'vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport type { DocId } from '@/shared/types/common'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport AActionDeleteButton from '@/domains/ui/buttons/action/components/AActionDeleteButton.vue'\nimport { useI18n } from 'vue-i18n'\nimport { AImageMetadataValidationScopeSymbol, useImageValidation } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n index: number\n authorEnabled: boolean\n showSourceEnabled?: boolean\n sourceLabel?: string\n editAssetLabel?: string\n readonly?: boolean\n configName?: string\n }>(),\n {\n readonly: false,\n configName: undefined,\n showSourceEnabled: true,\n sourceLabel: undefined,\n editAssetLabel: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editAsset', data: DocId): void\n (e: 'removeItem', index: number): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst imageStore = useImageStore()\nconst { t } = useI18n()\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\nconst authorConflicts = ref<DocId[]>([])\n// `index` comes from the parent's v-for over these same images.\nconst image = computed(() => imageStore.images[props.index]!)\n\nconst imageSourceRequired = computed(() => {\n if (isNull(image.value) || isUndefined(image.value)) return true\n return !(image.value.showDamAuthors && props.authorEnabled)\n})\n\nconst { v$ } = useImageValidation(image, imageSourceRequired, damConfigName)\n\nconst onEditAsset = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n emit('editAsset', image.value.dam.damId)\n}\n\nconst removeItem = () => {\n emit('removeItem', props.index)\n}\n\n// Typed by the user: the source is the user's, no pick's, also where its text is the names a pick wrote there.\nconst onSourceTyped = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n imageStore.forgetSourceOfPick(image.value)\n}\n</script>\n\n<template>\n <div class=\"asset-list-tiles__item\">\n <div class=\"asset-list-tiles__item-card\">\n <div class=\"ma-2\">\n <!-- No reorder controls here: the grid is `#view-body`, which SortableJS never binds to.\n Reordering lives in reorder mode. -->\n <AImageWidgetSimple\n :model-value=\"image.id\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n />\n <VRow density=\"compact\">\n <VCol class=\"d-flex justify-space-between mt-1\">\n <VBtn\n v-if=\"!readonly\"\n variant=\"text\"\n size=\"small\"\n class=\"mb-2\"\n @click.stop=\"onEditAsset\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <AActionDeleteButton\n v-if=\"!readonly\"\n variant=\"icon\"\n :size=\"30\"\n button-class=\"\"\n @delete-record=\"removeItem\"\n />\n </VCol>\n </VRow>\n <!-- `undefined`, not `false`, when editable: the fields then still follow a parent form's readonly and disabled. -->\n <VRow density=\"compact\">\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.description\"\n :readonly=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow\n v-if=\"image.showDamAuthors && authorEnabled\"\n density=\"compact\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"image.damAuthors\"\n :disabled=\"readonly || undefined\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-else\n density=\"compact\"\n >\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.source\"\n :readonly=\"readonly || undefined\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n @update:model-value=\"onSourceTyped\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"image.flags.showSource\"\n :disabled=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-list-tiles--thumbnail.a-sortable-widget__group {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .asset-list-tiles__item {\n flex: 1 1 260px;\n min-width: 260px;\n max-width: 400px;\n\n img:not(.img-svg) {\n padding: 0;\n }\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ImageWidgetMultipleItem.js","names":["_sfc_main","ImageWidgetMultipleItem_vue_vue_type_script_setup_true_lang_default","ImageWidgetMultipleItem_default"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport { computed, ref } from 'vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport type { DocId } from '@/shared/types/common'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport AActionDeleteButton from '@/domains/ui/buttons/action/components/AActionDeleteButton.vue'\nimport { useI18n } from 'vue-i18n'\nimport { AImageMetadataValidationScopeSymbol, useImageValidation } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n index: number\n authorEnabled: boolean\n showSourceEnabled?: boolean\n sourceLabel?: string\n editAssetLabel?: string\n readonly?: boolean\n configName?: string\n }>(),\n {\n readonly: false,\n configName: undefined,\n showSourceEnabled: true,\n sourceLabel: undefined,\n editAssetLabel: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editAsset', data: DocId): void\n (e: 'removeItem', index: number): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst imageStore = useImageStore()\nconst { t } = useI18n()\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\nconst authorConflicts = ref<DocId[]>([])\n// `index` comes from the parent's v-for over these same images.\nconst image = computed(() => imageStore.images[props.index]!)\n\nconst imageSourceRequired = computed(() => {\n if (isNull(image.value) || isUndefined(image.value)) return true\n return !(image.value.showDamAuthors && props.authorEnabled)\n})\n\nconst { v$ } = useImageValidation(image, imageSourceRequired, damConfigName)\n\nconst onEditAsset = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n emit('editAsset', image.value.dam.damId)\n}\n\nconst removeItem = () => {\n emit('removeItem', props.index)\n}\n\n// A typed source belongs to the user, not to a pick. This holds even when the text equals the names a pick wrote.\nconst onSourceTyped = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n imageStore.forgetSourceOfPick(image.value)\n}\n</script>\n\n<template>\n <div class=\"asset-list-tiles__item\">\n <div class=\"asset-list-tiles__item-card\">\n <div class=\"ma-2\">\n <!-- No reorder controls here: the grid is `#view-body`, which SortableJS never binds to.\n Reordering lives in reorder mode. -->\n <AImageWidgetSimple\n :model-value=\"image.id\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n />\n <VRow density=\"compact\">\n <VCol class=\"d-flex justify-space-between mt-1\">\n <VBtn\n v-if=\"!readonly\"\n variant=\"text\"\n size=\"small\"\n class=\"mb-2\"\n @click.stop=\"onEditAsset\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <AActionDeleteButton\n v-if=\"!readonly\"\n variant=\"icon\"\n :size=\"30\"\n button-class=\"\"\n @delete-record=\"removeItem\"\n />\n </VCol>\n </VRow>\n <!-- `undefined`, not `false`, when editable: the fields then still follow a parent form's readonly and disabled. -->\n <VRow density=\"compact\">\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.description\"\n :readonly=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow\n v-if=\"image.showDamAuthors && authorEnabled\"\n density=\"compact\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"image.damAuthors\"\n :disabled=\"readonly || undefined\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-else\n density=\"compact\"\n >\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.source\"\n :readonly=\"readonly || undefined\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n @update:model-value=\"onSourceTyped\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"image.flags.showSource\"\n :disabled=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-list-tiles--thumbnail.a-sortable-widget__group {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .asset-list-tiles__item {\n flex: 1 1 260px;\n min-width: 260px;\n max-width: 400px;\n\n img:not(.img-svg) {\n padding: 0;\n }\n }\n}\n</style>\n"],"mappings":""}
@@ -1,19 +1,19 @@
1
- import { isNull as e, isUndefined as t } from "../../../../shared/utils/common.js";
1
+ import e from "./AImageWidgetSimple.js";
2
+ import { useImageStore as t } from "../store/imageStore.js";
2
3
  import n from "../../../form/components/AFormTextarea.js";
3
- import r from "../../../form/components/ASystemEntityScope.js";
4
- import i from "../../../ui/buttons/action/components/AActionDeleteButton.js";
5
- import { useDamConfigName as a } from "../../composables/damConfigName.js";
6
- import { useExtSystemIdForCached as o } from "../../composables/extSystemIdForCached.js";
7
- import { AImageMetadataValidationScopeSymbol as s, useImageValidation as c } from "../../composables/uploadValidations.js";
8
- import l from "../../author/components/AuthorRemoteAutocompleteWithCached.js";
9
- import u from "./AImageWidgetSimple.js";
10
- import { useImageStore as d } from "../store/imageStore.js";
4
+ import { isNull as r, isUndefined as i } from "../../../../shared/utils/common.js";
5
+ import a from "../../../ui/buttons/action/components/AActionDeleteButton.js";
6
+ import { AImageMetadataValidationScopeSymbol as o, useImageValidation as s } from "../../composables/uploadValidations.js";
7
+ import c from "../../author/components/AuthorRemoteAutocompleteWithCached.js";
8
+ import l from "../../../form/components/ASystemEntityScope.js";
9
+ import { useExtSystemIdForCached as u } from "../../composables/extSystemIdForCached.js";
10
+ import { useDamConfigName as d } from "../../composables/damConfigName.js";
11
11
  import { computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createTextVNode as _, createVNode as v, defineComponent as y, openBlock as b, ref as x, toDisplayString as S, unref as C, withCtx as w, withModifiers as T } from "vue";
12
12
  import { useI18n as E } from "vue-i18n";
13
13
  import { VCol as D, VRow as O } from "vuetify/components/VGrid";
14
14
  import { VBtn as k } from "vuetify/components/VBtn";
15
15
  import { VSwitch as A } from "vuetify/components/VSwitch";
16
- //#region src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue?vue&type=script&setup=true&lang.ts
16
+ // src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue?vue&type=script&setup=true&lang.ts
17
17
  var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__item-card" }, N = { class: "ma-2" }, P = /*@__PURE__*/ y({
18
18
  __name: "ImageWidgetMultipleItem",
19
19
  props: {
@@ -33,15 +33,15 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
33
33
  },
34
34
  emits: ["editAsset", "removeItem"],
35
35
  setup(y, { emit: P }) {
36
- let F = y, I = P, L = a(F.configName), R = d(), { t: z } = E(), { cachedExtSystemId: B } = o(L), V = x([]), H = f(() => R.images[F.index]), U = f(() => e(H.value) || t(H.value) ? !0 : !(H.value.showDamAuthors && F.authorEnabled)), { v$: W } = c(H, U, L), G = () => {
37
- e(H.value) || t(H.value) || I("editAsset", H.value.dam.damId);
36
+ let F = y, I = P, L = d(F.configName), R = t(), { t: z } = E(), { cachedExtSystemId: B } = u(L), V = x([]), H = f(() => R.images[F.index]), U = f(() => r(H.value) || i(H.value) ? !0 : !(H.value.showDamAuthors && F.authorEnabled)), { v$: W } = s(H, U, L), G = () => {
37
+ r(H.value) || i(H.value) || I("editAsset", H.value.dam.damId);
38
38
  }, K = () => {
39
39
  I("removeItem", F.index);
40
40
  }, q = () => {
41
- e(H.value) || t(H.value) || R.forgetSourceOfPick(H.value);
41
+ r(H.value) || i(H.value) || R.forgetSourceOfPick(H.value);
42
42
  };
43
- return (e, t) => (b(), h("div", j, [g("div", M, [g("div", N, [
44
- v(u, {
43
+ return (t, r) => (b(), h("div", j, [g("div", M, [g("div", N, [
44
+ v(e, {
45
45
  "model-value": H.value.id,
46
46
  image: H.value,
47
47
  "config-name": C(L)
@@ -61,7 +61,7 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
61
61
  }, {
62
62
  default: w(() => [_(S(y.editAssetLabel), 1)]),
63
63
  _: 1
64
- })), y.readonly ? m("", !0) : (b(), p(i, {
64
+ })), y.readonly ? m("", !0) : (b(), p(a, {
65
65
  key: 1,
66
66
  variant: "icon",
67
67
  size: 30,
@@ -76,7 +76,7 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
76
76
  default: w(() => [v(D, null, {
77
77
  default: w(() => [v(n, {
78
78
  modelValue: H.value.texts.description,
79
- "onUpdate:modelValue": t[0] ||= (e) => H.value.texts.description = e,
79
+ "onUpdate:modelValue": r[0] ||= (e) => H.value.texts.description = e,
80
80
  readonly: y.readonly || void 0,
81
81
  label: C(z)("common.damImage.image.model.texts.description"),
82
82
  help: C(z)("common.damImage.image.help.texts.description"),
@@ -97,13 +97,13 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
97
97
  density: "compact"
98
98
  }, {
99
99
  default: w(() => [v(D, null, {
100
- default: w(() => [v(r, {
100
+ default: w(() => [v(l, {
101
101
  subject: "author",
102
102
  system: "dam"
103
103
  }, {
104
- default: w(() => [v(l, {
104
+ default: w(() => [v(c, {
105
105
  modelValue: H.value.damAuthors,
106
- "onUpdate:modelValue": t[1] ||= (e) => H.value.damAuthors = e,
106
+ "onUpdate:modelValue": r[1] ||= (e) => H.value.damAuthors = e,
107
107
  disabled: y.readonly || void 0,
108
108
  "ext-system": C(B),
109
109
  label: C(z)("common.damImage.asset.model.authors"),
@@ -111,7 +111,7 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
111
111
  "data-cy": "custom-field-authors",
112
112
  clearable: "",
113
113
  multiple: "",
114
- "validation-scope": C(s)
114
+ "validation-scope": C(o)
115
115
  }, null, 8, [
116
116
  "modelValue",
117
117
  "disabled",
@@ -132,7 +132,7 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
132
132
  default: w(() => [v(D, null, {
133
133
  default: w(() => [v(n, {
134
134
  modelValue: H.value.texts.source,
135
- "onUpdate:modelValue": [t[2] ||= (e) => H.value.texts.source = e, q],
135
+ "onUpdate:modelValue": [r[2] ||= (e) => H.value.texts.source = e, q],
136
136
  readonly: y.readonly || void 0,
137
137
  label: y.sourceLabel,
138
138
  v: C(W).image?.texts.source
@@ -150,7 +150,7 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
150
150
  default: w(() => [v(D, null, {
151
151
  default: w(() => [v(A, {
152
152
  modelValue: H.value.flags.showSource,
153
- "onUpdate:modelValue": t[3] ||= (e) => H.value.flags.showSource = e,
153
+ "onUpdate:modelValue": r[3] ||= (e) => H.value.flags.showSource = e,
154
154
  disabled: y.readonly || void 0,
155
155
  label: C(z)("common.damImage.image.model.flags.showSource"),
156
156
  density: "compact",
@@ -167,7 +167,6 @@ var j = { class: "asset-list-tiles__item" }, M = { class: "asset-list-tiles__ite
167
167
  ])])]));
168
168
  }
169
169
  });
170
- //#endregion
171
170
  export { P as default };
172
171
 
173
172
  //# sourceMappingURL=ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","AImageWidgetSimple","_unref","_component_VRow","_withCtx","_component_VCol","_createBlock","_component_VBtn","_withModifiers","_createTextVNode","_toDisplayString","_createCommentVNode","AActionDeleteButton","AFormTextarea","ASystemEntityScope","AuthorRemoteAutocompleteWithCached","_component_VSwitch","AFormTextarea_default","ASystemEntityScope_default","AActionDeleteButton_default","AuthorRemoteAutocompleteWithCached_default","AImageWidgetSimple_default","_hoisted_1","_hoisted_2","_hoisted_3","ImageWidgetMultipleItem_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","imageStore","useImageStore","useI18n","useExtSystemIdForCached","authorConflicts","ref","image","computed","imageSourceRequired","isNull","isUndefined","useImageValidation","onEditAsset","removeItem","onSourceTyped","openBlock","createElementBlock","createElementVNode","createVNode","unref","VRow","withCtx","VCol","createCommentVNode","createBlock","VBtn","withModifiers","createTextVNode","toDisplayString","_cache","$event","t","v$","cachedExtSystemId","AImageMetadataValidationScopeSymbol","VSwitch"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport { computed, ref } from 'vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport type { DocId } from '@/shared/types/common'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport AActionDeleteButton from '@/domains/ui/buttons/action/components/AActionDeleteButton.vue'\nimport { useI18n } from 'vue-i18n'\nimport { AImageMetadataValidationScopeSymbol, useImageValidation } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n index: number\n authorEnabled: boolean\n showSourceEnabled?: boolean\n sourceLabel?: string\n editAssetLabel?: string\n readonly?: boolean\n configName?: string\n }>(),\n {\n readonly: false,\n configName: undefined,\n showSourceEnabled: true,\n sourceLabel: undefined,\n editAssetLabel: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editAsset', data: DocId): void\n (e: 'removeItem', index: number): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst imageStore = useImageStore()\nconst { t } = useI18n()\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\nconst authorConflicts = ref<DocId[]>([])\n// `index` comes from the parent's v-for over these same images.\nconst image = computed(() => imageStore.images[props.index]!)\n\nconst imageSourceRequired = computed(() => {\n if (isNull(image.value) || isUndefined(image.value)) return true\n return !(image.value.showDamAuthors && props.authorEnabled)\n})\n\nconst { v$ } = useImageValidation(image, imageSourceRequired, damConfigName)\n\nconst onEditAsset = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n emit('editAsset', image.value.dam.damId)\n}\n\nconst removeItem = () => {\n emit('removeItem', props.index)\n}\n\n// Typed by the user: the source is the user's, no pick's, also where its text is the names a pick wrote there.\nconst onSourceTyped = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n imageStore.forgetSourceOfPick(image.value)\n}\n</script>\n\n<template>\n <div class=\"asset-list-tiles__item\">\n <div class=\"asset-list-tiles__item-card\">\n <div class=\"ma-2\">\n <!-- No reorder controls here: the grid is `#view-body`, which SortableJS never binds to.\n Reordering lives in reorder mode. -->\n <AImageWidgetSimple\n :model-value=\"image.id\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n />\n <VRow density=\"compact\">\n <VCol class=\"d-flex justify-space-between mt-1\">\n <VBtn\n v-if=\"!readonly\"\n variant=\"text\"\n size=\"small\"\n class=\"mb-2\"\n @click.stop=\"onEditAsset\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <AActionDeleteButton\n v-if=\"!readonly\"\n variant=\"icon\"\n :size=\"30\"\n button-class=\"\"\n @delete-record=\"removeItem\"\n />\n </VCol>\n </VRow>\n <!-- `undefined`, not `false`, when editable: the fields then still follow a parent form's readonly and disabled. -->\n <VRow density=\"compact\">\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.description\"\n :readonly=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow\n v-if=\"image.showDamAuthors && authorEnabled\"\n density=\"compact\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"image.damAuthors\"\n :disabled=\"readonly || undefined\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-else\n density=\"compact\"\n >\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.source\"\n :readonly=\"readonly || undefined\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n @update:model-value=\"onSourceTyped\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"image.flags.showSource\"\n :disabled=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-list-tiles--thumbnail.a-sortable-widget__group {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .asset-list-tiles__item {\n flex: 1 1 260px;\n min-width: 260px;\n max-width: 400px;\n\n img:not(.img-svg) {\n padding: 0;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,IAAM8B,IAAQC,GAmBRC,IAAOH,GAKPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjDK,IAAaC,EAAc,GAC3B,EAAE,SAAMC,EAAQ,GAEhB,EAAE,yBAAsBC,EAAwBL,CAAa,GAC7DM,IAAkBC,EAAa,CAAC,CAAC,GAEjCC,IAAQC,QAAeP,EAAW,OAAOL,EAAM,MAAO,GAEtDa,IAAsBD,QACtBE,EAAOH,EAAM,KAAK,KAAKI,EAAYJ,EAAM,KAAK,IAAU,KACrD,EAAEA,EAAM,MAAM,kBAAkBX,EAAM,cAC9C,GAEK,EAAE,UAAOgB,EAAmBL,GAAOE,GAAqBV,CAAa,GAErEc,UAAoB;GACxB,AAAIH,EAAOH,EAAM,KAAK,KAAKI,EAAYJ,EAAM,KAAK,KAClDT,EAAK,aAAaS,EAAM,MAAM,IAAI,KAAK;EACzC,GAEMO,UAAmB;GACvB,EAAK,cAAclB,EAAM,KAAK;EAChC,GAGMmB,UAAsB;GAC1B,AAAIL,EAAOH,EAAM,KAAK,KAAKI,EAAYJ,EAAM,KAAK,KAClDN,EAAW,mBAAmBM,EAAM,KAAK;EAC3C;E,kBAIEzC,EAAA,GAAAC,EA4FM,OA5FNwB,GA4FM,CA3FJvB,EA0FM,OA1FNwB,GA0FM,CAzFJxB,EAwFM,OAxFNyB,GAwFM;GArFJxB,EAIEC,GAAA;IAHC,eAAaqC,EAAA,MAAM;IACnB,OAAOA,EAAA;IACP,eAAapC,EAAA4B,CAAA;;;;;;GAEhB9B,EAmBOG,GAAA,EAnBD,SAAQ,UAAS,GAAA;IACrB,SAAAC,QAiBO,CAjBPJ,EAiBOK,GAAA,EAjBD,OAAM,oCAAmC,GAAA;KAC7C,SAAAD,QAQO,CAPEwB,EAAA,W,aADT/B,EAAA,GAAAS,EAQOC,GAAA;;MANL,SAAQ;MACR,MAAK;MACL,OAAM;MACL,SAAKC,EAAOoC,GAAW,CAAA,MAAA,CAAA;;MAExB,SAAAxC,QAAoB,CAAjBK,EAAAC,EAAAkB,EAAA,cAAc,GAAA,CAAA,C;;K,KAGVA,EAAA,W,aADT/B,EAAA,GAAAS,EAMEM,GAAA;;MAJA,SAAQ;MACP,MAAM;MACP,gBAAa;MACZ,gBAAeiC;;;;;;GAKtB7C,EAUOG,GAAA,EAVD,SAAQ,UAAS,GAAA;IACrB,SAAAC,QAQO,CARPJ,EAQOK,GAAA,MAAA;KAPL,SAAAD,QAME,CANFJ,EAMEa,GAAA;MALS,YAAAyB,EAAA,MAAM,MAAM;MAAZ,uBAAA,AAAAuB,EAAA,QAAA,MAAA,EAAA,MAAM,MAAM,cAAWC;MAC/B,UAAUlC,EAAA,YAAY,KAAA;MACtB,OAAO1B,EAAA6D,CAAA,CAAC,CAAA,+CAAA;MACR,MAAM7D,EAAA6D,CAAA,CAAC,CAAA,8CAAA;MACP,GAAG7D,EAAA8D,CAAA,CAAE,CAAC,OAAO,MAAM;;;;;;;;;;;;GAKlB1B,EAAA,MAAM,kBAAkBV,EAAA,iBADhC/B,EAAA,GAAAS,EAsBOH,GAAA;;IApBL,SAAQ;;IAER,SAAAC,QAiBO,CAjBPJ,EAiBOK,GAAA,MAAA;KAhBL,SAAAD,QAeqB,CAfrBJ,EAeqBc,GAAA;MAdnB,SAAQ;MACR,QAAO;;MAEP,SAAAV,QAUE,CAVFJ,EAUEe,GAAA;OATS,YAAAuB,EAAA,MAAM;OAAN,uBAAA,AAAAuB,EAAA,QAAA,MAAA,EAAA,MAAM,aAAUC;OACxB,UAAUlC,EAAA,YAAY,KAAA;OACtB,cAAY1B,EAAA+D,CAAA;OACZ,OAAO/D,EAAA6D,CAAA,CAAC,CAAA,qCAAA;OACR,oBAAkB3B,EAAA;OACnB,WAAQ;OACR,WAAA;OACA,UAAA;OACC,oBAAkBlC,EAAAgE,CAAA;;;;;;;;;;;;;;G,OAK3BrE,EAAA,GAAAS,EAaOH,GAAA;;IAXL,SAAQ;;IAER,SAAAC,QAQO,CARPJ,EAQOK,GAAA,MAAA;KAPL,SAAAD,QAME,CANFJ,EAMEa,GAAA;MALS,YAAAyB,EAAA,MAAM,MAAM;M,wBAAZ,AAAAuB,EAAA,QAAA,MAAA,EAAA,MAAM,MAAM,SAAMC,GAINhB,C;MAHpB,UAAUlB,EAAA,YAAY,KAAA;MACtB,OAAOA,EAAA;MACP,GAAG1B,EAAA8D,CAAA,CAAE,CAAC,OAAO,MAAM;;;;;;;;;;;GAKdpC,EAAA,qBAAZ/B,EAAA,GAAAS,EAUOH,GAAA,EAAA,KAAA,EAAA,GAAA;IATL,SAAAC,QAQO,CARPJ,EAQOK,GAAA,MAAA;KAPL,SAAAD,QAME,CANFJ,EAMEgB,GAAA;MALS,YAAAsB,EAAA,MAAM,MAAM;MAAZ,uBAAA,AAAAuB,EAAA,QAAA,MAAA,EAAA,MAAM,MAAM,aAAUC;MAC9B,UAAUlC,EAAA,YAAY,KAAA;MACtB,OAAO1B,EAAA6D,CAAA,CAAC,CAAA,8CAAA;MACT,SAAQ;MACR,gBAAA"}
1
+ {"version":3,"file":"ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","AImageWidgetSimple","_unref","_component_VRow","_withCtx","_component_VCol","_createBlock","_component_VBtn","_withModifiers","_createTextVNode","_toDisplayString","_createCommentVNode","AActionDeleteButton","AFormTextarea","ASystemEntityScope","AuthorRemoteAutocompleteWithCached","_component_VSwitch","AImageWidgetSimple_default","AFormTextarea_default","AActionDeleteButton_default","AuthorRemoteAutocompleteWithCached_default","ASystemEntityScope_default","_hoisted_1","_hoisted_2","_hoisted_3","ImageWidgetMultipleItem_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","imageStore","useImageStore","useI18n","useExtSystemIdForCached","authorConflicts","ref","image","computed","imageSourceRequired","isNull","isUndefined","useImageValidation","onEditAsset","removeItem","onSourceTyped","openBlock","createElementBlock","createElementVNode","createVNode","unref","VRow","withCtx","VCol","createCommentVNode","createBlock","VBtn","withModifiers","createTextVNode","toDisplayString","_cache","$event","t","v$","cachedExtSystemId","AImageMetadataValidationScopeSymbol","VSwitch"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { useImageStore } from '@/domains/dam/imageWidget/store/imageStore'\nimport { computed, ref } from 'vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport type { DocId } from '@/shared/types/common'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport AActionDeleteButton from '@/domains/ui/buttons/action/components/AActionDeleteButton.vue'\nimport { useI18n } from 'vue-i18n'\nimport { AImageMetadataValidationScopeSymbol, useImageValidation } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n index: number\n authorEnabled: boolean\n showSourceEnabled?: boolean\n sourceLabel?: string\n editAssetLabel?: string\n readonly?: boolean\n configName?: string\n }>(),\n {\n readonly: false,\n configName: undefined,\n showSourceEnabled: true,\n sourceLabel: undefined,\n editAssetLabel: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editAsset', data: DocId): void\n (e: 'removeItem', index: number): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst imageStore = useImageStore()\nconst { t } = useI18n()\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\nconst authorConflicts = ref<DocId[]>([])\n// `index` comes from the parent's v-for over these same images.\nconst image = computed(() => imageStore.images[props.index]!)\n\nconst imageSourceRequired = computed(() => {\n if (isNull(image.value) || isUndefined(image.value)) return true\n return !(image.value.showDamAuthors && props.authorEnabled)\n})\n\nconst { v$ } = useImageValidation(image, imageSourceRequired, damConfigName)\n\nconst onEditAsset = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n emit('editAsset', image.value.dam.damId)\n}\n\nconst removeItem = () => {\n emit('removeItem', props.index)\n}\n\n// A typed source belongs to the user, not to a pick. This holds even when the text equals the names a pick wrote.\nconst onSourceTyped = () => {\n if (isNull(image.value) || isUndefined(image.value)) return\n imageStore.forgetSourceOfPick(image.value)\n}\n</script>\n\n<template>\n <div class=\"asset-list-tiles__item\">\n <div class=\"asset-list-tiles__item-card\">\n <div class=\"ma-2\">\n <!-- No reorder controls here: the grid is `#view-body`, which SortableJS never binds to.\n Reordering lives in reorder mode. -->\n <AImageWidgetSimple\n :model-value=\"image.id\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n />\n <VRow density=\"compact\">\n <VCol class=\"d-flex justify-space-between mt-1\">\n <VBtn\n v-if=\"!readonly\"\n variant=\"text\"\n size=\"small\"\n class=\"mb-2\"\n @click.stop=\"onEditAsset\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <AActionDeleteButton\n v-if=\"!readonly\"\n variant=\"icon\"\n :size=\"30\"\n button-class=\"\"\n @delete-record=\"removeItem\"\n />\n </VCol>\n </VRow>\n <!-- `undefined`, not `false`, when editable: the fields then still follow a parent form's readonly and disabled. -->\n <VRow density=\"compact\">\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.description\"\n :readonly=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow\n v-if=\"image.showDamAuthors && authorEnabled\"\n density=\"compact\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"image.damAuthors\"\n :disabled=\"readonly || undefined\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-else\n density=\"compact\"\n >\n <VCol>\n <AFormTextarea\n v-model=\"image.texts.source\"\n :readonly=\"readonly || undefined\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n @update:model-value=\"onSourceTyped\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"image.flags.showSource\"\n :disabled=\"readonly || undefined\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-list-tiles--thumbnail.a-sortable-widget__group {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .asset-list-tiles__item {\n flex: 1 1 260px;\n min-width: 260px;\n max-width: 400px;\n\n img:not(.img-svg) {\n padding: 0;\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import e from "./ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js";
2
- //#region src/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue
2
+ // src/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue
3
3
  var t = e;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=ImageWidgetMultipleLimitDialog.js.map