@umbraco-cms/backoffice 17.1.0 → 17.2.0-rc2

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 +2 -1
  64. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +17 -12
  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 +46 -38
  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 +2 -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
@@ -12,6 +12,7 @@ export declare class UmbCollectionElement<ConfigType extends UmbCollectionConfig
12
12
  set filter(newVal: FilterType | undefined);
13
13
  get filter(): FilterType | undefined;
14
14
  protected apiChanged(api: UmbApi | undefined): void;
15
+ getSelection(): any;
15
16
  }
16
17
  declare global {
17
18
  interface HTMLElementTagNameMap {
@@ -48,6 +48,12 @@ let UmbCollectionElement = class UmbCollectionElement extends UmbExtensionElemen
48
48
  // @ts-ignore
49
49
  this._api.setFilter(this.#filter);
50
50
  }
51
+ getSelection() {
52
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
53
+ // @ts-ignore
54
+ // TODO: make base interface for a collection menu element
55
+ return this._element?.getSelection?.() ?? [];
56
+ }
51
57
  };
52
58
  __decorate([
53
59
  property({ type: Object, attribute: false })
@@ -24,8 +24,8 @@ let UmbCollectionFilterFieldElement = class UmbCollectionFilterFieldElement exte
24
24
  render() {
25
25
  return html `
26
26
  <uui-input
27
- label=${this.localize.term('general_search')}
28
- placeholder=${this.localize.term('placeholders_search')}
27
+ label=${this.localize.term('general_filter')}
28
+ placeholder=${this.localize.term('placeholders_filter')}
29
29
  @input=${this.#onInput}></uui-input>
30
30
  `;
31
31
  }
@@ -6,6 +6,7 @@ export declare class UmbCollectionSelectionActionsElement extends UmbLitElement
6
6
  private _totalItems;
7
7
  private _selectionLength;
8
8
  private _apiProps;
9
+ private _hasBulkActions;
9
10
  private _selection;
10
11
  private _collectionContext?;
11
12
  constructor();
@@ -24,6 +24,7 @@ let UmbCollectionSelectionActionsElement = class UmbCollectionSelectionActionsEl
24
24
  this._totalItems = 0;
25
25
  this._selectionLength = 0;
26
26
  this._apiProps = {};
27
+ this._hasBulkActions = false;
27
28
  this._selection = [];
28
29
  this.consumeContext(UMB_COLLECTION_CONTEXT, (instance) => {
29
30
  this._collectionContext = instance;
@@ -47,6 +48,9 @@ let UmbCollectionSelectionActionsElement = class UmbCollectionSelectionActionsEl
47
48
  this.observe(this._collectionContext.totalItems, (value) => {
48
49
  this._totalItems = value;
49
50
  }, 'umbTotalItemsObserver');
51
+ this.observe(this._collectionContext.bulkAction.hasBulkActions, (value) => {
52
+ this._hasBulkActions = value || false;
53
+ }, 'umbCollectionHasBulkActionsObserver');
50
54
  this.observe(this._collectionContext.selection.selection, (selection) => {
51
55
  this._selectionLength = selection.length;
52
56
  this._selection = selection;
@@ -61,6 +65,8 @@ let UmbCollectionSelectionActionsElement = class UmbCollectionSelectionActionsEl
61
65
  this._collectionContext?.selection.clearSelection();
62
66
  }
63
67
  render() {
68
+ if (!this._hasBulkActions)
69
+ return nothing;
64
70
  if (this._selectionLength === 0)
65
71
  return nothing;
66
72
  return html `
@@ -128,6 +134,9 @@ __decorate([
128
134
  __decorate([
129
135
  state()
130
136
  ], UmbCollectionSelectionActionsElement.prototype, "_apiProps", void 0);
137
+ __decorate([
138
+ state()
139
+ ], UmbCollectionSelectionActionsElement.prototype, "_hasBulkActions", void 0);
131
140
  UmbCollectionSelectionActionsElement = __decorate([
132
141
  customElement('umb-collection-selection-actions')
133
142
  ], UmbCollectionSelectionActionsElement);
@@ -1,5 +1,6 @@
1
1
  import { UmbLitElement } from '../../lit-element/index.js';
2
2
  export declare class UmbCollectionToolbarElement extends UmbLitElement {
3
+ #private;
3
4
  render(): import("lit-html").TemplateResult<1>;
4
5
  static styles: import("lit").CSSResult[];
5
6
  }
@@ -11,10 +11,14 @@ let UmbCollectionToolbarElement = class UmbCollectionToolbarElement extends UmbL
11
11
  render() {
12
12
  return html `
13
13
  <umb-collection-action-bundle></umb-collection-action-bundle>
14
+ ${this.#renderFilterExtensions()}
14
15
  <div id="slot"><slot></slot></div>
15
16
  <umb-collection-view-bundle></umb-collection-view-bundle>
16
17
  `;
17
18
  }
19
+ #renderFilterExtensions() {
20
+ return html `<umb-extension-with-api-slot single type="collectionTextFilter"></umb-extension-with-api-slot>`;
21
+ }
18
22
  static { this.styles = [
19
23
  UmbTextStyles,
20
24
  css `
@@ -0,0 +1,7 @@
1
+ import type { UmbCollectionHasItemsConditionConfig } from './types.js';
2
+ import { UmbConditionBase } from '../../extension-registry/index.js';
3
+ import type { UmbConditionControllerArguments, UmbExtensionCondition } from '../../../../libs/extension-api/index.js';
4
+ import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
5
+ export declare class UmbCollectionHasItemsCondition extends UmbConditionBase<UmbCollectionHasItemsConditionConfig> implements UmbExtensionCondition {
6
+ constructor(host: UmbControllerHost, args: UmbConditionControllerArguments<UmbCollectionHasItemsConditionConfig>);
7
+ }
@@ -0,0 +1,12 @@
1
+ import { UMB_COLLECTION_CONTEXT } from '../default/index.js';
2
+ import { UmbConditionBase } from '../../extension-registry/index.js';
3
+ export class UmbCollectionHasItemsCondition extends UmbConditionBase {
4
+ constructor(host, args) {
5
+ super(host, args);
6
+ this.consumeContext(UMB_COLLECTION_CONTEXT, (context) => {
7
+ this.observe(context?.totalItems, (totalItems) => {
8
+ this.permitted = !!totalItems && totalItems > 0;
9
+ });
10
+ });
11
+ }
12
+ }
@@ -1 +1,2 @@
1
1
  export declare const UMB_COLLECTION_ALIAS_CONDITION = "Umb.Condition.CollectionAlias";
2
+ export declare const UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS = "Umb.Condition.CollectionHasItems";
@@ -1 +1,2 @@
1
1
  export const UMB_COLLECTION_ALIAS_CONDITION = 'Umb.Condition.CollectionAlias';
2
+ export const UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS = 'Umb.Condition.CollectionHasItems';
@@ -1,3 +1,4 @@
1
1
  export * from './collection-alias.condition.js';
2
+ export * from './collection-has-items.condition.js';
2
3
  export * from './constants.js';
3
4
  export type * from './types.js';
@@ -1,2 +1,3 @@
1
1
  export * from './collection-alias.condition.js';
2
+ export * from './collection-has-items.condition.js';
2
3
  export * from './constants.js';
@@ -1,9 +1,17 @@
1
- import { UMB_COLLECTION_ALIAS_CONDITION } from './constants.js';
1
+ import UmbCollectionAliasCondition from './collection-alias.condition.js';
2
+ import { UmbCollectionHasItemsCondition } from './collection-has-items.condition.js';
3
+ import { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS } from './constants.js';
2
4
  export const manifests = [
3
5
  {
4
6
  type: 'condition',
5
7
  name: 'Collection Alias Condition',
6
8
  alias: UMB_COLLECTION_ALIAS_CONDITION,
7
- api: () => import('./collection-alias.condition.js'),
9
+ api: UmbCollectionAliasCondition,
10
+ },
11
+ {
12
+ type: 'condition',
13
+ name: 'Collection Has Items Condition',
14
+ alias: UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS,
15
+ api: UmbCollectionHasItemsCondition,
8
16
  },
9
17
  ];
@@ -1,4 +1,4 @@
1
- import type { UMB_COLLECTION_ALIAS_CONDITION } from './constants.js';
1
+ import type { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS } from './constants.js';
2
2
  import type { UmbConditionConfigBase } from '../../../../libs/extension-api/index.js';
3
3
  export type CollectionAliasConditionConfig = UmbConditionConfigBase<typeof UMB_COLLECTION_ALIAS_CONDITION> & {
4
4
  /**
@@ -8,8 +8,11 @@ export type CollectionAliasConditionConfig = UmbConditionConfigBase<typeof UMB_C
8
8
  */
9
9
  match: string;
10
10
  };
11
+ export interface UmbCollectionHasItemsConditionConfig extends UmbConditionConfigBase<typeof UMB_COLLECTION_HAS_ITEMS_CONDITION_ALIAS> {
12
+ }
11
13
  declare global {
12
14
  interface UmbExtensionConditionConfigMap {
13
15
  CollectionAliasConditionConfig: CollectionAliasConditionConfig;
16
+ UmbCollectionHasItemsConditionConfig: UmbCollectionHasItemsConditionConfig;
14
17
  }
15
18
  }
@@ -4,9 +4,10 @@ import type { UmbCollectionFilterModel } from '../collection-filter-model.interf
4
4
  import type { UmbCollectionRepository } from '../repository/collection-repository.interface.js';
5
5
  import type { ManifestCollection } from '../extensions/types.js';
6
6
  import { UmbCollectionBulkActionManager } from '../bulk-action/collection-bulk-action.manager.js';
7
- import { UmbArrayState, UmbNumberState, UmbObjectState } from '../../../../libs/observable-api/index.js';
7
+ import { UmbCollectionSelectionManager } from '../selection/collection-selection.manager.js';
8
+ import { UmbArrayState, UmbBooleanState, UmbNumberState, UmbObjectState } from '../../../../libs/observable-api/index.js';
8
9
  import { UmbContextBase } from '../../../../libs/class-api/index.js';
9
- import { UmbSelectionManager, UmbPaginationManager } from '../../utils/index.js';
10
+ import { UmbPaginationManager } from '../../utils/index.js';
10
11
  import type { UmbApi } from '../../../../libs/extension-api/index.js';
11
12
  import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
12
13
  import { type UmbModalRouteBuilder } from '../../router/index.js';
@@ -25,11 +26,13 @@ export declare class UmbDefaultCollectionContext<CollectionItemType extends {
25
26
  readonly totalItems: import("rxjs").Observable<number>;
26
27
  protected _filter: UmbObjectState<object | FilterModelType>;
27
28
  readonly filter: import("rxjs").Observable<object | FilterModelType>;
29
+ protected _selectOnly: UmbBooleanState<undefined>;
30
+ readonly selectOnly: import("rxjs").Observable<boolean | undefined>;
28
31
  readonly workspacePathBuilder: import("rxjs").Observable<UmbModalRouteBuilder | undefined>;
29
32
  readonly userDefinedProperties: import("rxjs").Observable<UmbCollectionColumnConfiguration[]>;
30
33
  readonly viewLayouts: import("rxjs").Observable<UmbCollectionLayoutConfiguration[]>;
31
34
  readonly pagination: UmbPaginationManager;
32
- readonly selection: UmbSelectionManager<string | null>;
35
+ readonly selection: UmbCollectionSelectionManager<import("../types.js").UmbCollectionItemModel>;
33
36
  readonly view: UmbCollectionViewManager;
34
37
  readonly bulkAction: UmbCollectionBulkActionManager;
35
38
  protected _init: Promise<void>;
@@ -47,7 +50,7 @@ export declare class UmbDefaultCollectionContext<CollectionItemType extends {
47
50
  set manifest(manifest: ManifestCollection | undefined);
48
51
  get manifest(): ManifestCollection | undefined;
49
52
  getEmptyLabel(): string;
50
- loadCollection: (this: any, ...args: any[]) => void;
53
+ loadCollection: import("../../utils/index.js").UmbDebouncedFunction<() => Promise<void>>;
51
54
  /**
52
55
  * Requests the collection from the repository.
53
56
  * @returns {Promise<void>}
@@ -1,12 +1,13 @@
1
1
  import { UmbCollectionViewManager } from '../view/collection-view.manager.js';
2
2
  import { UmbCollectionBulkActionManager } from '../bulk-action/collection-bulk-action.manager.js';
3
+ import { UmbCollectionSelectionManager } from '../selection/collection-selection.manager.js';
3
4
  import { UMB_COLLECTION_CONTEXT } from './collection-default.context-token.js';
4
5
  import { umbExtensionsRegistry } from '../../extension-registry/index.js';
5
- import { UmbArrayState, UmbBasicState, UmbNumberState, UmbObjectState } from '../../../../libs/observable-api/index.js';
6
+ import { UmbArrayState, UmbBasicState, UmbBooleanState, UmbNumberState, UmbObjectState, } from '../../../../libs/observable-api/index.js';
6
7
  import { UmbChangeEvent } from '../../event/index.js';
7
8
  import { UmbContextBase } from '../../../../libs/class-api/index.js';
8
9
  import { UmbExtensionApiInitializer } from '../../../../libs/extension-api/index.js';
9
- import { UmbSelectionManager, UmbPaginationManager, UmbDeprecation, debounce } from '../../utils/index.js';
10
+ import { UmbPaginationManager, UmbDeprecation, debounce } from '../../utils/index.js';
10
11
  import { UmbRequestReloadChildrenOfEntityEvent, UmbRequestReloadStructureForEntityEvent, } from '../../entity-action/index.js';
11
12
  import { UMB_ACTION_EVENT_CONTEXT } from '../../action/index.js';
12
13
  import { UMB_ENTITY_CONTEXT, UmbParentEntityContext } from '../../entity/index.js';
@@ -36,6 +37,8 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
36
37
  this.totalItems = this._totalItems.asObservable();
37
38
  this._filter = new UmbObjectState({});
38
39
  this.filter = this._filter.asObservable();
40
+ this._selectOnly = new UmbBooleanState(undefined);
41
+ this.selectOnly = this._selectOnly.asObservable();
39
42
  this.#workspacePathBuilder = new UmbBasicState(undefined);
40
43
  this.workspacePathBuilder = this.#workspacePathBuilder.asObservable();
41
44
  this.#userDefinedProperties = new UmbArrayState([], (x) => x.alias);
@@ -43,7 +46,7 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
43
46
  this.#viewLayouts = new UmbArrayState([], (x) => x.collectionView);
44
47
  this.viewLayouts = this.#viewLayouts.asObservable();
45
48
  this.pagination = new UmbPaginationManager();
46
- this.selection = new UmbSelectionManager(this);
49
+ this.selection = new UmbCollectionSelectionManager(this);
47
50
  this.view = new UmbCollectionViewManager(this);
48
51
  this.bulkAction = new UmbCollectionBulkActionManager(this);
49
52
  this.#initialized = false;
@@ -133,6 +136,23 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
133
136
  if (!this.#config)
134
137
  return;
135
138
  this.#configureSelection();
139
+ this.bulkAction.setConfig(this.#config.bulkActionConfiguration);
140
+ // Observe bulk actions to enable selection when bulk actions are available
141
+ // Bulk Actions are an integrated part of a Collection so we handle it here instead of a configuration
142
+ this.observe(this.bulkAction.hasBulkActions, (hasBulkActions) => {
143
+ // Allow selection if there are bulk actions available
144
+ if (hasBulkActions) {
145
+ // TODO: This is a temporary workaround until we support two types of selection (bulk action selection and normal selection)
146
+ // We have to use the same selection configuration for both types of selection to ensure that selection works as expected in multi vs single select mode (ex: pickers).
147
+ // We currently disable bulk actions in pickers until we have a solution in place for supporting both types of selection.
148
+ // With this workaround the experience will be that a collection, supporting bulk actions configured as single select, will only be able to select one item at a time.
149
+ const config = this.#config?.selectionConfiguration;
150
+ const selectable = config?.selectable ?? true;
151
+ const multiple = config?.multiple ?? true;
152
+ this.selection.setSelectable(selectable);
153
+ this.selection.setMultiple(multiple);
154
+ }
155
+ }, 'umbCollectionHasBulkActionsObserver');
136
156
  if (this.#config.pageSize) {
137
157
  this.pagination.setPageSize(this.#config.pageSize);
138
158
  }
@@ -154,20 +174,6 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
154
174
  this.view.setConfig(viewManagerConfig);
155
175
  this._configured = true;
156
176
  }
157
- #configureSelection() {
158
- // TODO: We need support a collection selection configuration here so ex. Pickers can turn on single and multi select and set a selection.
159
- this.selection.setSelectable(false);
160
- this.selection.setMultiple(false);
161
- // Observe bulk actions to enable selection when bulk actions are available
162
- // Bulk Actions are an integrated part of a Collection so we handle it here instead of a configuration
163
- this.observe(this.bulkAction.hasBulkActions, (hasBulkActions) => {
164
- // Allow selection if there are bulk actions available
165
- if (hasBulkActions) {
166
- this.selection.setSelectable(true);
167
- this.selection.setMultiple(true);
168
- }
169
- }, 'umbCollectionHasBulkActionsObserver');
170
- }
171
177
  #checkIfInitialized() {
172
178
  if (this._repository) {
173
179
  this.#initialized = true;
@@ -190,6 +196,7 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
190
196
  */
191
197
  setConfig(config) {
192
198
  this.#config = config;
199
+ this._configure();
193
200
  }
194
201
  getConfig() {
195
202
  return this.#config;
@@ -316,4 +323,16 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
316
323
  async requestItemHref(_item) {
317
324
  return undefined;
318
325
  }
326
+ #configureSelection() {
327
+ const selectionConfiguration = this.#config?.selectionConfiguration;
328
+ this.selection.setConfig(selectionConfiguration);
329
+ const selectOnly = selectionConfiguration?.selectOnly;
330
+ this._selectOnly.setValue(selectOnly === true);
331
+ // If there is an selection, and selectOnly is not explicitly set, set selectOnly in context when there is more than 0 items selected.
332
+ this.observe(this.selection.selection, (selection) => {
333
+ if (selectOnly === undefined) {
334
+ this._selectOnly.setValue(selection.length > 0);
335
+ }
336
+ });
337
+ }
319
338
  }
@@ -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 textFilterManifests } from './text/manifests.js';
2
+ export const manifests = [...textFilterManifests];
@@ -0,0 +1,13 @@
1
+ import type { UmbApi } from '../../../../../libs/extension-api/index.js';
2
+ import type { Observable } from '../../../../../libs/observable-api/index.js';
3
+ export interface UmbCollectionTextFilterApi extends UmbApi {
4
+ /**
5
+ * Observable for the current text filter value
6
+ */
7
+ text: Observable<string | undefined>;
8
+ /**
9
+ * Update the text filter value
10
+ * @param {string} value The filter text value
11
+ */
12
+ setText(value: string): void;
13
+ }
@@ -0,0 +1,7 @@
1
+ import type { UmbCollectionTextFilterApi } from './collection-text-filter-api.interface.js';
2
+ import type { ManifestCollectionTextFilter } from './collection-text-filter.extension.js';
3
+ import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
+ export interface UmbCollectionTextFilterElement extends UmbControllerHostElement {
5
+ api?: UmbCollectionTextFilterApi;
6
+ manifest?: ManifestCollectionTextFilter;
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { UmbCollectionTextFilterElement } from './collection-text-filter-element.interface.js';
2
+ import type { UmbCollectionTextFilterApi } from './collection-text-filter-api.interface.js';
3
+ import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../../../../../libs/extension-api/index.js';
4
+ export interface ManifestCollectionTextFilter extends ManifestElementAndApi<UmbCollectionTextFilterElement, UmbCollectionTextFilterApi>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
5
+ type: 'collectionTextFilter';
6
+ }
7
+ declare global {
8
+ interface UmbExtensionManifestMap {
9
+ umbCollectionTextFilter: ManifestCollectionTextFilter;
10
+ }
11
+ }
@@ -0,0 +1,25 @@
1
+ import type { UmbCollectionTextFilterApi } from './collection-text-filter-api.interface.js';
2
+ import { UmbControllerBase } from '../../../../../libs/class-api/index.js';
3
+ import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
4
+ /**
5
+ * Default API for the collection text filter extension.
6
+ *
7
+ * This API handles updating the collection filter with a debounced text value.
8
+ * It consumes the collection context and applies the filter when the user types.
9
+ * @class UmbDefaultCollectionTextFilterApi
10
+ * @augments {UmbControllerBase}
11
+ * @implements {UmbCollectionTextFilterApi}
12
+ */
13
+ export declare class UmbDefaultCollectionTextFilterApi extends UmbControllerBase implements UmbCollectionTextFilterApi {
14
+ #private;
15
+ readonly text: import("rxjs").Observable<string | undefined>;
16
+ constructor(host: UmbControllerHost);
17
+ /**
18
+ * Updates the collection filter with the given text value.
19
+ * The filter is debounced to avoid excessive updates while the user is typing.
20
+ * @param {string} value - The text value to filter the collection by.
21
+ */
22
+ setText(value: string): void;
23
+ destroy(): void;
24
+ }
25
+ export { UmbDefaultCollectionTextFilterApi as api };
@@ -0,0 +1,47 @@
1
+ import { UMB_COLLECTION_CONTEXT } from '../../default/index.js';
2
+ import { UmbControllerBase } from '../../../../../libs/class-api/index.js';
3
+ import { UmbStringState } from '../../../../../libs/observable-api/index.js';
4
+ import { debounce } from '../../../utils/index.js';
5
+ /**
6
+ * Default API for the collection text filter extension.
7
+ *
8
+ * This API handles updating the collection filter with a debounced text value.
9
+ * It consumes the collection context and applies the filter when the user types.
10
+ * @class UmbDefaultCollectionTextFilterApi
11
+ * @augments {UmbControllerBase}
12
+ * @implements {UmbCollectionTextFilterApi}
13
+ */
14
+ export class UmbDefaultCollectionTextFilterApi extends UmbControllerBase {
15
+ #text;
16
+ #collectionContext;
17
+ constructor(host) {
18
+ super(host);
19
+ this.#text = new UmbStringState(undefined);
20
+ this.text = this.#text.asObservable();
21
+ this.#debouncedFilter = debounce((value) => this.#collectionContext?.setFilter({ filter: value }), 500);
22
+ this.consumeContext(UMB_COLLECTION_CONTEXT, (instance) => {
23
+ this.#collectionContext = instance;
24
+ this.#observeFilter();
25
+ });
26
+ }
27
+ #observeFilter() {
28
+ this.observe(this.#collectionContext?.filter, (value) => {
29
+ const filterText = value?.filter;
30
+ this.#text.setValue(filterText);
31
+ });
32
+ }
33
+ /**
34
+ * Updates the collection filter with the given text value.
35
+ * The filter is debounced to avoid excessive updates while the user is typing.
36
+ * @param {string} value - The text value to filter the collection by.
37
+ */
38
+ setText(value) {
39
+ this.#debouncedFilter(value);
40
+ }
41
+ #debouncedFilter;
42
+ destroy() {
43
+ this.#debouncedFilter.cancel();
44
+ super.destroy();
45
+ }
46
+ }
47
+ export { UmbDefaultCollectionTextFilterApi as api };
@@ -0,0 +1,32 @@
1
+ import type { UmbCollectionTextFilterApi } from './collection-text-filter-api.interface.js';
2
+ import { UmbLitElement } from '../../../lit-element/index.js';
3
+ /**
4
+ * Default element for the collection text filter extension.
5
+ *
6
+ * Renders a text input that allows users to filter collection items.
7
+ * Works in conjunction with {@link UmbDefaultCollectionTextFilterApi} to apply the filter.
8
+ * @element umb-default-collection-text-filter
9
+ */
10
+ export declare class UmbDefaultCollectionTextFilterElement extends UmbLitElement {
11
+ #private;
12
+ private _text;
13
+ /**
14
+ * The API instance that handles the filter logic.
15
+ * This is set by the extension system when the element is created.
16
+ * @returns {UmbCollectionTextFilterApi | undefined} The collection text filter API instance.
17
+ */
18
+ get api(): UmbCollectionTextFilterApi | undefined;
19
+ /**
20
+ * Sets the API instance that handles the filter logic.
21
+ * @param {UmbCollectionTextFilterApi | undefined} value - The collection text filter API instance.
22
+ */
23
+ set api(value: UmbCollectionTextFilterApi | undefined);
24
+ protected render(): import("lit-html").TemplateResult<1>;
25
+ static styles: import("lit").CSSResult[];
26
+ }
27
+ export { UmbDefaultCollectionTextFilterElement as element };
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ 'umb-default-collection-text-filter': UmbDefaultCollectionTextFilterElement;
31
+ }
32
+ }
@@ -0,0 +1,73 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, customElement, html, state } from '../../../../../external/lit/index.js';
8
+ import { UmbLitElement } from '../../../lit-element/index.js';
9
+ /**
10
+ * Default element for the collection text filter extension.
11
+ *
12
+ * Renders a text input that allows users to filter collection items.
13
+ * Works in conjunction with {@link UmbDefaultCollectionTextFilterApi} to apply the filter.
14
+ * @element umb-default-collection-text-filter
15
+ */
16
+ let UmbDefaultCollectionTextFilterElement = class UmbDefaultCollectionTextFilterElement extends UmbLitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this._text = undefined;
20
+ }
21
+ #api;
22
+ /**
23
+ * The API instance that handles the filter logic.
24
+ * This is set by the extension system when the element is created.
25
+ * @returns {UmbCollectionTextFilterApi | undefined} The collection text filter API instance.
26
+ */
27
+ get api() {
28
+ return this.#api;
29
+ }
30
+ /**
31
+ * Sets the API instance that handles the filter logic.
32
+ * @param {UmbCollectionTextFilterApi | undefined} value - The collection text filter API instance.
33
+ */
34
+ set api(value) {
35
+ this.#api = value;
36
+ this.observe(this.#api?.text, (value) => (this._text = value), 'umbApiTextObserver');
37
+ }
38
+ #onTextFilterChange(event) {
39
+ const target = event.target;
40
+ const value = target.value || '';
41
+ this.#api?.setText(value);
42
+ }
43
+ render() {
44
+ return html `
45
+ <uui-input
46
+ value=${this._text || ''}
47
+ @input=${this.#onTextFilterChange}
48
+ label=${this.localize.term('placeholders_filter')}
49
+ placeholder=${this.localize.term('placeholders_filter')}
50
+ data-mark="collection-text-filter"></uui-input>
51
+ `;
52
+ }
53
+ static { this.styles = [
54
+ css `
55
+ :host {
56
+ display: flex;
57
+ flex: 1 1 auto;
58
+ }
59
+
60
+ uui-input {
61
+ width: 100%;
62
+ }
63
+ `,
64
+ ]; }
65
+ };
66
+ __decorate([
67
+ state()
68
+ ], UmbDefaultCollectionTextFilterElement.prototype, "_text", void 0);
69
+ UmbDefaultCollectionTextFilterElement = __decorate([
70
+ customElement('umb-default-collection-text-filter')
71
+ ], UmbDefaultCollectionTextFilterElement);
72
+ export { UmbDefaultCollectionTextFilterElement };
73
+ export { UmbDefaultCollectionTextFilterElement as element };
@@ -0,0 +1,2 @@
1
+ import type { UmbExtensionManifestKind } from '../../../extension-registry/index.js';
2
+ export declare const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind>;
@@ -0,0 +1,14 @@
1
+ export const manifests = [
2
+ {
3
+ type: 'kind',
4
+ alias: 'Umb.Kind.CollectionTextFilter.Default',
5
+ matchKind: 'default',
6
+ matchType: 'collectionTextFilter',
7
+ manifest: {
8
+ type: 'collectionTextFilter',
9
+ kind: 'default',
10
+ element: () => import('./default-collection-text-filter.element.js'),
11
+ api: () => import('./default-collection-text-filter.api.js'),
12
+ },
13
+ },
14
+ ];
@@ -0,0 +1,3 @@
1
+ export type * from './collection-text-filter.extension.js';
2
+ export type * from './collection-text-filter-api.interface.js';
3
+ export type * from './collection-text-filter-element.interface.js';
@@ -0,0 +1 @@
1
+ export type * from './text/types.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -9,6 +9,7 @@ export * from './constants.js';
9
9
  export * from './default/collection-default.element.js';
10
10
  export * from './global-components.js';
11
11
  export * from './menu/index.js';
12
+ export * from './view/index.js';
12
13
  export * from './workspace-view/index.js';
13
14
  export * from './default/collection-default.context.js';
14
15
  export * from './default/collection-default.context-token.js';
@@ -9,6 +9,7 @@ export * from './constants.js';
9
9
  export * from './default/collection-default.element.js';
10
10
  export * from './global-components.js';
11
11
  export * from './menu/index.js';
12
+ export * from './view/index.js';
12
13
  export * from './workspace-view/index.js';
13
14
  export * from './default/collection-default.context.js';
14
15
  export * from './default/collection-default.context-token.js';