@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
@@ -7,16 +7,15 @@ import { UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT, UmbDocumentPublishingReposit
7
7
  import { UmbDocumentValidationRepository } from '../repository/validation/index.js';
8
8
  import { UMB_DOCUMENT_CONFIGURATION_CONTEXT } from '../index.js';
9
9
  import { UMB_DOCUMENT_DETAIL_MODEL_VARIANT_SCAFFOLD, UMB_DOCUMENT_WORKSPACE_ALIAS } from './constants.js';
10
- import { UMB_INVARIANT_CULTURE, UmbVariantId } from '@umbraco-cms/backoffice/variant';
10
+ import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
11
11
  import { UmbWorkspaceIsNewRedirectController, UmbWorkspaceIsNewRedirectControllerAlias, } from '@umbraco-cms/backoffice/workspace';
12
12
  import { UmbDocumentBlueprintDetailRepository } from '@umbraco-cms/backoffice/document-blueprint';
13
13
  import { UmbContentDetailWorkspaceContextBase, } from '@umbraco-cms/backoffice/content';
14
14
  import { UmbIsTrashedEntityContext } from '@umbraco-cms/backoffice/recycle-bin';
15
15
  import { ensurePathEndsWithSlash, UmbDeprecation } from '@umbraco-cms/backoffice/utils';
16
16
  import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry';
17
- import { observeMultiple } from '@umbraco-cms/backoffice/observable-api';
18
- import { UMB_LANGUAGE_USER_PERMISSION_CONDITION_ALIAS } from '@umbraco-cms/backoffice/language';
19
17
  import { UMB_SERVER_CONTEXT } from '@umbraco-cms/backoffice/server';
18
+ import { observeMultiple } from '@umbraco-cms/backoffice/observable-api';
20
19
  export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContextBase {
21
20
  #isTrashedContext;
22
21
  #publishingContext;
@@ -51,6 +50,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
51
50
  this.consumeContext(UMB_DOCUMENT_CONFIGURATION_CONTEXT, async (context) => {
52
51
  const config = await context?.getDocumentConfiguration();
53
52
  const allowSegmentCreation = config?.allowNonExistingSegmentsCreation ?? false;
53
+ const allowEditInvariantFromNonDefault = config?.allowEditInvariantFromNonDefault ?? true;
54
54
  this._variantOptionsFilter = (variantOption) => {
55
55
  const isNotCreatedSegmentVariant = variantOption.segment && !variantOption.variant;
56
56
  // Do not allow creating a segment variant
@@ -59,10 +59,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
59
59
  }
60
60
  return true;
61
61
  };
62
- });
63
- this.consumeContext(UMB_DOCUMENT_CONFIGURATION_CONTEXT, async (context) => {
64
- const documentConfiguration = (await context?.getDocumentConfiguration()) ?? undefined;
65
- if (documentConfiguration?.allowEditInvariantFromNonDefault !== true) {
62
+ if (allowEditInvariantFromNonDefault === false) {
66
63
  this.#preventEditInvariantFromNonDefault();
67
64
  }
68
65
  });
@@ -140,40 +137,6 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
140
137
  },
141
138
  ]);
142
139
  }
143
- #preventEditInvariantFromNonDefault() {
144
- this.observe(observeMultiple([this.structure.contentTypeProperties, this.languages]), ([properties, languages]) => {
145
- if (properties.length === 0)
146
- return;
147
- if (languages.length === 0)
148
- return;
149
- const defaultLanguageUnique = languages.find((x) => x.isDefault)?.unique;
150
- const ruleUnique = 'UMB_preventEditInvariantFromNonDefault';
151
- const rule = {
152
- unique: ruleUnique,
153
- permitted: false,
154
- message: 'Shared properties can only be edited in the default language',
155
- variantId: UmbVariantId.CreateInvariant(),
156
- };
157
- /* The permission is false by default, and the onChange callback will not be triggered if the permission hasn't changed.
158
- Therefore, we add the rule to the readOnlyGuard here. */
159
- this.propertyWriteGuard.addRule(rule);
160
- createExtensionApiByAlias(this, UMB_LANGUAGE_USER_PERMISSION_CONDITION_ALIAS, [
161
- {
162
- config: {
163
- allOf: [defaultLanguageUnique],
164
- },
165
- onChange: (permitted) => {
166
- if (permitted) {
167
- this.propertyWriteGuard.removeRule(ruleUnique);
168
- }
169
- else {
170
- this.propertyWriteGuard.addRule(rule);
171
- }
172
- },
173
- },
174
- ]);
175
- }, 'observePreventEditInvariantFromNonDefault');
176
- }
177
140
  resetState() {
178
141
  super.resetState();
179
142
  this.#isTrashedContext.setIsTrashed(false);
@@ -238,31 +201,27 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
238
201
  setTemplate(templateUnique) {
239
202
  this._data.updateCurrent({ template: { unique: templateUnique } });
240
203
  }
241
- /**
242
- * Request a submit of the workspace, in the case of Document Workspaces the validation does not need to be valid for this to be submitted.
243
- * @returns {Promise<void>} a promise which resolves once it has been completed.
244
- */
245
- requestSubmit() {
204
+ async _handleSave() {
246
205
  const elementStyle = this.getHostElement().style;
247
206
  elementStyle.setProperty('--uui-color-invalid', 'var(--uui-color-warning)');
248
207
  elementStyle.setProperty('--uui-color-invalid-emphasis', 'var(--uui-color-warning-emphasis)');
249
208
  elementStyle.setProperty('--uui-color-invalid-standalone', 'var(--uui-color-warning-standalone)');
250
209
  elementStyle.setProperty('--uui-color-invalid-contrast', 'var(--uui-color-warning-contrast)');
251
- return this._handleSubmit();
210
+ await super._handleSave();
252
211
  }
253
212
  async saveAndPreview() {
254
- return this.#handleSaveAndPreview();
213
+ return await this.#handleSaveAndPreview();
255
214
  }
256
215
  async #handleSaveAndPreview() {
257
216
  const unique = this.getUnique();
258
217
  if (!unique)
259
218
  throw new Error('Unique is missing');
260
- let culture = UMB_INVARIANT_CULTURE;
219
+ let firstVariantId = UmbVariantId.CreateInvariant();
261
220
  // Save document (the active variant) before previewing.
262
221
  const { selected } = await this._determineVariantOptions();
263
222
  if (selected.length > 0) {
264
- culture = selected[0];
265
- const variantIds = [UmbVariantId.FromString(culture)];
223
+ firstVariantId = UmbVariantId.FromString(selected[0]);
224
+ const variantIds = [firstVariantId];
266
225
  const saveData = await this._data.constructData(variantIds);
267
226
  await this.runMandatoryValidationForSaveData(saveData);
268
227
  await this.performCreateOrUpdate(variantIds, saveData);
@@ -274,10 +233,13 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
274
233
  throw new Error('Server context is missing');
275
234
  }
276
235
  const backofficePath = serverContext.getBackofficePath();
277
- const previewUrl = new URL(ensurePathEndsWithSlash(backofficePath) + 'preview', serverContext.getServerUrl());
236
+ const previewUrl = new URL(ensurePathEndsWithSlash(backofficePath) + 'preview', window.location.origin);
278
237
  previewUrl.searchParams.set('id', unique);
279
- if (culture && culture !== UMB_INVARIANT_CULTURE) {
280
- previewUrl.searchParams.set('culture', culture);
238
+ if (firstVariantId.culture) {
239
+ previewUrl.searchParams.set('culture', firstVariantId.culture);
240
+ }
241
+ if (firstVariantId.segment) {
242
+ previewUrl.searchParams.set('segment', firstVariantId.segment);
281
243
  }
282
244
  const previewWindow = window.open(previewUrl.toString(), `umbpreview-${unique}`);
283
245
  previewWindow?.focus();
@@ -290,7 +252,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
290
252
  }).warn();
291
253
  if (!this.#publishingContext)
292
254
  throw new Error('Publishing context is missing');
293
- this.#publishingContext.publish();
255
+ await this.#publishingContext.publish();
294
256
  }
295
257
  /**
296
258
  * Save the document and publish it.
@@ -304,7 +266,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
304
266
  }).warn();
305
267
  if (!this.#publishingContext)
306
268
  throw new Error('Publishing context is missing');
307
- this.#publishingContext.saveAndPublish();
269
+ await this.#publishingContext.saveAndPublish();
308
270
  }
309
271
  /**
310
272
  * Schedule the document to be published at a later date.
@@ -318,7 +280,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
318
280
  }).warn();
319
281
  if (!this.#publishingContext)
320
282
  throw new Error('Publishing context is missing');
321
- this.#publishingContext.schedule();
283
+ await this.#publishingContext.schedule();
322
284
  }
323
285
  /**
324
286
  * Unpublish the document.
@@ -332,7 +294,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
332
294
  }).warn();
333
295
  if (!this.#publishingContext)
334
296
  throw new Error('Publishing context is missing');
335
- this.#publishingContext.unpublish();
297
+ await this.#publishingContext.unpublish();
336
298
  }
337
299
  /**
338
300
  * Publish the document and all its descendants.
@@ -346,7 +308,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
346
308
  }).warn();
347
309
  if (!this.#publishingContext)
348
310
  throw new Error('Publishing context is missing');
349
- this.#publishingContext.publishWithDescendants();
311
+ await this.#publishingContext.publishWithDescendants();
350
312
  }
351
313
  createPropertyDatasetContext(host, variantId) {
352
314
  return new UmbDocumentPropertyDatasetContext(host, this, variantId);
@@ -361,5 +323,29 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
361
323
  message,
362
324
  });
363
325
  }
326
+ #preventEditInvariantFromNonDefault() {
327
+ this.observe(observeMultiple([this.structure.contentTypeProperties, this.variantOptions]), ([properties, variantOptions]) => {
328
+ if (properties.length === 0)
329
+ return;
330
+ if (variantOptions.length === 0)
331
+ return;
332
+ variantOptions.forEach((variantOption) => {
333
+ // Do not add a rule for the default language. It is always permitted to edit.
334
+ if (variantOption.language.isDefault)
335
+ return;
336
+ const datasetVariantId = UmbVariantId.CreateFromPartial(variantOption);
337
+ const invariantVariantId = UmbVariantId.CreateInvariant();
338
+ const unique = `UMB_PREVENT_EDIT_INVARIANT_FROM_NON_DEFAULT_DATASET=${datasetVariantId.toString()}_PROPERTY_${invariantVariantId.toString()}`;
339
+ const rule = {
340
+ unique,
341
+ message: 'Shared properties can only be edited in the default language',
342
+ variantId: invariantVariantId,
343
+ datasetVariantId,
344
+ permitted: false,
345
+ };
346
+ this.propertyWriteGuard.addRule(rule);
347
+ });
348
+ });
349
+ }
364
350
  }
365
351
  export default UmbDocumentWorkspaceContext;
@@ -76,6 +76,7 @@ let UmbExtensionTableCollectionViewElement = class UmbExtensionTableCollectionVi
76
76
  .value=${{
77
77
  entityType: extension.entityType,
78
78
  unique: extension.unique,
79
+ name: extension.name,
79
80
  }}></umb-entity-actions-table-column-view>`,
80
81
  },
81
82
  ],
@@ -100,7 +100,8 @@ let UmbAppLanguageSelectElement = class UmbAppLanguageSelectElement extends UmbL
100
100
  id="dropdown-popover"
101
101
  data-mark="app-language-menu"
102
102
  @beforetoggle=${this.#onPopoverToggle}>
103
- <umb-popover-layout>
103
+ <umb-popover-layout>
104
+ <uui-scroll-container style="max-height:calc(100vh - (var(--umb-header-layout-height) + 60px));">
104
105
  ${repeat(this._languages, (language) => language.unique, (language) => html `
105
106
  <uui-menu-item
106
107
  label=${ifDefined(language.name)}
@@ -110,7 +111,9 @@ let UmbAppLanguageSelectElement = class UmbAppLanguageSelectElement extends UmbL
110
111
  ${this.#isLanguageReadOnly(language.unique) ? this.#renderReadOnlyTag(language.unique) : nothing}
111
112
  </uui-menu-item>
112
113
  `)}
113
- </umb-popover-layout>
114
+ </uui-scroll-container>
115
+ </umb-popover-layout>
116
+
114
117
  </uui-popover-container>`;
115
118
  }
116
119
  #isLanguageReadOnly(culture) {
@@ -154,6 +157,8 @@ let UmbAppLanguageSelectElement = class UmbAppLanguageSelectElement extends UmbL
154
157
 
155
158
  uui-menu-item {
156
159
  color: var(--uui-color-text);
160
+
161
+ width: auto;
157
162
  }
158
163
  `,
159
164
  ]; }
@@ -91,6 +91,7 @@ let UmbLanguageTableCollectionViewElement = class UmbLanguageTableCollectionView
91
91
  .value=${{
92
92
  entityType: language.entityType,
93
93
  unique: language.unique,
94
+ name: language.name,
94
95
  }}></umb-entity-actions-table-column-view>`,
95
96
  },
96
97
  ],
@@ -5,6 +5,7 @@ import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
5
5
  import { UmbReadOnlyStateManager } from '@umbraco-cms/backoffice/utils';
6
6
  import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user';
7
7
  import { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth';
8
+ import { UmbVariantContext } from '@umbraco-cms/backoffice/variant';
8
9
  // TODO: Make a store for the App Languages.
9
10
  // TODO: Implement default language end-point, in progress at backend team, so we can avoid getting all languages.
10
11
  export class UmbAppLanguageContext extends UmbContextBase {
@@ -24,6 +25,7 @@ export class UmbAppLanguageContext extends UmbContextBase {
24
25
  #currentUserHasAccessToAllLanguages;
25
26
  #readOnlyStateIdentifier;
26
27
  #localStorageKey;
28
+ #variantContext;
27
29
  constructor(host) {
28
30
  super(host, UMB_APP_LANGUAGE_CONTEXT);
29
31
  this.#languagesPromise = new Promise((resolve) => {
@@ -45,6 +47,7 @@ export class UmbAppLanguageContext extends UmbContextBase {
45
47
  this.#currentUserHasAccessToAllLanguages = false;
46
48
  this.#readOnlyStateIdentifier = 'UMB_LANGUAGE_PERMISSION_';
47
49
  this.#localStorageKey = 'umb:appLanguage';
50
+ this.#variantContext = new UmbVariantContext(this);
48
51
  // TODO: We need to ensure this request is called every time the user logs in, but this should be done somewhere across the app and not here [JOV]
49
52
  this.consumeContext(UMB_AUTH_CONTEXT, (authContext) => {
50
53
  this.observe(authContext?.isAuthorized, (isAuthorized) => {
@@ -80,6 +83,9 @@ export class UmbAppLanguageContext extends UmbContextBase {
80
83
  }
81
84
  // set the new language
82
85
  this.#appLanguage.update(language);
86
+ // Update the variant context with the new language
87
+ this.#variantContext.setCulture(language.unique);
88
+ this.#variantContext.setAppCulture(language.unique);
83
89
  // store the new language in local storage
84
90
  localStorage.setItem(this.#localStorageKey, language?.unique);
85
91
  // set the new read-only state
@@ -98,22 +104,18 @@ export class UmbAppLanguageContext extends UmbContextBase {
98
104
  }
99
105
  }
100
106
  #initAppLanguage() {
101
- // get the selected language from local storage
102
- const uniqueFromLocalStorage = localStorage.getItem(this.#localStorageKey);
103
- if (uniqueFromLocalStorage) {
104
- const language = this.#findLanguage(uniqueFromLocalStorage);
105
- if (language) {
106
- this.setLanguage(language.unique);
107
- return;
108
- }
109
- }
110
- const defaultLanguage = this.#languages.getValue().find((x) => x.isDefault);
107
+ const defaultLanguageUnique = this.#languages.getValue().find((x) => x.isDefault)?.unique;
111
108
  // TODO: do we always have a default language?
112
109
  // do we always get the default language on the first request, or could it be on page 2?
113
110
  // in that case do we then need an endpoint to get the default language?
114
- if (!defaultLanguage?.unique)
111
+ if (!defaultLanguageUnique)
115
112
  return;
116
- this.setLanguage(defaultLanguage.unique);
113
+ this.#variantContext.setFallbackCulture(defaultLanguageUnique);
114
+ // get the selected language from local storage
115
+ const uniqueFromLocalStorage = localStorage.getItem(this.#localStorageKey);
116
+ const languageFromLocalStorage = this.#findLanguage(uniqueFromLocalStorage || '');
117
+ const languageUniqueToSet = languageFromLocalStorage ? languageFromLocalStorage.unique : defaultLanguageUnique;
118
+ this.setLanguage(languageUniqueToSet);
117
119
  }
118
120
  #findLanguage(unique) {
119
121
  return this.#languages.getValue().find((x) => x.unique === unique);
@@ -1,6 +1,6 @@
1
1
  import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
2
2
  import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
3
- import type { UmbStructureItemModel } from '@umbraco-cms/backoffice/menu';
3
+ import { type UmbStructureItemModel } from '@umbraco-cms/backoffice/menu';
4
4
  export declare class UmbLanguageNavigationStructureWorkspaceContext extends UmbContextBase {
5
5
  #private;
6
6
  readonly structure: import("rxjs").Observable<UmbStructureItemModel[]>;
@@ -1,15 +1,17 @@
1
1
  import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
2
2
  import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
3
3
  import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api';
4
+ import { UMB_MENU_STRUCTURE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/menu';
4
5
  export class UmbLanguageNavigationStructureWorkspaceContext extends UmbContextBase {
5
6
  // TODO: figure out the correct type where we have "data" available
6
7
  #workspaceContext;
7
8
  #structure;
8
9
  constructor(host) {
9
- // TODO: set up context token
10
- super(host, 'UmbMenuStructureWorkspaceContext');
10
+ super(host, UMB_MENU_STRUCTURE_WORKSPACE_CONTEXT);
11
11
  this.#structure = new UmbArrayState([], (x) => x.unique);
12
12
  this.structure = this.#structure.asObservable();
13
+ // 'UmbMenuStructureWorkspaceContext' is Obsolete, will be removed in v.18
14
+ this.provideContext('UmbMenuStructureWorkspaceContext', this);
13
15
  this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => {
14
16
  this.#workspaceContext = instance;
15
17
  this.#requestStructure();
@@ -14,4 +14,8 @@ export declare class UmbLanguageItemServerDataSource extends UmbItemServerDataSo
14
14
  * @memberof UmbLanguageItemServerDataSource
15
15
  */
16
16
  constructor(host: UmbControllerHost);
17
+ getItems(uniques: Array<string>): Promise<{
18
+ data: UmbLanguageItemModel[] | undefined;
19
+ error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
20
+ }>;
17
21
  }
@@ -1,6 +1,7 @@
1
1
  import { UMB_LANGUAGE_ENTITY_TYPE } from '../../entity.js';
2
2
  import { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';
3
3
  import { LanguageService } from '@umbraco-cms/backoffice/external/backend-api';
4
+ import { UmbItemDataApiGetRequestController } from '@umbraco-cms/backoffice/entity-item';
4
5
  /**
5
6
  * A server data source for Language items
6
7
  * @class UmbLanguageItemServerDataSource
@@ -14,13 +15,21 @@ export class UmbLanguageItemServerDataSource extends UmbItemServerDataSourceBase
14
15
  */
15
16
  constructor(host) {
16
17
  super(host, {
17
- getItems,
18
18
  mapper,
19
19
  });
20
20
  }
21
+ async getItems(uniques) {
22
+ if (!uniques)
23
+ throw new Error('Uniques are missing');
24
+ const itemRequestManager = new UmbItemDataApiGetRequestController(this, {
25
+ // eslint-disable-next-line local-rules/no-direct-api-import
26
+ api: (args) => LanguageService.getItemLanguage({ query: { isoCode: args.uniques } }),
27
+ uniques,
28
+ });
29
+ const { data, error } = await itemRequestManager.request();
30
+ return { data: this._getMappedItems(data), error };
31
+ }
21
32
  }
22
- /* eslint-disable local-rules/no-direct-api-import */
23
- const getItems = (uniques) => LanguageService.getItemLanguage({ query: { isoCode: uniques } });
24
33
  const mapper = (item) => {
25
34
  return {
26
35
  unique: item.isoCode,
@@ -60,6 +60,9 @@ let UmbInputMarkdownElement = class UmbInputMarkdownElement extends UmbFormContr
60
60
  this.observe(umbExtensionsRegistry.byType('monacoMarkdownEditorAction'), (manifests) => {
61
61
  manifests.forEach(async (manifest) => {
62
62
  const api = await createExtensionApi(this, manifest, [this]);
63
+ if (api) {
64
+ api.manifest = manifest;
65
+ }
63
66
  const action = {
64
67
  id: manifest.alias ?? api.getUnique(),
65
68
  label: this.localize.string(manifest.meta?.label ?? api.getLabel()),
@@ -18,6 +18,7 @@ let UmbMediaCollectionElement = class UmbMediaCollectionElement extends UmbColle
18
18
  this._progress = -1;
19
19
  this._unique = null;
20
20
  this.consumeContext(UMB_MEDIA_COLLECTION_CONTEXT, (context) => {
21
+ // TODO: stop consuming the context both in the default element and here. Instead make the default able to inform when the context is consumed. Or come up with a better system for the controllers to talk together. [NL]
21
22
  this.#collectionContext = context;
22
23
  });
23
24
  this.consumeContext(UMB_MEDIA_WORKSPACE_CONTEXT, (instance) => {
@@ -94,6 +94,7 @@ let UmbMediaTableCollectionViewElement = class UmbMediaTableCollectionViewElemen
94
94
  .value=${{
95
95
  entityType: item.entityType,
96
96
  unique: item.unique,
97
+ name: item.name,
97
98
  }}></umb-entity-actions-table-column-view>`,
98
99
  };
99
100
  }
@@ -2,6 +2,7 @@ import { UMB_MEDIA_ITEM_REPOSITORY_ALIAS } from '../../constants.js';
2
2
  import { UMB_MEDIA_PICKER_MODAL } from '../../modals/index.js';
3
3
  import { UMB_MEDIA_SEARCH_PROVIDER_ALIAS } from '../../search/constants.js';
4
4
  import { UmbPickerInputContext } from '@umbraco-cms/backoffice/picker-input';
5
+ import { UMB_VARIANT_CONTEXT } from '@umbraco-cms/backoffice/variant';
5
6
  export class UmbMediaPickerInputContext extends UmbPickerInputContext {
6
7
  constructor(host) {
7
8
  super(host, UMB_MEDIA_ITEM_REPOSITORY_ALIAS, UMB_MEDIA_PICKER_MODAL);
@@ -19,10 +20,13 @@ export class UmbMediaPickerInputContext extends UmbPickerInputContext {
19
20
  ...pickerData?.search,
20
21
  };
21
22
  }
23
+ const variantContext = await this.getContext(UMB_VARIANT_CONTEXT);
24
+ const culture = await variantContext?.getDisplayCulture();
22
25
  // pass allowedContentTypes to the search request args
23
26
  combinedPickerData.search.queryParams = {
24
27
  allowedContentTypes: args?.allowedContentTypes,
25
28
  includeTrashed: args?.includeTrashed,
29
+ culture,
26
30
  ...pickerData?.search?.queryParams,
27
31
  };
28
32
  await super.openPicker(combinedPickerData);
@@ -3,6 +3,7 @@ export * from './entity-actions/constants.js';
3
3
  export * from './entity-bulk-actions/constants.js';
4
4
  export * from './menu/constants.js';
5
5
  export * from './modals/constants.js';
6
+ export * from './paths.js';
6
7
  export * from './recycle-bin/constants.js';
7
8
  export * from './reference/constants.js';
8
9
  export * from './repository/constants.js';
@@ -10,6 +11,5 @@ export * from './search/constants.js';
10
11
  export * from './tree/constants.js';
11
12
  export * from './url/constants.js';
12
13
  export * from './workspace/constants.js';
13
- export * from './paths.js';
14
14
  export { UMB_MEDIA_VARIANT_CONTEXT } from './property-dataset-context/media-property-dataset-context.token.js';
15
15
  export { UMB_MEDIA_ENTITY_TYPE, UMB_MEDIA_ROOT_ENTITY_TYPE, UMB_MEDIA_PLACEHOLDER_ENTITY_TYPE, UMB_MEDIA_PROPERTY_VALUE_ENTITY_TYPE, } from './entity.js';
@@ -3,6 +3,7 @@ export * from './entity-actions/constants.js';
3
3
  export * from './entity-bulk-actions/constants.js';
4
4
  export * from './menu/constants.js';
5
5
  export * from './modals/constants.js';
6
+ export * from './paths.js';
6
7
  export * from './recycle-bin/constants.js';
7
8
  export * from './reference/constants.js';
8
9
  export * from './repository/constants.js';
@@ -10,6 +11,5 @@ export * from './search/constants.js';
10
11
  export * from './tree/constants.js';
11
12
  export * from './url/constants.js';
12
13
  export * from './workspace/constants.js';
13
- export * from './paths.js';
14
14
  export { UMB_MEDIA_VARIANT_CONTEXT } from './property-dataset-context/media-property-dataset-context.token.js';
15
15
  export { UMB_MEDIA_ENTITY_TYPE, UMB_MEDIA_ROOT_ENTITY_TYPE, UMB_MEDIA_PLACEHOLDER_ENTITY_TYPE, UMB_MEDIA_PROPERTY_VALUE_ENTITY_TYPE, } from './entity.js';
@@ -13,6 +13,7 @@ import { debounce, UmbPaginationManager } from '@umbraco-cms/backoffice/utils';
13
13
  import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
14
14
  import { UMB_CONTENT_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/content';
15
15
  import { isUmbracoFolder } from '@umbraco-cms/backoffice/media-type';
16
+ import { UMB_VARIANT_CONTEXT } from '@umbraco-cms/backoffice/variant';
16
17
  import '@umbraco-cms/backoffice/imaging';
17
18
  const root = { name: 'Media', unique: null, entityType: UMB_MEDIA_ROOT_ENTITY_TYPE };
18
19
  // TODO: investigate how we can reuse the picker-search-field element, picker context etc.
@@ -22,6 +23,7 @@ let UmbMediaPickerModalElement = class UmbMediaPickerModalElement extends UmbMod
22
23
  #mediaSearchProvider;
23
24
  #dataType;
24
25
  #pagingMap;
26
+ #contextCulture;
25
27
  constructor() {
26
28
  super();
27
29
  this.#mediaTreeRepository = new UmbMediaTreeRepository(this);
@@ -45,6 +47,11 @@ let UmbMediaPickerModalElement = class UmbMediaPickerModalElement extends UmbMod
45
47
  this.#dataType = dataType;
46
48
  });
47
49
  });
50
+ this.consumeContext(UMB_VARIANT_CONTEXT, (context) => {
51
+ this.observe(context?.culture, (culture) => {
52
+ this.#contextCulture = culture;
53
+ });
54
+ });
48
55
  }
49
56
  async connectedCallback() {
50
57
  super.connectedCallback();
@@ -140,6 +147,7 @@ let UmbMediaPickerModalElement = class UmbMediaPickerModalElement extends UmbMod
140
147
  const { data } = await this.#mediaSearchProvider.search({
141
148
  query,
142
149
  searchFrom: this._searchFrom,
150
+ culture: this.#contextCulture,
143
151
  ...this.data?.search?.queryParams,
144
152
  });
145
153
  if (!data) {
@@ -8,7 +8,6 @@ import { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository'
8
8
  * @implements {MediaTreeDataSource}
9
9
  */
10
10
  export declare class UmbMediaItemServerDataSource extends UmbItemServerDataSourceBase<MediaItemResponseModel, UmbMediaItemModel> {
11
- #private;
12
11
  /**
13
12
  * Creates an instance of UmbMediaItemServerDataSource.
14
13
  * @param {UmbControllerHost} host - The controller host for this controller to be appended to
@@ -31,4 +30,8 @@ export declare class UmbMediaItemServerDataSource extends UmbItemServerDataSourc
31
30
  data: UmbMediaItemModel[];
32
31
  error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
33
32
  }>;
33
+ getItems(uniques: Array<string>): Promise<{
34
+ data: UmbMediaItemModel[] | undefined;
35
+ error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
36
+ }>;
34
37
  }
@@ -2,13 +2,13 @@ import { UMB_MEDIA_ENTITY_TYPE } from '../../entity.js';
2
2
  import { MediaService } from '@umbraco-cms/backoffice/external/backend-api';
3
3
  import { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';
4
4
  import { tryExecute } from '@umbraco-cms/backoffice/resources';
5
+ import { UmbItemDataApiGetRequestController } from '@umbraco-cms/backoffice/entity-item';
5
6
  /**
6
7
  * A data source for Media items that fetches data from the server
7
8
  * @class UmbMediaItemServerDataSource
8
9
  * @implements {MediaTreeDataSource}
9
10
  */
10
11
  export class UmbMediaItemServerDataSource extends UmbItemServerDataSourceBase {
11
- #host;
12
12
  /**
13
13
  * Creates an instance of UmbMediaItemServerDataSource.
14
14
  * @param {UmbControllerHost} host - The controller host for this controller to be appended to
@@ -16,10 +16,8 @@ export class UmbMediaItemServerDataSource extends UmbItemServerDataSourceBase {
16
16
  */
17
17
  constructor(host) {
18
18
  super(host, {
19
- getItems,
20
19
  mapper,
21
20
  });
22
- this.#host = host;
23
21
  }
24
22
  /**
25
23
  * @deprecated - The search method will be removed in v17. Use the
@@ -30,13 +28,22 @@ export class UmbMediaItemServerDataSource extends UmbItemServerDataSourceBase {
30
28
  * ```
31
29
  */
32
30
  async search({ query, skip, take }) {
33
- const { data, error } = await tryExecute(this.#host, MediaService.getItemMediaSearch({ query: { query, skip, take } }));
31
+ const { data, error } = await tryExecute(this, MediaService.getItemMediaSearch({ query: { query, skip, take } }));
34
32
  const mapped = data?.items.map((item) => mapper(item));
35
33
  return { data: mapped, error };
36
34
  }
35
+ async getItems(uniques) {
36
+ if (!uniques)
37
+ throw new Error('Uniques are missing');
38
+ const itemRequestManager = new UmbItemDataApiGetRequestController(this, {
39
+ // eslint-disable-next-line local-rules/no-direct-api-import
40
+ api: (args) => MediaService.getItemMedia({ query: { id: args.uniques } }),
41
+ uniques,
42
+ });
43
+ const { data, error } = await itemRequestManager.request();
44
+ return { data: this._getMappedItems(data), error };
45
+ }
37
46
  }
38
- /* eslint-disable local-rules/no-direct-api-import */
39
- const getItems = (uniques) => MediaService.getItemMedia({ query: { id: uniques } });
40
47
  const mapper = (item) => {
41
48
  return {
42
49
  entityType: UMB_MEDIA_ENTITY_TYPE,
@@ -1 +1,2 @@
1
+ export * from './global-search/constants.js';
1
2
  export declare const UMB_MEDIA_SEARCH_PROVIDER_ALIAS = "Umb.SearchProvider.Media";
@@ -1 +1,2 @@
1
+ export * from './global-search/constants.js';
1
2
  export const UMB_MEDIA_SEARCH_PROVIDER_ALIAS = 'Umb.SearchProvider.Media';
@@ -0,0 +1 @@
1
+ export declare const UMB_MEDIA_GLOBAL_SEARCH_ALIAS = "Umb.GlobalSearch.Media";
@@ -0,0 +1 @@
1
+ export const UMB_MEDIA_GLOBAL_SEARCH_ALIAS = 'Umb.GlobalSearch.Media';
@@ -0,0 +1 @@
1
+ export declare const manifests: Array<UmbExtensionManifest>;
@@ -0,0 +1,23 @@
1
+ import { UMB_MEDIA_SECTION_ALIAS } from '../../../media-section/constants.js';
2
+ import { UMB_MEDIA_SEARCH_PROVIDER_ALIAS } from '../constants.js';
3
+ import { UMB_MEDIA_GLOBAL_SEARCH_ALIAS } from './constants.js';
4
+ import { UMB_SECTION_USER_PERMISSION_CONDITION_ALIAS } from '@umbraco-cms/backoffice/section';
5
+ export const manifests = [
6
+ {
7
+ name: 'Media Global Search',
8
+ alias: UMB_MEDIA_GLOBAL_SEARCH_ALIAS,
9
+ type: 'globalSearch',
10
+ weight: 700,
11
+ api: () => import('./media-global-search.js'),
12
+ meta: {
13
+ label: 'Media',
14
+ searchProviderAlias: UMB_MEDIA_SEARCH_PROVIDER_ALIAS,
15
+ },
16
+ conditions: [
17
+ {
18
+ alias: UMB_SECTION_USER_PERMISSION_CONDITION_ALIAS,
19
+ match: UMB_MEDIA_SECTION_ALIAS,
20
+ },
21
+ ],
22
+ },
23
+ ];
@@ -0,0 +1,15 @@
1
+ import type { UmbMediaSearchProvider } from '../media.search-provider.js';
2
+ import { UmbGlobalSearchBase, type UmbGlobalSearchApi, type UmbSearchRequestArgs } from '@umbraco-cms/backoffice/search';
3
+ export declare class UmbMediaGlobalSearch extends UmbGlobalSearchBase<UmbMediaSearchProvider> implements UmbGlobalSearchApi {
4
+ search(args: UmbSearchRequestArgs): Promise<{
5
+ data: {
6
+ items: import("../types.js").UmbMediaSearchItemModel[];
7
+ total: number;
8
+ };
9
+ error?: undefined;
10
+ } | {
11
+ error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
12
+ data?: undefined;
13
+ }>;
14
+ }
15
+ export { UmbMediaGlobalSearch as api };