@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
@@ -4,11 +4,12 @@ export declare class UmbLinkPickerModalElement extends UmbModalBaseElement<UmbLi
4
4
  #private;
5
5
  private _allowedMediaTypeUniques?;
6
6
  private _config;
7
+ private _missingLinkUrl;
7
8
  private _documentPickerElement?;
8
9
  private _mediaPickerElement?;
9
- private _linkAnchorInput?;
10
+ constructor();
10
11
  connectedCallback(): void;
11
- protected firstUpdated(): void;
12
+ populateLinkUrl(): Promise<void>;
12
13
  render(): import("lit-html").TemplateResult<1>;
13
14
  static styles: import("lit").CSSResult[];
14
15
  }
@@ -6,22 +6,68 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { css, customElement, html, nothing, query, state, when } from '@umbraco-cms/backoffice/external/lit';
8
8
  import { isUmbracoFolder, UmbMediaTypeStructureRepository } from '@umbraco-cms/backoffice/media-type';
9
- import { umbBindToValidation, UmbValidationContext } from '@umbraco-cms/backoffice/validation';
9
+ import { UMB_VALIDATION_CONTEXT, umbBindToValidation, UmbObserveValidationStateController, UmbValidationContext, } from '@umbraco-cms/backoffice/validation';
10
10
  import { umbConfirmModal, UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
11
- import { UmbDocumentDetailRepository, UmbDocumentUrlRepository } from '@umbraco-cms/backoffice/document';
12
- import { UmbMediaDetailRepository, UmbMediaUrlRepository } from '@umbraco-cms/backoffice/media';
11
+ import { UmbDocumentItemDataResolver, UmbDocumentItemRepository, UmbDocumentUrlRepository, UmbDocumentUrlsDataResolver, } from '@umbraco-cms/backoffice/document';
12
+ import { UmbMediaItemRepository, UmbMediaUrlRepository } from '@umbraco-cms/backoffice/media';
13
+ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
14
+ import { umbFocus } from '@umbraco-cms/backoffice/lit-element';
15
+ class UmbLinkPickerValueValidator extends UmbControllerBase {
16
+ #context;
17
+ #isValid = true;
18
+ get isValid() {
19
+ return this.#isValid;
20
+ }
21
+ #value;
22
+ #unique = 'UmbLinkPickerValueValidator';
23
+ setValue(value) {
24
+ this.#value = value;
25
+ this.validate();
26
+ }
27
+ getValue() {
28
+ return this.#value;
29
+ }
30
+ // The path to the data that this validator is validating.
31
+ #dataPath;
32
+ constructor(host, dataPath) {
33
+ super(host);
34
+ this.#dataPath = dataPath;
35
+ this.consumeContext(UMB_VALIDATION_CONTEXT, (context) => {
36
+ if (this.#context) {
37
+ this.#context.removeValidator(this);
38
+ }
39
+ this.#context = context;
40
+ context?.addValidator(this);
41
+ });
42
+ }
43
+ async validate() {
44
+ this.#isValid = !!this.getValue();
45
+ if (this.#isValid) {
46
+ this.#context?.messages.removeMessageByKey(this.#unique);
47
+ }
48
+ else {
49
+ this.#context?.messages.addMessage('client', this.#dataPath, '#linkPicker_modalAnchorValidationMessage', this.#unique);
50
+ }
51
+ }
52
+ reset() { }
53
+ focusFirstInvalidElement() { }
54
+ }
13
55
  let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModalBaseElement {
56
+ #propertyLayoutOrientation;
57
+ #validationContext;
14
58
  constructor() {
15
- super(...arguments);
59
+ super();
16
60
  this.#propertyLayoutOrientation = 'vertical';
17
61
  this.#validationContext = new UmbValidationContext(this);
18
62
  this._config = {
19
63
  hideAnchor: false,
20
64
  hideTarget: false,
21
65
  };
66
+ this._missingLinkUrl = false;
67
+ new UmbObserveValidationStateController(this, '$.type', (invalid) => {
68
+ this._missingLinkUrl = invalid;
69
+ });
22
70
  }
23
- #propertyLayoutOrientation;
24
- #validationContext;
25
71
  connectedCallback() {
26
72
  super.connectedCallback();
27
73
  if (this.data?.config) {
@@ -35,9 +81,11 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
35
81
  });
36
82
  }
37
83
  this.#getMediaTypes();
38
- }
39
- firstUpdated() {
40
- this._linkAnchorInput?.addValidator('valueMissing', () => this.localize.term('linkPicker_modalAnchorValidationMessage'), () => !this.value.link.url && !this.value.link.queryString);
84
+ this.populateLinkUrl();
85
+ const validator = new UmbLinkPickerValueValidator(this, '$.type');
86
+ this.observe(this.modalContext?.value, (value) => {
87
+ validator.setValue(value?.link.type);
88
+ });
41
89
  }
42
90
  async #getMediaTypes() {
43
91
  // Get all the media types, excluding the folders, so that files are selectable media items.
@@ -46,6 +94,28 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
46
94
  this._allowedMediaTypeUniques =
47
95
  mediaTypes?.items.map((x) => x.unique).filter((x) => x && !isUmbracoFolder(x)) ?? [];
48
96
  }
97
+ async populateLinkUrl() {
98
+ // Documents and media have URLs saved in the local link format. Display the actual URL to align with what
99
+ // the user sees when they selected it initially.
100
+ if (!this.value.link?.unique)
101
+ return;
102
+ let url = undefined;
103
+ switch (this.value.link.type) {
104
+ case 'document': {
105
+ url = await this.#getUrlForDocument(this.value.link.unique);
106
+ break;
107
+ }
108
+ case 'media': {
109
+ url = await this.#getUrlForMedia(this.value.link.unique);
110
+ break;
111
+ }
112
+ default:
113
+ break;
114
+ }
115
+ if (url) {
116
+ this.#partialUpdateLink({ url });
117
+ }
118
+ }
49
119
  #partialUpdateLink(linkObject) {
50
120
  this.modalContext?.updateValue({ link: { ...this.value.link, ...linkObject } });
51
121
  }
@@ -97,36 +167,40 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
97
167
  if (unique) {
98
168
  switch (type) {
99
169
  case 'document': {
100
- const documentRepository = new UmbDocumentDetailRepository(this);
101
- const { data: documentData } = await documentRepository.requestByUnique(unique);
102
- if (documentData) {
103
- icon = documentData.documentType.icon;
104
- name = documentData.variants[0].name;
105
- const documentUrlRepository = new UmbDocumentUrlRepository(this);
106
- const { data: documentUrlData } = await documentUrlRepository.requestItems([unique]);
107
- url = documentUrlData?.[0].urls[0].url ?? '';
170
+ const documentRepository = new UmbDocumentItemRepository(this);
171
+ const { data: documentItems } = await documentRepository.requestItems([unique]);
172
+ const documentItem = documentItems?.[0];
173
+ if (documentItem) {
174
+ const itemDataResolver = new UmbDocumentItemDataResolver(this);
175
+ itemDataResolver.setData(documentItem);
176
+ icon = await itemDataResolver.getIcon();
177
+ name = await itemDataResolver.getName();
178
+ url = await this.#getUrlForDocument(unique);
108
179
  }
109
180
  break;
110
181
  }
111
182
  case 'media': {
112
- const mediaRepository = new UmbMediaDetailRepository(this);
113
- const { data: mediaData } = await mediaRepository.requestByUnique(unique);
114
- if (mediaData) {
115
- icon = mediaData.mediaType.icon;
116
- name = mediaData.variants[0].name;
117
- const mediaUrlRepository = new UmbMediaUrlRepository(this);
118
- const { data: mediaUrlData } = await mediaUrlRepository.requestItems([unique]);
119
- url = mediaUrlData?.[0].url ?? '';
183
+ const mediaRepository = new UmbMediaItemRepository(this);
184
+ const { data: mediaData } = await mediaRepository.requestItems([unique]);
185
+ const mediaItem = mediaData?.[0];
186
+ if (mediaItem) {
187
+ icon = mediaItem.mediaType.icon;
188
+ name = mediaItem.variants[0].name;
189
+ url = await this.#getUrlForMedia(unique);
120
190
  }
121
191
  break;
122
192
  }
123
193
  default:
124
194
  break;
125
195
  }
196
+ // The selection was removed
197
+ }
198
+ else {
199
+ this.#resetUrl();
126
200
  }
127
201
  const link = {
128
202
  icon,
129
- name: this.value.link.name || name,
203
+ name: name || this.value.link.name,
130
204
  type: unique ? type : undefined,
131
205
  unique,
132
206
  url: url ?? this.value.link.url,
@@ -134,6 +208,20 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
134
208
  this.#partialUpdateLink(link);
135
209
  await this.#validationContext.validate();
136
210
  }
211
+ async #getUrlForDocument(unique) {
212
+ const documentUrlRepository = new UmbDocumentUrlRepository(this);
213
+ const { data: documentUrlData } = await documentUrlRepository.requestItems([unique]);
214
+ const urlsItem = documentUrlData?.[0];
215
+ const dataResolver = new UmbDocumentUrlsDataResolver(this);
216
+ dataResolver.setData(urlsItem?.urls);
217
+ const resolvedUrls = await dataResolver.getUrls();
218
+ return resolvedUrls?.[0]?.url ?? '';
219
+ }
220
+ async #getUrlForMedia(unique) {
221
+ const mediaUrlRepository = new UmbMediaUrlRepository(this);
222
+ const { data: mediaUrlData } = await mediaUrlRepository.requestItems([unique]);
223
+ return mediaUrlData?.[0].url ?? '';
224
+ }
137
225
  async #onResetUrl() {
138
226
  if (this.value.link.url) {
139
227
  await umbConfirmModal(this, {
@@ -143,6 +231,9 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
143
231
  confirmLabel: this.localize.term('linkPicker_resetUrlLabel'),
144
232
  });
145
233
  }
234
+ this.#resetUrl();
235
+ }
236
+ #resetUrl() {
146
237
  this.#partialUpdateLink({ type: null, url: null });
147
238
  }
148
239
  async #onSubmit() {
@@ -161,7 +252,7 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
161
252
  render() {
162
253
  return html `
163
254
  <umb-body-layout
164
- headline=${this.localize.term(this.modalContext?.data.isNew ? 'defaultdialogs_addLink' : 'defaultdialogs_updateLink')}>
255
+ headline=${this.localize.term(this.modalContext?.data?.isNew ? 'defaultdialogs_addLink' : 'defaultdialogs_updateLink')}>
165
256
  <uui-box>
166
257
  ${this.#renderLinkType()} ${this.#renderLinkAnchorInput()} ${this.#renderLinkTitleInput()}
167
258
  ${this.#renderLinkTargetInput()}
@@ -171,8 +262,7 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
171
262
  <uui-button
172
263
  color="positive"
173
264
  look="primary"
174
- label=${this.localize.term(this.modalContext?.data.isNew ? 'general_add' : 'general_update')}
175
- ?disabled=${!this.value.link.type}
265
+ label=${this.localize.term(this.modalContext?.data?.isNew ? 'general_add' : 'general_update')}
176
266
  @click=${this.#onSubmit}></uui-button>
177
267
  </div>
178
268
  </umb-body-layout>
@@ -183,7 +273,8 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
183
273
  <umb-property-layout
184
274
  orientation=${this.#propertyLayoutOrientation}
185
275
  label=${this.localize.term('linkPicker_modalSource')}
186
- mandatory>
276
+ mandatory
277
+ ?invalid=${this._missingLinkUrl}>
187
278
  <div slot="editor">
188
279
  ${this.#renderLinkTypeSelection()} ${this.#renderDocumentPicker()} ${this.#renderMediaPicker()}
189
280
  ${this.#renderLinkUrlInput()} ${this.#renderLinkUrlInputReadOnly()}
@@ -244,9 +335,10 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
244
335
  placeholder=${this.localize.term('placeholders_enterUrl')}
245
336
  .value=${this.value.link.url ?? ''}
246
337
  ?disabled=${!!this.value.link.unique}
247
- ?required=${this._config.hideAnchor}
248
- @change=${this.#onLinkUrlInput}
249
- ${umbBindToValidation(this)}>
338
+ required
339
+ @input=${this.#onLinkUrlInput}
340
+ ${umbBindToValidation(this)}
341
+ ${umbFocus()}>
250
342
  ${when(!this.value.link.unique, () => html `
251
343
  <div slot="append">
252
344
  <uui-button
@@ -276,12 +368,10 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
276
368
  <uui-input
277
369
  data-mark="input:anchor"
278
370
  slot="editor"
279
- id="link-anchor"
280
371
  label=${this.localize.term('placeholders_anchor')}
281
372
  placeholder=${this.localize.term('placeholders_anchor')}
282
373
  .value=${this.value.link.queryString ?? ''}
283
- @change=${this.#onLinkAnchorInput}
284
- ${umbBindToValidation(this)}></uui-input>
374
+ @change=${this.#onLinkAnchorInput}></uui-input>
285
375
  </umb-property-layout>
286
376
  `;
287
377
  }
@@ -342,15 +432,15 @@ __decorate([
342
432
  __decorate([
343
433
  state()
344
434
  ], UmbLinkPickerModalElement.prototype, "_config", void 0);
435
+ __decorate([
436
+ state()
437
+ ], UmbLinkPickerModalElement.prototype, "_missingLinkUrl", void 0);
345
438
  __decorate([
346
439
  query('umb-input-document')
347
440
  ], UmbLinkPickerModalElement.prototype, "_documentPickerElement", void 0);
348
441
  __decorate([
349
442
  query('umb-input-media')
350
443
  ], UmbLinkPickerModalElement.prototype, "_mediaPickerElement", void 0);
351
- __decorate([
352
- query('#link-anchor', true)
353
- ], UmbLinkPickerModalElement.prototype, "_linkAnchorInput", void 0);
354
444
  UmbLinkPickerModalElement = __decorate([
355
445
  customElement('umb-link-picker-modal')
356
446
  ], UmbLinkPickerModalElement);
@@ -98,7 +98,7 @@ let UmbInstalledPackagesSectionViewItemElement = class UmbInstalledPackagesSecti
98
98
  .state=${this._migrationButtonState}
99
99
  color="warning"
100
100
  look="primary"
101
- label=${this.localize.term('packageMigrationsRun')}></uui-button>`
101
+ label=${this.localize.term('packager_packageMigrationsRun')}></uui-button>`
102
102
  : nothing}
103
103
  </div>
104
104
  </uui-ref-node-package>
@@ -78,7 +78,7 @@ let UmbEntityReferencesWorkspaceInfoAppElement = class UmbEntityReferencesWorksp
78
78
  return nothing;
79
79
  return html `
80
80
  <umb-workspace-info-app-layout headline="#references_labelUsedByItems">
81
- ${this.#renderItems()} ${this.#renderReferencePagination()}
81
+ <div id="content">${this.#renderItems()} ${this.#renderReferencePagination()}</div>
82
82
  </umb-workspace-info-app-layout>
83
83
  `;
84
84
  }
@@ -110,6 +110,11 @@ let UmbEntityReferencesWorkspaceInfoAppElement = class UmbEntityReferencesWorksp
110
110
  display: contents;
111
111
  }
112
112
 
113
+ #content {
114
+ display: block;
115
+ padding: var(--uui-size-space-3) var(--uui-size-space-4);
116
+ }
117
+
113
118
  .pagination-container {
114
119
  display: flex;
115
120
  justify-content: center;
@@ -0,0 +1,11 @@
1
+ import type { ManifestGlobalSearch, UmbGlobalSearchApi, UmbSearchProvider, UmbSearchRequestArgs } from '../types.js';
2
+ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
3
+ export declare abstract class UmbGlobalSearchBase<SearchProviderType extends UmbSearchProvider = UmbSearchProvider> extends UmbControllerBase implements UmbGlobalSearchApi {
4
+ #private;
5
+ protected _manifest?: ManifestGlobalSearch;
6
+ protected _searchProvider?: SearchProviderType;
7
+ protected _init: Promise<void>;
8
+ set manifest(manifest: ManifestGlobalSearch | undefined);
9
+ get manifest(): ManifestGlobalSearch | undefined;
10
+ search(args: UmbSearchRequestArgs): Promise<import("@umbraco-cms/backoffice/repository").UmbRepositoryResponse<import("@umbraco-cms/backoffice/repository").UmbPagedModel<import("../types.js").UmbSearchResultItemModel>>>;
11
+ }
@@ -0,0 +1,49 @@
1
+ import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api';
2
+ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
3
+ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
4
+ export class UmbGlobalSearchBase extends UmbControllerBase {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.#initialized = false;
8
+ this._init = new Promise((resolve) => {
9
+ if (this.#initialized) {
10
+ resolve();
11
+ }
12
+ else {
13
+ this.#initResolver = resolve;
14
+ }
15
+ });
16
+ }
17
+ #initResolver;
18
+ #initialized;
19
+ #checkIfInitialized() {
20
+ if (this._searchProvider) {
21
+ this.#initialized = true;
22
+ this.#initResolver?.();
23
+ }
24
+ }
25
+ set manifest(manifest) {
26
+ if (this._manifest === manifest)
27
+ return;
28
+ this._manifest = manifest;
29
+ this.#observeSearchProvider(this._manifest?.meta.searchProviderAlias);
30
+ }
31
+ get manifest() {
32
+ return this._manifest;
33
+ }
34
+ #observeSearchProvider(alias) {
35
+ if (!alias)
36
+ throw new Error('Search provider alias is required');
37
+ new UmbExtensionApiInitializer(this, umbExtensionsRegistry, alias, [this], (permitted, ctrl) => {
38
+ this._searchProvider = permitted ? ctrl.api : undefined;
39
+ this.#checkIfInitialized();
40
+ });
41
+ }
42
+ async search(args) {
43
+ await this._init;
44
+ if (!this._searchProvider) {
45
+ throw new Error('Search provider is not available');
46
+ }
47
+ return await this._searchProvider.search({ query: args.query });
48
+ }
49
+ }
@@ -0,0 +1,15 @@
1
+ import type { UmbGlobalSearchApi } from './types.js';
2
+ import type { ManifestWithDynamicConditions, ManifestApi } from '@umbraco-cms/backoffice/extension-api';
3
+ export interface ManifestGlobalSearch extends ManifestApi<UmbGlobalSearchApi>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
4
+ type: 'globalSearch';
5
+ meta: MetaGlobalSearch;
6
+ }
7
+ export interface MetaGlobalSearch {
8
+ label: string;
9
+ searchProviderAlias: string;
10
+ }
11
+ declare global {
12
+ interface UmbExtensionManifestMap {
13
+ umbGlobalSearch: ManifestGlobalSearch;
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ export * from './global-search-base.js';
@@ -0,0 +1 @@
1
+ export * from './global-search-base.js';
@@ -0,0 +1,4 @@
1
+ import type { UmbSearchProvider, UmbSearchRequestArgs, UmbSearchResultItemModel } from '../types.js';
2
+ export interface UmbGlobalSearchApi<SearchResultItemType extends UmbSearchResultItemModel = UmbSearchResultItemModel, SearchRequestArgsType extends UmbSearchRequestArgs = UmbSearchRequestArgs> extends UmbSearchProvider<SearchResultItemType, SearchRequestArgsType> {
3
+ }
4
+ export type * from './global-search.extension.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,3 @@
1
1
  export * from './constants.js';
2
+ export * from './global-search/index.js';
2
3
  export type * from './types.js';
@@ -1 +1,2 @@
1
1
  export * from './constants.js';
2
+ export * from './global-search/index.js';
@@ -2,9 +2,9 @@ import type { UmbSearchProvider, UmbSearchResultItemModel } from '../types.js';
2
2
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
3
3
  import type { UmbModalContext } from '@umbraco-cms/backoffice/modal';
4
4
  import '../search-result/search-result-item.element.js';
5
- type SearchProvider = {
5
+ type GlobalSearchers = {
6
6
  name: string;
7
- api: UmbSearchProvider<UmbSearchResultItemModel>;
7
+ api?: UmbSearchProvider<UmbSearchResultItemModel>;
8
8
  alias: string;
9
9
  };
10
10
  export declare class UmbSearchModalElement extends UmbLitElement {
@@ -14,8 +14,8 @@ export declare class UmbSearchModalElement extends UmbLitElement {
14
14
  modalContext?: UmbModalContext;
15
15
  private _search;
16
16
  private _searchResults;
17
- private _searchProviders;
18
- _currentProvider?: SearchProvider;
17
+ private _globalSearchers;
18
+ _currentGlobalSearcher?: GlobalSearchers;
19
19
  _loading: boolean;
20
20
  constructor();
21
21
  connectedCallback(): void;
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { css, html, nothing, repeat, customElement, query, state, property, when, } from '@umbraco-cms/backoffice/external/lit';
8
8
  import { UmbExtensionsManifestInitializer, createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
9
- import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
9
+ import { createExtensionApiByAlias, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
10
10
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
11
11
  import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
12
12
  import '../search-result/search-result-item.element.js';
@@ -18,7 +18,7 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
18
18
  super();
19
19
  this._search = '';
20
20
  this._searchResults = [];
21
- this._searchProviders = [];
21
+ this._globalSearchers = [];
22
22
  this._loading = false;
23
23
  this.#searchItemNavIndex = 0;
24
24
  this.#inputTimerAmount = 300;
@@ -28,7 +28,7 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
28
28
  return;
29
29
  this.modalContext?.reject();
30
30
  };
31
- this.#observeProviders();
31
+ this.#observeGlobalSearchers();
32
32
  }
33
33
  connectedCallback() {
34
34
  super.connectedCallback();
@@ -44,22 +44,33 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
44
44
  document.removeEventListener('click', this.#onDocumentClick);
45
45
  }
46
46
  #onDocumentClick;
47
- #observeProviders() {
48
- new UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, 'searchProvider', null, async (providers) => {
49
- const searchProviders = [];
50
- for (const provider of providers) {
51
- const api = await createExtensionApi(this, provider.manifest);
52
- if (api) {
53
- searchProviders.push({
54
- name: provider.manifest.meta?.label || provider.manifest.name,
55
- api,
56
- alias: provider.alias,
57
- });
47
+ #observeGlobalSearchers() {
48
+ new UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, 'globalSearch', null, async (controllers) => {
49
+ const globalSearch = [];
50
+ for (const controller of controllers) {
51
+ let searchApi = undefined;
52
+ if (controller.manifest.api) {
53
+ searchApi = await createExtensionApi(this, controller.manifest);
54
+ if (searchApi) {
55
+ // TODO: we need to investigate if it makes sense to have a function that does this when creating a new extension api? [MR]
56
+ searchApi.manifest = controller.manifest;
57
+ }
58
+ }
59
+ else {
60
+ searchApi = await createExtensionApiByAlias(this, controller.manifest.meta?.searchProviderAlias);
61
+ }
62
+ if (searchApi) {
63
+ const searcher = {
64
+ name: controller.manifest.meta?.label || controller.manifest.name,
65
+ api: searchApi,
66
+ alias: controller.alias,
67
+ };
68
+ globalSearch.push(searcher);
58
69
  }
59
70
  }
60
- this._searchProviders = searchProviders;
61
- if (this._searchProviders.length > 0) {
62
- this._currentProvider = this._searchProviders[0];
71
+ this._globalSearchers = globalSearch;
72
+ if (this._globalSearchers.length > 0) {
73
+ this._currentGlobalSearcher = this._globalSearchers[0];
63
74
  }
64
75
  });
65
76
  }
@@ -89,18 +100,18 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
89
100
  this._inputFakeCursor.style.display = 'none';
90
101
  }
91
102
  }
92
- #setCurrentProvider(searchProvider) {
93
- if (this._currentProvider === searchProvider)
103
+ #setCurrentSearcher(searcher) {
104
+ if (this._currentGlobalSearcher === searcher)
94
105
  return;
95
- this._currentProvider = searchProvider;
106
+ this._currentGlobalSearcher = searcher;
96
107
  this.#focusInput();
97
108
  this._loading = true;
98
109
  this._searchResults = [];
99
110
  this.#updateSearchResults();
100
111
  }
101
112
  async #updateSearchResults() {
102
- if (this._search && this._currentProvider?.api) {
103
- const { data } = await this._currentProvider.api.search({ query: this._search });
113
+ if (this._search && this._currentGlobalSearcher?.api) {
114
+ const { data } = await this._currentGlobalSearcher.api.search({ query: this._search });
104
115
  if (!data)
105
116
  return;
106
117
  this._searchResults = data.items;
@@ -246,13 +257,13 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
246
257
  #renderSearchTags() {
247
258
  return html `
248
259
  <div id="search-providers">
249
- ${repeat(this._searchProviders, (searchProvider) => searchProvider.alias, (searchProvider) => html `
260
+ ${repeat(this._globalSearchers, (searcher) => searcher.alias, (searcher) => html `
250
261
  <button
251
- class="search-provider ${this._currentProvider?.alias === searchProvider.alias ? 'active' : ''}"
252
- data-provider-alias=${searchProvider.alias}
253
- @click=${() => this.#setCurrentProvider(searchProvider)}
262
+ class="search-provider ${this._currentGlobalSearcher?.alias === searcher.alias ? 'active' : ''}"
263
+ data-provider-alias=${searcher.alias}
264
+ @click=${() => this.#setCurrentSearcher(searcher)}
254
265
  @keydown=${() => ''}>
255
- ${searchProvider.name}
266
+ ${searcher.name}
256
267
  </button>
257
268
  `)}
258
269
  </div>
@@ -487,10 +498,10 @@ __decorate([
487
498
  ], UmbSearchModalElement.prototype, "_searchResults", void 0);
488
499
  __decorate([
489
500
  state()
490
- ], UmbSearchModalElement.prototype, "_searchProviders", void 0);
501
+ ], UmbSearchModalElement.prototype, "_globalSearchers", void 0);
491
502
  __decorate([
492
503
  state()
493
- ], UmbSearchModalElement.prototype, "_currentProvider", void 0);
504
+ ], UmbSearchModalElement.prototype, "_currentGlobalSearcher", void 0);
494
505
  __decorate([
495
506
  state()
496
507
  ], UmbSearchModalElement.prototype, "_loading", void 0);
@@ -5,6 +5,7 @@ import type { UmbPagedModel, UmbRepositoryResponse } from '@umbraco-cms/backoffi
5
5
  export type { UmbSearchDataSource } from './search-data-source.interface.js';
6
6
  export type { UmbSearchRepository } from './search-repository.interface.js';
7
7
  export type * from './extensions/types.js';
8
+ export type * from './global-search/types.js';
8
9
  export type UmbSearchResultModel = SearchResultResponseModelReadable;
9
10
  export type UmbSearchResultItemModel = {
10
11
  entityType: string;
@@ -14,4 +14,8 @@ export declare class UmbStaticFileItemServerDataSource extends UmbItemServerData
14
14
  * @memberof UmbStaticFileItemServerDataSource
15
15
  */
16
16
  constructor(host: UmbControllerHost);
17
+ getItems(uniques: Array<string>): Promise<{
18
+ data: UmbStaticFileItemModel[] | 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 { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';
2
2
  import { StaticFileService } from '@umbraco-cms/backoffice/external/backend-api';
3
3
  import { UmbServerFilePathUniqueSerializer } from '@umbraco-cms/backoffice/server-file-system';
4
+ import { UmbItemDataApiGetRequestController } from '@umbraco-cms/backoffice/entity-item';
4
5
  /**
5
6
  * A server data source for Static File items
6
7
  * @class UmbStaticFileItemServerDataSource
@@ -14,17 +15,23 @@ export class UmbStaticFileItemServerDataSource extends UmbItemServerDataSourceBa
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 serializer = new UmbServerFilePathUniqueSerializer();
25
+ const paths = uniques.map((unique) => serializer.toServerPath(unique));
26
+ const itemRequestManager = new UmbItemDataApiGetRequestController(this, {
27
+ // eslint-disable-next-line local-rules/no-direct-api-import
28
+ api: (args) => StaticFileService.getItemStaticFile({ query: { path: args.uniques } }),
29
+ uniques: paths,
30
+ });
31
+ const { data, error } = await itemRequestManager.request();
32
+ return { data: this._getMappedItems(data), error };
33
+ }
21
34
  }
22
- const getItems = (uniques) => {
23
- const serializer = new UmbServerFilePathUniqueSerializer();
24
- const path = uniques.map((unique) => serializer.toServerPath(unique));
25
- /* eslint-disable local-rules/no-direct-api-import */
26
- return StaticFileService.getItemStaticFile({ query: { path } });
27
- };
28
35
  const mapper = (item) => {
29
36
  const serializer = new UmbServerFilePathUniqueSerializer();
30
37
  return {