@umbraco-cms/backoffice 17.1.0 → 17.2.0-rc

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 (629) hide show
  1. package/{dist-cms/custom-elements.json → custom-elements.json} +817 -721
  2. package/dist-cms/apps/app/app.element.js +1 -0
  3. package/dist-cms/apps/backoffice/components/backoffice-header-logo.element.js +4 -5
  4. package/dist-cms/assets/lang/ar.js +3 -2
  5. package/dist-cms/assets/lang/bs.js +3 -2
  6. package/dist-cms/assets/lang/cs.js +2 -1
  7. package/dist-cms/assets/lang/cy.js +3 -2
  8. package/dist-cms/assets/lang/da.js +4 -2
  9. package/dist-cms/assets/lang/de.js +2 -1
  10. package/dist-cms/assets/lang/en.js +9 -2
  11. package/dist-cms/assets/lang/es.js +5 -1
  12. package/dist-cms/assets/lang/fr.js +2 -1
  13. package/dist-cms/assets/lang/he.js +2 -1
  14. package/dist-cms/assets/lang/hr.js +3 -2
  15. package/dist-cms/assets/lang/it.js +2 -1
  16. package/dist-cms/assets/lang/ja.js +2 -1
  17. package/dist-cms/assets/lang/ko.js +2 -1
  18. package/dist-cms/assets/lang/nb.js +2 -1
  19. package/dist-cms/assets/lang/nl.js +2 -1
  20. package/dist-cms/assets/lang/pl.js +2 -1
  21. package/dist-cms/assets/lang/pt-br.js +2 -1
  22. package/dist-cms/assets/lang/pt.js +3 -2
  23. package/dist-cms/assets/lang/ru.js +2 -1
  24. package/dist-cms/assets/lang/sv.js +2 -1
  25. package/dist-cms/assets/lang/tr.js +2 -1
  26. package/dist-cms/assets/lang/uk.js +2 -1
  27. package/dist-cms/assets/lang/vi.js +3 -2
  28. package/dist-cms/assets/lang/zh-tw.js +2 -1
  29. package/dist-cms/assets/lang/zh.js +2 -1
  30. package/dist-cms/external/uui/package.json +2 -2
  31. package/dist-cms/libs/class-api/package.json +8 -0
  32. package/dist-cms/libs/class-api/vite.config.d.ts +2 -0
  33. package/dist-cms/libs/class-api/vite.config.js +15 -0
  34. package/dist-cms/libs/context-api/package.json +8 -0
  35. package/dist-cms/libs/context-api/vite.config.d.ts +2 -0
  36. package/dist-cms/libs/context-api/vite.config.js +15 -0
  37. package/dist-cms/libs/context-proxy/package.json +8 -0
  38. package/dist-cms/libs/context-proxy/vite.config.d.ts +2 -0
  39. package/dist-cms/libs/context-proxy/vite.config.js +15 -0
  40. package/dist-cms/libs/controller-api/package.json +8 -0
  41. package/dist-cms/libs/controller-api/vite.config.d.ts +2 -0
  42. package/dist-cms/libs/controller-api/vite.config.js +15 -0
  43. package/dist-cms/libs/element-api/package.json +8 -0
  44. package/dist-cms/libs/element-api/vite.config.d.ts +2 -0
  45. package/dist-cms/libs/element-api/vite.config.js +15 -0
  46. package/dist-cms/libs/extension-api/functions/load-manifest-api.function.js +9 -1
  47. package/dist-cms/libs/extension-api/functions/load-manifest-element.function.js +9 -1
  48. package/dist-cms/libs/extension-api/functions/load-manifest-plain-js.function.d.ts +2 -2
  49. package/dist-cms/libs/extension-api/functions/load-manifest-plain-js.function.js +7 -4
  50. package/dist-cms/libs/extension-api/package.json +8 -0
  51. package/dist-cms/libs/extension-api/types/utils.d.ts +4 -4
  52. package/dist-cms/libs/extension-api/vite.config.d.ts +2 -0
  53. package/dist-cms/libs/extension-api/vite.config.js +15 -0
  54. package/dist-cms/libs/localization-api/package.json +8 -0
  55. package/dist-cms/libs/localization-api/vite.config.d.ts +2 -0
  56. package/dist-cms/libs/localization-api/vite.config.js +15 -0
  57. package/dist-cms/libs/observable-api/package.json +8 -0
  58. package/dist-cms/libs/observable-api/vite.config.d.ts +2 -0
  59. package/dist-cms/libs/observable-api/vite.config.js +15 -0
  60. package/dist-cms/packages/block/block/conditions/manifests.js +6 -3
  61. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.js +1 -1
  62. package/dist-cms/packages/block/block/workspace/block-element-property-dataset.context.js +0 -6
  63. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.d.ts +1 -0
  64. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +11 -5
  65. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.d.ts +1 -0
  66. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.js +11 -6
  67. package/dist-cms/packages/block/block-grid/components/block-grid-area/block-grid-area.element.d.ts +3 -3
  68. package/dist-cms/packages/block/block-grid/components/block-grid-area/block-grid-area.element.js +5 -5
  69. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.context.js +5 -1
  70. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +2 -2
  71. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/manifests.js +6 -6
  72. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +6 -1
  73. package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.d.ts +1 -0
  74. package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.js +3 -15
  75. package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.js +0 -3
  76. package/dist-cms/packages/block/block-rte/types.d.ts +1 -0
  77. package/dist-cms/packages/block/block-single/property-editors/block-single-editor/manifests.js +2 -2
  78. package/dist-cms/packages/block/block-single/property-editors/block-single-editor/property-editor-ui-block-single.element.js +6 -1
  79. package/dist-cms/packages/clipboard/clipboard-entry/detail/manifests.js +2 -1
  80. package/dist-cms/packages/clipboard/clipboard-entry/item/manifests.js +2 -1
  81. package/dist-cms/packages/content/content/collection/workspace-has-content-collection/manifests.js +2 -1
  82. package/dist-cms/packages/content/content/conditions/has-properties/content-has-properties.condition.manifest.js +2 -1
  83. package/dist-cms/packages/content/content/global-components/content-workspace-property.element.js +10 -15
  84. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +2 -2
  85. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +24 -14
  86. package/dist-cms/packages/content/content/workspace/content-detail-workspace-type-transform.controller.js +73 -29
  87. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.d.ts +1 -0
  88. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +17 -9
  89. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.d.ts +6 -0
  90. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.js +26 -1
  91. package/dist-cms/packages/content/content-type/structure/content-type-property-structure-helper.class.js +21 -1
  92. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +1 -1
  93. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-properties.element.js +13 -2
  94. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-property.element.js +13 -15
  95. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +13 -3
  96. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.d.ts +1 -0
  97. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +12 -6
  98. package/dist-cms/packages/core/auth/auth.context.js +15 -12
  99. package/dist-cms/packages/core/backend-api/types.gen.d.ts +33 -0
  100. package/dist-cms/packages/core/collection/action/collection-action-button.element.js +1 -1
  101. package/dist-cms/packages/core/collection/action/create/collection-create-action.element.js +1 -1
  102. package/dist-cms/packages/core/collection/bulk-action/collection-bulk-action.manager.d.ts +9 -4
  103. package/dist-cms/packages/core/collection/bulk-action/collection-bulk-action.manager.js +39 -9
  104. package/dist-cms/packages/core/collection/collection-item-picker-modal/collection-item-picker-modal.element.d.ts +2 -0
  105. package/dist-cms/packages/core/collection/collection-item-picker-modal/collection-item-picker-modal.element.js +72 -16
  106. package/dist-cms/packages/core/collection/collection-item-picker-modal/types.d.ts +2 -1
  107. package/dist-cms/packages/core/collection/collection.element.d.ts +1 -0
  108. package/dist-cms/packages/core/collection/collection.element.js +6 -0
  109. package/dist-cms/packages/core/collection/components/collection-filter-field.element.js +2 -2
  110. package/dist-cms/packages/core/collection/components/collection-selection-actions.element.d.ts +1 -0
  111. package/dist-cms/packages/core/collection/components/collection-selection-actions.element.js +9 -0
  112. package/dist-cms/packages/core/collection/components/collection-toolbar.element.d.ts +1 -0
  113. package/dist-cms/packages/core/collection/components/collection-toolbar.element.js +4 -0
  114. package/dist-cms/packages/core/collection/conditions/collection-has-items.condition.d.ts +7 -0
  115. package/dist-cms/packages/core/collection/conditions/collection-has-items.condition.js +12 -0
  116. package/dist-cms/packages/core/collection/conditions/constants.d.ts +1 -0
  117. package/dist-cms/packages/core/collection/conditions/constants.js +1 -0
  118. package/dist-cms/packages/core/collection/conditions/index.d.ts +1 -0
  119. package/dist-cms/packages/core/collection/conditions/index.js +1 -0
  120. package/dist-cms/packages/core/collection/conditions/manifests.js +10 -2
  121. package/dist-cms/packages/core/collection/conditions/types.d.ts +4 -1
  122. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +7 -4
  123. package/dist-cms/packages/core/collection/default/collection-default.context.js +36 -17
  124. package/dist-cms/packages/core/collection/filter/manifests.d.ts +2 -0
  125. package/dist-cms/packages/core/collection/filter/manifests.js +2 -0
  126. package/dist-cms/packages/core/collection/filter/text/collection-text-filter-api.interface.d.ts +13 -0
  127. package/dist-cms/packages/core/collection/filter/text/collection-text-filter-api.interface.js +1 -0
  128. package/dist-cms/packages/core/collection/filter/text/collection-text-filter-element.interface.d.ts +7 -0
  129. package/dist-cms/packages/core/collection/filter/text/collection-text-filter-element.interface.js +1 -0
  130. package/dist-cms/packages/core/collection/filter/text/collection-text-filter.extension.d.ts +11 -0
  131. package/dist-cms/packages/core/collection/filter/text/collection-text-filter.extension.js +1 -0
  132. package/dist-cms/packages/core/collection/filter/text/default-collection-text-filter.api.d.ts +25 -0
  133. package/dist-cms/packages/core/collection/filter/text/default-collection-text-filter.api.js +47 -0
  134. package/dist-cms/packages/core/collection/filter/text/default-collection-text-filter.element.d.ts +32 -0
  135. package/dist-cms/packages/core/collection/filter/text/default-collection-text-filter.element.js +73 -0
  136. package/dist-cms/packages/core/collection/filter/text/manifests.d.ts +2 -0
  137. package/dist-cms/packages/core/collection/filter/text/manifests.js +14 -0
  138. package/dist-cms/packages/core/collection/filter/text/types.d.ts +3 -0
  139. package/dist-cms/packages/core/collection/filter/text/types.js +1 -0
  140. package/dist-cms/packages/core/collection/filter/types.d.ts +1 -0
  141. package/dist-cms/packages/core/collection/filter/types.js +1 -0
  142. package/dist-cms/packages/core/collection/index.d.ts +1 -0
  143. package/dist-cms/packages/core/collection/index.js +1 -0
  144. package/dist-cms/packages/core/collection/item/entity-collection-item-card/default-collection-item-card.element.d.ts +5 -2
  145. package/dist-cms/packages/core/collection/item/entity-collection-item-card/default-collection-item-card.element.js +11 -5
  146. package/dist-cms/packages/core/collection/manifests.js +3 -1
  147. package/dist-cms/packages/core/collection/selection/collection-selection.manager.d.ts +17 -0
  148. package/dist-cms/packages/core/collection/selection/collection-selection.manager.js +29 -0
  149. package/dist-cms/packages/core/collection/selection/types.d.ts +7 -0
  150. package/dist-cms/packages/core/collection/selection/types.js +1 -0
  151. package/dist-cms/packages/core/collection/types.d.ts +9 -1
  152. package/dist-cms/packages/core/collection/view/card/card-collection-view.element.js +18 -5
  153. package/dist-cms/packages/core/collection/view/index.d.ts +1 -0
  154. package/dist-cms/packages/core/collection/view/index.js +1 -0
  155. package/dist-cms/packages/core/collection/view/ref/ref-collection-view.element.js +10 -2
  156. package/dist-cms/packages/core/collection/view/umb-collection-view-element-base.d.ts +13 -0
  157. package/dist-cms/packages/core/collection/view/umb-collection-view-element-base.js +33 -0
  158. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.d.ts +3 -1
  159. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.js +54 -24
  160. package/dist-cms/packages/core/components/body-layout/body-layout.element.js +1 -1
  161. package/dist-cms/packages/core/components/code-block/code-block.element.js +1 -0
  162. package/dist-cms/packages/core/components/figure-card/figure-card.element.d.ts +33 -0
  163. package/dist-cms/packages/core/components/figure-card/figure-card.element.js +241 -0
  164. package/dist-cms/packages/core/components/index.d.ts +1 -0
  165. package/dist-cms/packages/core/components/index.js +1 -0
  166. package/dist-cms/packages/core/components/input-with-alias/input-with-alias.element.js +2 -3
  167. package/dist-cms/packages/core/components/split-panel/split-panel.element.js +2 -3
  168. package/dist-cms/packages/core/components/table/table.element.d.ts +14 -2
  169. package/dist-cms/packages/core/components/table/table.element.js +46 -18
  170. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  171. package/dist-cms/packages/core/entity/entity-type/manifests.js +2 -1
  172. package/dist-cms/packages/core/entity/entity-unique/manifests.js +2 -1
  173. package/dist-cms/packages/core/entity-action/common/delete/delete.action.js +13 -0
  174. package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +1 -0
  175. package/dist-cms/packages/core/entity-action/entity-action-list.element.js +6 -9
  176. package/dist-cms/packages/core/entity-action/global-components/entity-actions-dropdown/entity-actions-dropdown.element.d.ts +1 -0
  177. package/dist-cms/packages/core/entity-action/global-components/entity-actions-dropdown/entity-actions-dropdown.element.js +24 -5
  178. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition.manifest.js +2 -1
  179. package/dist-cms/packages/core/entity-item/entity-item-ref/default-item-ref.element.d.ts +1 -0
  180. package/dist-cms/packages/core/entity-item/entity-item-ref/default-item-ref.element.js +5 -0
  181. package/dist-cms/packages/core/entity-item/index.d.ts +1 -0
  182. package/dist-cms/packages/core/entity-item/index.js +1 -0
  183. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.d.ts +2 -1
  184. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.js +82 -107
  185. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.d.ts +2 -2
  186. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.js +2 -2
  187. package/dist-cms/packages/core/entity-sign/kinds/icon/index.js +1 -0
  188. package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.js +4 -2
  189. package/dist-cms/packages/core/entry-point.d.ts +8 -8
  190. package/dist-cms/packages/core/entry-point.js +12 -11
  191. package/dist-cms/packages/core/event/closed.event.d.ts +5 -0
  192. package/dist-cms/packages/core/event/delete.event.d.ts +6 -0
  193. package/dist-cms/packages/core/event/delete.event.js +2 -1
  194. package/dist-cms/packages/core/event/deselected.event.d.ts +5 -0
  195. package/dist-cms/packages/core/event/input.event.d.ts +1 -0
  196. package/dist-cms/packages/core/event/input.event.js +2 -1
  197. package/dist-cms/packages/core/event/opened.event.d.ts +5 -0
  198. package/dist-cms/packages/core/event/selected.event.d.ts +5 -0
  199. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.js +9 -11
  200. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +18 -14
  201. package/dist-cms/packages/core/modal/conditions/in-modal/constants.d.ts +1 -0
  202. package/dist-cms/packages/core/modal/conditions/in-modal/constants.js +1 -0
  203. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition-config.d.ts +15 -0
  204. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition-config.js +1 -0
  205. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition.d.ts +8 -0
  206. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition.js +19 -0
  207. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition.manifest.d.ts +2 -0
  208. package/dist-cms/packages/core/modal/conditions/in-modal/in-modal.condition.manifest.js +8 -0
  209. package/dist-cms/packages/core/modal/conditions/index.d.ts +2 -0
  210. package/dist-cms/packages/core/modal/conditions/index.js +1 -0
  211. package/dist-cms/packages/core/modal/conditions/manifests.d.ts +1 -0
  212. package/dist-cms/packages/core/modal/conditions/manifests.js +2 -0
  213. package/dist-cms/packages/core/modal/conditions/types.d.ts +1 -0
  214. package/dist-cms/packages/core/modal/conditions/types.js +1 -0
  215. package/dist-cms/packages/core/modal/context/index.d.ts +2 -1
  216. package/dist-cms/packages/core/modal/context/index.js +2 -1
  217. package/dist-cms/packages/core/modal/context/modal-manager.context-token.d.ts +3 -0
  218. package/dist-cms/packages/core/modal/context/modal-manager.context-token.js +2 -0
  219. package/dist-cms/packages/core/modal/context/modal-manager.context.d.ts +1 -2
  220. package/dist-cms/packages/core/modal/context/modal-manager.context.js +2 -2
  221. package/dist-cms/packages/core/modal/context/modal.context.js +2 -1
  222. package/dist-cms/packages/core/modal/index.d.ts +1 -0
  223. package/dist-cms/packages/core/modal/index.js +1 -0
  224. package/dist-cms/packages/core/modal/manifests.js +2 -1
  225. package/dist-cms/packages/core/models/index.d.ts +10 -0
  226. package/dist-cms/packages/core/package.json +1 -1
  227. package/dist-cms/packages/core/picker/search/picker-search-field.element.js +1 -10
  228. package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +2 -1
  229. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +26 -3
  230. package/dist-cms/packages/core/picker/search/result-item/default/default-picker-search-result-item.element.d.ts +1 -0
  231. package/dist-cms/packages/core/picker/search/result-item/default/default-picker-search-result-item.element.js +9 -1
  232. package/dist-cms/packages/core/picker-input/picker-input.context.d.ts +25 -0
  233. package/dist-cms/packages/core/picker-input/picker-input.context.js +83 -12
  234. package/dist-cms/packages/core/property/components/property/index.d.ts +1 -0
  235. package/dist-cms/packages/core/property/components/property/index.js +1 -0
  236. package/dist-cms/packages/core/property/components/property/property.context-token.d.ts +4 -0
  237. package/dist-cms/packages/core/property/components/property/property.context-token.js +3 -0
  238. package/dist-cms/packages/core/property/components/property/property.context.d.ts +0 -2
  239. package/dist-cms/packages/core/property/components/property/property.context.js +1 -2
  240. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  241. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-variant-builder.controller.d.ts +21 -0
  242. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-variant-builder.controller.js +115 -36
  243. package/dist-cms/packages/core/property-editor-data-source/item/data/manifests.js +2 -1
  244. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/empty-recycle-bin.collection-action.d.ts +18 -0
  245. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/empty-recycle-bin.collection-action.js +63 -0
  246. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/empty-recycle-bin.collection-action.kind.d.ts +2 -0
  247. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/empty-recycle-bin.collection-action.kind.js +16 -0
  248. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/index.d.ts +1 -0
  249. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/index.js +1 -0
  250. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/manifests.d.ts +2 -0
  251. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/manifests.js +2 -0
  252. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/types.d.ts +14 -0
  253. package/dist-cms/packages/core/recycle-bin/collection-action/empty-recycle-bin/types.js +1 -0
  254. package/dist-cms/packages/core/recycle-bin/collection-action/index.d.ts +1 -0
  255. package/dist-cms/packages/core/recycle-bin/collection-action/index.js +1 -0
  256. package/dist-cms/packages/core/recycle-bin/collection-action/manifests.d.ts +2 -0
  257. package/dist-cms/packages/core/recycle-bin/collection-action/manifests.js +2 -0
  258. package/dist-cms/packages/core/recycle-bin/conditions/is-not-trashed/entity-is-not-trashed.condition.manifest.js +2 -1
  259. package/dist-cms/packages/core/recycle-bin/conditions/is-trashed/entity-is-trashed.condition.d.ts +2 -2
  260. package/dist-cms/packages/core/recycle-bin/conditions/is-trashed/entity-is-trashed.condition.js +2 -2
  261. package/dist-cms/packages/core/recycle-bin/conditions/is-trashed/entity-is-trashed.condition.manifest.js +2 -1
  262. package/dist-cms/packages/core/recycle-bin/entity-action/empty-recycle-bin/empty-recycle-bin.action.js +3 -3
  263. package/dist-cms/packages/core/recycle-bin/entity-action/empty-recycle-bin/empty-recycle-bin.action.kind.js +1 -1
  264. package/dist-cms/packages/core/recycle-bin/index.d.ts +2 -1
  265. package/dist-cms/packages/core/recycle-bin/manifests.js +2 -0
  266. package/dist-cms/packages/core/router/path-pattern.class.d.ts +6 -0
  267. package/dist-cms/packages/core/router/path-pattern.class.js +11 -2
  268. package/dist-cms/packages/core/router/route/forbidden/route-forbidden.element.js +1 -1
  269. package/dist-cms/packages/core/router/route/index.d.ts +1 -0
  270. package/dist-cms/packages/core/router/route/index.js +1 -0
  271. package/dist-cms/packages/core/router/route/route.context-token.d.ts +3 -0
  272. package/dist-cms/packages/core/router/route/route.context-token.js +2 -0
  273. package/dist-cms/packages/core/router/route/route.context.d.ts +1 -2
  274. package/dist-cms/packages/core/router/route/route.context.js +5 -3
  275. package/dist-cms/packages/core/router/route/router-slot.element.d.ts +1 -1
  276. package/dist-cms/packages/core/router/route/router-slot.element.js +17 -15
  277. package/dist-cms/packages/core/router/router-slot/router-slot.js +2 -0
  278. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +1 -1
  279. package/dist-cms/packages/core/temporary-file/config/manifests.js +2 -1
  280. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  281. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  282. package/dist-cms/packages/core/tree/default/default-tree.context.d.ts +2 -2
  283. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.js +6 -2
  284. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +21 -0
  285. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +35 -5
  286. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +9 -8
  287. package/dist-cms/packages/core/utils/debounce/debounce.function.d.ts +12 -1
  288. package/dist-cms/packages/core/utils/debounce/debounce.function.js +15 -4
  289. package/dist-cms/packages/core/validation/controllers/form-control-validator.controller.js +2 -1
  290. package/dist-cms/packages/core/validation/controllers/validation.controller.js +20 -22
  291. package/dist-cms/packages/core/validation/events/validation-valid.event.d.ts +5 -0
  292. package/dist-cms/packages/core/validation/utils/replace-start-of-path.function.js +1 -1
  293. package/dist-cms/packages/core/variant/context/variant.context.js +1 -0
  294. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +10 -6
  295. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.d.ts +7 -0
  296. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +7 -0
  297. package/dist-cms/packages/core/workspace/conditions/constants.d.ts +1 -0
  298. package/dist-cms/packages/core/workspace/conditions/constants.js +1 -0
  299. package/dist-cms/packages/core/workspace/conditions/manifests.js +2 -0
  300. package/dist-cms/packages/core/workspace/conditions/types.d.ts +1 -0
  301. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/constants.d.ts +1 -0
  302. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/constants.js +1 -0
  303. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/manifests.d.ts +2 -0
  304. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/manifests.js +7 -0
  305. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/types.d.ts +9 -0
  306. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/types.js +1 -0
  307. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/workspace-is-loaded.condition.d.ts +7 -0
  308. package/dist-cms/packages/core/workspace/conditions/workspace-is-loaded/workspace-is-loaded.condition.js +14 -0
  309. package/dist-cms/packages/core/workspace/entity-detail/global-components/entity-detail-workspace-editor.element.d.ts +1 -0
  310. package/dist-cms/packages/core/workspace/entity-detail/global-components/entity-detail-workspace-editor.element.js +28 -0
  311. package/dist-cms/packages/core/workspace/modals/workspace-modal.element.js +4 -2
  312. package/dist-cms/packages/core/workspace/paths.d.ts +16 -0
  313. package/dist-cms/packages/core/workspace/paths.js +2 -0
  314. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/constants.d.ts +1 -0
  315. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/constants.js +1 -0
  316. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/data-type-allow-delete-action.condition.d.ts +8 -0
  317. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/data-type-allow-delete-action.condition.js +26 -0
  318. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/index.d.ts +1 -0
  319. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/index.js +1 -0
  320. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/manifest.d.ts +1 -0
  321. package/dist-cms/packages/data-type/entity-actions/conditions/allow-delete/manifest.js +9 -0
  322. package/dist-cms/packages/data-type/entity-actions/conditions/manifests.d.ts +1 -0
  323. package/dist-cms/packages/data-type/entity-actions/conditions/manifests.js +2 -0
  324. package/dist-cms/packages/data-type/entity-actions/constants.d.ts +1 -0
  325. package/dist-cms/packages/data-type/entity-actions/constants.js +1 -0
  326. package/dist-cms/packages/data-type/entity-actions/manifests.js +8 -0
  327. package/dist-cms/packages/data-type/manifests.js +2 -1
  328. package/dist-cms/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-modal.element.d.ts +1 -0
  329. package/dist-cms/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +39 -16
  330. package/dist-cms/packages/data-type/repository/detail/manifests.js +2 -1
  331. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.js +1 -0
  332. package/dist-cms/packages/data-type/repository/item/manifests.js +2 -1
  333. package/dist-cms/packages/data-type/repository/item/types.d.ts +1 -0
  334. package/dist-cms/packages/data-type/tree/folder/repository/manifests.js +2 -1
  335. package/dist-cms/packages/data-type/tree/manifests.js +2 -1
  336. package/dist-cms/packages/data-type/tree/tree-item-children/collection/views/data-type-tree-item-table-collection-view.element.js +1 -1
  337. package/dist-cms/packages/dictionary/manifests.js +2 -1
  338. package/dist-cms/packages/dictionary/repository/detail/manifests.js +2 -1
  339. package/dist-cms/packages/dictionary/repository/item/manifests.js +2 -1
  340. package/dist-cms/packages/dictionary/tree/manifests.js +2 -1
  341. package/dist-cms/packages/documents/document-blueprints/manifests.js +2 -1
  342. package/dist-cms/packages/documents/document-blueprints/repository/detail/manifests.js +2 -1
  343. package/dist-cms/packages/documents/document-blueprints/repository/item/manifests.js +2 -1
  344. package/dist-cms/packages/documents/document-blueprints/tree/folder/repository/manifests.js +2 -1
  345. package/dist-cms/packages/documents/document-blueprints/tree/manifests.js +2 -1
  346. package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +2 -2
  347. package/dist-cms/packages/documents/document-types/manifests.js +2 -1
  348. package/dist-cms/packages/documents/document-types/repository/detail/manifests.js +2 -1
  349. package/dist-cms/packages/documents/document-types/repository/item/manifests.js +2 -1
  350. package/dist-cms/packages/documents/document-types/tree/folder/repository/manifests.js +2 -1
  351. package/dist-cms/packages/documents/document-types/tree/manifests.js +2 -1
  352. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-allow-edit-invariant-from-non-default-controller-base.d.ts +19 -0
  353. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-allow-edit-invariant-from-non-default-controller-base.js +45 -0
  354. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-block-workspace-allow-edit-invariant-from-non-default.controller.d.ts +6 -0
  355. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-block-workspace-allow-edit-invariant-from-non-default.controller.js +74 -0
  356. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-workspace-allow-edit-invariant-from-non-default.controller.d.ts +5 -0
  357. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/document-workspace-allow-edit-invariant-from-non-default.controller.js +18 -0
  358. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/manifests.d.ts +1 -0
  359. package/dist-cms/packages/documents/documents/allow-edit-invariant-from-non-default/manifests.js +29 -0
  360. package/dist-cms/packages/documents/documents/collection/action/create-document-collection-action.element.js +2 -2
  361. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +5 -0
  362. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +5 -0
  363. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint/create-blueprint.action.d.ts +2 -2
  364. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint/create-blueprint.action.js +2 -2
  365. package/dist-cms/packages/documents/documents/entity-actions/culture-and-hostnames/modal/culture-and-hostnames-modal.element.js +1 -1
  366. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.js +1 -1
  367. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.js +1 -1
  368. package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.js +1 -1
  369. package/dist-cms/packages/documents/documents/item/repository/manifests.js +2 -1
  370. package/dist-cms/packages/documents/documents/manifests.js +4 -1
  371. package/dist-cms/packages/documents/documents/modals/shared/document-variant-language-picker.element.d.ts +2 -1
  372. package/dist-cms/packages/documents/documents/modals/shared/document-variant-language-picker.element.js +17 -2
  373. package/dist-cms/packages/documents/documents/preview/workspace-action-menu-item/preview-option.action.d.ts +2 -2
  374. package/dist-cms/packages/documents/documents/preview/workspace-action-menu-item/preview-option.action.js +2 -2
  375. package/dist-cms/packages/documents/documents/publishing/publish/entity-bulk-action/publish.bulk-action.d.ts +15 -0
  376. package/dist-cms/packages/documents/documents/publishing/publish/entity-bulk-action/publish.bulk-action.js +137 -67
  377. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.js +1 -2
  378. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-bulk-action/unpublish.bulk-action.d.ts +1 -0
  379. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-bulk-action/unpublish.bulk-action.js +46 -66
  380. package/dist-cms/packages/documents/documents/recycle-bin/collection-action/manifests.d.ts +1 -0
  381. package/dist-cms/packages/documents/documents/recycle-bin/collection-action/manifests.js +23 -0
  382. package/dist-cms/packages/documents/documents/recycle-bin/manifests.js +4 -1
  383. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/manifests.js +2 -1
  384. package/dist-cms/packages/documents/documents/repository/detail/document-detail.server.data-source.js +1 -2
  385. package/dist-cms/packages/documents/documents/repository/detail/manifests.js +2 -1
  386. package/dist-cms/packages/documents/documents/rollback/modal/rollback-modal.element.d.ts +1 -0
  387. package/dist-cms/packages/documents/documents/rollback/modal/rollback-modal.element.js +34 -7
  388. package/dist-cms/packages/documents/documents/tree/manifests.js +2 -1
  389. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +1 -0
  390. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.js +1 -0
  391. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +1 -1
  392. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.js +9 -4
  393. package/dist-cms/packages/documents/documents/tree/utils.d.ts +7 -0
  394. package/dist-cms/packages/documents/documents/tree/utils.js +8 -0
  395. package/dist-cms/packages/documents/documents/types.d.ts +1 -0
  396. package/dist-cms/packages/documents/documents/url/repository/manifests.js +2 -1
  397. package/dist-cms/packages/documents/documents/user-permissions/document/conditions/manifests.js +2 -1
  398. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.js +1 -1
  399. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.js +1 -1
  400. package/dist-cms/packages/documents/documents/utils.d.ts +7 -1
  401. package/dist-cms/packages/documents/documents/utils.js +35 -7
  402. package/dist-cms/packages/documents/documents/workspace/conditions/is-not-trashed/document-is-not-trashed.condition.manifest.js +2 -1
  403. package/dist-cms/packages/documents/documents/workspace/conditions/is-trashed/document-is-trashed.condition.manifest.js +2 -1
  404. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +11 -1
  405. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.d.ts +2 -1
  406. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +0 -29
  407. package/dist-cms/packages/extension-insights/collection/views/table/extension-table-collection-view.element.js +1 -0
  408. package/dist-cms/packages/language/conditions/language-user-permission/manifests.js +2 -1
  409. package/dist-cms/packages/language/manifests.js +2 -1
  410. package/dist-cms/packages/language/repository/detail/manifests.js +2 -1
  411. package/dist-cms/packages/language/repository/item/manifests.js +2 -1
  412. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.js +18 -4
  413. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.d.ts +1 -1
  414. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-polling-button.element.js +0 -1
  415. package/dist-cms/packages/media/dropzone/dropzone-change.event.js +1 -0
  416. package/dist-cms/packages/media/dropzone/dropzone-submitted.event.d.ts +5 -0
  417. package/dist-cms/packages/media/imaging/components/imaging-thumbnail.element.js +2 -1
  418. package/dist-cms/packages/media/imaging/manifests.js +2 -1
  419. package/dist-cms/packages/media/media/components/input-image-cropper/crop-change.event.d.ts +5 -0
  420. package/dist-cms/packages/media/media/components/input-image-cropper/focalpoint-change.event.d.ts +5 -0
  421. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.js +2 -1
  422. package/dist-cms/packages/media/media/components/input-image-cropper/utils.d.ts +6 -0
  423. package/dist-cms/packages/media/media/components/input-image-cropper/utils.js +7 -0
  424. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +5 -0
  425. package/dist-cms/packages/media/media/components/input-rich-media/input-rich-media.element.js +1 -0
  426. package/dist-cms/packages/media/media/dropzone/dropzone-media.element.js +44 -38
  427. package/dist-cms/packages/media/media/index.d.ts +1 -1
  428. package/dist-cms/packages/media/media/index.js +1 -1
  429. package/dist-cms/packages/media/media/manifests.js +2 -1
  430. package/dist-cms/packages/media/media/modals/image-cropper-editor/image-cropper-editor-modal.element.d.ts +1 -0
  431. package/dist-cms/packages/media/media/modals/image-cropper-editor/image-cropper-editor-modal.element.js +1 -0
  432. package/dist-cms/packages/media/media/modals/image-cropper-editor/index.d.ts +0 -2
  433. package/dist-cms/packages/media/media/modals/image-cropper-editor/index.js +0 -2
  434. package/dist-cms/packages/media/media/modals/media-caption-alt-text/index.d.ts +1 -1
  435. package/dist-cms/packages/media/media/modals/media-caption-alt-text/index.js +1 -1
  436. package/dist-cms/packages/media/media/modals/media-picker/index.d.ts +0 -2
  437. package/dist-cms/packages/media/media/modals/media-picker/index.js +0 -2
  438. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.d.ts +1 -0
  439. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +39 -10
  440. package/dist-cms/packages/media/media/recycle-bin/collection-action/manifests.d.ts +1 -0
  441. package/dist-cms/packages/media/media/recycle-bin/collection-action/manifests.js +23 -0
  442. package/dist-cms/packages/media/media/recycle-bin/manifests.js +2 -0
  443. package/dist-cms/packages/media/media/recycle-bin/tree/manifests.js +2 -1
  444. package/dist-cms/packages/media/media/repository/detail/manifests.js +2 -1
  445. package/dist-cms/packages/media/media/repository/item/manifests.js +2 -1
  446. package/dist-cms/packages/media/media/tree/manifests.js +2 -1
  447. package/dist-cms/packages/media/media/tree/tree-item/media-tree-item.context.d.ts +1 -0
  448. package/dist-cms/packages/media/media/tree/tree-item/media-tree-item.context.js +3 -1
  449. package/dist-cms/packages/media/media/tree/tree-item/media-tree-item.element.d.ts +3 -1
  450. package/dist-cms/packages/media/media/tree/tree-item/media-tree-item.element.js +11 -4
  451. package/dist-cms/packages/media/media/tree/utils.d.ts +7 -0
  452. package/dist-cms/packages/media/media/tree/utils.js +8 -0
  453. package/dist-cms/packages/media/media/url/repository/manifests.js +2 -1
  454. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.d.ts +2 -1
  455. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +28 -4
  456. package/dist-cms/packages/media/media-types/components/input-media-type/input-media-type.element.js +7 -3
  457. package/dist-cms/packages/media/media-types/manifests.js +2 -1
  458. package/dist-cms/packages/media/media-types/repository/detail/manifests.js +2 -1
  459. package/dist-cms/packages/media/media-types/repository/item/manifests.js +2 -1
  460. package/dist-cms/packages/media/media-types/tree/folder/repository/manifests.js +2 -1
  461. package/dist-cms/packages/media/media-types/tree/manifests.js +2 -1
  462. package/dist-cms/packages/media/umbraco-package.d.ts +2 -1
  463. package/dist-cms/packages/media/umbraco-package.js +2 -1
  464. package/dist-cms/packages/members/member/collection/action/create-member-collection-action.element.d.ts +3 -3
  465. package/dist-cms/packages/members/member/collection/action/create-member-collection-action.element.js +6 -6
  466. package/dist-cms/packages/members/member/collection/types.d.ts +2 -4
  467. package/dist-cms/packages/members/member/item/repository/manifests.js +2 -1
  468. package/dist-cms/packages/members/member/manifests.js +2 -1
  469. package/dist-cms/packages/members/member/repository/detail/manifests.js +2 -1
  470. package/dist-cms/packages/members/member-group/manifests.js +2 -1
  471. package/dist-cms/packages/members/member-group/repository/detail/manifests.js +2 -1
  472. package/dist-cms/packages/members/member-group/repository/item/manifests.js +2 -1
  473. package/dist-cms/packages/members/member-public-access/modal/public-access-modal.element.d.ts +2 -0
  474. package/dist-cms/packages/members/member-public-access/modal/public-access-modal.element.js +90 -24
  475. package/dist-cms/packages/members/member-type/components/input-member-type/input-member-type.element.js +4 -0
  476. package/dist-cms/packages/members/member-type/manifests.js +2 -1
  477. package/dist-cms/packages/members/member-type/repository/detail/manifests.js +2 -1
  478. package/dist-cms/packages/members/member-type/repository/item/manifests.js +2 -1
  479. package/dist-cms/packages/members/member-type/tree/folder/repository/manifests.js +2 -1
  480. package/dist-cms/packages/members/member-type/tree/manifests.js +2 -1
  481. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +5 -0
  482. package/dist-cms/packages/packages/package/repository/manifests.js +2 -1
  483. package/dist-cms/packages/property-editors/content-picker/config/source-type/property-editor-ui-content-picker-source-type.element.js +1 -0
  484. package/dist-cms/packages/property-editors/content-picker/dynamic-root/modals/manifests.js +13 -1
  485. package/dist-cms/packages/property-editors/content-picker/property-editor-ui-content-picker.element.js +5 -2
  486. package/dist-cms/packages/property-editors/entity-data-picker/input/input-entity-data.context.d.ts +2 -1
  487. package/dist-cms/packages/property-editors/entity-data-picker/input/input-entity-data.context.js +10 -6
  488. package/dist-cms/packages/property-editors/entity-data-picker/input/input-entity-data.element.d.ts +1 -0
  489. package/dist-cms/packages/property-editors/entity-data-picker/input/input-entity-data.element.js +8 -2
  490. package/dist-cms/packages/property-editors/entity-data-picker/picker-collection/constants.d.ts +1 -0
  491. package/dist-cms/packages/property-editors/entity-data-picker/picker-collection/constants.js +1 -0
  492. package/dist-cms/packages/property-editors/entity-data-picker/picker-collection/manifests.js +12 -1
  493. package/dist-cms/packages/property-editors/entity-data-picker/picker-collection/views/manifests.d.ts +1 -0
  494. package/dist-cms/packages/property-editors/entity-data-picker/picker-collection/views/manifests.js +28 -0
  495. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.js +1 -1
  496. package/dist-cms/packages/property-editors/umbraco-package.d.ts +2 -1
  497. package/dist-cms/packages/property-editors/umbraco-package.js +2 -1
  498. package/dist-cms/packages/relations/relation-types/repository/detail/manifests.js +2 -1
  499. package/dist-cms/packages/static-file/manifests.js +2 -1
  500. package/dist-cms/packages/static-file/repository/item/manifests.js +2 -1
  501. package/dist-cms/packages/static-file/tree/manifests.js +2 -1
  502. package/dist-cms/packages/tags/repository/manifests.js +2 -1
  503. package/dist-cms/packages/templating/partial-views/manifests.js +2 -1
  504. package/dist-cms/packages/templating/partial-views/repository/item/manifests.js +2 -1
  505. package/dist-cms/packages/templating/partial-views/repository/manifests.js +2 -1
  506. package/dist-cms/packages/templating/partial-views/tree/folder/repository/manifests.js +2 -1
  507. package/dist-cms/packages/templating/partial-views/tree/manifests.js +2 -1
  508. package/dist-cms/packages/templating/scripts/manifests.js +2 -1
  509. package/dist-cms/packages/templating/scripts/repository/item/manifests.js +2 -1
  510. package/dist-cms/packages/templating/scripts/repository/manifests.js +2 -1
  511. package/dist-cms/packages/templating/scripts/tree/folder/repository/manifests.js +2 -1
  512. package/dist-cms/packages/templating/scripts/tree/manifests.js +2 -1
  513. package/dist-cms/packages/templating/stylesheets/manifests.js +2 -1
  514. package/dist-cms/packages/templating/stylesheets/repository/item/manifests.js +2 -1
  515. package/dist-cms/packages/templating/stylesheets/repository/manifests.js +2 -1
  516. package/dist-cms/packages/templating/stylesheets/tree/folder/repository/manifests.js +2 -1
  517. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +2 -1
  518. package/dist-cms/packages/templating/templates/manifests.js +2 -1
  519. package/dist-cms/packages/templating/templates/repository/detail/manifests.js +2 -1
  520. package/dist-cms/packages/templating/templates/repository/item/manifests.js +2 -1
  521. package/dist-cms/packages/templating/templates/tree/manifests.js +2 -1
  522. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +6 -0
  523. package/dist-cms/packages/templating/umbraco-package.d.ts +2 -1
  524. package/dist-cms/packages/templating/umbraco-package.js +2 -1
  525. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.d.ts +1 -1
  526. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.js +18 -9
  527. package/dist-cms/packages/tiptap/extensions/block/block.tiptap-api.js +14 -12
  528. package/dist-cms/packages/tiptap/extensions/block/block.tiptap-extension.js +1 -12
  529. package/dist-cms/packages/tiptap/extensions/heading/heading6.tiptap-toolbar-api.d.ts +1 -1
  530. package/dist-cms/packages/tiptap/extensions/heading/heading6.tiptap-toolbar-api.js +1 -1
  531. package/dist-cms/packages/tiptap/extensions/html-attr-class/html-attr-class.tiptap-extension.js +26 -2
  532. package/dist-cms/packages/tiptap/extensions/link/link.tiptap-extension.d.ts +7 -0
  533. package/dist-cms/packages/tiptap/extensions/link/link.tiptap-extension.js +14 -17
  534. package/dist-cms/packages/tiptap/extensions/style-menu/style-menu.tiptap-toolbar-api.js +1 -0
  535. package/dist-cms/packages/tiptap/extensions/subscript/subscript.tiptap-api.d.ts +1 -1
  536. package/dist-cms/packages/tiptap/extensions/subscript/subscript.tiptap-api.js +1 -1
  537. package/dist-cms/packages/tiptap/extensions/superscript/superscript.tiptap-api.d.ts +1 -1
  538. package/dist-cms/packages/tiptap/extensions/superscript/superscript.tiptap-api.js +1 -1
  539. package/dist-cms/packages/tiptap/extensions/text-direction/text-direction.tiptap-api.d.ts +2 -1
  540. package/dist-cms/packages/tiptap/extensions/text-direction/text-direction.tiptap-api.js +4 -6
  541. package/dist-cms/packages/tiptap/extensions/text-direction/text-direction.tiptap-extension.d.ts +3 -10
  542. package/dist-cms/packages/tiptap/extensions/text-direction/text-direction.tiptap-extension.js +6 -35
  543. package/dist-cms/packages/tiptap/externals.js +1 -4
  544. package/dist-cms/packages/tiptap/package.json +10 -10
  545. package/dist-cms/packages/ufm/plugins/marked-ufm.plugin.js +3 -2
  546. package/dist-cms/packages/umbraco-news/components/umb-news-card.element.d.ts +1 -1
  547. package/dist-cms/packages/umbraco-news/components/umb-news-card.element.js +88 -60
  548. package/dist-cms/packages/umbraco-news/components/umb-news-container.element.js +1 -1
  549. package/dist-cms/packages/user/current-user/conditions/group-id/group-id.condition.manifest.js +2 -1
  550. package/dist-cms/packages/user/current-user/conditions/is-admin/is-admin.condition.d.ts +2 -2
  551. package/dist-cms/packages/user/current-user/conditions/is-admin/is-admin.condition.js +2 -2
  552. package/dist-cms/packages/user/current-user/conditions/is-admin/is-admin.condition.manifest.js +2 -1
  553. package/dist-cms/packages/user/current-user/history/manifests.js +2 -1
  554. package/dist-cms/packages/user/current-user/modals/current-user-mfa/current-user-mfa-modal.element.d.ts +2 -0
  555. package/dist-cms/packages/user/current-user/modals/current-user-mfa/current-user-mfa-modal.element.js +59 -21
  556. package/dist-cms/packages/user/current-user/repository/current-user.repository.js +4 -0
  557. package/dist-cms/packages/user/current-user/repository/current-user.server.data-source.js +1 -1
  558. package/dist-cms/packages/user/current-user/repository/manifests.js +4 -2
  559. package/dist-cms/packages/user/user/client-credential/create/modal/create-user-client-credential-modal.element.d.ts +3 -4
  560. package/dist-cms/packages/user/user/client-credential/create/modal/create-user-client-credential-modal.element.js +7 -8
  561. package/dist-cms/packages/user/user/collection/action/manifests.js +5 -0
  562. package/dist-cms/packages/user/user/collection/item/user-collection-item-card.element.js +2 -0
  563. package/dist-cms/packages/user/user/collection/user-collection-header.element.js +4 -4
  564. package/dist-cms/packages/user/user/collection/views/table/user-table-collection-view.element.d.ts +5 -7
  565. package/dist-cms/packages/user/user/collection/views/table/user-table-collection-view.element.js +39 -51
  566. package/dist-cms/packages/user/user/components/user-avatar/user-avatar.element.d.ts +1 -3
  567. package/dist-cms/packages/user/user/components/user-avatar/user-avatar.element.js +2 -2
  568. package/dist-cms/packages/user/user/components/user-input/user-input.element.d.ts +1 -0
  569. package/dist-cms/packages/user/user/components/user-input/user-input.element.js +11 -8
  570. package/dist-cms/packages/user/user/invite/collection-action/manifests.js +5 -0
  571. package/dist-cms/packages/user/user/manifests.js +2 -1
  572. package/dist-cms/packages/user/user/modals/user-picker/user-picker-modal.token.js +3 -3
  573. package/dist-cms/packages/user/user/repository/config/manifests.js +2 -1
  574. package/dist-cms/packages/user/user/repository/detail/manifests.js +2 -1
  575. package/dist-cms/packages/user/user/repository/item/manifests.js +2 -1
  576. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-assign-access/user-workspace-assign-access.element.js +4 -0
  577. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-avatar/user-workspace-avatar.element.d.ts +3 -3
  578. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-avatar/user-workspace-avatar.element.js +14 -11
  579. package/dist-cms/packages/user/user/workspace/user/user-workspace.context.d.ts +1 -3
  580. package/dist-cms/packages/user/user/workspace/user/user-workspace.context.js +2 -2
  581. package/dist-cms/packages/user/user-group/collection/filter/manifests.d.ts +1 -0
  582. package/dist-cms/packages/user/user-group/collection/filter/manifests.js +16 -0
  583. package/dist-cms/packages/user/user-group/collection/manifests.js +5 -4
  584. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.js +8 -0
  585. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data-source.js +3 -1
  586. package/dist-cms/packages/user/user-group/collection/types.d.ts +3 -3
  587. package/dist-cms/packages/user/user-group/collection/user-group-collection.context-token.d.ts +7 -2
  588. package/dist-cms/packages/user/user-group/collection/user-group-collection.context-token.js +3 -0
  589. package/dist-cms/packages/user/user-group/collection/views/user-group-table-collection-view.element.js +11 -3
  590. package/dist-cms/packages/user/user-group/components/user-group-ref/user-group-ref.element.d.ts +1 -0
  591. package/dist-cms/packages/user/user-group/components/user-group-ref/user-group-ref.element.js +11 -12
  592. package/dist-cms/packages/user/user-group/manifests.js +2 -1
  593. package/dist-cms/packages/user/user-group/modals/user-group-picker/user-group-picker-modal.element.js +1 -0
  594. package/dist-cms/packages/user/user-group/repository/detail/manifests.js +2 -1
  595. package/dist-cms/packages/user/user-group/repository/detail/user-group-detail.server.data-source.js +4 -0
  596. package/dist-cms/packages/user/user-group/repository/item/manifests.js +2 -1
  597. package/dist-cms/packages/user/user-group/types.d.ts +1 -0
  598. package/dist-cms/packages/user/user-group/workspace/user-group/user-group-workspace-editor.element.d.ts +1 -0
  599. package/dist-cms/packages/user/user-group/workspace/user-group/user-group-workspace-editor.element.js +47 -13
  600. package/dist-cms/packages/user/user-group/workspace/user-group/user-group-workspace.context.d.ts +7 -0
  601. package/dist-cms/packages/user/user-group/workspace/user-group/user-group-workspace.context.js +9 -0
  602. package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.js +2 -1
  603. package/dist-cms/packages/webhook/manifests.js +2 -1
  604. package/dist-cms/packages/webhook/webhook/repository/detail/manifests.js +2 -1
  605. package/dist-cms/packages/webhook/webhook/repository/item/manifests.js +2 -1
  606. package/dist-cms/packages/webhook/webhook-event/repository/manifests.js +2 -1
  607. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  608. package/examples/collection/collection/filter/manifests.ts +17 -0
  609. package/examples/collection/collection/manifests.ts +2 -0
  610. package/examples/picker-data-source/example-custom-picker-collection-data-source.ts +5 -5
  611. package/examples/picker-data-source/index.ts +2 -0
  612. package/examples/picker-data-source/with-thumbnail/example-custom-with-thumbnail-picker-collection-data-source.ts +83 -0
  613. package/examples/picker-data-source/with-thumbnail/images/blue-flowers-small.jpg +0 -0
  614. package/examples/picker-data-source/with-thumbnail/images/branch-small.jpg +0 -0
  615. package/examples/picker-data-source/with-thumbnail/images/grass-small.jpg +0 -0
  616. package/examples/picker-data-source/with-thumbnail/images/red-flowers-small.jpg +0 -0
  617. package/examples/picker-data-source/with-thumbnail/manifests.ts +16 -0
  618. package/examples/workspace-context-initial-name/index.ts +4 -0
  619. package/examples/workspace-context-initial-name/workspace-context.ts +0 -1
  620. package/package.json +22 -18
  621. package/{dist-cms/umbraco-package-schema.json → umbraco-package-schema.json} +706 -1
  622. package/{dist-cms/vscode-html-custom-data.json → vscode-html-custom-data.json} +74 -44
  623. package/dist-cms/packages/user/user/collection/views/grid/user-grid-collection-view.element.d.ts +0 -17
  624. package/dist-cms/packages/user/user/collection/views/grid/user-grid-collection-view.element.js +0 -81
  625. package/dist-cms/packages/user/user-group/collection/user-group-collection.context.d.ts +0 -8
  626. package/dist-cms/packages/user/user-group/collection/user-group-collection.context.js +0 -8
  627. package/dist-cms/packages/user/user-group/collection/user-group-collection.element.d.ts +0 -13
  628. package/dist-cms/packages/user/user-group/collection/user-group-collection.element.js +0 -48
  629. package/dist-cms/umbraco-package.json +0 -1
@@ -1,68 +1,147 @@
1
1
  import { UmbVariantId } from '../../variant/variant-id.class.js';
2
2
  import { UmbPropertyValuePresetBuilderController } from './property-value-preset-builder.controller.js';
3
+ import { UmbDeprecation } from '../../utils/index.js';
3
4
  export class UmbPropertyValuePresetVariantBuilderController extends UmbPropertyValuePresetBuilderController {
4
5
  #cultures = [];
5
6
  // Always declare the default segment (null)
6
7
  #segments = [null];
7
- // TODO: We properly need to break this, as Engage needs to control which Segments are available for each culture, maybe investigate the option to go about a new option to just parse options.? Break in v.17.0 [NL]
8
+ #variantOptions;
9
+ /**
10
+ * Sets the cultures to generate values for.
11
+ * Cannot be used together with setVariantOptions.
12
+ * @param {Array<string>} cultures - Array of culture codes (e.g., ['en-US', 'da-DK'])
13
+ * @deprecated Use setVariantOptions instead for more fine-grained control.
14
+ */
8
15
  setCultures(cultures) {
16
+ new UmbDeprecation({
17
+ removeInVersion: '20.0.0',
18
+ deprecated: 'setCultures',
19
+ solution: 'Use .setVariantOptions method instead',
20
+ }).warn();
21
+ if (this.#variantOptions) {
22
+ throw new Error('setCultures cannot be used together with setVariantOptions.');
23
+ }
9
24
  this.#cultures = cultures;
10
25
  }
26
+ /**
27
+ * Sets the segments to generate values for.
28
+ * Cannot be used together with setVariantOptions.
29
+ * @param {Array<string>} segments - Array of segment aliases
30
+ * @deprecated Use setVariantOptions instead for more fine-grained control.
31
+ */
11
32
  setSegments(segments) {
33
+ new UmbDeprecation({
34
+ removeInVersion: '20.0.0',
35
+ deprecated: 'setSegments',
36
+ solution: 'Use .setVariantOptions method instead',
37
+ }).warn();
38
+ if (this.#variantOptions) {
39
+ throw new Error('setSegments cannot be used together with setVariantOptions.');
40
+ }
12
41
  // No matter how many segments are present, always include the default segment (null)
13
42
  this.#segments = [null, ...segments];
14
43
  }
44
+ /**
45
+ * Sets explicit variant options (culture + segment combinations) to generate values for.
46
+ * This allows fine-grained control over which culture/segment combinations are valid,
47
+ * supporting scenarios where segments are culture-specific.
48
+ * Cannot be used together with setCultures or setSegments.
49
+ * @param {Array<UmbVariantId>} options - Array of UmbVariantId instances representing valid culture/segment combinations
50
+ */
51
+ setVariantOptions(options) {
52
+ if (this.#cultures.length > 0 || this.#segments.length > 1) {
53
+ throw new Error('setVariantOptions cannot be used together with setCultures or setSegments.');
54
+ }
55
+ this.#variantOptions = options;
56
+ }
15
57
  async _generatePropertyValues(apis, propertyType) {
58
+ // Determine which variant options to use based on the configuration method
59
+ const variantOptionsToUse = this.#variantOptions
60
+ ? this.#getFilteredVariantOptions(propertyType)
61
+ : this.#buildVariantOptionsFromCulturesAndSegments(propertyType);
62
+ // Generate values for each variant option
16
63
  const values = [];
17
- if (propertyType.typeArgs.variesBySegment && propertyType.typeArgs.variesByCulture) {
18
- if (this.#cultures.length === 0) {
19
- throw new Error('Cultures must be set when varying by culture.');
64
+ for (const variantId of variantOptionsToUse) {
65
+ const value = await this._generatePropertyValue(apis, propertyType, this.#makeArgsFor(propertyType.alias, variantId.culture, variantId.segment));
66
+ if (value) {
67
+ value.culture = variantId.culture;
68
+ value.segment = variantId.segment;
69
+ values.push(value);
70
+ }
71
+ }
72
+ return values;
73
+ }
74
+ /**
75
+ * Filters variant options based on property type args (variesByCulture/variesBySegment).
76
+ * @param {UmbPropertyTypePresetModel | UmbPropertyTypePresetWithSchemaAliasModel} propertyType - Property type model
77
+ * @returns {Array<UmbVariantId>} Filtered array of UmbVariantId instances
78
+ */
79
+ #getFilteredVariantOptions(propertyType) {
80
+ if (!this.#variantOptions) {
81
+ return [];
82
+ }
83
+ const variesByCulture = propertyType.typeArgs.variesByCulture;
84
+ const variesBySegment = propertyType.typeArgs.variesBySegment;
85
+ // Validate that cultures are available when property varies by culture
86
+ if (variesByCulture && !this.#variantOptions.some((v) => v.culture !== null)) {
87
+ throw new Error('Cultures must be set when varying by culture.');
88
+ }
89
+ // Filter options based on property variation settings
90
+ return this.#variantOptions.filter((variantId) => {
91
+ // If property doesn't vary by culture, only use culture-invariant options
92
+ if (!variesByCulture && variantId.culture !== null) {
93
+ return false;
20
94
  }
95
+ // If property does vary by culture, exclude culture-invariant options
96
+ if (variesByCulture && variantId.culture === null) {
97
+ return false;
98
+ }
99
+ // If property doesn't vary by segment, only use segment-invariant options
100
+ if (!variesBySegment && variantId.segment !== null) {
101
+ return false;
102
+ }
103
+ return true;
104
+ });
105
+ }
106
+ /**
107
+ * Builds variant options from the legacy setCultures/setSegments approach.
108
+ * This maintains backward compatibility with existing usage.
109
+ * @param {UmbPropertyTypePresetModel | UmbPropertyTypePresetWithSchemaAliasModel} propertyType - Property type model
110
+ * @returns {Array<UmbVariantId>} Array of UmbVariantId instances representing culture/segment combinations
111
+ */
112
+ #buildVariantOptionsFromCulturesAndSegments(propertyType) {
113
+ const variesByCulture = propertyType.typeArgs.variesByCulture;
114
+ const variesBySegment = propertyType.typeArgs.variesBySegment;
115
+ // Validate that cultures are set when property varies by culture
116
+ if (variesByCulture && this.#cultures.length === 0) {
117
+ throw new Error('Cultures must be set when varying by culture.');
118
+ }
119
+ const options = [];
120
+ if (variesByCulture && variesBySegment) {
121
+ // Cartesian product of cultures × segments
21
122
  for (const culture of this.#cultures) {
22
123
  for (const segment of this.#segments) {
23
- const value = await this._generatePropertyValue(apis, propertyType, this.#makeArgsFor(propertyType.alias, culture, segment));
24
- if (value) {
25
- value.culture = culture;
26
- value.segment = segment;
27
- values.push(value);
28
- }
124
+ options.push(new UmbVariantId(culture, segment));
29
125
  }
30
126
  }
31
127
  }
32
- else if (propertyType.typeArgs.variesByCulture) {
33
- if (this.#cultures.length === 0) {
34
- throw new Error('Cultures must be set when varying by culture.');
35
- }
128
+ else if (variesByCulture) {
129
+ // Only cultures
36
130
  for (const culture of this.#cultures) {
37
- const value = await this._generatePropertyValue(apis, propertyType, this.#makeArgsFor(propertyType.alias, culture, null));
38
- if (value) {
39
- value.culture = culture;
40
- value.segment = null;
41
- values.push(value);
42
- }
131
+ options.push(new UmbVariantId(culture, null));
43
132
  }
44
133
  }
45
- else if (propertyType.typeArgs.variesBySegment) {
134
+ else if (variesBySegment) {
135
+ // Only segments (culture invariant)
46
136
  for (const segment of this.#segments) {
47
- const value = await this._generatePropertyValue(apis, propertyType, this.#makeArgsFor(propertyType.alias, null, segment));
48
- if (value) {
49
- // Be aware this maybe should have been the default culture?
50
- value.culture = null;
51
- value.segment = segment;
52
- values.push(value);
53
- }
137
+ options.push(new UmbVariantId(null, segment));
54
138
  }
55
139
  }
56
140
  else {
57
- const value = await this._generatePropertyValue(apis, propertyType, this.#makeArgsFor(propertyType.alias, null, null));
58
- if (value) {
59
- // Be aware this maybe should have been the default culture?
60
- value.culture = null;
61
- value.segment = null;
62
- values.push(value);
63
- }
141
+ // Invariant
142
+ options.push(new UmbVariantId(null, null));
64
143
  }
65
- return values;
144
+ return options;
66
145
  }
67
146
  #makeArgsFor(alias, culture, segment) {
68
147
  const variantId = new UmbVariantId(culture, segment);
@@ -1,4 +1,5 @@
1
1
  import { UMB_PROPERTY_EDITOR_DATA_SOURCE_ITEM_REPOSITORY_ALIAS, UMB_PROPERTY_EDITOR_DATA_SOURCE_ITEM_STORE_ALIAS, } from './constants.js';
2
+ import { UmbPropertyEditorDataSourceItemStore } from './item.store.js';
2
3
  export const manifests = [
3
4
  {
4
5
  type: 'repository',
@@ -10,6 +11,6 @@ export const manifests = [
10
11
  type: 'itemStore',
11
12
  alias: UMB_PROPERTY_EDITOR_DATA_SOURCE_ITEM_STORE_ALIAS,
12
13
  name: 'Property Editor Data Source Item Store',
13
- api: () => import('./item.store.js'),
14
+ api: UmbPropertyEditorDataSourceItemStore,
14
15
  },
15
16
  ];
@@ -0,0 +1,18 @@
1
+ import { UmbCollectionActionBase } from '../../../collection/action/collection-action-base.js';
2
+ import type { ManifestCollectionActionEmptyRecycleBinKind } from './types.js';
3
+ import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
4
+ /**
5
+ * Collection action for emptying the recycle bin.
6
+ * @class UmbEmptyRecycleBinCollectionAction
7
+ * @augments {UmbCollectionActionBase}
8
+ */
9
+ export declare class UmbEmptyRecycleBinCollectionAction extends UmbCollectionActionBase {
10
+ #private;
11
+ constructor(host: UmbControllerHost, manifest: ManifestCollectionActionEmptyRecycleBinKind);
12
+ /**
13
+ * Executes the action.
14
+ * @memberof UmbEmptyRecycleBinCollectionAction
15
+ */
16
+ execute(): Promise<void>;
17
+ }
18
+ export { UmbEmptyRecycleBinCollectionAction as api };
@@ -0,0 +1,63 @@
1
+ import { UmbCollectionActionBase } from '../../../collection/action/collection-action-base.js';
2
+ import { createExtensionApiByAlias } from '../../../extension-registry/index.js';
3
+ import { umbConfirmModal } from '../../../modal/index.js';
4
+ import { UmbRequestReloadChildrenOfEntityEvent } from '../../../entity-action/index.js';
5
+ import { UMB_ACTION_EVENT_CONTEXT } from '../../../action/index.js';
6
+ import { UMB_COLLECTION_CONTEXT } from '../../../collection/index.js';
7
+ import { UMB_ENTITY_CONTEXT } from '../../../entity/index.js';
8
+ /**
9
+ * Collection action for emptying the recycle bin.
10
+ * @class UmbEmptyRecycleBinCollectionAction
11
+ * @augments {UmbCollectionActionBase}
12
+ */
13
+ export class UmbEmptyRecycleBinCollectionAction extends UmbCollectionActionBase {
14
+ #manifest;
15
+ constructor(host, manifest) {
16
+ super(host);
17
+ this.#manifest = manifest;
18
+ }
19
+ /**
20
+ * Executes the action.
21
+ * @memberof UmbEmptyRecycleBinCollectionAction
22
+ */
23
+ async execute() {
24
+ if (!this.#manifest.meta.recycleBinRepositoryAlias) {
25
+ throw new Error('Recycle Bin Repository Alias is not defined in the manifest meta');
26
+ }
27
+ await umbConfirmModal(this._host, {
28
+ headline: `#actions_emptyrecyclebin`,
29
+ content: `#defaultdialogs_recycleBinWarning`,
30
+ color: 'danger',
31
+ confirmLabel: `#actions_emptyrecyclebin`,
32
+ });
33
+ const recycleBinRepository = await createExtensionApiByAlias(this, this.#manifest.meta.recycleBinRepositoryAlias);
34
+ const { error } = await recycleBinRepository.requestEmpty();
35
+ if (error) {
36
+ throw error;
37
+ }
38
+ // Refresh the collection
39
+ const collectionContext = await this.getContext(UMB_COLLECTION_CONTEXT);
40
+ collectionContext?.loadCollection();
41
+ // Refresh the tree (if any)
42
+ await this.#reloadChildrenOfEntity();
43
+ }
44
+ /**
45
+ * Requests a reload of the children of the current entity in the tree.
46
+ * Silently returns if the required contexts are not available.
47
+ */
48
+ async #reloadChildrenOfEntity() {
49
+ const eventContext = await this.getContext(UMB_ACTION_EVENT_CONTEXT);
50
+ if (!eventContext)
51
+ return;
52
+ const entityContext = await this.getContext(UMB_ENTITY_CONTEXT);
53
+ if (!entityContext)
54
+ return;
55
+ const entityType = entityContext.getEntityType();
56
+ if (!entityType)
57
+ return;
58
+ const unique = entityContext.getUnique();
59
+ const event = new UmbRequestReloadChildrenOfEntityEvent({ entityType, unique });
60
+ eventContext.dispatchEvent(event);
61
+ }
62
+ }
63
+ export { UmbEmptyRecycleBinCollectionAction as api };
@@ -0,0 +1,2 @@
1
+ import type { UmbExtensionManifestKind } from '../../../extension-registry/index.js';
2
+ export declare const manifest: UmbExtensionManifestKind;
@@ -0,0 +1,16 @@
1
+ export const manifest = {
2
+ type: 'kind',
3
+ alias: 'Umb.Kind.CollectionAction.RecycleBin.Empty',
4
+ matchKind: 'emptyRecycleBin',
5
+ matchType: 'collectionAction',
6
+ manifest: {
7
+ type: 'collectionAction',
8
+ kind: 'emptyRecycleBin',
9
+ api: () => import('./empty-recycle-bin.collection-action.js'),
10
+ elementName: 'umb-collection-action-button',
11
+ weight: 100,
12
+ meta: {
13
+ label: '#actions_emptyrecyclebin',
14
+ },
15
+ },
16
+ };
@@ -0,0 +1 @@
1
+ export type * from './types.js';
@@ -0,0 +1,2 @@
1
+ import type { UmbExtensionManifestKind } from '../../../extension-registry/index.js';
2
+ export declare const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind>;
@@ -0,0 +1,2 @@
1
+ import { manifest as emptyRecycleBinKindManifest } from './empty-recycle-bin.collection-action.kind.js';
2
+ export const manifests = [emptyRecycleBinKindManifest];
@@ -0,0 +1,14 @@
1
+ import type { ManifestCollectionAction, MetaCollectionAction } from '../../../collection/index.js';
2
+ export interface ManifestCollectionActionEmptyRecycleBinKind extends ManifestCollectionAction {
3
+ type: 'collectionAction';
4
+ kind: 'emptyRecycleBin';
5
+ meta: MetaCollectionActionEmptyRecycleBinKind;
6
+ }
7
+ export interface MetaCollectionActionEmptyRecycleBinKind extends MetaCollectionAction {
8
+ recycleBinRepositoryAlias: string;
9
+ }
10
+ declare global {
11
+ interface UmbExtensionManifestMap {
12
+ umbEmptyRecycleBinCollectionActionKind: ManifestCollectionActionEmptyRecycleBinKind;
13
+ }
14
+ }
@@ -0,0 +1 @@
1
+ export type * from './empty-recycle-bin/index.js';
@@ -0,0 +1,2 @@
1
+ import type { UmbExtensionManifestKind } from '../../extension-registry/index.js';
2
+ export declare const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind>;
@@ -0,0 +1,2 @@
1
+ import { manifests as emptyRecycleBinManifests } from './empty-recycle-bin/manifests.js';
2
+ export const manifests = [...emptyRecycleBinManifests];
@@ -1,7 +1,8 @@
1
1
  import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from './constants.js';
2
+ import { UmbEntityIsNotTrashedCondition } from './entity-is-not-trashed.condition.js';
2
3
  export const manifest = {
3
4
  type: 'condition',
4
5
  name: 'Entity Is not trashed Condition',
5
6
  alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
6
- api: () => import('./entity-is-not-trashed.condition.js'),
7
+ api: UmbEntityIsNotTrashedCondition,
7
8
  };
@@ -1,7 +1,7 @@
1
1
  import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
2
2
  import type { UmbConditionConfigBase, UmbConditionControllerArguments, UmbExtensionCondition } from '../../../../../libs/extension-api/index.js';
3
3
  import { UmbConditionBase } from '../../../extension-registry/index.js';
4
- export declare class UmbIsTrashedCondition extends UmbConditionBase<UmbConditionConfigBase> implements UmbExtensionCondition {
4
+ export declare class UmbEntityIsTrashedCondition extends UmbConditionBase<UmbConditionConfigBase> implements UmbExtensionCondition {
5
5
  constructor(host: UmbControllerHost, args: UmbConditionControllerArguments<UmbConditionConfigBase>);
6
6
  }
7
- export { UmbIsTrashedCondition as api };
7
+ export { UmbEntityIsTrashedCondition as api };
@@ -1,6 +1,6 @@
1
1
  import { UMB_IS_TRASHED_ENTITY_CONTEXT } from '../../constants.js';
2
2
  import { UmbConditionBase } from '../../../extension-registry/index.js';
3
- export class UmbIsTrashedCondition extends UmbConditionBase {
3
+ export class UmbEntityIsTrashedCondition extends UmbConditionBase {
4
4
  constructor(host, args) {
5
5
  super(host, args);
6
6
  this.consumeContext(UMB_IS_TRASHED_ENTITY_CONTEXT, (context) => {
@@ -10,4 +10,4 @@ export class UmbIsTrashedCondition extends UmbConditionBase {
10
10
  });
11
11
  }
12
12
  }
13
- export { UmbIsTrashedCondition as api };
13
+ export { UmbEntityIsTrashedCondition as api };
@@ -1,7 +1,8 @@
1
1
  import { UMB_ENTITY_IS_TRASHED_CONDITION_ALIAS } from './constants.js';
2
+ import { UmbEntityIsTrashedCondition } from './entity-is-trashed.condition.js';
2
3
  export const manifest = {
3
4
  type: 'condition',
4
5
  name: 'Entity Is trashed Condition',
5
6
  alias: UMB_ENTITY_IS_TRASHED_CONDITION_ALIAS,
6
- api: () => import('./entity-is-trashed.condition.js'),
7
+ api: UmbEntityIsTrashedCondition,
7
8
  };
@@ -14,10 +14,10 @@ export class UmbEmptyRecycleBinEntityAction extends UmbEntityActionBase {
14
14
  */
15
15
  async execute() {
16
16
  await umbConfirmModal(this._host, {
17
- headline: `Empty Recycle Bin`,
18
- content: `When items are deleted from the recycle bin, they will be gone forever.`,
17
+ headline: `#actions_emptyrecyclebin`,
18
+ content: `#defaultdialogs_recycleBinWarning`,
19
19
  color: 'danger',
20
- confirmLabel: 'Empty Recycle Bin',
20
+ confirmLabel: '#actions_emptyrecyclebin',
21
21
  });
22
22
  const recycleBinRepository = await createExtensionApiByAlias(this, this.args.meta.recycleBinRepositoryAlias);
23
23
  const { error } = await recycleBinRepository.requestEmpty();
@@ -13,7 +13,7 @@ export const manifest = {
13
13
  forEntityTypes: [],
14
14
  meta: {
15
15
  icon: 'icon-trash-empty',
16
- label: 'Empty Recycle Bin',
16
+ label: '#actions_emptyrecyclebin',
17
17
  additionalOptions: true,
18
18
  },
19
19
  },
@@ -1,6 +1,7 @@
1
1
  export * from './constants.js';
2
2
  export * from './entity-action/index.js';
3
3
  export * from './entity-bulk-action/index.js';
4
- export type * from './types.js';
5
4
  export { UmbRecycleBinRepositoryBase } from './recycle-bin-repository-base.js';
6
5
  export { UmbIsTrashedEntityContext } from './contexts/is-trashed/index.js';
6
+ export type * from './collection-action/index.js';
7
+ export type * from './types.js';
@@ -1,3 +1,4 @@
1
+ import { manifests as collectionActionManifests } from './collection-action/manifests.js';
1
2
  import { manifests as conditionManifests } from './conditions/manifests.js';
2
3
  import { manifests as emptyRecycleBinEntityActionManifests } from './entity-action/empty-recycle-bin/manifests.js';
3
4
  import { manifests as restoreFromRecycleBinEntityActionManifests } from './entity-action/restore-from-recycle-bin/manifests.js';
@@ -5,6 +6,7 @@ import { manifests as trashEntityActionManifests } from './entity-action/trash/m
5
6
  import { manifests as trashEntityBulkActionManifests } from './entity-bulk-action/bulk-trash/manifests.js';
6
7
  import { manifests as treeManifests } from './tree/manifests.js';
7
8
  export const manifests = [
9
+ ...collectionActionManifests,
8
10
  ...conditionManifests,
9
11
  ...emptyRecycleBinEntityActionManifests,
10
12
  ...restoreFromRecycleBinEntityActionManifests,
@@ -32,6 +32,12 @@ export declare class UmbPathPattern<LocalParamsType extends UmbPathPatternParams
32
32
  * @returns
33
33
  */
34
34
  generateAbsolute(params: LocalParamsType & BaseParamsType): string;
35
+ /**
36
+ * Get the full absolute pattern string including base path.
37
+ * Use this when chaining patterns to preserve the full path.
38
+ * @returns The complete pattern string (base + local)
39
+ */
40
+ toAbsolutePatternString(): string;
35
41
  toString(): string;
36
42
  }
37
43
  export {};
@@ -4,8 +4,9 @@ export class UmbPathPattern {
4
4
  #base;
5
5
  constructor(localPattern, basePath) {
6
6
  this.#local = localPattern;
7
- basePath = basePath?.toString() ?? '';
8
- this.#base = basePath.lastIndexOf('/') !== basePath.length - 1 ? basePath + '/' : basePath;
7
+ // Use toAbsolutePatternString() for UmbPathPattern to preserve the full path chain
8
+ const baseString = basePath instanceof UmbPathPattern ? basePath.toAbsolutePatternString() : (basePath?.toString() ?? '');
9
+ this.#base = baseString.length > 0 && !baseString.endsWith('/') ? baseString + '/' : baseString;
9
10
  }
10
11
  generateLocal(params) {
11
12
  return umbUrlPatternToString(this.#local, params);
@@ -20,6 +21,14 @@ export class UmbPathPattern {
20
21
  return ((this.#base.indexOf(':') !== -1 ? umbUrlPatternToString(this.#base, params) : this.#base) +
21
22
  umbUrlPatternToString(this.#local, params));
22
23
  }
24
+ /**
25
+ * Get the full absolute pattern string including base path.
26
+ * Use this when chaining patterns to preserve the full path.
27
+ * @returns The complete pattern string (base + local)
28
+ */
29
+ toAbsolutePatternString() {
30
+ return this.#base + this.#local;
31
+ }
23
32
  toString() {
24
33
  return this.#local;
25
34
  }
@@ -41,7 +41,7 @@ let UmbRouteForbiddenElement = class UmbRouteForbiddenElement extends UmbLitElem
41
41
  align-items: center;
42
42
  height: 100%;
43
43
  opacity: 0;
44
- animation: fadeIn 2s 2s forwards;
44
+ animation: fadeIn 2s 0s forwards;
45
45
  }
46
46
 
47
47
  @keyframes fadeIn {
@@ -1,5 +1,6 @@
1
1
  export * from './forbidden/route-forbidden.element.js';
2
2
  export * from './not-found/route-not-found.element.js';
3
+ export * from './route.context-token.js';
3
4
  export * from './route.context.js';
4
5
  export * from './router-slot-change.event.js';
5
6
  export * from './router-slot-init.event.js';
@@ -1,5 +1,6 @@
1
1
  export * from './forbidden/route-forbidden.element.js';
2
2
  export * from './not-found/route-not-found.element.js';
3
+ export * from './route.context-token.js';
3
4
  export * from './route.context.js';
4
5
  export * from './router-slot-change.event.js';
5
6
  export * from './router-slot-init.event.js';
@@ -0,0 +1,3 @@
1
+ import type { UmbRouteContext } from './route.context.js';
2
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
3
+ export declare const UMB_ROUTE_CONTEXT: UmbContextToken<UmbRouteContext, UmbRouteContext>;
@@ -0,0 +1,2 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ export const UMB_ROUTE_CONTEXT = new UmbContextToken('UmbRouterContext');
@@ -1,6 +1,5 @@
1
1
  import type { IRouterSlot } from '../router-slot/index.js';
2
2
  import type { UmbModalRouteRegistration } from '../modal-registration/modal-route-registration.interface.js';
3
- import { UmbContextToken } from '../../../../libs/context-api/index.js';
4
3
  import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
5
4
  import { UmbContextBase } from '../../../../libs/class-api/index.js';
6
5
  export declare class UmbRouteContext extends UmbContextBase {
@@ -19,4 +18,4 @@ export declare class UmbRouteContext extends UmbContextBase {
19
18
  _internal_modalRouterChanged(activeModalPath: string | undefined): void;
20
19
  hostDisconnected(): void;
21
20
  }
22
- export declare const UMB_ROUTE_CONTEXT: UmbContextToken<UmbRouteContext, UmbRouteContext>;
21
+ export { UMB_ROUTE_CONTEXT } from './route.context-token.js';
@@ -1,7 +1,8 @@
1
1
  import { umbGenerateRoutePathBuilder } from '../generate-route-path-builder.function.js';
2
- import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ // Import UMB_MODAL_MANAGER_CONTEXT directly from token file to avoid circular dependency with router package
3
+ import { UMB_MODAL_MANAGER_CONTEXT } from '../../modal/context/modal-manager.context-token.js';
4
+ import { UMB_ROUTE_CONTEXT } from './route.context-token.js';
3
5
  import { UmbContextBase } from '../../../../libs/class-api/index.js';
4
- import { UMB_MODAL_MANAGER_CONTEXT } from '../../modal/index.js';
5
6
  import { UmbStringState, mergeObservables } from '../../../../libs/observable-api/index.js';
6
7
  const EmptyDiv = document.createElement('div');
7
8
  export class UmbRouteContext extends UmbContextBase {
@@ -150,4 +151,5 @@ export class UmbRouteContext extends UmbContextBase {
150
151
  this._internal_modalRouterChanged(undefined);
151
152
  }
152
153
  }
153
- export const UMB_ROUTE_CONTEXT = new UmbContextToken('UmbRouterContext');
154
+ // Re-export for backwards compatibility
155
+ export { UMB_ROUTE_CONTEXT } from './route.context-token.js';
@@ -21,13 +21,13 @@ export declare class UmbRouterSlotElement extends UmbLitElement {
21
21
  private _activeLocalPath?;
22
22
  get localActiveViewPath(): string | undefined;
23
23
  get absoluteActiveViewPath(): string;
24
+ protected _updateRouterPath: () => void;
24
25
  constructor();
25
26
  protected _constructAbsoluteRouterPath(): string;
26
27
  protected _constructLocalRouterPath(): string;
27
28
  connectedCallback(): void;
28
29
  disconnectedCallback(): void;
29
30
  protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
30
- protected _updateRouterPath(): void;
31
31
  private _onNavigationChanged;
32
32
  render(): import("lit-html").TemplateResult<1>;
33
33
  static styles: import("lit").CSSResult[];
@@ -54,6 +54,21 @@ let UmbRouterSlotElement = class UmbRouterSlotElement extends UmbLitElement {
54
54
  this.#modalRouter = document.createElement('router-slot');
55
55
  this.#listening = false;
56
56
  this.#routeContext = new UmbRouteContext(this, this.#router, this.#modalRouter);
57
+ // Event handler as arrow function to maintain consistent reference
58
+ this._updateRouterPath = () => {
59
+ const newAbsolutePath = this._constructAbsoluteRouterPath();
60
+ if (this._routerPath !== newAbsolutePath) {
61
+ this._routerPath = newAbsolutePath;
62
+ this.#routeContext._internal_routerGotBasePath(this._routerPath);
63
+ this.dispatchEvent(new UmbRouterSlotInitEvent());
64
+ const newActiveLocalPath = this._constructLocalRouterPath();
65
+ if (this._activeLocalPath !== newActiveLocalPath) {
66
+ this._activeLocalPath = newActiveLocalPath;
67
+ this.#routeContext._internal_routerGotActiveLocalPath(this._activeLocalPath);
68
+ this.dispatchEvent(new UmbRouterSlotChangeEvent());
69
+ }
70
+ }
71
+ };
57
72
  this._onNavigationChanged = (event) => {
58
73
  if (event.detail.slot === this.#router) {
59
74
  const newActiveLocalPath = this._constructLocalRouterPath();
@@ -70,7 +85,7 @@ let UmbRouterSlotElement = class UmbRouterSlotElement extends UmbLitElement {
70
85
  };
71
86
  this.#modalRouter.parent = this.#router;
72
87
  this.#modalRouter.style.display = 'none';
73
- this.#router.addEventListener('changestate', this._updateRouterPath.bind(this));
88
+ this.#router.addEventListener('changestate', this._updateRouterPath);
74
89
  this.#router.appendChild(document.createElement('slot'));
75
90
  }
76
91
  _constructAbsoluteRouterPath() {
@@ -93,6 +108,7 @@ let UmbRouterSlotElement = class UmbRouterSlotElement extends UmbLitElement {
93
108
  }
94
109
  }
95
110
  disconnectedCallback() {
111
+ this.#router.removeEventListener('changestate', this._updateRouterPath);
96
112
  window.removeEventListener('navigationsuccess', this._onNavigationChanged);
97
113
  this.#listening = false;
98
114
  // Close modals opened by this router slot.
@@ -103,20 +119,6 @@ let UmbRouterSlotElement = class UmbRouterSlotElement extends UmbLitElement {
103
119
  super.firstUpdated(_changedProperties);
104
120
  this._updateRouterPath();
105
121
  }
106
- _updateRouterPath() {
107
- const newAbsolutePath = this._constructAbsoluteRouterPath();
108
- if (this._routerPath !== newAbsolutePath) {
109
- this._routerPath = newAbsolutePath;
110
- this.#routeContext._internal_routerGotBasePath(this._routerPath);
111
- this.dispatchEvent(new UmbRouterSlotInitEvent());
112
- const newActiveLocalPath = this._constructLocalRouterPath();
113
- if (this._activeLocalPath !== newActiveLocalPath) {
114
- this._activeLocalPath = newActiveLocalPath;
115
- this.#routeContext._internal_routerGotActiveLocalPath(this._activeLocalPath);
116
- this.dispatchEvent(new UmbRouterSlotChangeEvent());
117
- }
118
- }
119
- }
120
122
  render() {
121
123
  return html `${this.#router}${this.#modalRouter}`;
122
124
  }