@umbraco-cms/backoffice 16.0.0-rc → 16.0.0-rc3

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 (494) hide show
  1. package/dist-cms/apps/preview/apps/manifests.js +7 -0
  2. package/dist-cms/apps/preview/apps/preview-segment.element.d.ts +16 -0
  3. package/dist-cms/apps/preview/apps/preview-segment.element.js +96 -0
  4. package/dist-cms/apps/preview/preview.context.d.ts +9 -6
  5. package/dist-cms/apps/preview/preview.context.js +61 -24
  6. package/dist-cms/assets/lang/{da-dk.js → da.js} +3 -2
  7. package/dist-cms/assets/lang/{da-dk.ts → da.ts} +3 -2
  8. package/dist-cms/assets/lang/en-us.js +19 -2354
  9. package/dist-cms/assets/lang/en-us.ts +22 -2548
  10. package/dist-cms/assets/lang/en.js +244 -198
  11. package/dist-cms/assets/lang/en.ts +250 -216
  12. package/dist-cms/assets/lang/pt-br.d.ts +2 -2
  13. package/dist-cms/assets/lang/pt-br.ts +2 -2
  14. package/dist-cms/assets/lang/pt.d.ts +13 -0
  15. package/dist-cms/assets/lang/pt.js +1 -0
  16. package/dist-cms/assets/lang/pt.ts +12 -0
  17. package/dist-cms/custom-elements.json +116 -16
  18. package/dist-cms/libs/observable-api/states/array-state.d.ts +6 -6
  19. package/dist-cms/libs/observable-api/states/array-state.js +3 -3
  20. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.d.ts +1 -1
  21. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.js +7 -7
  22. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-property.element.js +1 -1
  23. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +6 -0
  24. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.d.ts +2 -3
  25. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +8 -3
  26. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +6 -0
  27. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +7 -0
  28. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +7 -2
  29. package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
  30. package/dist-cms/packages/clipboard/property/value-translator/copy/clipboard-copy-translator-value-resolver.js +6 -1
  31. package/dist-cms/packages/content/content/controller/merge-content-variant-data.controller.js +1 -0
  32. package/dist-cms/packages/content/content/property-dataset-context/element-property-dataset.context.js +4 -1
  33. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +8 -2
  34. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +20 -13
  35. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.d.ts +1 -1
  36. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.js +7 -7
  37. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-property.element.js +1 -1
  38. package/dist-cms/packages/content/content-type/global-components/content-type-workspace-editor-header.element.js +4 -1
  39. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.d.ts +1 -0
  40. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.js +18 -2
  41. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.token.d.ts +1 -0
  42. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +21 -3
  43. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +62 -43
  44. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -1
  45. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-properties.element.js +36 -3
  46. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +25 -1
  47. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +17 -6
  48. package/dist-cms/packages/core/auth/auth.context.js +1 -1
  49. package/dist-cms/packages/core/auth/modals/umb-app-auth-modal.element.js +5 -5
  50. package/dist-cms/packages/core/backend-api/types.gen.d.ts +2 -0
  51. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +2 -0
  52. package/dist-cms/packages/core/collection/default/collection-default.context.js +22 -1
  53. package/dist-cms/packages/core/collection/default/collection-default.element.d.ts +1 -0
  54. package/dist-cms/packages/core/collection/default/collection-default.element.js +9 -1
  55. package/dist-cms/packages/core/collection/extensions/collection.extension.d.ts +1 -0
  56. package/dist-cms/packages/core/collection/types.d.ts +1 -0
  57. package/dist-cms/packages/core/components/body-layout/body-layout.element.js +7 -8
  58. package/dist-cms/packages/core/components/dropdown/dropdown.element.d.ts +4 -2
  59. package/dist-cms/packages/core/components/dropdown/dropdown.element.js +19 -13
  60. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
  61. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +16 -12
  62. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  63. package/dist-cms/packages/core/entity/constants.d.ts +1 -0
  64. package/dist-cms/packages/core/entity/constants.js +1 -0
  65. package/dist-cms/packages/core/entity/contexts/parent/constants.d.ts +1 -0
  66. package/dist-cms/packages/core/entity/contexts/parent/constants.js +1 -0
  67. package/dist-cms/packages/core/entity/contexts/parent/index.d.ts +1 -0
  68. package/dist-cms/packages/core/entity/contexts/parent/index.js +1 -0
  69. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.d.ts +3 -0
  70. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.js +2 -0
  71. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.d.ts +26 -0
  72. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.js +33 -0
  73. package/dist-cms/packages/core/entity/index.d.ts +1 -0
  74. package/dist-cms/packages/core/entity/index.js +1 -0
  75. package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -0
  76. package/dist-cms/packages/core/entity-action/default/entity-action.element.d.ts +2 -1
  77. package/dist-cms/packages/core/entity-action/default/entity-action.element.js +5 -4
  78. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.d.ts +2 -2
  79. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +4 -1
  80. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.d.ts +9 -0
  81. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.js +80 -2
  82. package/dist-cms/packages/core/entity-item/index.d.ts +1 -0
  83. package/dist-cms/packages/core/entity-item/index.js +1 -0
  84. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.d.ts +1 -0
  85. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.js +1 -0
  86. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.d.ts +12 -0
  87. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.js +46 -0
  88. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.d.ts +7 -0
  89. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.js +1 -0
  90. package/dist-cms/packages/core/entity-item/types.d.ts +1 -0
  91. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.d.ts +5 -6
  92. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.js +57 -39
  93. package/dist-cms/packages/core/localization/manifests.js +99 -119
  94. package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +8 -3
  95. package/dist-cms/packages/core/menu/index.d.ts +2 -0
  96. package/dist-cms/packages/core/menu/index.js +2 -0
  97. package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.d.ts +3 -0
  98. package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.js +2 -0
  99. package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.d.ts +3 -0
  100. package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.js +53 -10
  101. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.d.ts +3 -0
  102. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.js +2 -0
  103. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.d.ts +6 -0
  104. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.js +1 -0
  105. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.d.ts +4 -0
  106. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +55 -21
  107. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.d.ts +5 -0
  108. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +22 -3
  109. package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +3 -0
  110. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +13 -6
  111. package/dist-cms/packages/core/picker/search/result-item/default/default-picker-search-result-item.element.js +2 -1
  112. package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.d.ts +1 -0
  113. package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.js +5 -1
  114. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  115. package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.js +7 -2
  116. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.d.ts +15 -2
  117. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.js +22 -15
  118. package/dist-cms/packages/core/property/property-value-cloner/property-value-clone.controller.js +2 -0
  119. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +6 -1
  120. package/dist-cms/packages/core/property-action/components/property-action-menu/property-action-menu.element.js +6 -1
  121. package/dist-cms/packages/core/repository/item/item-server-data-source-base.d.ts +5 -6
  122. package/dist-cms/packages/core/repository/item/item-server-data-source-base.js +14 -9
  123. package/dist-cms/packages/core/repository/repository-details.manager.d.ts +1 -1
  124. package/dist-cms/packages/core/repository/repository-details.manager.js +6 -3
  125. package/dist-cms/packages/core/resources/api-interceptor.controller.d.ts +6 -0
  126. package/dist-cms/packages/core/resources/api-interceptor.controller.js +16 -0
  127. package/dist-cms/packages/core/resources/data-api/types.d.ts +7 -0
  128. package/dist-cms/packages/core/resources/data-api/types.js +1 -0
  129. package/dist-cms/packages/core/resources/index.d.ts +4 -7
  130. package/dist-cms/packages/core/resources/index.js +4 -7
  131. package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.d.ts +9 -0
  132. package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.js +11 -0
  133. package/dist-cms/packages/core/resources/try-execute/index.d.ts +5 -0
  134. package/dist-cms/packages/core/resources/try-execute/index.js +5 -0
  135. package/dist-cms/packages/core/resources/{try-execute.controller.d.ts → try-execute/try-execute.controller.d.ts} +2 -2
  136. package/dist-cms/packages/core/resources/{try-execute.controller.js → try-execute/try-execute.controller.js} +3 -3
  137. package/dist-cms/packages/core/resources/{tryExecute.function.d.ts → try-execute/tryExecute.function.d.ts} +1 -1
  138. package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.d.ts → try-execute/tryExecuteAndNotify.function.d.ts} +1 -1
  139. package/dist-cms/packages/core/resources/{tryXhrRequest.function.d.ts → try-execute/tryXhrRequest.function.d.ts} +1 -1
  140. package/dist-cms/packages/core/resources/{tryXhrRequest.function.js → try-execute/tryXhrRequest.function.js} +3 -3
  141. package/dist-cms/packages/core/resources/types.d.ts +1 -0
  142. package/dist-cms/packages/core/section/section-default.element.js +3 -0
  143. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +23 -6
  144. package/dist-cms/packages/core/sorter/sorter.controller.js +224 -81
  145. package/dist-cms/packages/core/temporary-file/config/config.repository.d.ts +1 -0
  146. package/dist-cms/packages/core/temporary-file/config/config.repository.js +7 -3
  147. package/dist-cms/packages/core/temporary-file/config/config.server.data-source.js +1 -1
  148. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  149. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +15 -4
  150. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  151. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.d.ts +1 -1
  152. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.js +17 -3
  153. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +1 -0
  154. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +7 -4
  155. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +1 -1
  156. package/dist-cms/packages/core/utils/array/batch-array.d.ts +7 -0
  157. package/dist-cms/packages/core/utils/array/batch-array.js +13 -0
  158. package/dist-cms/packages/core/utils/array/index.d.ts +1 -0
  159. package/dist-cms/packages/core/utils/array/index.js +1 -0
  160. package/dist-cms/packages/core/utils/index.d.ts +1 -0
  161. package/dist-cms/packages/core/utils/index.js +1 -0
  162. package/dist-cms/packages/core/utils/media/image-size.function.d.ts +5 -3
  163. package/dist-cms/packages/core/utils/media/image-size.function.js +9 -11
  164. package/dist-cms/packages/core/validation/controllers/bind-server-validation-to-form-control.controller.js +1 -1
  165. package/dist-cms/packages/core/validation/controllers/form-control-validator.controller.js +4 -4
  166. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.js +1 -0
  167. package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -4
  168. package/dist-cms/packages/core/variant/constants.d.ts +1 -0
  169. package/dist-cms/packages/core/variant/constants.js +1 -0
  170. package/dist-cms/packages/core/variant/context/constants.d.ts +1 -0
  171. package/dist-cms/packages/core/variant/context/constants.js +1 -0
  172. package/dist-cms/packages/core/variant/context/index.d.ts +1 -0
  173. package/dist-cms/packages/core/variant/context/index.js +1 -0
  174. package/dist-cms/packages/core/variant/context/variant.context.d.ts +91 -0
  175. package/dist-cms/packages/core/variant/context/variant.context.js +141 -0
  176. package/dist-cms/packages/core/variant/context/variant.context.token.d.ts +3 -0
  177. package/dist-cms/packages/core/variant/context/variant.context.token.js +2 -0
  178. package/dist-cms/packages/core/variant/index.d.ts +2 -0
  179. package/dist-cms/packages/core/variant/index.js +2 -0
  180. package/dist-cms/packages/core/workspace/components/workspace-action/common/index.d.ts +1 -0
  181. package/dist-cms/packages/core/workspace/components/workspace-action/common/index.js +1 -0
  182. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.d.ts +2 -0
  183. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.js +1 -0
  184. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.d.ts +13 -0
  185. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.js +31 -0
  186. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.d.ts +6 -0
  187. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.js +1 -0
  188. package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.d.ts +0 -1
  189. package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.js +0 -4
  190. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.d.ts +1 -1
  191. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +3 -6
  192. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.d.ts +1 -1
  193. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +3 -5
  194. package/dist-cms/packages/core/workspace/components/workspace-editor/workspace-editor.element.js +1 -2
  195. package/dist-cms/packages/core/workspace/components/workspace-entity-action-menu/workspace-entity-action-menu.element.js +3 -3
  196. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +1 -0
  197. package/dist-cms/packages/core/workspace/contexts/tokens/index.d.ts +5 -1
  198. package/dist-cms/packages/core/workspace/contexts/tokens/index.js +2 -0
  199. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.d.ts +4 -0
  200. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.js +1 -0
  201. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.d.ts +4 -0
  202. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.js +2 -0
  203. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.d.ts +36 -0
  204. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.js +1 -0
  205. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.d.ts +4 -0
  206. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.js +2 -0
  207. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +33 -1
  208. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +46 -9
  209. package/dist-cms/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.js +0 -4
  210. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.d.ts +1 -0
  211. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.js +8 -3
  212. package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.js +4 -1
  213. package/dist-cms/packages/data-type/constants.d.ts +1 -0
  214. package/dist-cms/packages/data-type/constants.js +1 -0
  215. package/dist-cms/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.js +1 -1
  216. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.d.ts +4 -0
  217. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.js +12 -3
  218. package/dist-cms/packages/data-type/search/constants.d.ts +2 -0
  219. package/dist-cms/packages/data-type/search/constants.js +2 -0
  220. package/dist-cms/packages/data-type/search/global-search/constants.d.ts +1 -0
  221. package/dist-cms/packages/data-type/search/global-search/constants.js +1 -0
  222. package/dist-cms/packages/data-type/search/global-search/manifests.d.ts +1 -0
  223. package/dist-cms/packages/data-type/search/global-search/manifests.js +22 -0
  224. package/dist-cms/packages/data-type/search/manifests.js +2 -0
  225. package/dist-cms/packages/data-type/tree/tree-item-children/collection/views/data-type-tree-item-table-collection-view.element.js +1 -0
  226. package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.d.ts +4 -0
  227. package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.js +12 -3
  228. package/dist-cms/packages/dictionary/search/constants.d.ts +1 -0
  229. package/dist-cms/packages/dictionary/search/constants.js +1 -0
  230. package/dist-cms/packages/dictionary/search/global-search/constants.d.ts +1 -0
  231. package/dist-cms/packages/dictionary/search/global-search/constants.js +1 -0
  232. package/dist-cms/packages/dictionary/search/global-search/manifests.d.ts +1 -0
  233. package/dist-cms/packages/dictionary/search/global-search/manifests.js +22 -0
  234. package/dist-cms/packages/dictionary/search/manifests.js +2 -0
  235. package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
  236. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.d.ts +4 -1
  237. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.js +13 -6
  238. package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +4 -1
  239. package/dist-cms/packages/documents/document-types/picker/document-type-picker-search-result-item.element.js +2 -1
  240. package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.d.ts +4 -0
  241. package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.js +13 -3
  242. package/dist-cms/packages/documents/document-types/search/constants.d.ts +1 -0
  243. package/dist-cms/packages/documents/document-types/search/constants.js +1 -0
  244. package/dist-cms/packages/documents/document-types/search/global-search/constants.d.ts +1 -0
  245. package/dist-cms/packages/documents/document-types/search/global-search/constants.js +1 -0
  246. package/dist-cms/packages/documents/document-types/search/global-search/manifests.d.ts +1 -0
  247. package/dist-cms/packages/documents/document-types/search/global-search/manifests.js +22 -0
  248. package/dist-cms/packages/documents/document-types/search/manifests.js +2 -0
  249. package/dist-cms/packages/documents/document-types/tree/tree-item-children/collection/views/document-type-tree-item-table-collection-view.element.js +1 -0
  250. package/dist-cms/packages/documents/documents/collection/document-collection.context.d.ts +2 -0
  251. package/dist-cms/packages/documents/documents/collection/document-collection.context.js +23 -0
  252. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.js +1 -0
  253. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +4 -0
  254. package/dist-cms/packages/documents/documents/entity-actions/duplicate/repository/document-duplicate.server.data-source.js +1 -1
  255. package/dist-cms/packages/documents/documents/entity-actions/move-to/repository/document-move.server.data-source.js +1 -1
  256. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +2 -2
  257. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +55 -68
  258. package/dist-cms/packages/documents/documents/item/document-item-ref.element.d.ts +4 -0
  259. package/dist-cms/packages/documents/documents/item/document-item-ref.element.js +33 -2
  260. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.d.ts +4 -0
  261. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +12 -3
  262. package/dist-cms/packages/documents/documents/modals/save-modal/document-save-modal.element.js +1 -5
  263. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.d.ts +1 -0
  264. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.js +16 -9
  265. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.d.ts +4 -1
  266. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.js +3 -0
  267. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.element.js +9 -13
  268. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.token.d.ts +1 -0
  269. package/dist-cms/packages/documents/documents/publishing/schedule-publish/modal/document-schedule-modal.element.js +0 -10
  270. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-action/unpublish.action.js +5 -19
  271. package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.js +3 -12
  272. package/dist-cms/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.js +3 -7
  273. package/dist-cms/packages/documents/documents/search/constants.d.ts +1 -0
  274. package/dist-cms/packages/documents/documents/search/constants.js +1 -0
  275. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +3 -2
  276. package/dist-cms/packages/documents/documents/search/global-search/constants.d.ts +1 -0
  277. package/dist-cms/packages/documents/documents/search/global-search/constants.js +1 -0
  278. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.d.ts +6 -0
  279. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.js +15 -0
  280. package/dist-cms/packages/documents/documents/search/global-search/manifests.d.ts +1 -0
  281. package/dist-cms/packages/documents/documents/search/global-search/manifests.js +23 -0
  282. package/dist-cms/packages/documents/documents/search/manifests.js +2 -0
  283. package/dist-cms/packages/documents/documents/search/types.d.ts +1 -0
  284. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.d.ts +37 -0
  285. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.js +78 -0
  286. package/dist-cms/packages/documents/documents/url/index.d.ts +1 -0
  287. package/dist-cms/packages/documents/documents/url/index.js +1 -0
  288. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.d.ts +0 -1
  289. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.js +29 -24
  290. package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.d.ts +4 -0
  291. package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.js +13 -3
  292. package/dist-cms/packages/documents/documents/url/repository/types.d.ts +1 -1
  293. package/dist-cms/packages/documents/documents/workspace/actions/save.action.d.ts +3 -3
  294. package/dist-cms/packages/documents/documents/workspace/actions/save.action.js +2 -2
  295. package/dist-cms/packages/documents/documents/workspace/document-workspace.context-token.d.ts +2 -2
  296. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +1 -5
  297. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +45 -59
  298. package/dist-cms/packages/extension-insights/collection/views/table/extension-table-collection-view.element.js +1 -0
  299. package/dist-cms/packages/language/app-language-select/app-language-select.element.js +7 -2
  300. package/dist-cms/packages/language/collection/views/table/language-table-collection-view.element.js +1 -0
  301. package/dist-cms/packages/language/global-contexts/app-language.context.js +14 -12
  302. package/dist-cms/packages/language/menu/language-menu-structure.context.d.ts +1 -1
  303. package/dist-cms/packages/language/menu/language-menu-structure.context.js +4 -2
  304. package/dist-cms/packages/language/repository/item/language-item.server.data-source.d.ts +4 -0
  305. package/dist-cms/packages/language/repository/item/language-item.server.data-source.js +12 -3
  306. package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +3 -0
  307. package/dist-cms/packages/media/media/collection/media-collection.element.js +1 -0
  308. package/dist-cms/packages/media/media/collection/views/table/media-table-collection-view.element.js +1 -0
  309. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +4 -0
  310. package/dist-cms/packages/media/media/constants.d.ts +1 -1
  311. package/dist-cms/packages/media/media/constants.js +1 -1
  312. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +8 -0
  313. package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.d.ts +4 -1
  314. package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.js +13 -6
  315. package/dist-cms/packages/media/media/search/constants.d.ts +1 -0
  316. package/dist-cms/packages/media/media/search/constants.js +1 -0
  317. package/dist-cms/packages/media/media/search/global-search/constants.d.ts +1 -0
  318. package/dist-cms/packages/media/media/search/global-search/constants.js +1 -0
  319. package/dist-cms/packages/media/media/search/global-search/manifests.d.ts +1 -0
  320. package/dist-cms/packages/media/media/search/global-search/manifests.js +23 -0
  321. package/dist-cms/packages/media/media/search/global-search/media-global-search.d.ts +15 -0
  322. package/dist-cms/packages/media/media/search/global-search/media-global-search.js +15 -0
  323. package/dist-cms/packages/media/media/search/manifests.js +2 -0
  324. package/dist-cms/packages/media/media/search/media-search.server.data-source.js +3 -2
  325. package/dist-cms/packages/media/media/search/types.d.ts +1 -0
  326. package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.d.ts +4 -0
  327. package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.js +12 -3
  328. package/dist-cms/packages/media/media-types/constants.d.ts +1 -0
  329. package/dist-cms/packages/media/media-types/constants.js +1 -0
  330. package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.d.ts +4 -0
  331. package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.js +12 -3
  332. package/dist-cms/packages/media/media-types/search/constants.d.ts +2 -0
  333. package/dist-cms/packages/media/media-types/search/constants.js +2 -0
  334. package/dist-cms/packages/media/media-types/search/global-search/constants.d.ts +1 -0
  335. package/dist-cms/packages/media/media-types/search/global-search/constants.js +1 -0
  336. package/dist-cms/packages/media/media-types/search/global-search/manifests.d.ts +1 -0
  337. package/dist-cms/packages/media/media-types/search/global-search/manifests.js +22 -0
  338. package/dist-cms/packages/media/media-types/search/manifests.js +4 -1
  339. package/dist-cms/packages/media/media-types/tree/tree-item-children/collection/views/media-type-tree-item-table-collection-view.element.js +1 -0
  340. package/dist-cms/packages/members/member/collection/views/table/member-table-collection-view.element.js +1 -0
  341. package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.d.ts +4 -0
  342. package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.js +12 -3
  343. package/dist-cms/packages/members/member/picker/member-picker-search-result-item.element.js +2 -1
  344. package/dist-cms/packages/members/member/search/constants.d.ts +1 -0
  345. package/dist-cms/packages/members/member/search/constants.js +1 -0
  346. package/dist-cms/packages/members/member/search/global-search/constants.d.ts +1 -0
  347. package/dist-cms/packages/members/member/search/global-search/constants.js +1 -0
  348. package/dist-cms/packages/members/member/search/global-search/manifests.d.ts +1 -0
  349. package/dist-cms/packages/members/member/search/global-search/manifests.js +22 -0
  350. package/dist-cms/packages/members/member/search/manifests.js +2 -0
  351. package/dist-cms/packages/members/member-group/collection/views/table/member-group-table-collection-view.element.js +1 -0
  352. package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.d.ts +4 -0
  353. package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.js +12 -3
  354. package/dist-cms/packages/members/member-type/constants.d.ts +1 -0
  355. package/dist-cms/packages/members/member-type/constants.js +1 -0
  356. package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.d.ts +4 -0
  357. package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.js +12 -3
  358. package/dist-cms/packages/members/member-type/search/constants.d.ts +2 -0
  359. package/dist-cms/packages/members/member-type/search/constants.js +2 -0
  360. package/dist-cms/packages/members/member-type/search/global-search/constants.d.ts +1 -0
  361. package/dist-cms/packages/members/member-type/search/global-search/constants.js +1 -0
  362. package/dist-cms/packages/members/member-type/search/global-search/manifests.d.ts +1 -0
  363. package/dist-cms/packages/members/member-type/search/global-search/manifests.js +22 -0
  364. package/dist-cms/packages/members/member-type/search/manifests.js +4 -1
  365. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +4 -0
  366. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +48 -1
  367. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.d.ts +3 -2
  368. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +129 -39
  369. package/dist-cms/packages/packages/package-section/views/installed/installed-packages-section-view-item.element.js +1 -1
  370. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +6 -1
  371. package/dist-cms/packages/search/global-search/global-search-base.d.ts +11 -0
  372. package/dist-cms/packages/search/global-search/global-search-base.js +49 -0
  373. package/dist-cms/packages/search/global-search/global-search.extension.d.ts +15 -0
  374. package/dist-cms/packages/search/global-search/global-search.extension.js +1 -0
  375. package/dist-cms/packages/search/global-search/index.d.ts +1 -0
  376. package/dist-cms/packages/search/global-search/index.js +1 -0
  377. package/dist-cms/packages/search/global-search/types.d.ts +4 -0
  378. package/dist-cms/packages/search/global-search/types.js +1 -0
  379. package/dist-cms/packages/search/index.d.ts +1 -0
  380. package/dist-cms/packages/search/index.js +1 -0
  381. package/dist-cms/packages/search/search-modal/search-modal.element.d.ts +4 -4
  382. package/dist-cms/packages/search/search-modal/search-modal.element.js +40 -29
  383. package/dist-cms/packages/search/types.d.ts +1 -0
  384. package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.d.ts +4 -0
  385. package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.js +14 -7
  386. package/dist-cms/packages/sysinfo/components/sysinfo.element.js +49 -9
  387. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.d.ts +3 -0
  388. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.js +8 -0
  389. package/dist-cms/packages/templating/templates/constants.d.ts +1 -0
  390. package/dist-cms/packages/templating/templates/constants.js +1 -0
  391. package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.d.ts +4 -0
  392. package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.js +12 -3
  393. package/dist-cms/packages/templating/templates/search/constants.d.ts +2 -0
  394. package/dist-cms/packages/templating/templates/search/constants.js +2 -0
  395. package/dist-cms/packages/templating/templates/search/global-search/constants.d.ts +1 -0
  396. package/dist-cms/packages/templating/templates/search/global-search/constants.js +1 -0
  397. package/dist-cms/packages/templating/templates/search/global-search/manifests.d.ts +1 -0
  398. package/dist-cms/packages/templating/templates/search/global-search/manifests.js +22 -0
  399. package/dist-cms/packages/templating/templates/search/manifests.js +4 -1
  400. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.d.ts +6 -1
  401. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.js +16 -6
  402. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.d.ts +6 -1
  403. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.js +27 -6
  404. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.d.ts +1 -1
  405. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.js +4 -8
  406. package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +0 -11
  407. package/dist-cms/packages/user/current-user/external-login/manifests.js +0 -1
  408. package/dist-cms/packages/user/current-user/mfa-login/manifests.js +0 -1
  409. package/dist-cms/packages/user/user/collection/views/table/user-table-collection-view.element.js +1 -0
  410. package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.d.ts +4 -0
  411. package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.js +12 -3
  412. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.js +25 -22
  413. package/dist-cms/packages/user/user-group/collection/views/user-group-table-collection-view.element.js +1 -0
  414. package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.d.ts +4 -0
  415. package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.js +12 -3
  416. package/dist-cms/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.js +1 -0
  417. package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.d.ts +4 -0
  418. package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.js +12 -3
  419. package/dist-cms/packages/webhook/webhook/workspace/webhook-workspace-editor.element.js +2 -0
  420. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  421. package/dist-cms/umbraco-package-schema.json +298 -0
  422. package/dist-cms/umbraco-package.json +1 -1
  423. package/dist-cms/vscode-html-custom-data.json +71 -20
  424. package/examples/block-custom-view/block-custom-view.ts +8 -0
  425. package/package.json +1 -1
  426. package/dist-cms/assets/lang/de-ch.d.ts +0 -3
  427. package/dist-cms/assets/lang/de-ch.js +0 -15
  428. package/dist-cms/assets/lang/de-ch.ts +0 -17
  429. package/dist-cms/assets/lang/fr-ch.d.ts +0 -3
  430. package/dist-cms/assets/lang/fr-ch.js +0 -15
  431. package/dist-cms/assets/lang/fr-ch.ts +0 -17
  432. package/dist-cms/assets/lang/it-ch.d.ts +0 -3
  433. package/dist-cms/assets/lang/it-ch.js +0 -15
  434. package/dist-cms/assets/lang/it-ch.ts +0 -17
  435. /package/dist-cms/assets/lang/{cs-cz.d.ts → cs.d.ts} +0 -0
  436. /package/dist-cms/assets/lang/{cs-cz.js → cs.js} +0 -0
  437. /package/dist-cms/assets/lang/{cs-cz.ts → cs.ts} +0 -0
  438. /package/dist-cms/assets/lang/{cy-gb.d.ts → cy.d.ts} +0 -0
  439. /package/dist-cms/assets/lang/{cy-gb.js → cy.js} +0 -0
  440. /package/dist-cms/assets/lang/{cy-gb.ts → cy.ts} +0 -0
  441. /package/dist-cms/assets/lang/{da-dk.d.ts → da.d.ts} +0 -0
  442. /package/dist-cms/assets/lang/{de-de.d.ts → de.d.ts} +0 -0
  443. /package/dist-cms/assets/lang/{de-de.js → de.js} +0 -0
  444. /package/dist-cms/assets/lang/{de-de.ts → de.ts} +0 -0
  445. /package/dist-cms/assets/lang/{es-es.d.ts → es.d.ts} +0 -0
  446. /package/dist-cms/assets/lang/{es-es.js → es.js} +0 -0
  447. /package/dist-cms/assets/lang/{es-es.ts → es.ts} +0 -0
  448. /package/dist-cms/assets/lang/{fr-fr.d.ts → fr.d.ts} +0 -0
  449. /package/dist-cms/assets/lang/{fr-fr.js → fr.js} +0 -0
  450. /package/dist-cms/assets/lang/{fr-fr.ts → fr.ts} +0 -0
  451. /package/dist-cms/assets/lang/{he-il.d.ts → he.d.ts} +0 -0
  452. /package/dist-cms/assets/lang/{he-il.js → he.js} +0 -0
  453. /package/dist-cms/assets/lang/{he-il.ts → he.ts} +0 -0
  454. /package/dist-cms/assets/lang/{hr-hr.d.ts → hr.d.ts} +0 -0
  455. /package/dist-cms/assets/lang/{hr-hr.js → hr.js} +0 -0
  456. /package/dist-cms/assets/lang/{hr-hr.ts → hr.ts} +0 -0
  457. /package/dist-cms/assets/lang/{it-it.d.ts → it.d.ts} +0 -0
  458. /package/dist-cms/assets/lang/{it-it.js → it.js} +0 -0
  459. /package/dist-cms/assets/lang/{it-it.ts → it.ts} +0 -0
  460. /package/dist-cms/assets/lang/{ja-jp.d.ts → ja.d.ts} +0 -0
  461. /package/dist-cms/assets/lang/{ja-jp.js → ja.js} +0 -0
  462. /package/dist-cms/assets/lang/{ja-jp.ts → ja.ts} +0 -0
  463. /package/dist-cms/assets/lang/{ko-kr.d.ts → ko.d.ts} +0 -0
  464. /package/dist-cms/assets/lang/{ko-kr.js → ko.js} +0 -0
  465. /package/dist-cms/assets/lang/{ko-kr.ts → ko.ts} +0 -0
  466. /package/dist-cms/assets/lang/{nb-no.d.ts → nb.d.ts} +0 -0
  467. /package/dist-cms/assets/lang/{nb-no.js → nb.js} +0 -0
  468. /package/dist-cms/assets/lang/{nb-no.ts → nb.ts} +0 -0
  469. /package/dist-cms/assets/lang/{nl-nl.d.ts → nl.d.ts} +0 -0
  470. /package/dist-cms/assets/lang/{nl-nl.js → nl.js} +0 -0
  471. /package/dist-cms/assets/lang/{nl-nl.ts → nl.ts} +0 -0
  472. /package/dist-cms/assets/lang/{pl-pl.d.ts → pl.d.ts} +0 -0
  473. /package/dist-cms/assets/lang/{pl-pl.js → pl.js} +0 -0
  474. /package/dist-cms/assets/lang/{pl-pl.ts → pl.ts} +0 -0
  475. /package/dist-cms/assets/lang/{ro-ro.d.ts → ro.d.ts} +0 -0
  476. /package/dist-cms/assets/lang/{ro-ro.js → ro.js} +0 -0
  477. /package/dist-cms/assets/lang/{ro-ro.ts → ro.ts} +0 -0
  478. /package/dist-cms/assets/lang/{ru-ru.d.ts → ru.d.ts} +0 -0
  479. /package/dist-cms/assets/lang/{ru-ru.js → ru.js} +0 -0
  480. /package/dist-cms/assets/lang/{ru-ru.ts → ru.ts} +0 -0
  481. /package/dist-cms/assets/lang/{sv-se.d.ts → sv.d.ts} +0 -0
  482. /package/dist-cms/assets/lang/{sv-se.js → sv.js} +0 -0
  483. /package/dist-cms/assets/lang/{sv-se.ts → sv.ts} +0 -0
  484. /package/dist-cms/assets/lang/{tr-tr.d.ts → tr.d.ts} +0 -0
  485. /package/dist-cms/assets/lang/{tr-tr.js → tr.js} +0 -0
  486. /package/dist-cms/assets/lang/{tr-tr.ts → tr.ts} +0 -0
  487. /package/dist-cms/assets/lang/{uk-ua.d.ts → uk.d.ts} +0 -0
  488. /package/dist-cms/assets/lang/{uk-ua.js → uk.js} +0 -0
  489. /package/dist-cms/assets/lang/{uk-ua.ts → uk.ts} +0 -0
  490. /package/dist-cms/assets/lang/{zh-cn.d.ts → zh.d.ts} +0 -0
  491. /package/dist-cms/assets/lang/{zh-cn.js → zh.js} +0 -0
  492. /package/dist-cms/assets/lang/{zh-cn.ts → zh.ts} +0 -0
  493. /package/dist-cms/packages/core/resources/{tryExecute.function.js → try-execute/tryExecute.function.js} +0 -0
  494. /package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.js → try-execute/tryExecuteAndNotify.function.js} +0 -0
@@ -5,8 +5,9 @@ const autoScrollSensitivity = 50;
5
5
  const autoScrollSpeed = 16;
6
6
  /**
7
7
  *
8
- * @param el
9
- * @param includeSelf
8
+ * @param {Element} el - The element to check for ability to scroll
9
+ * @param {Boolean} includeSelf - If true, the element itself will be included in the check
10
+ * @returns {Element | null}
10
11
  */
11
12
  function getParentScrollElement(el, includeSelf) {
12
13
  if (!el || !el.getBoundingClientRect)
@@ -40,8 +41,8 @@ function getParentScrollElement(el, includeSelf) {
40
41
  }
41
42
  /**
42
43
  *
43
- * @param element
44
- * @param ignorerSelectors
44
+ * @param {HTMLElement} element - The element to check
45
+ * @param {string} ignorerSelectors - A comma separated list of selectors to ignore
45
46
  */
46
47
  function setupIgnorerElements(element, ignorerSelectors) {
47
48
  const selectors = ignorerSelectors.split(',');
@@ -52,8 +53,8 @@ function setupIgnorerElements(element, ignorerSelectors) {
52
53
  }
53
54
  /**
54
55
  *
55
- * @param element
56
- * @param ignorerSelectors
56
+ * @param {HTMLElement} element - The element to check
57
+ * @param {string} ignorerSelectors - A comma separated list of selectors to ignore
57
58
  */
58
59
  function destroyIgnorerElements(element, ignorerSelectors) {
59
60
  const selectors = ignorerSelectors.split(',');
@@ -64,7 +65,7 @@ function destroyIgnorerElements(element, ignorerSelectors) {
64
65
  }
65
66
  /**
66
67
  *
67
- * @param element
68
+ * @param {Element} element - The element to check
68
69
  */
69
70
  function setupPreventEvent(element) {
70
71
  element.draggable = false;
@@ -72,7 +73,7 @@ function setupPreventEvent(element) {
72
73
  }
73
74
  /**
74
75
  *
75
- * @param element
76
+ * @param {Element} element - The element to check
76
77
  */
77
78
  function destroyPreventEvent(element) {
78
79
  element.draggable = false;
@@ -130,9 +131,23 @@ export class UmbSorterController extends UmbControllerBase {
130
131
  this.#initialize = () => {
131
132
  if (this.#isConnected === false)
132
133
  return;
133
- const containerEl = (this.#config.containerSelector
134
+ if (this.#containerElement) {
135
+ // This can happen, so no need to show an error as it seems to be happening in some cases. We will just reject. [NL]
136
+ //console.error('Container element already initialized', this.#containerElement);
137
+ return;
138
+ }
139
+ const containerEl = this.#config.containerSelector
134
140
  ? this.#host.shadowRoot.querySelector(this.#config.containerSelector)
135
- : this.#host) ?? this.#host;
141
+ : this.#host;
142
+ if (!containerEl) {
143
+ if (this.#config.containerSelector) {
144
+ throw new Error(`Sorter could not find the container element, using this query selector '${this.#config.containerSelector}'.`);
145
+ }
146
+ else {
147
+ throw new Error('Sorter could not get its host element.');
148
+ }
149
+ return;
150
+ }
136
151
  this.#containerElement = containerEl;
137
152
  this.#useContainerShadowRoot = this.#containerElement === this.#host;
138
153
  // Only look at the shadowRoot if the containerElement is host.
@@ -140,6 +155,7 @@ export class UmbSorterController extends UmbControllerBase {
140
155
  ? (this.#containerElement.shadowRoot ?? this.#containerElement)
141
156
  : this.#containerElement;
142
157
  containerElement.addEventListener('dragover', this.#itemDraggedOver);
158
+ containerElement.addEventListener('drop', this.#itemDropped);
143
159
  this.#observer.disconnect();
144
160
  containerElement.querySelectorAll(this.#config.itemSelector).forEach((child) => {
145
161
  if (child.matches && child.matches(this.#config.itemSelector)) {
@@ -151,8 +167,8 @@ export class UmbSorterController extends UmbControllerBase {
151
167
  subtree: false,
152
168
  });
153
169
  };
154
- this.#itemDraggedOver = (e) => {
155
- //if(UmbSorterController.activeSorter === this) return;
170
+ this.#itemDraggedOver = async (e) => {
171
+ const newDrop = await this.#obtainIncomingItem(e);
156
172
  const dropSorter = _a.dropSorter;
157
173
  if (!dropSorter || dropSorter.identifier !== this.identifier)
158
174
  return;
@@ -162,7 +178,7 @@ export class UmbSorterController extends UmbControllerBase {
162
178
  e.dataTransfer.dropEffect = 'move';
163
179
  }
164
180
  // Do nothing as we are the active sorter.
165
- this.#handleDragMove(e);
181
+ this.#handleDragMove(e, newDrop);
166
182
  // Maybe we need to stop the event in this case.
167
183
  // Do not bubble up to parent sorters:
168
184
  e.stopPropagation();
@@ -179,6 +195,10 @@ export class UmbSorterController extends UmbControllerBase {
179
195
  e.stopPropagation();
180
196
  }
181
197
  };
198
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
199
+ this.#itemDropped = async (_e) => {
200
+ this.#handleMoveEnd();
201
+ };
182
202
  this.#handleHandleMouseDown = (event) => {
183
203
  const target = event.target;
184
204
  const composedPath = event.composedPath();
@@ -224,31 +244,36 @@ export class UmbSorterController extends UmbControllerBase {
224
244
  console.error('drag start ws cancelled due to another drag was still active');
225
245
  this.#handleDragEnd();
226
246
  }
227
- event.stopPropagation();
228
- if (event.dataTransfer) {
229
- const dragElement = _a.activeDragElement ?? element;
230
- const activeDragRect = dragElement.getBoundingClientRect();
231
- event.dataTransfer.setDragImage(dragElement, event.clientX - activeDragRect.x, event.clientY - activeDragRect.y);
232
- event.dataTransfer.dropEffect = 'move';
233
- event.dataTransfer.effectAllowed = 'all'; // copyMove when we enhance the drag with clipboard data.// defaults to 'all'
234
- }
235
247
  if (!this.#scrollElement) {
236
248
  this.#scrollElement = getParentScrollElement(this.#containerElement, true);
237
249
  }
250
+ const containerRect = this.#containerElement.getBoundingClientRect();
251
+ this.#containerElement.style.minHeight = containerRect.height + 'px';
238
252
  this.#setCurrentElement(element);
239
- _a.activeDragElement?.addEventListener('dragend', this.#handleDragEnd);
253
+ //UmbSorterController.activeDragElement?.addEventListener('dragend', this.#handleDragEnd);
240
254
  window.addEventListener('mouseup', this.#handleMouseUp);
241
255
  window.addEventListener('mouseout', this.#handleMouseUp);
242
256
  window.addEventListener('mouseleave', this.#handleMouseUp);
243
257
  window.addEventListener('mousemove', this.#handleMouseMove);
244
258
  _a.activeItem = this.getItemOfElement(_a.activeElement);
245
- _a.originalSorter = this;
246
- // Notice, it is acceptable here to get index via object reference, but only cause there has been no change at this stage, otherwise we cannot trust the object instance is represented in the model — it could have mutated or been cloned [NL]
247
- _a.originalIndex = this.#model.indexOf(_a.activeItem);
248
259
  if (!_a.activeItem) {
249
260
  console.error('Could not find item related to this element.', _a.activeElement);
250
261
  return;
251
262
  }
263
+ const activeUnique = this.#config.getUniqueOfModel(_a.activeItem);
264
+ event.stopPropagation();
265
+ if (event.dataTransfer) {
266
+ const dragElement = _a.activeDragElement ?? element;
267
+ const activeDragRect = dragElement.getBoundingClientRect();
268
+ event.dataTransfer.setDragImage(dragElement, event.clientX - activeDragRect.x, event.clientY - activeDragRect.y);
269
+ event.dataTransfer.dropEffect = 'move';
270
+ event.dataTransfer.effectAllowed = 'all'; // copyMove when we enhance the drag with clipboard data.// defaults to 'all'
271
+ event.dataTransfer.setData('text/umb-sorter-identifier#' + this.identifier.toString(), 'true');
272
+ event.dataTransfer.setData('text/umb-sorter-item-unique#' + activeUnique?.toString(), 'true');
273
+ }
274
+ _a.originalSorter = this;
275
+ // Notice, it is acceptable here to get index via object reference, but only cause there has been no change at this stage, otherwise we cannot trust the object instance is represented in the model — it could have mutated or been cloned [NL]
276
+ _a.originalIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === activeUnique);
252
277
  // Get the current index of the item:
253
278
  _a.activeIndex = _a.originalIndex;
254
279
  _a.activeDragElement.style.transform = 'translateZ(0)'; // Solves problem with FireFox and ShadowDom in the drag-image.
@@ -281,6 +306,10 @@ export class UmbSorterController extends UmbControllerBase {
281
306
  // Revert move, to start position.
282
307
  _a.originalSorter.moveItemInModel(_a.originalIndex ?? 0, _a.activeSorter);
283
308
  }
309
+ else if (_a.originalSorter === undefined) {
310
+ // The external dropped item, should be reverted back to where it came from.
311
+ // TODO: Revert back to original position.
312
+ }
284
313
  this.#handleMoveEnd();
285
314
  };
286
315
  /**
@@ -299,14 +328,14 @@ export class UmbSorterController extends UmbControllerBase {
299
328
  };
300
329
  this.#updateDragMove = () => {
301
330
  _a.rqaId = undefined;
302
- if (!_a.activeElement || !_a.activeItem) {
331
+ if (!_a.activeItem) {
303
332
  return;
304
333
  }
305
334
  if (_a.dropSorter !== this) {
306
335
  throw new Error('Drop sorter is not this sorter');
307
336
  }
308
337
  // Maybe no need to check this twice, like we do it before the RAF an inside it, I think its fine to choose one of them.
309
- const currentElementRect = _a.activeElement.getBoundingClientRect();
338
+ const currentElementRect = _a.activeElement?.getBoundingClientRect() ?? new DOMRect(0, 0, 0, 0);
310
339
  const insideCurrentRect = isWithinRect(this.#dragX, this.#dragY, currentElementRect);
311
340
  if (insideCurrentRect) {
312
341
  return;
@@ -354,7 +383,8 @@ export class UmbSorterController extends UmbControllerBase {
354
383
  placeAfter = this.#dragX > centerX;
355
384
  }
356
385
  });
357
- let activeIndex = this.#model.indexOf(_a.activeItem);
386
+ const activeUnique = this.#config.getUniqueOfModel(_a.activeItem);
387
+ let activeIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === activeUnique);
358
388
  if (activeIndex === -1) {
359
389
  activeIndex = null;
360
390
  }
@@ -531,7 +561,7 @@ export class UmbSorterController extends UmbControllerBase {
531
561
  return;
532
562
  this.#enabled = true;
533
563
  if (this.#isConnected) {
534
- this.#initialize();
564
+ requestAnimationFrame(this.#initialize);
535
565
  }
536
566
  }
537
567
  /**
@@ -552,7 +582,7 @@ export class UmbSorterController extends UmbControllerBase {
552
582
  }
553
583
  /**
554
584
  * Returns the model of the sorter.
555
- * @returns {Array<T>}
585
+ * @returns {Array<T>} The model of this sorter.
556
586
  * @memberof UmbSorterController
557
587
  */
558
588
  getModel() {
@@ -565,6 +595,8 @@ export class UmbSorterController extends UmbControllerBase {
565
595
  return this.#model.find((x) => this.#config.getUniqueOfModel(x) === unique);
566
596
  }
567
597
  hostConnected() {
598
+ if (this.#isConnected)
599
+ return;
568
600
  this.#isConnected = true;
569
601
  if (this.#enabled) {
570
602
  requestAnimationFrame(this.#initialize);
@@ -578,19 +610,84 @@ export class UmbSorterController extends UmbControllerBase {
578
610
  }
579
611
  #initialize;
580
612
  #uninitialize() {
581
- // TODO: Is there more clean up to do??
613
+ // Do something when host element is disconnected.
614
+ if (_a.activeSorter === this) {
615
+ _a.activeSorter = undefined;
616
+ if (_a.activeElement) {
617
+ this.#handleDragEnd();
618
+ }
619
+ }
620
+ if (_a.dropSorter === this) {
621
+ // If we are the drop sorter, we can now remove out self to get into pure Native Drag n' drop.
622
+ _a.dropSorter = undefined;
623
+ }
624
+ if (_a.lastIndicationSorter === this) {
625
+ // If we are the lastIndicationSorter, we can now remove out self to get into pure Native Drag n' drop.
626
+ _a.lastIndicationSorter = undefined;
627
+ }
582
628
  this.#observer.disconnect();
629
+ // For auto scroller:
630
+ this.#scrollElement = null;
583
631
  if (this.#containerElement) {
584
632
  // Only look at the shadowRoot if the containerElement is host.
585
633
  const containerElement = this.#useContainerShadowRoot
586
634
  ? (this.#containerElement.shadowRoot ?? this.#containerElement)
587
635
  : this.#containerElement;
588
636
  containerElement.removeEventListener('dragover', this.#itemDraggedOver);
637
+ containerElement.removeEventListener('drop', this.#itemDropped);
589
638
  this.#containerElement = undefined;
590
639
  }
591
640
  this.#elements.forEach((item) => this.destroyItem(item));
592
641
  }
642
+ async #obtainIncomingItem(e) {
643
+ if (!_a.dropSorter &&
644
+ e.dataTransfer?.types.includes('text/umb-sorter-identifier#' + this.identifier.toString())) {
645
+ // If we have no drop-sorter, and we share the same identifier, then we like to accept this drag.
646
+ const activeType = e.dataTransfer?.types.find((x) => x.startsWith('text/umb-sorter-item-unique#'));
647
+ if (activeType) {
648
+ const activeUnique = activeType.split('#')?.[1];
649
+ let activeItem = this.#model.find((x) => this.#config.getUniqueOfModel(x) === activeUnique);
650
+ if (activeItem) {
651
+ _a.activeSorter = this;
652
+ }
653
+ // test if unique is already in the model:
654
+ if (!activeItem) {
655
+ // Find the active item:
656
+ activeItem = await this.#config.onRequestDrop?.({ unique: activeUnique });
657
+ _a.activeSorter = undefined; // Important as we use this to know if we can remove the item via these Sorter references or if it is a Native Drop.
658
+ if (!activeItem) {
659
+ // Then we assume this item was not part of this sorters scope. This is the spot where inserting a new item from dataTransfer could be implemented.
660
+ return false;
661
+ }
662
+ }
663
+ if (this.hasItem(activeUnique)) {
664
+ return false;
665
+ }
666
+ e.dataTransfer.setData('text/umb-sorter-item-accepted', 'true');
667
+ // Set states:
668
+ _a.activeItem = activeItem;
669
+ _a.activeElement = undefined;
670
+ _a.activeDragElement = undefined;
671
+ _a.dropSorter = this;
672
+ _a.originalIndex = undefined;
673
+ _a.originalSorter = undefined;
674
+ //UmbSorterController.activeSorter = this as unknown as UmbSorterController<unknown>;
675
+ //UmbSorterController.originalSorter = this as unknown as UmbSorterController<unknown>;
676
+ window.addEventListener('mouseup', this.#handleMouseUp);
677
+ window.addEventListener('mouseout', this.#handleMouseUp);
678
+ window.addEventListener('mouseleave', this.#handleMouseUp);
679
+ window.addEventListener('mousemove', this.#handleMouseMove);
680
+ if (!this.#scrollElement) {
681
+ this.#scrollElement = getParentScrollElement(this.#containerElement, true);
682
+ }
683
+ return true;
684
+ }
685
+ }
686
+ return false;
687
+ }
593
688
  #itemDraggedOver;
689
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
690
+ #itemDropped;
594
691
  #getDraggableElement(element) {
595
692
  if (this.#config.draggableSelector) {
596
693
  // Concept for enabling getting element within ShadowRoot: (But it might need to be configurable, so its still possible to get light dom element(slotted), despite the host is a web-component with shadow-dom.) [NL]
@@ -628,6 +725,10 @@ export class UmbSorterController extends UmbControllerBase {
628
725
  return element;
629
726
  }
630
727
  setupItem(element) {
728
+ if (this.#elements.includes(element)) {
729
+ console.error('Element already setup', element);
730
+ return;
731
+ }
631
732
  if (this.#config.ignorerSelector) {
632
733
  setupIgnorerElements(element, this.#config.ignorerSelector);
633
734
  }
@@ -690,6 +791,7 @@ export class UmbSorterController extends UmbControllerBase {
690
791
  this.#config.draggableSelector +
691
792
  '"');
692
793
  }
794
+ //UmbSorterController.activeDragElement?.addEventListener('dragend', this.#handleDragEnd);
693
795
  this.#setupPlaceholderStyle();
694
796
  }
695
797
  #handleHandleMouseDown;
@@ -704,28 +806,24 @@ export class UmbSorterController extends UmbControllerBase {
704
806
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
705
807
  #handleMouseUp;
706
808
  #handleMoveEnd() {
707
- if (!_a.activeElement || !_a.activeItem) {
708
- return;
809
+ this.#cleanupMove();
810
+ this.#stopAutoScroll();
811
+ this.removeAllowIndication();
812
+ if (_a.activeElement && _a.activeItem) {
813
+ const element = _a.activeElement;
814
+ if (this.#config.onEnd) {
815
+ this.#config.onEnd({
816
+ item: _a.activeItem,
817
+ element: element,
818
+ });
819
+ }
709
820
  }
710
- const element = _a.activeElement;
711
821
  if (_a.activeDragElement) {
712
822
  _a.activeDragElement.style.transform = '';
713
823
  _a.activeDragElement.draggable = false;
714
824
  _a.activeDragElement.removeEventListener('dragend', this.#handleDragEnd);
715
825
  }
716
- window.removeEventListener('mouseup', this.#handleMouseUp);
717
- window.removeEventListener('mouseout', this.#handleMouseUp);
718
- window.removeEventListener('mouseleave', this.#handleMouseUp);
719
- window.removeEventListener('mousemove', this.#handleMouseMove);
720
826
  this.#removePlaceholderStyle();
721
- this.#stopAutoScroll();
722
- this.removeAllowIndication();
723
- if (this.#config.onEnd) {
724
- this.#config.onEnd({
725
- item: _a.activeItem,
726
- element: element,
727
- });
728
- }
729
827
  if (_a.rqaId) {
730
828
  cancelAnimationFrame(_a.rqaId);
731
829
  _a.rqaId = undefined;
@@ -740,8 +838,17 @@ export class UmbSorterController extends UmbControllerBase {
740
838
  this.#dragX = 0;
741
839
  this.#dragY = 0;
742
840
  }
743
- #handleDragMove(event) {
744
- if (!_a.activeElement) {
841
+ #cleanupMove() {
842
+ if (this.#containerElement) {
843
+ this.#containerElement.style.minHeight = '';
844
+ }
845
+ window.removeEventListener('mouseup', this.#handleMouseUp);
846
+ window.removeEventListener('mouseout', this.#handleMouseUp);
847
+ window.removeEventListener('mouseleave', this.#handleMouseUp);
848
+ window.removeEventListener('mousemove', this.#handleMouseMove);
849
+ }
850
+ #handleDragMove(event, instant) {
851
+ if (!_a.activeItem) {
745
852
  return;
746
853
  }
747
854
  const clientX = event.touches
@@ -757,8 +864,12 @@ export class UmbSorterController extends UmbControllerBase {
757
864
  this.#dragX = clientX;
758
865
  this.#dragY = clientY;
759
866
  this.handleAutoScroll(this.#dragX, this.#dragY);
760
- const activeDragRect = _a.activeDragElement.getBoundingClientRect();
761
- const insideCurrentRect = isWithinRect(this.#dragX, this.#dragY, activeDragRect);
867
+ if (instant) {
868
+ this.#updateDragMove();
869
+ return;
870
+ }
871
+ const activeDragRect = _a.activeDragElement?.getBoundingClientRect();
872
+ const insideCurrentRect = activeDragRect ? isWithinRect(this.#dragX, this.#dragY, activeDragRect) : false;
762
873
  if (!insideCurrentRect) {
763
874
  if (_a.rqaId === undefined) {
764
875
  _a.rqaId = requestAnimationFrame(this.#updateDragMove);
@@ -798,8 +909,9 @@ export class UmbSorterController extends UmbControllerBase {
798
909
  return null;
799
910
  }
800
911
  //
912
+ // TODO: Should rename to move item to.. [NL]
801
913
  async #moveElementTo(newIndex) {
802
- if (!_a.activeElement || !_a.activeSorter) {
914
+ if (!_a.activeItem) {
803
915
  return;
804
916
  }
805
917
  const requestingSorter = _a.dropSorter;
@@ -843,10 +955,9 @@ export class UmbSorterController extends UmbControllerBase {
843
955
  return (await this.#config.performItemRemove({ item })) ?? false;
844
956
  }
845
957
  else {
846
- const oldIndex = this.#model.indexOf(item);
847
- if (oldIndex !== -1) {
848
- const newModel = [...this.#model];
849
- newModel.splice(oldIndex, 1);
958
+ const itemUnique = this.#config.getUniqueOfModel(item);
959
+ const newModel = this.#model.filter((x) => this.#config.getUniqueOfModel(x) !== itemUnique);
960
+ if (this.#model.length !== newModel.length) {
850
961
  this.#model = newModel;
851
962
  this.#config.onChange?.({ model: newModel, item });
852
963
  return true;
@@ -867,29 +978,73 @@ export class UmbSorterController extends UmbControllerBase {
867
978
  console.error('Failed to retrieve active item unique');
868
979
  return false;
869
980
  }
870
- // We use the getItem method to find the current item/object of this entry, as we cannot trust the object instance(activeItem) to be the same as in the model. [NL]
871
- // So notice, item in this method is the real modal entry reference, where in many other cases we use the activeItem which might not be up to date with the real entry of the model. [NL]
872
- const item = fromCtrl.getItem(itemUnique);
873
- if (!item) {
874
- console.error('Could not find item of model to move', itemUnique, this.#model);
875
- return false;
981
+ let item;
982
+ if (fromCtrl) {
983
+ // If we got a fromCtrl, we should use it to get the item, to verify that it holds the model.
984
+ // We use the getItem method to find the current item/object of this entry, as we cannot trust the object instance(activeItem) to be the same as in the model. [NL]
985
+ // So notice, item in this method is the real modal entry reference, where in many other cases we use the activeItem which might not be up to date with the real entry of the model. [NL]
986
+ const foundTheItem = fromCtrl.getItem(itemUnique);
987
+ if (!foundTheItem) {
988
+ console.error('Could not find item of model to move', itemUnique, this.#model);
989
+ return false;
990
+ }
991
+ item = foundTheItem;
876
992
  }
877
- if (this.notifyRequestDrop({ item }) === false) {
993
+ else {
994
+ item = _a.activeItem; //this.#model.find((x) => this.#config.getUniqueOfModel(x) === itemUnique) as T | undefined;
995
+ if (!item) {
996
+ return false;
997
+ }
998
+ }
999
+ // If we do not have a formCtrl, then it means that we dont know where it comes from, like via native drag across the Sorters awareness.
1000
+ if (this.notifyRequestMove({ item }) === false) {
878
1001
  return false;
879
1002
  }
880
- const localMove = fromCtrl === this;
1003
+ let localMove = fromCtrl === this;
881
1004
  if (!localMove) {
882
1005
  // Not a local move, so we have to switch container to continue:
883
- if ((await fromCtrl.removeItem(item)) !== true) {
884
- console.error('Sync could not remove item when moving to a new container');
885
- return false;
1006
+ // Notice if fromCtrl is not defined this is properly a native drop.
1007
+ if (fromCtrl) {
1008
+ if ((await fromCtrl.removeItem(item)) !== true) {
1009
+ console.error('Sorter could not remove item before moving to a new container');
1010
+ return false;
1011
+ }
1012
+ }
1013
+ else if (!fromCtrl) {
1014
+ // Before we react to the external factor, lets see if we already got it in our model.
1015
+ // Remove from the external model.
1016
+ if (!this.#config.requestExternalRemove) {
1017
+ console.error('Sorter needs the requestExternalRemove to be defined, therefor we cannot drop the external item');
1018
+ return false;
1019
+ }
1020
+ _a.activeSorter = this;
1021
+ fromCtrl = this;
1022
+ if ((await this.#config.requestExternalRemove({ item })) !== true) {
1023
+ console.error('Sorter could not remove the item before moving to a new container');
1024
+ return false;
1025
+ }
1026
+ if ((await this.#config.requestExternalInsert?.({ item })) !== true) {
1027
+ console.error('Sorter could not insert the item into the new container');
1028
+ return false;
1029
+ }
1030
+ // This requestExternalInsert ^^ could have updated the model already. if so we should skip ahead to just move the item as a local move.
1031
+ if (this.#model.find((x) => this.#config.getUniqueOfModel(x) === itemUnique)) {
1032
+ localMove = true;
1033
+ }
886
1034
  }
1035
+ }
1036
+ if (!localMove) {
887
1037
  if (this.#config.performItemInsert) {
888
1038
  const result = await this.#config.performItemInsert({ item, newIndex });
889
1039
  if (result === false) {
890
1040
  console.error('Sync could not insert after a move a new container');
891
1041
  return false;
892
1042
  }
1043
+ // If everything went well, we can set the new activeSorter (and dropSorter) to this, as we are switching container. [NL]
1044
+ _a.activeSorter = this;
1045
+ _a.dropSorter = this;
1046
+ _a.activeIndex =
1047
+ this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === itemUnique) ?? 0;
893
1048
  }
894
1049
  else {
895
1050
  const newModel = [...this.#model];
@@ -910,7 +1065,7 @@ export class UmbSorterController extends UmbControllerBase {
910
1065
  }
911
1066
  if (localMove) {
912
1067
  // Local move:
913
- const oldIndex = this.#model.indexOf(item);
1068
+ const oldIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === itemUnique);
914
1069
  if (oldIndex === -1) {
915
1070
  console.error('Could not find item in model when performing internal move', this.getHostElement(), this.#model);
916
1071
  return false;
@@ -941,7 +1096,7 @@ export class UmbSorterController extends UmbControllerBase {
941
1096
  _a.lastIndicationSorter.notifyAllowed();
942
1097
  }
943
1098
  _a.lastIndicationSorter = this;
944
- if (this.notifyRequestDrop({ item: item }) === true) {
1099
+ if (this.notifyRequestMove({ item: item }) === true) {
945
1100
  this.notifyAllowed();
946
1101
  return true;
947
1102
  }
@@ -1019,23 +1174,11 @@ export class UmbSorterController extends UmbControllerBase {
1019
1174
  });
1020
1175
  }
1021
1176
  }
1022
- notifyRequestDrop(data) {
1177
+ notifyRequestMove(data) {
1023
1178
  if (this.#config.onRequestMove) {
1024
1179
  return this.#config.onRequestMove(data) || false;
1025
1180
  }
1026
1181
  return true;
1027
1182
  }
1028
- destroy() {
1029
- super.destroy();
1030
- // Do something when host element is destroyed.
1031
- if (_a.activeElement) {
1032
- this.#handleDragEnd();
1033
- }
1034
- _a.lastIndicationSorter = undefined;
1035
- // TODO: Clean up items??
1036
- this.#observer.disconnect();
1037
- // For auto scroller:
1038
- this.#scrollElement = null;
1039
- }
1040
1183
  }
1041
1184
  _a = UmbSorterController;
@@ -10,6 +10,7 @@ export declare class UmbTemporaryFileConfigRepository extends UmbRepositoryBase
10
10
  */
11
11
  initialized: Promise<void>;
12
12
  constructor(host: UmbControllerHost);
13
+ requestTemporaryFileConfiguration(): Promise<import("../../backend-api/types.gen.js").TemporaryFileConfigurationResponseModel>;
13
14
  /**
14
15
  * Subscribe to the entire configuration.
15
16
  */
@@ -22,11 +22,15 @@ export class UmbTemporaryFileConfigRepository extends UmbRepositoryBase {
22
22
  if (this.#dataStore?.getState()) {
23
23
  return;
24
24
  }
25
- const { data } = await this.#dataSource.getConfig();
26
- if (data) {
27
- this.#dataStore?.update(data);
25
+ const temporaryFileConfig = await this.requestTemporaryFileConfiguration();
26
+ if (temporaryFileConfig) {
27
+ this.#dataStore?.update(temporaryFileConfig);
28
28
  }
29
29
  }
30
+ async requestTemporaryFileConfiguration() {
31
+ const { data } = await this.#dataSource.getConfig();
32
+ return data;
33
+ }
30
34
  /**
31
35
  * Subscribe to the entire configuration.
32
36
  */
@@ -9,6 +9,6 @@ export class UmbTemporaryFileConfigServerDataSource {
9
9
  * Get the temporary file configuration.
10
10
  */
11
11
  getConfig() {
12
- return tryExecute(this.#host, TemporaryFileService.getTemporaryFileConfiguration());
12
+ return tryExecute(this.#host, TemporaryFileService.getTemporaryFileConfiguration(), { disableNotifications: true });
13
13
  }
14
14
  }