@umbraco-cms/backoffice 16.0.0-rc2 → 16.0.0-rc4

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 (281) hide show
  1. package/dist-cms/apps/backoffice/backoffice.context.js +5 -1
  2. package/dist-cms/apps/backoffice/components/backoffice-main.element.js +3 -1
  3. package/dist-cms/css/uui-css.css +438 -108
  4. package/dist-cms/custom-elements.json +100 -15
  5. package/dist-cms/external/uui/index.js +370 -336
  6. package/dist-cms/libs/context-api/consume/context-consumer.js +1 -2
  7. package/dist-cms/libs/controller-api/controller-host.mixin.js +2 -2
  8. package/dist-cms/packages/block/block/context/block-entry.context.js +10 -3
  9. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.d.ts +1 -1
  10. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.js +7 -7
  11. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-property.element.js +1 -1
  12. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.js +1 -0
  13. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +2 -1
  14. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +1 -2
  15. package/dist-cms/packages/clipboard/property/value-translator/copy/clipboard-copy-translator-value-resolver.js +6 -1
  16. package/dist-cms/packages/content/content/components/property-type-based-property/index.d.ts +2 -0
  17. package/dist-cms/packages/content/content/components/property-type-based-property/index.js +2 -0
  18. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.context-token.d.ts +8 -0
  19. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.context-token.js +7 -0
  20. package/dist-cms/packages/content/content/{content-property.context.d.ts → components/property-type-based-property/property-type-based-property.context.d.ts} +6 -1
  21. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.context.js +19 -0
  22. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.element.d.ts +1 -1
  23. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.element.js +8 -7
  24. package/dist-cms/packages/content/content/controller/merge-content-variant-data.controller.js +1 -0
  25. package/dist-cms/packages/content/content/global-components/content-workspace-property.element.d.ts +26 -0
  26. package/dist-cms/packages/content/content/global-components/content-workspace-property.element.js +104 -0
  27. package/dist-cms/packages/content/content/global-components/index.d.ts +1 -0
  28. package/dist-cms/packages/content/content/global-components/index.js +1 -0
  29. package/dist-cms/packages/content/content/index.d.ts +1 -2
  30. package/dist-cms/packages/content/content/index.js +1 -2
  31. package/dist-cms/packages/content/content/property-dataset-context/element-property-dataset.context.js +4 -1
  32. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +6 -1
  33. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.d.ts +1 -3
  34. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.js +8 -48
  35. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +1 -0
  36. package/dist-cms/packages/content/content-type/structure/content-type-property-structure-helper.class.d.ts +1 -0
  37. package/dist-cms/packages/content/content-type/structure/content-type-property-structure-helper.class.js +1 -0
  38. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +1 -0
  39. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +3 -3
  40. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +11 -7
  41. package/dist-cms/packages/content/property-type/workspace/property-type-workspace.context.js +5 -1
  42. package/dist-cms/packages/core/backend-api/types.gen.d.ts +2 -0
  43. package/dist-cms/packages/core/collection/collection-view.manager.js +4 -4
  44. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +1 -0
  45. package/dist-cms/packages/core/collection/default/collection-default.context.js +3 -0
  46. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +4 -1
  47. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.d.ts +4 -1
  48. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +27 -3
  49. package/dist-cms/packages/core/components/input-with-alias/input-with-alias.element.js +0 -2
  50. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  51. package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -0
  52. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.d.ts +9 -0
  53. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.js +80 -2
  54. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +1 -2
  55. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  56. package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.js +7 -2
  57. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.d.ts +15 -2
  58. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.js +22 -15
  59. package/dist-cms/packages/core/property/property-value-cloner/property-value-clone.controller.js +2 -0
  60. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +6 -1
  61. package/dist-cms/packages/core/repository/detail/detail-repository-base.js +6 -7
  62. package/dist-cms/packages/core/repository/item/item-repository-base.d.ts +1 -1
  63. package/dist-cms/packages/core/repository/item/item-repository-base.js +25 -9
  64. package/dist-cms/packages/core/repository/item/item-repository.interface.d.ts +1 -1
  65. package/dist-cms/packages/core/router/router-slot/model.d.ts +1 -0
  66. package/dist-cms/packages/core/router/router-slot/router-slot.d.ts +1 -0
  67. package/dist-cms/packages/core/router/router-slot/router-slot.js +30 -0
  68. package/dist-cms/packages/core/section/section-default.element.js +3 -0
  69. package/dist-cms/packages/core/temporary-file/config/config.repository.d.ts +1 -0
  70. package/dist-cms/packages/core/temporary-file/config/config.repository.js +7 -3
  71. package/dist-cms/packages/core/temporary-file/config/config.server.data-source.js +1 -1
  72. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  73. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +15 -4
  74. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  75. package/dist-cms/packages/core/tree/data/tree-repository-base.d.ts +5 -1
  76. package/dist-cms/packages/core/tree/data/tree-repository-base.js +27 -13
  77. package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +1 -1
  78. package/dist-cms/packages/core/utils/media/image-size.function.d.ts +5 -3
  79. package/dist-cms/packages/core/utils/media/image-size.function.js +9 -11
  80. package/dist-cms/packages/core/validation/controllers/bind-server-validation-to-form-control.controller.js +1 -1
  81. package/dist-cms/packages/core/validation/controllers/form-control-validator.controller.js +4 -4
  82. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.js +1 -0
  83. package/dist-cms/packages/core/validation/controllers/validation.controller.js +5 -5
  84. package/dist-cms/packages/core/variant/constants.d.ts +1 -0
  85. package/dist-cms/packages/core/variant/constants.js +1 -0
  86. package/dist-cms/packages/core/variant/context/constants.d.ts +1 -0
  87. package/dist-cms/packages/core/variant/context/constants.js +1 -0
  88. package/dist-cms/packages/core/variant/context/index.d.ts +1 -0
  89. package/dist-cms/packages/core/variant/context/index.js +1 -0
  90. package/dist-cms/packages/core/variant/context/variant.context.d.ts +91 -0
  91. package/dist-cms/packages/core/variant/context/variant.context.js +141 -0
  92. package/dist-cms/packages/core/variant/context/variant.context.token.d.ts +3 -0
  93. package/dist-cms/packages/core/variant/context/variant.context.token.js +2 -0
  94. package/dist-cms/packages/core/variant/index.d.ts +2 -0
  95. package/dist-cms/packages/core/variant/index.js +2 -0
  96. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.js +3 -1
  97. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +2 -2
  98. package/dist-cms/packages/core/workspace/controllers/workspace-is-new-redirect.controller.d.ts +7 -0
  99. package/dist-cms/packages/core/workspace/controllers/workspace-is-new-redirect.controller.js +31 -10
  100. package/dist-cms/packages/core/workspace/controllers/workspace-route-manager.controller.js +5 -5
  101. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +1 -1
  102. package/dist-cms/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.js +0 -4
  103. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.d.ts +1 -0
  104. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.js +10 -0
  105. package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.js +4 -1
  106. package/dist-cms/packages/data-type/collection/repository/data-type-collection.repository.js +6 -1
  107. package/dist-cms/packages/data-type/constants.d.ts +1 -0
  108. package/dist-cms/packages/data-type/constants.js +1 -0
  109. package/dist-cms/packages/data-type/repository/detail/data-type-detail.repository.js +6 -1
  110. package/dist-cms/packages/data-type/search/constants.d.ts +2 -0
  111. package/dist-cms/packages/data-type/search/constants.js +2 -0
  112. package/dist-cms/packages/data-type/search/global-search/constants.d.ts +1 -0
  113. package/dist-cms/packages/data-type/search/global-search/constants.js +1 -0
  114. package/dist-cms/packages/data-type/search/global-search/manifests.d.ts +1 -0
  115. package/dist-cms/packages/data-type/search/global-search/manifests.js +22 -0
  116. package/dist-cms/packages/data-type/search/manifests.js +2 -0
  117. package/dist-cms/packages/dictionary/search/constants.d.ts +1 -0
  118. package/dist-cms/packages/dictionary/search/constants.js +1 -0
  119. package/dist-cms/packages/dictionary/search/global-search/constants.d.ts +1 -0
  120. package/dist-cms/packages/dictionary/search/global-search/constants.js +1 -0
  121. package/dist-cms/packages/dictionary/search/global-search/manifests.d.ts +1 -0
  122. package/dist-cms/packages/dictionary/search/global-search/manifests.js +22 -0
  123. package/dist-cms/packages/dictionary/search/manifests.js +2 -0
  124. package/dist-cms/packages/documents/document-blueprints/workspace/document-blueprint-workspace-editor.element.js +5 -4
  125. package/dist-cms/packages/documents/document-types/search/constants.d.ts +1 -0
  126. package/dist-cms/packages/documents/document-types/search/constants.js +1 -0
  127. package/dist-cms/packages/documents/document-types/search/global-search/constants.d.ts +1 -0
  128. package/dist-cms/packages/documents/document-types/search/global-search/constants.js +1 -0
  129. package/dist-cms/packages/documents/document-types/search/global-search/manifests.d.ts +1 -0
  130. package/dist-cms/packages/documents/document-types/search/global-search/manifests.js +22 -0
  131. package/dist-cms/packages/documents/document-types/search/manifests.js +2 -0
  132. package/dist-cms/packages/documents/documents/collection/document-collection.context.d.ts +2 -0
  133. package/dist-cms/packages/documents/documents/collection/document-collection.context.js +23 -0
  134. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +4 -0
  135. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +2 -2
  136. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +55 -68
  137. package/dist-cms/packages/documents/documents/item/document-item-ref.element.d.ts +4 -0
  138. package/dist-cms/packages/documents/documents/item/document-item-ref.element.js +33 -2
  139. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.d.ts +1 -0
  140. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.js +14 -8
  141. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.d.ts +0 -1
  142. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.js +0 -42
  143. package/dist-cms/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.js +12 -2
  144. package/dist-cms/packages/documents/documents/search/constants.d.ts +1 -0
  145. package/dist-cms/packages/documents/documents/search/constants.js +1 -0
  146. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +3 -2
  147. package/dist-cms/packages/documents/documents/search/global-search/constants.d.ts +1 -0
  148. package/dist-cms/packages/documents/documents/search/global-search/constants.js +1 -0
  149. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.d.ts +6 -0
  150. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.js +15 -0
  151. package/dist-cms/packages/documents/documents/search/global-search/manifests.d.ts +1 -0
  152. package/dist-cms/packages/documents/documents/search/global-search/manifests.js +23 -0
  153. package/dist-cms/packages/documents/documents/search/manifests.js +2 -0
  154. package/dist-cms/packages/documents/documents/search/types.d.ts +1 -0
  155. package/dist-cms/packages/documents/documents/types.d.ts +1 -0
  156. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.d.ts +37 -0
  157. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.js +78 -0
  158. package/dist-cms/packages/documents/documents/url/index.d.ts +2 -0
  159. package/dist-cms/packages/documents/documents/url/index.js +2 -0
  160. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.d.ts +0 -1
  161. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.js +29 -24
  162. package/dist-cms/packages/documents/documents/url/repository/types.d.ts +1 -1
  163. package/dist-cms/packages/documents/documents/url/types.d.ts +1 -0
  164. package/dist-cms/packages/documents/documents/url/types.js +1 -0
  165. package/dist-cms/packages/documents/documents/user-permissions/document/conditions/document-user-permission.condition.js +3 -1
  166. package/dist-cms/packages/documents/documents/workspace/actions/save.action.js +4 -2
  167. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +13 -7
  168. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +29 -0
  169. package/dist-cms/packages/language/global-contexts/app-language.context.js +14 -12
  170. package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +3 -0
  171. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +4 -0
  172. package/dist-cms/packages/media/media/constants.d.ts +1 -1
  173. package/dist-cms/packages/media/media/constants.js +1 -1
  174. package/dist-cms/packages/media/media/dashboard/media-dashboard.element.js +1 -0
  175. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +8 -0
  176. package/dist-cms/packages/media/media/search/constants.d.ts +1 -0
  177. package/dist-cms/packages/media/media/search/constants.js +1 -0
  178. package/dist-cms/packages/media/media/search/global-search/constants.d.ts +1 -0
  179. package/dist-cms/packages/media/media/search/global-search/constants.js +1 -0
  180. package/dist-cms/packages/media/media/search/global-search/manifests.d.ts +1 -0
  181. package/dist-cms/packages/media/media/search/global-search/manifests.js +23 -0
  182. package/dist-cms/packages/media/media/search/global-search/media-global-search.d.ts +15 -0
  183. package/dist-cms/packages/media/media/search/global-search/media-global-search.js +15 -0
  184. package/dist-cms/packages/media/media/search/manifests.js +2 -0
  185. package/dist-cms/packages/media/media/search/media-search.server.data-source.js +3 -2
  186. package/dist-cms/packages/media/media/search/types.d.ts +1 -0
  187. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +1 -0
  188. package/dist-cms/packages/media/media-types/constants.d.ts +1 -0
  189. package/dist-cms/packages/media/media-types/constants.js +1 -0
  190. package/dist-cms/packages/media/media-types/search/constants.d.ts +2 -0
  191. package/dist-cms/packages/media/media-types/search/constants.js +2 -0
  192. package/dist-cms/packages/media/media-types/search/global-search/constants.d.ts +1 -0
  193. package/dist-cms/packages/media/media-types/search/global-search/constants.js +1 -0
  194. package/dist-cms/packages/media/media-types/search/global-search/manifests.d.ts +1 -0
  195. package/dist-cms/packages/media/media-types/search/global-search/manifests.js +22 -0
  196. package/dist-cms/packages/media/media-types/search/manifests.js +4 -1
  197. package/dist-cms/packages/members/member/repository/member-repository-base.d.ts +8 -8
  198. package/dist-cms/packages/members/member/repository/member-repository-base.js +13 -12
  199. package/dist-cms/packages/members/member/search/constants.d.ts +1 -0
  200. package/dist-cms/packages/members/member/search/constants.js +1 -0
  201. package/dist-cms/packages/members/member/search/global-search/constants.d.ts +1 -0
  202. package/dist-cms/packages/members/member/search/global-search/constants.js +1 -0
  203. package/dist-cms/packages/members/member/search/global-search/manifests.d.ts +1 -0
  204. package/dist-cms/packages/members/member/search/global-search/manifests.js +22 -0
  205. package/dist-cms/packages/members/member/search/manifests.js +2 -0
  206. package/dist-cms/packages/members/member/workspace/member/member-workspace-editor.element.js +1 -0
  207. package/dist-cms/packages/members/member-type/constants.d.ts +1 -0
  208. package/dist-cms/packages/members/member-type/constants.js +1 -0
  209. package/dist-cms/packages/members/member-type/search/constants.d.ts +2 -0
  210. package/dist-cms/packages/members/member-type/search/constants.js +2 -0
  211. package/dist-cms/packages/members/member-type/search/global-search/constants.d.ts +1 -0
  212. package/dist-cms/packages/members/member-type/search/global-search/constants.js +1 -0
  213. package/dist-cms/packages/members/member-type/search/global-search/manifests.d.ts +1 -0
  214. package/dist-cms/packages/members/member-type/search/global-search/manifests.js +22 -0
  215. package/dist-cms/packages/members/member-type/search/manifests.js +4 -1
  216. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +4 -0
  217. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +48 -1
  218. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.d.ts +2 -2
  219. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +95 -34
  220. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +1 -0
  221. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +6 -1
  222. package/dist-cms/packages/search/global-search/global-search-base.d.ts +11 -0
  223. package/dist-cms/packages/search/global-search/global-search-base.js +49 -0
  224. package/dist-cms/packages/search/global-search/global-search.extension.d.ts +15 -0
  225. package/dist-cms/packages/search/global-search/global-search.extension.js +1 -0
  226. package/dist-cms/packages/search/global-search/index.d.ts +1 -0
  227. package/dist-cms/packages/search/global-search/index.js +1 -0
  228. package/dist-cms/packages/search/global-search/types.d.ts +4 -0
  229. package/dist-cms/packages/search/global-search/types.js +1 -0
  230. package/dist-cms/packages/search/index.d.ts +1 -0
  231. package/dist-cms/packages/search/index.js +1 -0
  232. package/dist-cms/packages/search/search-modal/search-modal.element.d.ts +4 -4
  233. package/dist-cms/packages/search/search-modal/search-modal.element.js +40 -29
  234. package/dist-cms/packages/search/types.d.ts +1 -0
  235. package/dist-cms/packages/segment/package.json +8 -0
  236. package/dist-cms/packages/settings/package.json +8 -0
  237. package/dist-cms/packages/settings/vite.config.d.ts +2 -0
  238. package/dist-cms/packages/settings/vite.config.js +11 -0
  239. package/dist-cms/packages/sysinfo/components/sysinfo.element.js +49 -9
  240. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.d.ts +3 -0
  241. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.js +8 -0
  242. package/dist-cms/packages/templating/templates/constants.d.ts +1 -0
  243. package/dist-cms/packages/templating/templates/constants.js +1 -0
  244. package/dist-cms/packages/templating/templates/search/constants.d.ts +2 -0
  245. package/dist-cms/packages/templating/templates/search/constants.js +2 -0
  246. package/dist-cms/packages/templating/templates/search/global-search/constants.d.ts +1 -0
  247. package/dist-cms/packages/templating/templates/search/global-search/constants.js +1 -0
  248. package/dist-cms/packages/templating/templates/search/global-search/manifests.d.ts +1 -0
  249. package/dist-cms/packages/templating/templates/search/global-search/manifests.js +22 -0
  250. package/dist-cms/packages/templating/templates/search/manifests.js +4 -1
  251. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.d.ts +6 -1
  252. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.js +16 -6
  253. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.d.ts +6 -1
  254. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.js +27 -6
  255. package/dist-cms/packages/translation/package.json +8 -0
  256. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.d.ts +1 -1
  257. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.js +4 -8
  258. package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +0 -11
  259. package/dist-cms/packages/user/current-user/current-user.context.js +4 -1
  260. package/dist-cms/packages/user/current-user/external-login/manifests.js +0 -1
  261. package/dist-cms/packages/user/current-user/mfa-login/manifests.js +0 -1
  262. package/dist-cms/packages/user/current-user/repository/current-user.repository.d.ts +2 -2
  263. package/dist-cms/packages/user/current-user/repository/current-user.repository.js +8 -5
  264. package/dist-cms/packages/user/user/repository/user-repository-base.d.ts +7 -7
  265. package/dist-cms/packages/user/user/repository/user-repository-base.js +13 -12
  266. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.js +4 -1
  267. package/dist-cms/packages/webhook/webhook-event/repository/webhook-event.repository.d.ts +4 -0
  268. package/dist-cms/packages/webhook/webhook-event/repository/webhook-event.repository.js +7 -1
  269. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  270. package/dist-cms/umbraco-package-schema.json +147 -0
  271. package/dist-cms/umbraco-package.json +1 -1
  272. package/dist-cms/vscode-html-custom-data.json +61 -15
  273. package/examples/modal-routed/dashboard.element.ts +1 -0
  274. package/examples/modal-routed/modal/example-modal.element.ts +1 -0
  275. package/examples/validation-context/validation-context-dashboard.ts +12 -12
  276. package/package.json +7 -7
  277. package/dist-cms/packages/content/content/content-property.context-token.d.ts +0 -3
  278. package/dist-cms/packages/content/content/content-property.context-token.js +0 -2
  279. package/dist-cms/packages/content/content/content-property.context.js +0 -14
  280. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-property.element.d.ts +0 -21
  281. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-property.element.js +0 -63
@@ -1,2 +1,2 @@
1
1
  export declare const themes: Array<UmbExtensionManifest>;
2
- export declare const manifests: (import("../modal/types.js").ManifestModal | import("../collection/types.js").ManifestCollection | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | /*elided*/ any>>>>>>>>>>>) | import("../repository/types.js").ManifestDataSourceDataMapping<import("../repository/types.js").MetaDataSourceDataMapping> | import("../entity-bulk-action/types.js").ManifestEntityBulkActionDeleteKind | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceInfoApp<import("../workspace/types.js").MetaWorkspaceInfoApp> | import("../workspace/types.js").ManifestWorkspaceDefaultKind | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction, import("../workspace/types.js").UmbWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction>> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("@umbraco-cms/backoffice/controller-api").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | import("../property/types.js").ManifestPropertyContext<import("../property/types.js").MetaPropertyContext> | import("../property/types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("../property/types.js").ManifestPropertyValuePreset | import("../property/types.js").ManifestPropertyValueResolver | import("@umbraco-cms/backoffice/ufm").ManifestUfmComponent | import("@umbraco-cms/backoffice/ufm").ManifestUfmFilter | import("../entity-action/types.js").ManifestEntityActionDeleteKind | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/types.js").ManifestEntityActionDefaultKind | import("../entity-action/common/create/types.js").ManifestEntityActionCreateKind | import("../entity-create-option-action/entity-create-option-action.extension.js").ManifestEntityCreateOptionAction<import("../entity-create-option-action/entity-create-option-action.extension.js").MetaEntityCreateOptionAction> | import("../icon-registry/types.js").ManifestIcons | import("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemLinkKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../entity-item/entity-item-ref/entity-item-ref.extension.js").ManifestEntityItemRef<import("../entity-item/entity-item-ref/entity-item-ref.extension.js").MetaEntityItemRef> | import("@umbraco-cms/backoffice/content").ManifestWorkspaceViewContentCollectionKind | import("@umbraco-cms/backoffice/content").ManifestEntityActionSortChildrenOfContentKind | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("@umbraco-cms/backoffice/search").ManifestSearchProvider | import("@umbraco-cms/backoffice/search").ManifestSearchResultItem | import("../picker/types.js").ManifestPickerSearchResultItem | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | import("@umbraco-cms/backoffice/current-user").ManifestUserProfileApp | import("@umbraco-cms/backoffice/current-user").ManifestCurrentUserAction<import("@umbraco-cms/backoffice/current-user").MetaCurrentUserAction> | import("@umbraco-cms/backoffice/user-permission").ManifestEntityUserPermission | import("@umbraco-cms/backoffice/user-permission").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("@umbraco-cms/backoffice/extension-api").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("./theme.extension.js").ManifestTheme | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../recycle-bin/types.js").ManifestEntityActionTrashKind | import("../recycle-bin/types.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityActionEmptyRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityBulkActionTrashKind | import("../recycle-bin/tree/tree-item/types.js").ManifestTreeItemRecycleBinKind | import("../server-file-system/types.js").ManifestEntityActionRenameServerFileKind | import("../tree/folder/entity-create-option-action/types.js").ManifestEntityCreateOptionActionFolderKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/bulk-trash/types.js").ManifestEntityBulkActionTrashWithRelationKind | import("@umbraco-cms/backoffice/block-custom-view").ManifestBlockEditorCustomView | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardCopyPropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardPastePropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionPasteFromClipboardKind | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionCopyToClipboardKind | import("@umbraco-cms/backoffice/media").ManifestFileUploadPreview | import("@umbraco-cms/backoffice/health-check").ManifestHealthCheck | import("@umbraco-cms/backoffice/package").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/trash/types.js").ManifestEntityActionTrashWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionStyleMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapStatusbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapStatusbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapExtension> | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("@umbraco-cms/backoffice/markdown-editor").ManifestMonacoMarkdownEditorAction)[];
2
+ export declare const manifests: (import("../modal/types.js").ManifestModal | import("../collection/types.js").ManifestCollection | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | /*elided*/ any>>>>>>>>>>>) | import("../repository/types.js").ManifestDataSourceDataMapping<import("../repository/types.js").MetaDataSourceDataMapping> | import("../entity-bulk-action/types.js").ManifestEntityBulkActionDeleteKind | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceInfoApp<import("../workspace/types.js").MetaWorkspaceInfoApp> | import("../workspace/types.js").ManifestWorkspaceDefaultKind | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction, import("../workspace/types.js").UmbWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction>> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("@umbraco-cms/backoffice/controller-api").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | import("../property/types.js").ManifestPropertyContext<import("../property/types.js").MetaPropertyContext> | import("../property/types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("../property/types.js").ManifestPropertyValuePreset | import("../property/types.js").ManifestPropertyValueResolver | import("@umbraco-cms/backoffice/ufm").ManifestUfmComponent | import("@umbraco-cms/backoffice/ufm").ManifestUfmFilter | import("../entity-action/types.js").ManifestEntityActionDeleteKind | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/types.js").ManifestEntityActionDefaultKind | import("../entity-action/common/create/types.js").ManifestEntityActionCreateKind | import("../entity-create-option-action/entity-create-option-action.extension.js").ManifestEntityCreateOptionAction<import("../entity-create-option-action/entity-create-option-action.extension.js").MetaEntityCreateOptionAction> | import("../icon-registry/types.js").ManifestIcons | import("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemLinkKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../entity-item/entity-item-ref/entity-item-ref.extension.js").ManifestEntityItemRef<import("../entity-item/entity-item-ref/entity-item-ref.extension.js").MetaEntityItemRef> | import("@umbraco-cms/backoffice/content").ManifestWorkspaceViewContentCollectionKind | import("@umbraco-cms/backoffice/content").ManifestEntityActionSortChildrenOfContentKind | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("@umbraco-cms/backoffice/search").ManifestSearchProvider | import("@umbraco-cms/backoffice/search").ManifestSearchResultItem | import("@umbraco-cms/backoffice/search").ManifestGlobalSearch | import("../picker/types.js").ManifestPickerSearchResultItem | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | import("@umbraco-cms/backoffice/current-user").ManifestUserProfileApp | import("@umbraco-cms/backoffice/current-user").ManifestCurrentUserAction<import("@umbraco-cms/backoffice/current-user").MetaCurrentUserAction> | import("@umbraco-cms/backoffice/user-permission").ManifestEntityUserPermission | import("@umbraco-cms/backoffice/user-permission").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("@umbraco-cms/backoffice/extension-api").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("./theme.extension.js").ManifestTheme | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../recycle-bin/types.js").ManifestEntityActionTrashKind | import("../recycle-bin/types.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityActionEmptyRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityBulkActionTrashKind | import("../recycle-bin/tree/tree-item/types.js").ManifestTreeItemRecycleBinKind | import("../server-file-system/types.js").ManifestEntityActionRenameServerFileKind | import("../tree/folder/entity-create-option-action/types.js").ManifestEntityCreateOptionActionFolderKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/bulk-trash/types.js").ManifestEntityBulkActionTrashWithRelationKind | import("@umbraco-cms/backoffice/block-custom-view").ManifestBlockEditorCustomView | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardCopyPropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardPastePropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionPasteFromClipboardKind | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionCopyToClipboardKind | import("@umbraco-cms/backoffice/media").ManifestFileUploadPreview | import("@umbraco-cms/backoffice/health-check").ManifestHealthCheck | import("@umbraco-cms/backoffice/package").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/trash/types.js").ManifestEntityActionTrashWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionStyleMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapStatusbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapStatusbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapExtension> | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("@umbraco-cms/backoffice/markdown-editor").ManifestMonacoMarkdownEditorAction)[];
@@ -51,7 +51,7 @@ export declare abstract class UmbTreeRepositoryBase<TreeItemType extends UmbTree
51
51
  asObservable?: undefined;
52
52
  } | {
53
53
  data: import("@umbraco-cms/backoffice/repository").UmbPagedModel<TreeItemType> | undefined;
54
- error: UmbProblemDetails;
54
+ error: any;
55
55
  asObservable: () => import("rxjs").Observable<TreeItemType[]>;
56
56
  }>;
57
57
  /**
@@ -62,6 +62,10 @@ export declare abstract class UmbTreeRepositoryBase<TreeItemType extends UmbTree
62
62
  * @memberof UmbTreeRepositoryBase
63
63
  */
64
64
  requestTreeItemsOf(args: TreeChildrenOfRequestArgsType): Promise<{
65
+ data?: undefined;
66
+ error?: undefined;
67
+ asObservable?: undefined;
68
+ } | {
65
69
  data: import("@umbraco-cms/backoffice/repository").UmbPagedModel<TreeItemType> | undefined;
66
70
  error: any;
67
71
  asObservable: () => import("rxjs").Observable<TreeItemType[]>;
@@ -1,4 +1,5 @@
1
1
  import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository';
2
+ import { of } from '@umbraco-cms/backoffice/external/rxjs';
2
3
  /**
3
4
  * Base class for a tree repository.
4
5
  * @abstract
@@ -21,10 +22,11 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
21
22
  super(host);
22
23
  this._treeSource = new treeSourceConstructor(this);
23
24
  this._init = this.consumeContext(treeStoreContextAlias, (instance) => {
24
- if (instance) {
25
- this._treeStore = instance;
26
- }
27
- }).asPromise({ preventTimeout: true });
25
+ this._treeStore = instance;
26
+ })
27
+ .asPromise({ preventTimeout: true })
28
+ // Ignore the error, we can assume that the flow was stopped (asPromise failed), but it does not mean that the consumption was not successful.
29
+ .catch(() => undefined);
28
30
  }
29
31
  /**
30
32
  * Requests root items of a tree
@@ -40,9 +42,9 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
40
42
  return {};
41
43
  }
42
44
  if (data) {
43
- this._treeStore?.appendItems(data.items);
45
+ this._treeStore.appendItems(data.items);
44
46
  }
45
- // TODO: Notice we are casting the error here, is that right?
47
+ // TODO: Fix the type of error, it should be UmbApiError, but currently it is any.
46
48
  return { data, error: error, asObservable: () => this._treeStore.rootItems };
47
49
  }
48
50
  /**
@@ -60,12 +62,16 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
60
62
  if (args.parent.entityType === null)
61
63
  throw new Error('Parent entity type is missing');
62
64
  await this._init;
63
- const { data, error: _error } = await this._treeSource.getChildrenOf(args);
64
- const error = _error;
65
+ const { data, error } = await this._treeSource.getChildrenOf(args);
66
+ if (!this._treeStore) {
67
+ // If the tree store is not available, then we most likely are in a destructed setting.
68
+ return {};
69
+ }
65
70
  if (data) {
66
- this._treeStore?.appendItems(data.items);
71
+ this._treeStore.appendItems(data.items);
67
72
  }
68
- return { data, error, asObservable: () => this._treeStore.childrenOf(args.parent.unique) };
73
+ // TODO: Fix the type of error, it should be UmbApiError, but currently it is any.
74
+ return { data, error: error, asObservable: () => this._treeStore.childrenOf(args.parent.unique) };
69
75
  }
70
76
  /**
71
77
  * Requests ancestors of a given item
@@ -77,10 +83,10 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
77
83
  if (args.treeItem.unique === undefined)
78
84
  throw new Error('Descendant unique is missing');
79
85
  await this._init;
80
- const { data, error: _error } = await this._treeSource.getAncestorsOf(args);
81
- const error = _error;
86
+ const { data, error } = await this._treeSource.getAncestorsOf(args);
82
87
  // TODO: implement observable for ancestor items in the store
83
- return { data, error };
88
+ // TODO: Fix the type of error, it should be UmbApiError, but currently it is any.
89
+ return { data, error: error };
84
90
  }
85
91
  /**
86
92
  * Returns a promise with an observable of tree root items
@@ -89,6 +95,10 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
89
95
  */
90
96
  async rootTreeItems() {
91
97
  await this._init;
98
+ if (!this._treeStore) {
99
+ // If the tree store is not available, then we most likely are in a destructed setting.
100
+ return of([]);
101
+ }
92
102
  return this._treeStore.rootItems;
93
103
  }
94
104
  /**
@@ -101,6 +111,10 @@ export class UmbTreeRepositoryBase extends UmbRepositoryBase {
101
111
  if (parentUnique === undefined)
102
112
  throw new Error('Parent unique is missing');
103
113
  await this._init;
114
+ if (!this._treeStore) {
115
+ // If the tree store is not available, then we most likely are in a destructed setting.
116
+ return of([]);
117
+ }
104
118
  return this._treeStore.childrenOf(parentUnique);
105
119
  }
106
120
  }
@@ -26,7 +26,7 @@ let UmbTreeItemElement = class UmbTreeItemElement extends UmbExtensionElementAnd
26
26
  this.observe(
27
27
  // TODO: what should we do if there are multiple tree items for an entity type?
28
28
  // This method gets all extensions based on a type, then filters them based on the entity type. and then we get the alias of the first one [NL]
29
- createObservablePart(umbExtensionsRegistry.byTypeAndFilter(this.getExtensionType(), filterByEntityType), (x) => x[0].alias), (alias) => {
29
+ createObservablePart(umbExtensionsRegistry.byTypeAndFilter(this.getExtensionType(), filterByEntityType), (x) => x[0]?.alias), (alias) => {
30
30
  this.alias = alias;
31
31
  }, 'umbObserveAlias');
32
32
  }
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * Get the dimensions of an image from a URL.
3
3
  * @param {string} url The URL of the image. It can be a local file (blob url) or a remote file.
4
- * @param {{maxWidth?: number}} opts Options for the image size.
5
- * @param {number} opts.maxWidth The maximum width of the image. If the image is wider than this, it will be scaled down to this width while keeping the aspect ratio.
6
- * @returns {Promise<{width: number, height: number, naturalWidth: number, naturalHeight: number}>} The width and height of the image as downloaded from the URL. The width and height can differ from the natural numbers if maxImageWidth is given.
4
+ * @param {{maxWidth?: number, maxHeight?: number}} opts Options for the image size.
5
+ * @param {number} opts.maxWidth The maximum width of the image.
6
+ * @param {number} opts.maxHeight The maximum height of the image.
7
+ * @returns {Promise<{width: number, height: number, naturalWidth: number, naturalHeight: number}>} The dimensions of the image.
7
8
  */
8
9
  export declare function imageSize(url: string, opts?: {
9
10
  maxWidth?: number;
11
+ maxHeight?: number;
10
12
  }): Promise<{
11
13
  width: number;
12
14
  height: number;
@@ -1,32 +1,30 @@
1
1
  /**
2
2
  * Get the dimensions of an image from a URL.
3
3
  * @param {string} url The URL of the image. It can be a local file (blob url) or a remote file.
4
- * @param {{maxWidth?: number}} opts Options for the image size.
5
- * @param {number} opts.maxWidth The maximum width of the image. If the image is wider than this, it will be scaled down to this width while keeping the aspect ratio.
6
- * @returns {Promise<{width: number, height: number, naturalWidth: number, naturalHeight: number}>} The width and height of the image as downloaded from the URL. The width and height can differ from the natural numbers if maxImageWidth is given.
4
+ * @param {{maxWidth?: number, maxHeight?: number}} opts Options for the image size.
5
+ * @param {number} opts.maxWidth The maximum width of the image.
6
+ * @param {number} opts.maxHeight The maximum height of the image.
7
+ * @returns {Promise<{width: number, height: number, naturalWidth: number, naturalHeight: number}>} The dimensions of the image.
7
8
  */
8
9
  export function imageSize(url, opts) {
9
10
  const img = new Image();
10
11
  const promise = new Promise((resolve, reject) => {
11
12
  img.onload = () => {
12
- // Natural size is the actual image size regardless of rendering.
13
- // The 'normal' `width`/`height` are for the **rendered** size.
14
13
  const naturalWidth = img.naturalWidth;
15
14
  const naturalHeight = img.naturalHeight;
16
15
  let width = naturalWidth;
17
16
  let height = naturalHeight;
18
- if (opts?.maxWidth && opts.maxWidth > 0 && width > opts?.maxWidth) {
19
- const ratio = opts.maxWidth / naturalWidth;
20
- width = opts.maxWidth;
17
+ if ((opts?.maxWidth && opts.maxWidth > 0) || (opts?.maxHeight && opts.maxHeight > 0)) {
18
+ const widthRatio = opts?.maxWidth ? opts.maxWidth / naturalWidth : 1;
19
+ const heightRatio = opts?.maxHeight ? opts.maxHeight / naturalHeight : 1;
20
+ const ratio = Math.min(widthRatio, heightRatio, 1); // Never upscale
21
+ width = Math.round(naturalWidth * ratio);
21
22
  height = Math.round(naturalHeight * ratio);
22
23
  }
23
- // Resolve promise with the width and height
24
24
  resolve({ width, height, naturalWidth, naturalHeight });
25
25
  };
26
- // Reject promise on error
27
26
  img.onerror = reject;
28
27
  });
29
- // Setting the source makes it start downloading and eventually call `onload`
30
28
  img.src = url;
31
29
  return promise;
32
30
  }
@@ -24,7 +24,7 @@ export class UmbBindServerValidationToFormControl extends UmbControllerBase {
24
24
  this.#value = value;
25
25
  // Only remove server validations from validation context [NL]
26
26
  const toRemove = this.#messages.filter((x) => x.type === 'server').map((msg) => msg.key);
27
- this.#context?.messages.removeMessageByKeys(toRemove);
27
+ this.#context?.messages?.removeMessageByKeys(toRemove);
28
28
  }
29
29
  }
30
30
  }
@@ -22,7 +22,7 @@ export class UmbFormControlValidator extends UmbControllerBase {
22
22
  this.#context = context;
23
23
  context?.addValidator(this);
24
24
  // If we have a message already, then un-pristine the control:
25
- if (dataPath && context?.messages.getHasMessagesOfPathAndDescendant(dataPath)) {
25
+ if (dataPath && context?.messages?.getHasMessagesOfPathAndDescendant(dataPath)) {
26
26
  formControl.pristine = false;
27
27
  }
28
28
  });
@@ -37,12 +37,12 @@ export class UmbFormControlValidator extends UmbControllerBase {
37
37
  this.#isValid = newVal;
38
38
  if (this.#dataPath) {
39
39
  if (newVal) {
40
- this.#context?.messages.removeMessagesByTypeAndPath('client', this.#dataPath);
40
+ this.#context?.messages?.removeMessagesByTypeAndPath('client', this.#dataPath);
41
41
  }
42
42
  else {
43
43
  // We only want to add the message if it is not already there. (this could be a custom or server message that got binded to the control, we do not want that double.)
44
- if (!this.#context?.messages.getHasMessageOfPathAndBody(this.#dataPath, this.#control.validationMessage)) {
45
- this.#context?.messages.addMessage('client', this.#dataPath, this.#control.validationMessage);
44
+ if (!this.#context?.messages?.getHasMessageOfPathAndBody(this.#dataPath, this.#control.validationMessage)) {
45
+ this.#context?.messages?.addMessage('client', this.#dataPath, this.#control.validationMessage);
46
46
  }
47
47
  }
48
48
  }
@@ -38,6 +38,7 @@ export class UmbValidationPropertyPathTranslationController extends UmbControlle
38
38
  if (!api) {
39
39
  return propertyPaths;
40
40
  }
41
+ api.manifest = manifest;
41
42
  propertyPaths = (await api.translate(propertyPaths, propertyData)) ?? propertyPaths;
42
43
  return propertyPaths;
43
44
  }
@@ -15,7 +15,7 @@ export class UmbValidationController extends UmbControllerBase {
15
15
  // The current provider controller, that is providing this context:
16
16
  #providerCtrl;
17
17
  #inUnprovidingState;
18
- // @reprecated - Will be removed in v.17
18
+ // @deprecated - Will be removed in v.17
19
19
  // Local version of the data send to the server, only use-case is for translation.
20
20
  #translationData;
21
21
  /**
@@ -58,7 +58,7 @@ export class UmbValidationController extends UmbControllerBase {
58
58
  // This is overridden to avoid setting a controllerAlias, this might make sense, but currently i want to leave it out. [NL]
59
59
  super(host);
60
60
  this.#inUnprovidingState = false;
61
- // @reprecated - Will be removed in v.17
61
+ // @deprecated - Will be removed in v.17
62
62
  // Local version of the data send to the server, only use-case is for translation.
63
63
  this.#translationData = new UmbObjectState(undefined);
64
64
  this.#validators = [];
@@ -94,7 +94,7 @@ export class UmbValidationController extends UmbControllerBase {
94
94
  setVariantId(variantId) {
95
95
  this.#variantId = variantId;
96
96
  // @.culture == null && @.segment == null
97
- this.messages.filter((msg) => {
97
+ this.messages?.filter((msg) => {
98
98
  // Figure out how many times '@.culture ==' is present in the path:
99
99
  //const cultureMatches = (msg.path.match(/@\.culture ==/g) || []);
100
100
  // I like a Regex that finds all the @.culture == and @.segment == in the path. they are adjacent. and I like to know the value following '== '
@@ -120,7 +120,7 @@ export class UmbValidationController extends UmbControllerBase {
120
120
  * @param translator
121
121
  */
122
122
  async addTranslator(translator) {
123
- this.messages.addTranslator(translator);
123
+ this.messages?.addTranslator(translator);
124
124
  }
125
125
  /**
126
126
  * Remove a path translator from this validation context.
@@ -386,6 +386,7 @@ export class UmbValidationController extends UmbControllerBase {
386
386
  this.#validators = [];
387
387
  }
388
388
  destroy() {
389
+ super.destroy();
389
390
  this.#validationMode = false;
390
391
  if (this.#inUnprovidingState === true) {
391
392
  return;
@@ -400,6 +401,5 @@ export class UmbValidationController extends UmbControllerBase {
400
401
  this.#localMessages = undefined;
401
402
  this.#parentMessages = undefined;
402
403
  this.#parent = undefined;
403
- super.destroy();
404
404
  }
405
405
  }
@@ -0,0 +1 @@
1
+ export * from './context/constants.js';
@@ -0,0 +1 @@
1
+ export * from './context/constants.js';
@@ -0,0 +1 @@
1
+ export { UMB_VARIANT_CONTEXT } from './variant.context.token.js';
@@ -0,0 +1 @@
1
+ export { UMB_VARIANT_CONTEXT } from './variant.context.token.js';
@@ -0,0 +1 @@
1
+ export { UmbVariantContext } from './variant.context.js';
@@ -0,0 +1 @@
1
+ export { UmbVariantContext } from './variant.context.js';
@@ -0,0 +1,91 @@
1
+ import { UmbVariantId } from '../variant-id.class.js';
2
+ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
3
+ import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
4
+ /**
5
+ * A context for the current variant state.
6
+ * @class UmbVariantContext
7
+ * @augments {UmbContextBase}
8
+ * @implements {UmbVariantContext}
9
+ */
10
+ export declare class UmbVariantContext extends UmbContextBase {
11
+ #private;
12
+ readonly variantId: import("rxjs").Observable<UmbVariantId | undefined>;
13
+ readonly culture: import("rxjs").Observable<string | null | undefined>;
14
+ readonly segment: import("rxjs").Observable<string | null | undefined>;
15
+ fallbackCulture: import("rxjs").Observable<string | null | undefined>;
16
+ appCulture: import("rxjs").Observable<string | null | undefined>;
17
+ readonly displayCulture: import("rxjs").Observable<string | null | undefined>;
18
+ constructor(host: UmbControllerHost);
19
+ /**
20
+ * Inherit values from the parent variant context
21
+ * @returns {UmbVariantContext} - The current instance of the context
22
+ * @memberof UmbVariantContext
23
+ */
24
+ inherit(): UmbVariantContext;
25
+ /**
26
+ * Sets the variant id state
27
+ * @param {UmbVariantId | undefined} variantId - The variant to set
28
+ * @memberof UmbVariantContext
29
+ */
30
+ setVariantId(variantId: UmbVariantId | undefined): Promise<void>;
31
+ /**
32
+ * Gets variant state
33
+ * @returns {Promise<UmbVariantId | undefined>} - The variant state
34
+ * @memberof UmbVariantContext
35
+ */
36
+ getVariantId(): Promise<UmbVariantId | undefined>;
37
+ /**
38
+ * Gets the culture state
39
+ * @returns {(Promise<string | null | undefined>)} - The culture state
40
+ * @memberof UmbVariantContext
41
+ */
42
+ getCulture(): Promise<string | null | undefined>;
43
+ /**
44
+ * Sets the variant culture state
45
+ * @param {string | undefined} culture - The culture to set
46
+ * @memberof UmbVariantContext
47
+ */
48
+ setCulture(culture: string | null): Promise<void>;
49
+ /**
50
+ * Gets the variant segment state
51
+ * @returns {(Promise<string | null | undefined>)} - The segment state
52
+ * @memberof UmbVariantContext
53
+ */
54
+ getSegment(): Promise<string | null | undefined>;
55
+ /**
56
+ * Sets the variant segment state
57
+ * @param {string | undefined} segment - The segment to set
58
+ * @memberof UmbVariantContext
59
+ */
60
+ setSegment(segment: string | null): Promise<void>;
61
+ /**
62
+ * Gets the fallback culture state
63
+ * @returns {(Promise<string | null | undefined>)} - The fallback culture state
64
+ * @memberof UmbVariantContext
65
+ */
66
+ getFallbackCulture(): Promise<string | null | undefined>;
67
+ /**
68
+ * Sets the fallback culture state
69
+ * @param {string | undefined} culture - The fallback culture to set
70
+ * @memberof UmbVariantContext
71
+ */
72
+ setFallbackCulture(culture: string | null): Promise<void>;
73
+ /**
74
+ * Gets the app culture state
75
+ * @returns {(Promise<string | null | undefined>)} - The app culture state
76
+ * @memberof UmbVariantContext
77
+ */
78
+ getAppCulture(): Promise<string | null | undefined>;
79
+ /**
80
+ * Sets the app culture state
81
+ * @param {string | undefined} culture - The app culture to set
82
+ * @memberof UmbVariantContext
83
+ */
84
+ setAppCulture(culture: string | null): Promise<void>;
85
+ /**
86
+ * Gets the display culture state
87
+ * @returns {(Promise<string | null | undefined>)} - The app culture state
88
+ * @memberof UmbVariantContext
89
+ */
90
+ getDisplayCulture(): Promise<string | null | undefined>;
91
+ }
@@ -0,0 +1,141 @@
1
+ import { UmbVariantId } from '../variant-id.class.js';
2
+ import { UMB_VARIANT_CONTEXT } from './variant.context.token.js';
3
+ import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
4
+ import { mergeObservables, UmbClassState, UmbStringState } from '@umbraco-cms/backoffice/observable-api';
5
+ /**
6
+ * A context for the current variant state.
7
+ * @class UmbVariantContext
8
+ * @augments {UmbContextBase}
9
+ * @implements {UmbVariantContext}
10
+ */
11
+ export class UmbVariantContext extends UmbContextBase {
12
+ #variantId;
13
+ #fallbackCulture;
14
+ #appCulture;
15
+ constructor(host) {
16
+ super(host, UMB_VARIANT_CONTEXT);
17
+ this.#variantId = new UmbClassState(undefined);
18
+ this.variantId = this.#variantId.asObservable();
19
+ this.culture = this.#variantId.asObservablePart((x) => x?.culture);
20
+ this.segment = this.#variantId.asObservablePart((x) => x?.segment);
21
+ this.#fallbackCulture = new UmbStringState(undefined);
22
+ this.fallbackCulture = this.#fallbackCulture.asObservable();
23
+ this.#appCulture = new UmbStringState(undefined);
24
+ this.appCulture = this.#appCulture.asObservable();
25
+ this.displayCulture = mergeObservables([this.culture, this.appCulture], ([culture, appCulture]) => {
26
+ return culture ?? appCulture;
27
+ });
28
+ }
29
+ /**
30
+ * Inherit values from the parent variant context
31
+ * @returns {UmbVariantContext} - The current instance of the context
32
+ * @memberof UmbVariantContext
33
+ */
34
+ inherit() {
35
+ this.consumeContext(UMB_VARIANT_CONTEXT, (context) => {
36
+ this.observe(context?.fallbackCulture, (fallbackCulture) => {
37
+ if (!fallbackCulture)
38
+ return;
39
+ this.#fallbackCulture.setValue(fallbackCulture);
40
+ }, 'observeFallbackCulture');
41
+ this.observe(context?.appCulture, (appCulture) => {
42
+ if (!appCulture)
43
+ return;
44
+ this.#appCulture.setValue(appCulture);
45
+ }, 'observeAppCulture');
46
+ }).skipHost();
47
+ return this;
48
+ }
49
+ /**
50
+ * Sets the variant id state
51
+ * @param {UmbVariantId | undefined} variantId - The variant to set
52
+ * @memberof UmbVariantContext
53
+ */
54
+ async setVariantId(variantId) {
55
+ this.#variantId.setValue(variantId);
56
+ }
57
+ /**
58
+ * Gets variant state
59
+ * @returns {Promise<UmbVariantId | undefined>} - The variant state
60
+ * @memberof UmbVariantContext
61
+ */
62
+ async getVariantId() {
63
+ return this.#variantId.getValue();
64
+ }
65
+ /**
66
+ * Gets the culture state
67
+ * @returns {(Promise<string | null | undefined>)} - The culture state
68
+ * @memberof UmbVariantContext
69
+ */
70
+ async getCulture() {
71
+ return this.#variantId.getValue()?.culture;
72
+ }
73
+ /**
74
+ * Sets the variant culture state
75
+ * @param {string | undefined} culture - The culture to set
76
+ * @memberof UmbVariantContext
77
+ */
78
+ async setCulture(culture) {
79
+ const variantId = new UmbVariantId(culture, this.#variantId.getValue()?.segment);
80
+ this.#variantId.setValue(variantId);
81
+ }
82
+ /**
83
+ * Gets the variant segment state
84
+ * @returns {(Promise<string | null | undefined>)} - The segment state
85
+ * @memberof UmbVariantContext
86
+ */
87
+ async getSegment() {
88
+ return this.#variantId.getValue()?.segment;
89
+ }
90
+ /**
91
+ * Sets the variant segment state
92
+ * @param {string | undefined} segment - The segment to set
93
+ * @memberof UmbVariantContext
94
+ */
95
+ async setSegment(segment) {
96
+ const variantId = new UmbVariantId(this.#variantId.getValue()?.culture, segment);
97
+ this.#variantId.setValue(variantId);
98
+ }
99
+ /**
100
+ * Gets the fallback culture state
101
+ * @returns {(Promise<string | null | undefined>)} - The fallback culture state
102
+ * @memberof UmbVariantContext
103
+ */
104
+ async getFallbackCulture() {
105
+ return this.#fallbackCulture.getValue();
106
+ }
107
+ /**
108
+ * Sets the fallback culture state
109
+ * @param {string | undefined} culture - The fallback culture to set
110
+ * @memberof UmbVariantContext
111
+ */
112
+ async setFallbackCulture(culture) {
113
+ this.removeUmbControllerByAlias('observeFallbackCulture');
114
+ this.#fallbackCulture.setValue(culture);
115
+ }
116
+ /**
117
+ * Gets the app culture state
118
+ * @returns {(Promise<string | null | undefined>)} - The app culture state
119
+ * @memberof UmbVariantContext
120
+ */
121
+ async getAppCulture() {
122
+ return this.#appCulture.getValue();
123
+ }
124
+ /**
125
+ * Sets the app culture state
126
+ * @param {string | undefined} culture - The app culture to set
127
+ * @memberof UmbVariantContext
128
+ */
129
+ async setAppCulture(culture) {
130
+ this.removeUmbControllerByAlias('observeAppCulture');
131
+ this.#appCulture.setValue(culture);
132
+ }
133
+ /**
134
+ * Gets the display culture state
135
+ * @returns {(Promise<string | null | undefined>)} - The app culture state
136
+ * @memberof UmbVariantContext
137
+ */
138
+ async getDisplayCulture() {
139
+ return this.observe(this.displayCulture).asPromise();
140
+ }
141
+ }
@@ -0,0 +1,3 @@
1
+ import type { UmbVariantContext } from './variant.context.js';
2
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
3
+ export declare const UMB_VARIANT_CONTEXT: UmbContextToken<UmbVariantContext, UmbVariantContext>;
@@ -0,0 +1,2 @@
1
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
2
+ export const UMB_VARIANT_CONTEXT = new UmbContextToken('UmbVariantContext');
@@ -1,3 +1,5 @@
1
+ export * from './constants.js';
2
+ export * from './context/index.js';
1
3
  export * from './variant-id.class.js';
2
4
  export * from './variant-object-compare.function.js';
3
5
  export type * from './types.js';
@@ -1,2 +1,4 @@
1
+ export * from './constants.js';
2
+ export * from './context/index.js';
1
3
  export * from './variant-id.class.js';
2
4
  export * from './variant-object-compare.function.js';
@@ -7,7 +7,9 @@ export class UmbSaveWorkspaceAction extends UmbWorkspaceActionBase {
7
7
  this._workspaceContext = context;
8
8
  this.#observeUnique();
9
9
  this._gotWorkspaceContext();
10
- }).asPromise();
10
+ })
11
+ .asPromise()
12
+ .catch(() => undefined);
11
13
  }
12
14
  #observeUnique() {
13
15
  this.observe(this._workspaceContext?.unique, (unique) => {