@umbraco-cms/backoffice 17.4.0-rc2 → 17.4.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 (241) hide show
  1. package/dist-cms/apps/installer/consent/installer-consent.element.js +5 -1
  2. package/dist-cms/external/uui/package.json +2 -2
  3. package/dist-cms/libs/localization-api/localization.controller.d.ts +13 -0
  4. package/dist-cms/libs/localization-api/localization.controller.js +21 -0
  5. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +1 -1
  6. package/dist-cms/packages/content/content/rollback/modal/content-rollback-modal.element.js +2 -2
  7. package/dist-cms/packages/content/content-type/repository/structure/content-type-structure-server-data-source-base.d.ts +1 -1
  8. package/dist-cms/packages/core/auth/auth.context.d.ts +16 -7
  9. package/dist-cms/packages/core/auth/auth.context.js +91 -65
  10. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.d.ts +1 -1
  11. package/dist-cms/packages/core/components/input-toggle/input-toggle.element.d.ts +1 -1
  12. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-input.element.d.ts +1 -1
  13. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.d.ts +1 -1
  14. package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string-item.element.d.ts +1 -1
  15. package/dist-cms/packages/core/culture/components/input-culture-select/input-culture-select.element.d.ts +1 -1
  16. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  17. package/dist-cms/packages/core/entity-action/common/delete/delete.action.js +2 -1
  18. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.d.ts +1 -1
  19. package/dist-cms/packages/core/extension/picker-data-source/extension.picker-data-source.d.ts +1 -1
  20. package/dist-cms/packages/core/hint/context/hint.context-token.d.ts +1 -1
  21. package/dist-cms/packages/core/http-client/index.d.ts +32 -0
  22. package/dist-cms/packages/core/http-client/index.js +1 -0
  23. package/dist-cms/packages/core/modal/common/confirm/confirm-modal.element.js +2 -4
  24. package/dist-cms/packages/core/modal/common/info/info-modal.element.js +2 -4
  25. package/dist-cms/packages/core/object-type/input-object-type.element.d.ts +1 -1
  26. package/dist-cms/packages/core/object-type/object-type.repository.d.ts +1 -1
  27. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  28. package/dist-cms/packages/core/property-editor-data-source/input/input-property-editor-data-source.element.d.ts +1 -1
  29. package/dist-cms/packages/core/recycle-bin/entity-action/trash/trash.action.js +2 -1
  30. package/dist-cms/packages/core/recycle-bin/recycle-bin-repository-base.d.ts +1 -1
  31. package/dist-cms/packages/core/repository/detail/detail-repository-base.d.ts +2 -2
  32. package/dist-cms/packages/core/repository/item/item-repository-base.d.ts +1 -1
  33. package/dist-cms/packages/core/repository/item/item-server-data-source-base.d.ts +1 -1
  34. package/dist-cms/packages/core/server-file-system/rename/rename-server-file-repository-base.d.ts +1 -1
  35. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  36. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  37. package/dist-cms/packages/core/tree/data/tree-repository-base.d.ts +2 -2
  38. package/dist-cms/packages/core/tree/data/tree-server-data-source-base.d.ts +3 -3
  39. package/dist-cms/packages/core/view/context/view.controller.d.ts +1 -1
  40. package/dist-cms/packages/data-type/collection/repository/data-type-collection.repository.d.ts +1 -1
  41. package/dist-cms/packages/data-type/collection/repository/data-type-collection.server.data-source.d.ts +1 -1
  42. package/dist-cms/packages/data-type/components/data-type-flow-input/data-type-flow-input.element.d.ts +1 -1
  43. package/dist-cms/packages/data-type/components/data-type-input/data-type-input.element.d.ts +1 -1
  44. package/dist-cms/packages/data-type/entity-actions/conditions/manifests.d.ts +1 -1
  45. package/dist-cms/packages/data-type/entity-actions/duplicate/repository/data-type-duplicate.repository.d.ts +1 -1
  46. package/dist-cms/packages/data-type/entity-actions/move-to/repository/data-type-move.repository.d.ts +1 -1
  47. package/dist-cms/packages/data-type/repository/detail/server-data-source/data-type-detail.server.data-source.d.ts +4 -4
  48. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.d.ts +1 -1
  49. package/dist-cms/packages/data-type/search/data-type-search.repository.d.ts +1 -1
  50. package/dist-cms/packages/data-type/search/data-type-search.server.data-source.d.ts +1 -1
  51. package/dist-cms/packages/data-type/search/data-type.search-provider.d.ts +1 -1
  52. package/dist-cms/packages/data-type/tree/folder/repository/data-type-folder.server.data-source.d.ts +3 -3
  53. package/dist-cms/packages/data-type/tree/server-data-source/data-type-tree.server.data-source.d.ts +1 -1
  54. package/dist-cms/packages/dictionary/collection/repository/dictionary-collection.server.data-source.d.ts +1 -1
  55. package/dist-cms/packages/dictionary/entity-action/move-to/repository/dictionary-move.repository.d.ts +1 -1
  56. package/dist-cms/packages/dictionary/repository/detail/dictionary-detail.server.data-source.d.ts +3 -3
  57. package/dist-cms/packages/dictionary/repository/export/dictionary-export.repository.d.ts +1 -1
  58. package/dist-cms/packages/dictionary/repository/export/dictionary-export.server.data-source.d.ts +1 -1
  59. package/dist-cms/packages/dictionary/repository/import/dictionary-import.repository.d.ts +1 -1
  60. package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.d.ts +1 -1
  61. package/dist-cms/packages/dictionary/search/dictionary-search.repository.d.ts +1 -1
  62. package/dist-cms/packages/dictionary/search/dictionary-search.server.data-source.d.ts +1 -1
  63. package/dist-cms/packages/dictionary/search/dictionary.search-provider.d.ts +1 -1
  64. package/dist-cms/packages/documents/document-blueprints/audit-log/repository/document-blueprint-audit-log.repository.d.ts +1 -1
  65. package/dist-cms/packages/documents/document-blueprints/audit-log/repository/document-blueprint-audit-log.server.data-source.d.ts +1 -1
  66. package/dist-cms/packages/documents/document-blueprints/entity-actions/move-to/repository/document-blueprint-move.repository.d.ts +1 -1
  67. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.repository.d.ts +1 -1
  68. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.d.ts +2 -2
  69. package/dist-cms/packages/documents/document-blueprints/tree/folder/repository/document-blueprint-folder.server.data-source.d.ts +3 -3
  70. package/dist-cms/packages/documents/document-blueprints/tree/server-data-source/document-blueprint-tree.server.data-source.d.ts +1 -1
  71. package/dist-cms/packages/documents/document-types/entity-actions/duplicate/repository/document-type-duplicate.repository.d.ts +1 -1
  72. package/dist-cms/packages/documents/document-types/entity-actions/export/repository/document-type-export.repository.d.ts +1 -1
  73. package/dist-cms/packages/documents/document-types/entity-actions/export/repository/document-type-export.server.data-source.d.ts +1 -1
  74. package/dist-cms/packages/documents/document-types/entity-actions/import/repository/document-type-import.repository.d.ts +1 -1
  75. package/dist-cms/packages/documents/document-types/entity-actions/move-to/repository/document-type-move.repository.d.ts +1 -1
  76. package/dist-cms/packages/documents/document-types/repository/composition/document-type-composition.repository.d.ts +2 -2
  77. package/dist-cms/packages/documents/document-types/repository/composition/document-type-composition.server.data-source.d.ts +2 -2
  78. package/dist-cms/packages/documents/document-types/repository/detail/server-data-source/document-type-detail.server.data-source.d.ts +4 -4
  79. package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.d.ts +1 -1
  80. package/dist-cms/packages/documents/document-types/repository/template/document-type-template.server.data-source.d.ts +1 -1
  81. package/dist-cms/packages/documents/document-types/search/document-type-search.repository.d.ts +1 -1
  82. package/dist-cms/packages/documents/document-types/search/document-type-search.server.data-source.d.ts +1 -1
  83. package/dist-cms/packages/documents/document-types/search/document-type.search-provider.d.ts +1 -1
  84. package/dist-cms/packages/documents/document-types/tree/folder/repository/document-type-folder.server.data-source.d.ts +3 -3
  85. package/dist-cms/packages/documents/document-types/tree/server-data-source/document-type.tree.server.data-source.d.ts +1 -1
  86. package/dist-cms/packages/documents/documents/audit-log/repository/document-audit-log.repository.d.ts +1 -1
  87. package/dist-cms/packages/documents/documents/audit-log/repository/document-audit-log.server.data-source.d.ts +1 -1
  88. package/dist-cms/packages/documents/documents/collection/repository/document-collection.repository.d.ts +1 -1
  89. package/dist-cms/packages/documents/documents/collection/repository/document-collection.server.data-source.d.ts +1 -1
  90. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint/repository/document-create-blueprint.repository.d.ts +1 -1
  91. package/dist-cms/packages/documents/documents/entity-actions/duplicate/repository/document-duplicate.repository.d.ts +1 -1
  92. package/dist-cms/packages/documents/documents/entity-actions/move-to/repository/document-move.repository.d.ts +1 -1
  93. package/dist-cms/packages/documents/documents/entity-actions/notifications/repository/document-notifications.repository.d.ts +2 -2
  94. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.d.ts +1 -1
  95. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.repository.d.ts +1 -1
  96. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.d.ts +1 -1
  97. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.server.data-source.d.ts +1 -1
  98. package/dist-cms/packages/documents/documents/repository/detail/document-detail.server.data-source.d.ts +3 -3
  99. package/dist-cms/packages/documents/documents/rollback/modal/rollback-modal.element.js +2 -2
  100. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.d.ts +1 -1
  101. package/dist-cms/packages/documents/documents/tree/server-data-source/document-tree.server.data-source.d.ts +1 -1
  102. package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.d.ts +1 -1
  103. package/dist-cms/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.d.ts +1 -1
  104. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.d.ts +1 -1
  105. package/dist-cms/packages/documents/umbraco-package.d.ts +1 -1
  106. package/dist-cms/packages/embedded-media/repository/oembed.repository.d.ts +1 -1
  107. package/dist-cms/packages/language/collection/repository/language-collection.server.data-source.d.ts +1 -1
  108. package/dist-cms/packages/language/components/input-language/input-language.element.d.ts +1 -1
  109. package/dist-cms/packages/language/repository/detail/language-detail.server.data-source.d.ts +3 -3
  110. package/dist-cms/packages/language/repository/item/language-item.server.data-source.d.ts +1 -1
  111. package/dist-cms/packages/media/imaging/imaging.server.data.d.ts +1 -1
  112. package/dist-cms/packages/media/media/audit-log/repository/media-audit-log.repository.d.ts +1 -1
  113. package/dist-cms/packages/media/media/audit-log/repository/media-audit-log.server.data-source.d.ts +1 -1
  114. package/dist-cms/packages/media/media/collection/repository/media-collection.repository.d.ts +1 -1
  115. package/dist-cms/packages/media/media/collection/repository/media-collection.server.data-source.d.ts +1 -1
  116. package/dist-cms/packages/media/media/entity-actions/move-to/repository/media-move.repository.d.ts +1 -1
  117. package/dist-cms/packages/media/media/recycle-bin/repository/media-recycle-bin.server.data-source.d.ts +1 -1
  118. package/dist-cms/packages/media/media/repository/detail/media-detail.repository.d.ts +3 -3
  119. package/dist-cms/packages/media/media/repository/detail/media-detail.server.data-source.d.ts +3 -3
  120. package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.d.ts +1 -1
  121. package/dist-cms/packages/media/media/search/global-search/media-global-search.d.ts +1 -1
  122. package/dist-cms/packages/media/media/search/media-search.repository.d.ts +1 -1
  123. package/dist-cms/packages/media/media/search/media-search.server.data-source.d.ts +1 -1
  124. package/dist-cms/packages/media/media/search/media.search-provider.d.ts +1 -1
  125. package/dist-cms/packages/media/media/tree/server-data-source/media-tree.server.data-source.d.ts +1 -1
  126. package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.d.ts +1 -1
  127. package/dist-cms/packages/media/media-types/entity-actions/duplicate/repository/media-type-duplicate.repository.d.ts +1 -1
  128. package/dist-cms/packages/media/media-types/entity-actions/export/repository/media-type-export.repository.d.ts +2 -2
  129. package/dist-cms/packages/media/media-types/entity-actions/export/repository/media-type-export.server.data-source.d.ts +1 -1
  130. package/dist-cms/packages/media/media-types/entity-actions/import/repository/media-type-import.repository.d.ts +1 -1
  131. package/dist-cms/packages/media/media-types/entity-actions/move-to/repository/media-type-move.repository.d.ts +1 -1
  132. package/dist-cms/packages/media/media-types/repository/composition/media-type-composition.repository.d.ts +2 -2
  133. package/dist-cms/packages/media/media-types/repository/composition/media-type-composition.server.data-source.d.ts +2 -2
  134. package/dist-cms/packages/media/media-types/repository/detail/media-type-detail.server.data-source.d.ts +4 -4
  135. package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.d.ts +1 -1
  136. package/dist-cms/packages/media/media-types/repository/structure/media-type-structure.repository.d.ts +1 -1
  137. package/dist-cms/packages/media/media-types/repository/structure/media-type-structure.server.data-source.d.ts +1 -1
  138. package/dist-cms/packages/media/media-types/search/media-type-search.repository.d.ts +1 -1
  139. package/dist-cms/packages/media/media-types/search/media-type-search.server.data-source.d.ts +1 -1
  140. package/dist-cms/packages/media/media-types/search/media-type.search-provider.d.ts +1 -1
  141. package/dist-cms/packages/media/media-types/tree/folder/repository/media-type-folder.server.data-source.d.ts +3 -3
  142. package/dist-cms/packages/media/media-types/tree/server-data-source/media-type.tree.server.data-source.d.ts +1 -1
  143. package/dist-cms/packages/members/member/collection/repository/member-collection.repository.d.ts +1 -1
  144. package/dist-cms/packages/members/member/collection/repository/member-collection.server.data-source.d.ts +1 -1
  145. package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.d.ts +1 -1
  146. package/dist-cms/packages/members/member/repository/detail/member-detail.server.data-source.d.ts +3 -3
  147. package/dist-cms/packages/members/member/search/member-search.repository.d.ts +1 -1
  148. package/dist-cms/packages/members/member/search/member-search.server.data-source.d.ts +1 -1
  149. package/dist-cms/packages/members/member/search/member.search-provider.d.ts +1 -1
  150. package/dist-cms/packages/members/member-group/collection/repository/member-group-collection.server.data-source.d.ts +1 -1
  151. package/dist-cms/packages/members/member-group/repository/detail/member-group-detail.server.data-source.d.ts +3 -3
  152. package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.d.ts +1 -1
  153. package/dist-cms/packages/members/member-public-access/repository/public-access.repository.d.ts +4 -4
  154. package/dist-cms/packages/members/member-type/entity-actions/duplicate/repository/member-type-duplicate.repository.d.ts +1 -1
  155. package/dist-cms/packages/members/member-type/entity-actions/export/repository/member-type-export.repository.d.ts +2 -2
  156. package/dist-cms/packages/members/member-type/entity-actions/export/repository/member-type-export.server.data-source.d.ts +1 -1
  157. package/dist-cms/packages/members/member-type/entity-actions/import/repository/member-type-import.repository.d.ts +1 -1
  158. package/dist-cms/packages/members/member-type/entity-actions/move-to/repository/member-type-move.repository.d.ts +1 -1
  159. package/dist-cms/packages/members/member-type/repository/composition/member-type-composition.repository.d.ts +2 -2
  160. package/dist-cms/packages/members/member-type/repository/composition/member-type-composition.server.data-source.d.ts +2 -2
  161. package/dist-cms/packages/members/member-type/repository/detail/member-type-detail.server.data-source.d.ts +4 -4
  162. package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.d.ts +1 -1
  163. package/dist-cms/packages/members/member-type/search/member-type-search.repository.d.ts +1 -1
  164. package/dist-cms/packages/members/member-type/search/member-type-search.server.data-source.d.ts +1 -1
  165. package/dist-cms/packages/members/member-type/search/member-type.search-provider.d.ts +1 -1
  166. package/dist-cms/packages/members/member-type/tree/folder/repository/member-type-folder.server.data-source.d.ts +3 -3
  167. package/dist-cms/packages/members/member-type/tree/server-data-source/member-type-tree.server.data-source.d.ts +1 -1
  168. package/dist-cms/packages/packages/package/repository/sources/package.server.data.d.ts +1 -1
  169. package/dist-cms/packages/packages/package-section/views/installed/installed-packages-section-view.element.js +2 -2
  170. package/dist-cms/packages/property-editors/collection/config/column/components/input-collection-content-type-property.element.d.ts +1 -1
  171. package/dist-cms/packages/property-editors/color-picker/property-editor-ui-color-picker.element.js +14 -0
  172. package/dist-cms/packages/property-editors/content-picker/config/source-content/input-content-picker-source.element.d.ts +1 -1
  173. package/dist-cms/packages/property-editors/text-box/property-editor-ui-text-box.element.js +2 -2
  174. package/dist-cms/packages/property-editors/textarea/property-editor-ui-textarea.element.js +2 -2
  175. package/dist-cms/packages/relations/relation-types/collection/repository/relation-type-collection.server.data-source.d.ts +1 -1
  176. package/dist-cms/packages/relations/relation-types/repository/detail/relation-type-detail.repository.d.ts +1 -1
  177. package/dist-cms/packages/relations/relation-types/repository/detail/relation-type-detail.server.data-source.d.ts +1 -1
  178. package/dist-cms/packages/relations/relations/collection/repository/relation-collection.server.data-source.d.ts +1 -1
  179. package/dist-cms/packages/relations/relations/entity-actions/bulk-delete/modal/bulk-delete-with-relation-modal.element.js +7 -3
  180. package/dist-cms/packages/relations/relations/entity-actions/bulk-trash/modal/bulk-trash-with-relation-modal.element.js +8 -6
  181. package/dist-cms/packages/relations/relations/entity-actions/delete/modal/delete-with-relation-modal.element.js +2 -3
  182. package/dist-cms/packages/relations/relations/entity-actions/trash/modal/trash-with-relation-modal.element.js +8 -8
  183. package/dist-cms/packages/segment/collection/repository/segment-collection.server.data-source.d.ts +1 -1
  184. package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.d.ts +1 -1
  185. package/dist-cms/packages/tags/components/tags-input/tags-input.element.d.ts +1 -1
  186. package/dist-cms/packages/tags/repository/tag.repository.d.ts +2 -2
  187. package/dist-cms/packages/telemetry/dashboard-telemetry.element.js +5 -1
  188. package/dist-cms/packages/templating/partial-views/entity-actions/rename/rename-partial-view.server.data-source.d.ts +1 -1
  189. package/dist-cms/packages/templating/partial-views/repository/item/partial-view-item.server.data-source.d.ts +1 -1
  190. package/dist-cms/packages/templating/partial-views/repository/partial-view-detail.server.data-source.d.ts +3 -3
  191. package/dist-cms/packages/templating/partial-views/tree/folder/repository/partial-view-folder.server.data-source.d.ts +2 -2
  192. package/dist-cms/packages/templating/scripts/entity-actions/rename/rename-script.server.data-source.d.ts +1 -1
  193. package/dist-cms/packages/templating/scripts/repository/item/script-item.server.data-source.d.ts +1 -1
  194. package/dist-cms/packages/templating/scripts/repository/script-detail.server.data-source.d.ts +3 -3
  195. package/dist-cms/packages/templating/scripts/tree/folder/repository/script-folder.server.data-source.d.ts +2 -2
  196. package/dist-cms/packages/templating/stylesheets/entity-actions/rename/rename-stylesheet.server.data-source.d.ts +1 -1
  197. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-input/stylesheet-input.element.d.ts +1 -1
  198. package/dist-cms/packages/templating/stylesheets/repository/item/stylesheet-item.server.data-source.d.ts +1 -1
  199. package/dist-cms/packages/templating/stylesheets/repository/stylesheet-detail.server.data-source.d.ts +3 -3
  200. package/dist-cms/packages/templating/stylesheets/tree/folder/repository/stylesheet-folder.server.data-source.d.ts +2 -2
  201. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.d.ts +1 -1
  202. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.d.ts +1 -1
  203. package/dist-cms/packages/templating/templates/repository/detail/template-detail.server.data-source.d.ts +3 -3
  204. package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.d.ts +1 -1
  205. package/dist-cms/packages/templating/templates/search/template-search.repository.d.ts +1 -1
  206. package/dist-cms/packages/templating/templates/search/template-search.server.data-source.d.ts +1 -1
  207. package/dist-cms/packages/templating/templates/search/template.search-provider.d.ts +1 -1
  208. package/dist-cms/packages/templating/templates/tree/server-data-source/template-tree.server.data-source.d.ts +1 -1
  209. package/dist-cms/packages/user/current-user/repository/current-user.repository.d.ts +6 -6
  210. package/dist-cms/packages/user/current-user/repository/current-user.server.data-source.d.ts +4 -4
  211. package/dist-cms/packages/user/user/client-credential/repository/data-source/user-client-credential.server.data-source.d.ts +2 -2
  212. package/dist-cms/packages/user/user/collection/repository/user-collection.repository.d.ts +1 -1
  213. package/dist-cms/packages/user/user/collection/repository/user-collection.server.data-source.d.ts +1 -1
  214. package/dist-cms/packages/user/user/invite/repository/invite-user-server.data-source.d.ts +1 -1
  215. package/dist-cms/packages/user/user/invite/repository/invite-user.repository.d.ts +2 -2
  216. package/dist-cms/packages/user/user/repository/avatar/user-avatar.repository.d.ts +2 -2
  217. package/dist-cms/packages/user/user/repository/change-password/change-user-password.repository.d.ts +1 -1
  218. package/dist-cms/packages/user/user/repository/detail/user-detail.server.data-source.d.ts +4 -4
  219. package/dist-cms/packages/user/user/repository/disable/disable-user.repository.d.ts +1 -1
  220. package/dist-cms/packages/user/user/repository/enable/enable-user.repository.d.ts +1 -1
  221. package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.d.ts +1 -1
  222. package/dist-cms/packages/user/user/repository/unlock/unlock-user.repository.d.ts +1 -1
  223. package/dist-cms/packages/user/user/repository/user.repository.d.ts +3 -3
  224. package/dist-cms/packages/user/user/workspace/user/user-workspace.context.d.ts +1 -1
  225. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.d.ts +1 -1
  226. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data-source.d.ts +1 -1
  227. package/dist-cms/packages/user/user-group/components/input-user-group/user-group-input.element.d.ts +1 -1
  228. package/dist-cms/packages/user/user-group/repository/detail/user-group-detail.server.data-source.d.ts +3 -3
  229. package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.d.ts +1 -1
  230. package/dist-cms/packages/user/user-group/repository/users/user-group-users.repository.d.ts +1 -1
  231. package/dist-cms/packages/user/user-group/repository/users/user-group-users.server.data-source.d.ts +1 -1
  232. package/dist-cms/packages/user/user-permission/components/input-entity-user-permission/input-entity-user-permission.element.d.ts +1 -1
  233. package/dist-cms/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.d.ts +1 -1
  234. package/dist-cms/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.d.ts +3 -3
  235. package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.d.ts +1 -1
  236. package/dist-cms/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.d.ts +1 -1
  237. package/dist-cms/packages/webhook/webhook-event/repository/webhook-event.repository.d.ts +1 -1
  238. package/dist-cms/packages/webhook/webhook-event/repository/webhook-event.server.data-source.d.ts +1 -1
  239. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  240. package/package.json +3 -3
  241. package/umbraco-package-schema.json +405 -405
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { UMB_INSTALLER_CONTEXT } from '../installer.context.js';
8
8
  import { css, html, customElement, state, unsafeHTML } from '../../../external/lit/index.js';
9
+ import { sanitizeHTML } from '../../../packages/core/utils/index.js';
9
10
  import { TelemetryLevelModel } from '../../../packages/core/backend-api/index.js';
10
11
  import { umbFocus, UmbLitElement } from '../../../packages/core/lit-element/index.js';
11
12
  let UmbInstallerConsentElement = class UmbInstallerConsentElement extends UmbLitElement {
@@ -54,6 +55,9 @@ let UmbInstallerConsentElement = class UmbInstallerConsentElement extends UmbLit
54
55
  _renderSlider() {
55
56
  if (!this._telemetryLevels || this._telemetryLevels.length < 1)
56
57
  return;
58
+ const sanitizedDescription = this._selectedTelemetry?.description
59
+ ? sanitizeHTML(this._selectedTelemetry.description)
60
+ : '';
57
61
  return html `
58
62
  <uui-slider
59
63
  ${umbFocus()}
@@ -65,7 +69,7 @@ let UmbInstallerConsentElement = class UmbInstallerConsentElement extends UmbLit
65
69
  min="1"
66
70
  max=${this._telemetryLevels.length}></uui-slider>
67
71
  <h2>${this._selectedTelemetry.level}</h2>
68
- <p>${unsafeHTML(this._selectedTelemetry.description)}</p>
72
+ <p>${unsafeHTML(sanitizedDescription)}</p>
69
73
  `;
70
74
  }
71
75
  render() {
@@ -6,7 +6,7 @@
6
6
  "build": "vite build"
7
7
  },
8
8
  "dependencies": {
9
- "@umbraco-ui/uui": "^1.17.2",
10
- "@umbraco-ui/uui-css": "^1.17.1"
9
+ "@umbraco-ui/uui": "^1.17.3",
10
+ "@umbraco-ui/uui-css": "^1.17.3"
11
11
  }
12
12
  }
@@ -132,4 +132,17 @@ export declare class UmbLocalizationController<LocalizationSetType extends UmbLo
132
132
  * @returns {string} The translated text.
133
133
  */
134
134
  string(text: string | undefined, ...args: unknown[]): string;
135
+ /**
136
+ * Like {@link string}, but returns a Lit `unsafeHTML` directive with all arguments escaped via {@link escapeHTML}.
137
+ * Use when the localized value itself contains HTML markup that must be rendered (otherwise prefer {@link string}, which Lit escapes natively).
138
+ * Pass a `#key` to look up a term, or any string for inline replacement.
139
+ * @param {string | undefined} text - text to translate (terms prefixed with `#`).
140
+ * @param {unknown[]} args - arguments to interpolate. Each argument is HTML-escaped before being inserted into the term.
141
+ * @returns {unknown} a Lit directive result that renders the localized HTML safely inline in a Lit template.
142
+ * @example
143
+ * ```ts
144
+ * html`<p>${this.localize.htmlString('#defaultdialogs_confirmdelete', userControlledName)}</p>`
145
+ * ```
146
+ */
147
+ htmlString(text: string | undefined, ...args: unknown[]): import("lit-html/directive.js").DirectiveResult<typeof import("lit-html/directives/unsafe-html.js").UnsafeHTMLDirective>;
135
148
  }
@@ -1,4 +1,6 @@
1
1
  import { umbLocalizationManager } from './localization.manager.js';
2
+ import { unsafeHTML } from '../../external/lit/index.js';
3
+ import { escapeHTML } from '../../packages/core/utils/index.js';
2
4
  const LocalizationControllerAlias = Symbol();
3
5
  /**
4
6
  * The UmbLocalizationController enables localization for your element.
@@ -283,4 +285,23 @@ export class UmbLocalizationController {
283
285
  });
284
286
  return localizedText;
285
287
  }
288
+ /**
289
+ * Like {@link string}, but returns a Lit `unsafeHTML` directive with all arguments escaped via {@link escapeHTML}.
290
+ * Use when the localized value itself contains HTML markup that must be rendered (otherwise prefer {@link string}, which Lit escapes natively).
291
+ * Pass a `#key` to look up a term, or any string for inline replacement.
292
+ * @param {string | undefined} text - text to translate (terms prefixed with `#`).
293
+ * @param {unknown[]} args - arguments to interpolate. Each argument is HTML-escaped before being inserted into the term.
294
+ * @returns {unknown} a Lit directive result that renders the localized HTML safely inline in a Lit template.
295
+ * @example
296
+ * ```ts
297
+ * html`<p>${this.localize.htmlString('#defaultdialogs_confirmdelete', userControlledName)}</p>`
298
+ * ```
299
+ */
300
+ htmlString(text, ...args) {
301
+ // `escapeHTML` short-circuits on non-strings, so we stringify first to also escape values
302
+ // like `{ toString: () => '<script>...' }`. `undefined` is preserved so `string()` can
303
+ // keep the original placeholder unmatched (existing semantics).
304
+ const escapedArgs = args.map((a) => (typeof a === 'undefined' ? a : escapeHTML(String(a))));
305
+ return unsafeHTML(this.string(text, ...escapedArgs));
306
+ }
286
307
  }
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbBlockGridEntriesElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData | undefined>> & typeof UmbLitElement;
2
+ declare const UmbBlockGridEntriesElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue | undefined>> & typeof UmbLitElement;
3
3
  /**
4
4
  * @element umb-block-grid-entries
5
5
  */
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { diffWords } from '../../../../core/utils/index.js';
8
- import { css, customElement, html, nothing, repeat, state, unsafeHTML } from '../../../../../external/lit/index.js';
8
+ import { css, customElement, html, nothing, repeat, state } from '../../../../../external/lit/index.js';
9
9
  import { UmbModalBaseElement } from '../../../../core/modal/index.js';
10
10
  import { UmbTextStyles } from '../../../../core/style/index.js';
11
11
  import { UmbUserItemRepository } from '../../../../user/user/index.js';
@@ -299,7 +299,7 @@ let UmbContentRollbackModalElement = class UmbContentRollbackModalElement extend
299
299
  label=${this.localize.term('rollback_showDiff')}
300
300
  @change=${this.#onToggleDiff}
301
301
  .checked=${this._showDiff}></uui-toggle>
302
- ${this._showDiff ? html `<p>${unsafeHTML(this.localize.term('rollback_diffHelp'))}</p>` : nothing}
302
+ ${this._showDiff ? html `<p>${this.localize.htmlString('#rollback_diffHelp')}</p>` : nothing}
303
303
  <uui-table>
304
304
  <uui-table-column style="width: 0"></uui-table-column>
305
305
  <uui-table-column></uui-table-column>
@@ -35,7 +35,7 @@ export declare abstract class UmbContentTypeStructureServerDataSourceBase<Server
35
35
  };
36
36
  error?: undefined;
37
37
  } | {
38
- error: ((Error | import("../../../../core/resources/index.js").UmbApiError | import("../../../../core/resources/index.js").UmbCancelError | import("../../../../core/resources/index.js").UmbError) & (import("../../../../core/resources/index.js").UmbApiError | import("../../../../core/resources/index.js").UmbCancelError)) | undefined;
38
+ error: ((Error | import("../../../../core/resources/index.js").UmbError | import("../../../../core/resources/index.js").UmbCancelError | import("../../../../core/resources/index.js").UmbApiError) & (import("../../../../core/resources/index.js").UmbCancelError | import("../../../../core/resources/index.js").UmbApiError)) | undefined;
39
39
  data?: undefined;
40
40
  }>;
41
41
  }
@@ -5,7 +5,7 @@ import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
5
5
  import { UmbContextBase } from '../../../libs/class-api/index.js';
6
6
  import type { Observable } from '../../../external/rxjs/index.js';
7
7
  import type { UmbBackofficeExtensionRegistry } from '../extension-registry/index.js';
8
- import type { umbHttpClient } from '../http-client/index.js';
8
+ import type { UmbApiClient } from '../http-client/index.js';
9
9
  export interface UmbAuthSession {
10
10
  /** When the access token expires (issuedAt + expiresIn). Used to decide when to refresh. */
11
11
  accessTokenExpiresAt: number;
@@ -81,7 +81,6 @@ export declare class UmbAuthContext extends UmbContextBase {
81
81
  * const token = await authContext.getLatestToken();
82
82
  * const result = await fetch('https://my-api.com', { headers: { Authorization: `Bearer ${token}` } });
83
83
  * ```
84
- * @deprecated Use {@link configureClient} for `@hey-api/openapi-ts` clients or {@link getOpenApiConfiguration} for manual fetch calls. With cookie-based auth this always returns `'[redacted]'`. Scheduled for removal in Umbraco 19.
85
84
  * @see {@link configureClient} for automatic token handling with `@hey-api/openapi-ts` clients.
86
85
  * @see {@link getOpenApiConfiguration} for manual fetch calls with cookie-based auth.
87
86
  * @memberof UmbAuthContext
@@ -159,18 +158,28 @@ export declare class UmbAuthContext extends UmbContextBase {
159
158
  */
160
159
  getOpenApiConfiguration(): UmbOpenApiConfiguration;
161
160
  /**
162
- * Configures a `@hey-api/openapi-ts` client for authenticated API calls.
163
- * Sets baseUrl, credentials, auth header, and binds the default response
164
- * interceptors (401 retry, error handling, notifications).
161
+ * Configures a `@hey-api/openapi-ts` generated client for authenticated API calls.
162
+ *
163
+ * Sets `baseUrl`, `credentials`, and the `auth` callback (cookie-based with
164
+ * automatic token refresh via {@link getLatestToken}), and binds the default
165
+ * response interceptors (401 retry, problem-details error notifications, etc.)
166
+ * to the client.
167
+ *
168
+ * The same auth context owns a single {@link UmbApiInterceptorController} for
169
+ * the lifetime of the host (`<umb-app>`), so it's safe to call this method for
170
+ * multiple clients (the core's {@link umbHttpClient} *and* an extension's own
171
+ * generated client) without registering duplicate auth-signaler contexts.
172
+ *
165
173
  * @example
166
174
  * ```js
167
175
  * const authContext = await this.getContext(UMB_AUTH_CONTEXT);
168
176
  * authContext.configureClient(myClient);
169
177
  * // Now myClient automatically includes auth headers and interceptors
170
178
  * ```
171
- * @param client A `@hey-api/openapi-ts` client instance.
179
+ * @param client A `@hey-api/openapi-ts` client instance — either {@link umbHttpClient}
180
+ * or one regenerated by an extension package against its own OpenAPI document.
172
181
  */
173
- configureClient(client: typeof umbHttpClient): void;
182
+ configureClient(client: UmbApiClient): void;
174
183
  /**
175
184
  * Sets the auth context as initialized, which means that the auth context is ready to be used.
176
185
  * @remark This is used to let the app context know that the core module is ready, which means that the core auth providers are available.
@@ -40,6 +40,11 @@ export class UmbAuthContext extends UmbContextBase {
40
40
  #authorizationSignal;
41
41
  // Track clients that have been configured to prevent duplicate interceptor binding
42
42
  #configuredClients;
43
+ // Lazily initialised on the first configureClient() call. Owns the singleton
44
+ // UmbAuthSignalerContext provided on the host (`<umb-app>`), so we MUST share
45
+ // one instance across every client we configure — instantiating a new controller
46
+ // per call would re-provide the signaler and stack listeners.
47
+ #interceptorController;
43
48
  // Endpoint URLs
44
49
  #linkEndpoint;
45
50
  #linkKeyEndpoint;
@@ -123,20 +128,26 @@ export class UmbAuthContext extends UmbContextBase {
123
128
  this.#channel.onmessage = (evt) => {
124
129
  switch (evt.data?.type) {
125
130
  case 'authorized': {
126
- // Set session locally — do NOT call #updateSession which would re-broadcast
127
- const accessTokenExpiresAt = evt.data.issuedAt + evt.data.expiresIn;
128
- const expiresAt = evt.data.issuedAt + evt.data.expiresIn * TOKEN_EXPIRY_MULTIPLIER;
129
- this.#session.setValue({ accessTokenExpiresAt, expiresAt });
130
- this.#isAuthorized.setValue(true);
131
+ // Apply locally — do NOT call #updateSession which would re-broadcast.
132
+ this.#setSessionLocally(evt.data.expiresIn, evt.data.issuedAt);
131
133
  this.#authorizationSignal.next();
132
134
  break;
133
135
  }
134
136
  case 'sessionUpdate':
135
- this.#session.setValue({
136
- accessTokenExpiresAt: evt.data.accessTokenExpiresAt,
137
- expiresAt: evt.data.expiresAt,
138
- });
139
- this.#isAuthorized.setValue(true);
137
+ // Peer broadcast already-computed timestamps, so set the session
138
+ // directly. We still go through the `#inSessionUpdateCallback` guard
139
+ // so observers triggered re-entrantly skip a redundant /token call.
140
+ this.#inSessionUpdateCallback = true;
141
+ try {
142
+ this.#session.setValue({
143
+ accessTokenExpiresAt: evt.data.accessTokenExpiresAt,
144
+ expiresAt: evt.data.expiresAt,
145
+ });
146
+ this.#isAuthorized.setValue(true);
147
+ }
148
+ finally {
149
+ this.#inSessionUpdateCallback = false;
150
+ }
140
151
  break;
141
152
  case 'sessionCleared':
142
153
  this.#session.setValue(undefined);
@@ -174,6 +185,9 @@ export class UmbAuthContext extends UmbContextBase {
174
185
  });
175
186
  }
176
187
  destroy() {
188
+ // Tear down any in-flight popup auth flow so its window-level message listener
189
+ // and the closed-poll interval don't leak past this context's lifetime.
190
+ this.#popupCleanup?.();
177
191
  super.destroy();
178
192
  this.#channel.close();
179
193
  }
@@ -222,30 +236,32 @@ export class UmbAuthContext extends UmbContextBase {
222
236
  };
223
237
  window.addEventListener('message', pkceHandler);
224
238
  // Wait for the popup to complete via BroadcastChannel.
225
- // Resolves when authorized; also resolves (no-op) if the popup is closed/cancelled.
239
+ // The Promise resolves once cleanup runs whether triggered by an `authorized`
240
+ // broadcast, the popup being closed/cancelled, a new auth flow superseding this
241
+ // one, or the auth context being destroyed. resolve() is parked inside cleanup
242
+ // so every termination path is observable to the awaiter.
226
243
  return new Promise((resolve) => {
227
244
  const cleanup = () => {
228
245
  clearInterval(closedPoll);
229
246
  this.#channel.removeEventListener('message', handler);
230
247
  window.removeEventListener('message', pkceHandler);
231
248
  this.#popupCleanup = undefined;
249
+ resolve();
232
250
  };
233
251
  this.#popupCleanup = cleanup;
234
252
  const handler = (evt) => {
235
253
  if (evt.data?.type === 'authorized') {
236
- cleanup();
237
254
  this.#client.clearPkceState();
238
255
  this.#authWindowProxy?.close();
239
- resolve();
256
+ cleanup();
240
257
  }
241
258
  };
242
259
  this.#channel.addEventListener('message', handler);
243
260
  // Poll for popup closed (user cancelled or closed the window)
244
261
  const closedPoll = setInterval(() => {
245
262
  if (this.#authWindowProxy?.closed) {
246
- cleanup();
247
263
  this.#client.clearPkceState();
248
- resolve();
264
+ cleanup();
249
265
  }
250
266
  }, 500);
251
267
  });
@@ -262,28 +278,30 @@ export class UmbAuthContext extends UmbContextBase {
262
278
  if (!code) {
263
279
  return null;
264
280
  }
265
- // Try to get PKCE state first from the parent window (popup flow), then from sessionStorage (redirect flow)
281
+ // Try to get PKCE state. Check sessionStorage first it's synchronous and covers
282
+ // the redirect flow (where the same tab navigated to the IDP and back). Only fall
283
+ // back to asking window.opener if sessionStorage didn't have a matching entry.
284
+ // The previous order hung for the full opener-postMessage timeout whenever
285
+ // `oauth_complete` happened to load with a non-OAuth window.opener (which is set
286
+ // for ANY window.open target, not only OAuth popups).
266
287
  let codeVerifier;
267
- if (window.opener) {
268
- // Popup flow: request code_verifier from parent via postMessage
269
- codeVerifier = await this.#requestCodeVerifierFromOpener(state);
270
- }
271
- if (!codeVerifier) {
272
- // Redirect flow: read from sessionStorage
273
- const pkceData = sessionStorage.getItem('umb:pkce');
274
- if (pkceData) {
275
- try {
276
- const parsed = JSON.parse(pkceData);
277
- if (parsed.state === state) {
278
- codeVerifier = parsed.codeVerifier;
279
- sessionStorage.removeItem('umb:pkce');
280
- }
281
- }
282
- catch {
283
- // Ignore parse errors
288
+ const pkceData = sessionStorage.getItem('umb:pkce');
289
+ if (pkceData) {
290
+ try {
291
+ const parsed = JSON.parse(pkceData);
292
+ if (parsed.state === state) {
293
+ codeVerifier = parsed.codeVerifier;
284
294
  sessionStorage.removeItem('umb:pkce');
285
295
  }
286
296
  }
297
+ catch {
298
+ // Ignore parse errors
299
+ sessionStorage.removeItem('umb:pkce');
300
+ }
301
+ }
302
+ if (!codeVerifier && window.opener) {
303
+ // Popup flow: request code_verifier from parent via postMessage.
304
+ codeVerifier = await this.#requestCodeVerifierFromOpener(state);
287
305
  }
288
306
  if (!codeVerifier) {
289
307
  console.error('[UmbAuthContext] No code_verifier available for authorization code exchange');
@@ -355,18 +373,12 @@ export class UmbAuthContext extends UmbContextBase {
355
373
  * const token = await authContext.getLatestToken();
356
374
  * const result = await fetch('https://my-api.com', { headers: { Authorization: `Bearer ${token}` } });
357
375
  * ```
358
- * @deprecated Use {@link configureClient} for `@hey-api/openapi-ts` clients or {@link getOpenApiConfiguration} for manual fetch calls. With cookie-based auth this always returns `'[redacted]'`. Scheduled for removal in Umbraco 19.
359
376
  * @see {@link configureClient} for automatic token handling with `@hey-api/openapi-ts` clients.
360
377
  * @see {@link getOpenApiConfiguration} for manual fetch calls with cookie-based auth.
361
378
  * @memberof UmbAuthContext
362
379
  * @returns The latest token from the Management API
363
380
  */
364
381
  async getLatestToken() {
365
- new UmbDeprecation({
366
- deprecated: 'getLatestToken',
367
- solution: 'Use configureClient for @hey-api/openapi-ts clients or getOpenApiConfiguration for manual fetch calls. With cookie-based auth this always returns "[redacted]".',
368
- removeInVersion: '19.0.0',
369
- }).warn();
370
382
  await this.#ensureTokenReady();
371
383
  return '[redacted]';
372
384
  }
@@ -455,14 +467,11 @@ export class UmbAuthContext extends UmbContextBase {
455
467
  }
456
468
  if (!navigator.locks)
457
469
  return;
458
- const state = await navigator.locks.query();
459
- if (state.held?.some((l) => l.name === 'umb:token-refresh')) {
460
- // A refresh is in progress in another tab queue behind it so we send
461
- // requests with the new cookie rather than the soon-to-be-revoked one.
462
- await navigator.locks.request('umb:token-refresh', async () => {
463
- // No-op: we only need to wait for the ongoing refresh to finish.
464
- });
465
- }
470
+ // Always queue behind the refresh lock with a no-op callback. If the lock is
471
+ // free we acquire it immediately and resolve; if a peer tab holds it we wait
472
+ // behind that holder. This avoids a race window where querying the lock state
473
+ // could return "free" microseconds before another tab acquires it.
474
+ await navigator.locks.request('umb:token-refresh', () => Promise.resolve());
466
475
  }
467
476
  /**
468
477
  * Clears the in-memory session state.
@@ -540,20 +549,30 @@ export class UmbAuthContext extends UmbContextBase {
540
549
  return {
541
550
  base: this.#serverUrl,
542
551
  credentials: 'include',
543
- token: () => Promise.resolve('[redacted]'),
552
+ token: this.getLatestToken.bind(this),
544
553
  };
545
554
  }
546
555
  /**
547
- * Configures a `@hey-api/openapi-ts` client for authenticated API calls.
548
- * Sets baseUrl, credentials, auth header, and binds the default response
549
- * interceptors (401 retry, error handling, notifications).
556
+ * Configures a `@hey-api/openapi-ts` generated client for authenticated API calls.
557
+ *
558
+ * Sets `baseUrl`, `credentials`, and the `auth` callback (cookie-based with
559
+ * automatic token refresh via {@link getLatestToken}), and binds the default
560
+ * response interceptors (401 retry, problem-details error notifications, etc.)
561
+ * to the client.
562
+ *
563
+ * The same auth context owns a single {@link UmbApiInterceptorController} for
564
+ * the lifetime of the host (`<umb-app>`), so it's safe to call this method for
565
+ * multiple clients (the core's {@link umbHttpClient} *and* an extension's own
566
+ * generated client) without registering duplicate auth-signaler contexts.
567
+ *
550
568
  * @example
551
569
  * ```js
552
570
  * const authContext = await this.getContext(UMB_AUTH_CONTEXT);
553
571
  * authContext.configureClient(myClient);
554
572
  * // Now myClient automatically includes auth headers and interceptors
555
573
  * ```
556
- * @param client A `@hey-api/openapi-ts` client instance.
574
+ * @param client A `@hey-api/openapi-ts` client instance — either {@link umbHttpClient}
575
+ * or one regenerated by an extension package against its own OpenAPI document.
557
576
  */
558
577
  configureClient(client) {
559
578
  if (this.#configuredClients.has(client))
@@ -562,15 +581,16 @@ export class UmbAuthContext extends UmbContextBase {
562
581
  client.setConfig({
563
582
  baseUrl: this.#serverUrl,
564
583
  credentials: 'include',
565
- auth: async () => {
566
- await this.#ensureTokenReady();
567
- return '[redacted]';
568
- },
584
+ auth: this.getLatestToken.bind(this),
569
585
  });
570
- // Controller self-registers on the host element via UmbControllerBase constructor,
571
- // so the anonymous reference is intentional lifecycle is managed by the host.
572
- // Note: _host must be a proper UmbControllerHost (element host) for correct cleanup.
573
- new UmbApiInterceptorController(this._host).bindDefaultInterceptors(client);
586
+ // Lazy single instance see #interceptorController field comment. Controller
587
+ // self-registers on the host element via UmbControllerBase, so its lifecycle is
588
+ // managed by the host. `_host` must be a proper UmbControllerHost.
589
+ this.#interceptorController ??= new UmbApiInterceptorController(this._host);
590
+ // Each generated client is structurally identical but TypeScript treats them as
591
+ // distinct generic instantiations. Cast at the boundary; the controller's own
592
+ // signature stays strictly typed against `umbHttpClient`.
593
+ this.#interceptorController.bindDefaultInterceptors(client);
574
594
  }
575
595
  /**
576
596
  * Sets the auth context as initialized, which means that the auth context is ready to be used.
@@ -631,13 +651,16 @@ export class UmbAuthContext extends UmbContextBase {
631
651
  const request = new Request(this.#unlinkEndpoint, {
632
652
  method: 'POST',
633
653
  credentials: 'include',
634
- headers: { 'Content-Type': 'application/json', Authorization: 'Bearer [redacted]' },
654
+ headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${await this.getLatestToken()}` },
635
655
  body: JSON.stringify({ loginProvider, providerKey }),
636
656
  });
637
657
  const result = await fetch(request);
638
658
  if (!result.ok) {
639
- const error = await result.json();
640
- throw error;
659
+ // Wrap the parsed body in a real Error so consumers using `instanceof Error`
660
+ // or expecting a stack trace get sane behaviour. The original problem-details
661
+ // payload is exposed on `.cause` for callers that want the structured fields.
662
+ const detail = await result.json().catch(() => undefined);
663
+ throw new Error(`Failed to unlink login (${result.status} ${result.statusText})`, { cause: detail });
641
664
  }
642
665
  await this.signOut();
643
666
  return true;
@@ -708,10 +731,13 @@ export class UmbAuthContext extends UmbContextBase {
708
731
  resolve(undefined);
709
732
  return;
710
733
  }
734
+ // Short timeout: a real OAuth popup parent responds within milliseconds. Any
735
+ // longer is just a hang for the unrelated-opener case (e.g. an arbitrary
736
+ // `window.open(...)` target that incidentally landed on `oauth_complete`).
711
737
  const timeout = setTimeout(() => {
712
738
  window.removeEventListener('message', handler);
713
739
  resolve(undefined);
714
- }, 5000);
740
+ }, 1500);
715
741
  const handler = (evt) => {
716
742
  if (evt.origin !== window.location.origin)
717
743
  return;
@@ -730,7 +756,7 @@ export class UmbAuthContext extends UmbContextBase {
730
756
  const request = await fetch(`${this.#linkKeyEndpoint}?provider=${provider}`, {
731
757
  credentials: 'include',
732
758
  headers: {
733
- Authorization: 'Bearer [redacted]',
759
+ Authorization: `Bearer ${await this.getLatestToken()}`,
734
760
  'Content-Type': 'application/json',
735
761
  },
736
762
  });
@@ -1,6 +1,6 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
2
  import type { UmbNumberRangeValueType } from '../../models/index.js';
3
- declare const UmbInputNumberRangeElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData | undefined>> & typeof UmbLitElement;
3
+ declare const UmbInputNumberRangeElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue | undefined>> & typeof UmbLitElement;
4
4
  export declare class UmbInputNumberRangeElement extends UmbInputNumberRangeElement_base {
5
5
  #private;
6
6
  minLabel: string;
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
- declare const UmbInputToggleElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData>> & typeof UmbLitElement;
2
+ declare const UmbInputToggleElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue>> & typeof UmbLitElement;
3
3
  export declare class UmbInputToggleElement extends UmbInputToggleElement_base {
4
4
  #private;
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
2
  import type { UmbSwatchDetails } from '../../models/index.js';
3
- declare const UmbMultipleColorPickerInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbMultipleColorPickerInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  /**
5
5
  * @element umb-multiple-color-picker-input
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
2
  import type { UUIColorPickerElement, UUIInputElement } from '../../../../external/uui/index.js';
3
- declare const UmbMultipleColorPickerItemInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbMultipleColorPickerItemInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  /**
5
5
  * @element umb-multiple-color-picker-item-input
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
2
  import type { UUIInputElement } from '../../../../external/uui/index.js';
3
- declare const UmbInputMultipleTextStringItemElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbInputMultipleTextStringItemElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  /**
5
5
  * @element umb-input-multiple-text-string-item
6
6
  */
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../lit-element/index.js';
2
- declare const UmbInputCultureSelectElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbInputCultureSelectElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbInputCultureSelectElement extends UmbInputCultureSelectElement_base {
4
4
  #private;
5
5
  /**
@@ -1 +1 @@
1
- export declare const manifests: (import("../../tiptap/index.js").ManifestTiptapToolbarExtensionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../modal/types.js").ManifestModal | import("../tree/types.js").ManifestTreeItem | import("../collection/types.js").ManifestCollection | import("../collection/types.js").ManifestCollectionMenu | import("../collection/menu/menu-item/extension/collection-menu-item.extension.js").ManifestCollectionMenuItem | import("../tree/types.js").ManifestTree | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionActionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").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("../../../libs/controller-api/index.js").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("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../../ufm/index.js").ManifestMarkedExtension | 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("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | import("../section/types.js").ManifestSectionContext<import("../section/types.js").MetaSectionContext> | (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("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu.extension.js").ManifestMenu | import("../menu/types.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemActionKind | import("../menu/types.js").ManifestMenuItemLinkKind | import("../menu/types.js").ManifestWorkspaceContextMenuStructureKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestEntityCollectionItemCard<import("../collection/types.js").MetaEntityCollectionItemCard> | import("../collection/types.js").ManifestEntityCollectionItemRef<import("../collection/types.js").MetaEntityCollectionItemRef> | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestCollectionTextFilter | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("../../content/content/index.js").ManifestAuditLogAction<import("../../content/content/index.js").MetaAuditLogAction> | import("../../content/content/index.js").ManifestAuditLogActionDefaultKind | import("../../content/content/index.js").ManifestEntityActionContentRollbackKind | import("../../content/content/index.js").ManifestWorkspaceInfoAppAuditLogKind | import("../../content/content/index.js").ManifestWorkspaceViewContentCollectionKind | import("../../content/content/index.js").ManifestEntityActionSortChildrenOfContentKind | import("../../user/current-user/index.js").ManifestUserProfileApp | import("../../user/current-user/index.js").ManifestCurrentUserAction<import("../../user/current-user/index.js").MetaCurrentUserAction> | import("../icon-registry/types.js").ManifestIcons | import("../../user/user-permission/index.js").ManifestEntityUserPermission | import("../../user/user-permission/index.js").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../picker/types.js").ManifestPickerSearchResultItem | import("../property-editor-data-source/types.js").ManifestPropertyEditorDataSource | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | 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("../search/types.js").ManifestSearchProvider | import("../search/types.js").ManifestSearchResultItem | import("../search/types.js").ManifestGlobalSearch | 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("../../../libs/extension-api/index.js").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../themes/theme.extension.js").ManifestTheme | import("../entity-sign/types.js").ManifestEntitySign<import("../entity-sign/types.js").MetaEntitySign> | import("../entity-sign/kinds/types.js").ManifestEntitySignIconKind | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../property-sort-mode/types.js").ManifestPropertyActionSortModeKind<import("../property-action/property-action.extension.js").MetaPropertyActionDefaultKind> | 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/index.js").ManifestCollectionActionEmptyRecycleBinKind | 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("../property-sort-mode/types.js").ManifestPropertyContextSortModeKind | import("../../block/block-custom-view/index.js").ManifestBlockEditorCustomView | import("../../clipboard/index.js").ManifestClipboardCopyPropertyValueTranslator | import("../../clipboard/index.js").ManifestClipboardPastePropertyValueTranslator | import("../../clipboard/index.js").ManifestPropertyActionPasteFromClipboardKind | import("../../clipboard/index.js").ManifestPropertyActionCopyToClipboardKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("../../relations/relations/index.js").ManifestEntityBulkActionTrashWithRelationKind | import("../../relations/relations/index.js").ManifestEntityActionTrashWithRelationKind | import("../../documents/documents/index.js").ManifestWorkspaceActionMenuItemPreviewOptionKind | import("../../media/media/index.js").ManifestFileUploadPreview | import("../../health-check/index.js").ManifestHealthCheck | import("../../packages/package/index.js").ManifestPackageView | import("../../property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("../../property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("../../tiptap/index.js").ManifestTiptapExtension<import("../../tiptap/index.js").MetaTiptapExtension> | import("../../tiptap/index.js").ManifestTiptapStatusbarExtension<import("../../tiptap/index.js").MetaTiptapStatusbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtension<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionMenuKind | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionStyleMenuKind | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("../section/default/types.js").ManifestSectionDefaultKind | import("../../markdown-editor/index.js").ManifestMonacoMarkdownEditorAction)[];
1
+ export declare const manifests: (import("../../tiptap/index.js").ManifestTiptapToolbarExtensionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../modal/types.js").ManifestModal | import("../collection/types.js").ManifestCollection | import("../collection/types.js").ManifestCollectionMenu | import("../collection/menu/menu-item/extension/collection-menu-item.extension.js").ManifestCollectionMenuItem | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionActionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | 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("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | import("../../../libs/extension-api/index.js").ManifestBundle<import("../../../libs/extension-api/index.js").ManifestBase | import("../../../libs/extension-api/index.js").ManifestCondition | /*elided*/ any>>>>>>>>>>>) | import("../repository/types.js").ManifestDataSourceDataMapping<import("../repository/types.js").MetaDataSourceDataMapping> | import("../entity-bulk-action/types.js").ManifestEntityBulkActionDeleteKind | 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("../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("../../../libs/extension-api/index.js").UmbApi> | import("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | import("../section/types.js").ManifestSectionContext<import("../section/types.js").MetaSectionContext> | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../../ufm/index.js").ManifestMarkedExtension | 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("../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("../../../libs/controller-api/index.js").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestEntityCollectionItemCard<import("../collection/types.js").MetaEntityCollectionItemCard> | import("../collection/types.js").ManifestEntityCollectionItemRef<import("../collection/types.js").MetaEntityCollectionItemRef> | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestCollectionTextFilter | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("../../content/content/index.js").ManifestAuditLogAction<import("../../content/content/index.js").MetaAuditLogAction> | import("../../content/content/index.js").ManifestAuditLogActionDefaultKind | import("../../content/content/index.js").ManifestEntityActionContentRollbackKind | import("../../content/content/index.js").ManifestWorkspaceInfoAppAuditLogKind | import("../../content/content/index.js").ManifestWorkspaceViewContentCollectionKind | import("../../content/content/index.js").ManifestEntityActionSortChildrenOfContentKind | import("../../user/current-user/index.js").ManifestUserProfileApp | import("../../user/current-user/index.js").ManifestCurrentUserAction<import("../../user/current-user/index.js").MetaCurrentUserAction> | import("../icon-registry/types.js").ManifestIcons | import("../../user/user-permission/index.js").ManifestEntityUserPermission | import("../../user/user-permission/index.js").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../picker/types.js").ManifestPickerSearchResultItem | import("../property-editor-data-source/types.js").ManifestPropertyEditorDataSource | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu.extension.js").ManifestMenu | import("../menu/types.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemActionKind | import("../menu/types.js").ManifestMenuItemLinkKind | import("../menu/types.js").ManifestWorkspaceContextMenuStructureKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../extension-registry/index.js").UmbStoreExtensions | import("../search/types.js").ManifestSearchProvider | import("../search/types.js").ManifestSearchResultItem | import("../search/types.js").ManifestGlobalSearch | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../themes/theme.extension.js").ManifestTheme | import("../entity-sign/types.js").ManifestEntitySign<import("../entity-sign/types.js").MetaEntitySign> | import("../entity-sign/kinds/types.js").ManifestEntitySignIconKind | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../property-sort-mode/types.js").ManifestPropertyActionSortModeKind<import("../property-action/property-action.extension.js").MetaPropertyActionDefaultKind> | 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/index.js").ManifestCollectionActionEmptyRecycleBinKind | 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("../property-sort-mode/types.js").ManifestPropertyContextSortModeKind | import("../../block/block-custom-view/index.js").ManifestBlockEditorCustomView | import("../../clipboard/index.js").ManifestClipboardCopyPropertyValueTranslator | import("../../clipboard/index.js").ManifestClipboardPastePropertyValueTranslator | import("../../clipboard/index.js").ManifestPropertyActionPasteFromClipboardKind | import("../../clipboard/index.js").ManifestPropertyActionCopyToClipboardKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("../../relations/relations/index.js").ManifestEntityBulkActionTrashWithRelationKind | import("../../relations/relations/index.js").ManifestEntityActionTrashWithRelationKind | import("../../documents/documents/index.js").ManifestWorkspaceActionMenuItemPreviewOptionKind | import("../../media/media/index.js").ManifestFileUploadPreview | import("../../health-check/index.js").ManifestHealthCheck | import("../../packages/package/index.js").ManifestPackageView | import("../../property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("../../property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("../../tiptap/index.js").ManifestTiptapExtension<import("../../tiptap/index.js").MetaTiptapExtension> | import("../../tiptap/index.js").ManifestTiptapStatusbarExtension<import("../../tiptap/index.js").MetaTiptapStatusbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtension<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionMenuKind | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionStyleMenuKind | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("../section/default/types.js").ManifestSectionDefaultKind | import("../../markdown-editor/index.js").ManifestMonacoMarkdownEditorAction)[];