@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,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';
@@ -1,10 +1,12 @@
1
- import type { UmbCollectionItemModel } from '../types.js';
2
1
  import type { UmbEntityCollectionItemElement } from '../entity-collection-item-element.interface.js';
2
+ import type { UmbCollectionItemModel } from '../types.js';
3
3
  import { nothing } from '../../../../../external/lit/index.js';
4
4
  import { UmbLitElement } from '../../../lit-element/index.js';
5
+ import type { UmbWithOptionalThumbnailModel } from '../../../models/index.js';
6
+ type UmbDefaultCollectionItemCardItemModel = UmbCollectionItemModel & UmbWithOptionalThumbnailModel;
5
7
  export declare class UmbDefaultCollectionItemCardElement extends UmbLitElement implements UmbEntityCollectionItemElement {
6
8
  #private;
7
- item?: UmbCollectionItemModel;
9
+ item?: UmbDefaultCollectionItemCardItemModel;
8
10
  selectable: boolean;
9
11
  selected: boolean;
10
12
  selectOnly: boolean;
@@ -17,3 +19,4 @@ declare global {
17
19
  'umb-default-collection-item-card': UmbDefaultCollectionItemCardElement;
18
20
  }
19
21
  }
22
+ export {};
@@ -32,7 +32,7 @@ let UmbDefaultCollectionItemCardElement = class UmbDefaultCollectionItemCardElem
32
32
  if (!this.item)
33
33
  return nothing;
34
34
  return html `
35
- <uui-card-content-node
35
+ <umb-figure-card
36
36
  name=${this.item.name ?? `${getItemFallbackName(this.item)}`}
37
37
  href=${ifDefined(this.href)}
38
38
  ?selectable=${this.selectable}
@@ -41,15 +41,21 @@ let UmbDefaultCollectionItemCardElement = class UmbDefaultCollectionItemCardElem
41
41
  ?disabled=${this.disabled}
42
42
  @selected=${this.#onSelected}
43
43
  @deselected=${this.#onDeselected}
44
- ?readonly=${!this.href}>
44
+ ?readonly=${!this.href}
45
+ background-color="var(--uui-color-surface)">
45
46
  <slot name="actions" slot="actions"></slot>
46
- ${this.#renderIcon(this.item)}
47
- </uui-card-content-node>
47
+ ${this.item.thumbnail ? this.#renderThumbnail(this.item) : this.#renderIcon(this.item)}
48
+ </umb-figure-card>
48
49
  `;
49
50
  }
51
+ #renderThumbnail(item) {
52
+ if (!item.thumbnail)
53
+ return nothing;
54
+ return html `<img src=${item.thumbnail.src} alt=${item.thumbnail.alt || item.name || ''} />`;
55
+ }
50
56
  #renderIcon(item) {
51
57
  const icon = item.icon || getItemFallbackIcon();
52
- return html `<umb-icon slot="icon" name=${icon}></umb-icon>`;
58
+ return html `<umb-icon name=${icon}></umb-icon>`;
53
59
  }
54
60
  };
55
61
  __decorate([
@@ -1,12 +1,14 @@
1
1
  import { manifests as actionManifests } from './action/manifests.js';
2
+ import { manifests as pickerModalManifests } from './collection-item-picker-modal/manifests.js';
2
3
  import { manifests as conditionManifests } from './conditions/manifests.js';
4
+ import { manifests as filterManifests } from './filter/manifests.js';
3
5
  import { manifests as menuManifests } from './menu/manifests.js';
4
- import { manifests as pickerModalManifests } from './collection-item-picker-modal/manifests.js';
5
6
  import { manifests as viewManifests } from './view/manifests.js';
6
7
  import { manifests as workspaceViewManifests } from './workspace-view/manifests.js';
7
8
  export const manifests = [
8
9
  ...actionManifests,
9
10
  ...conditionManifests,
11
+ ...filterManifests,
10
12
  ...menuManifests,
11
13
  ...pickerModalManifests,
12
14
  ...viewManifests,
@@ -0,0 +1,17 @@
1
+ import type { UmbCollectionItemModel } from '../types.js';
2
+ import type { UmbCollectionSelectionManagerConfig } from './types.js';
3
+ import { UmbSelectionManager } from '../../utils/index.js';
4
+ export declare class UmbCollectionSelectionManager<CollectionItemType extends UmbCollectionItemModel = UmbCollectionItemModel> extends UmbSelectionManager<UmbCollectionItemModel['unique']> {
5
+ #private;
6
+ selectableFilter: (item: CollectionItemType) => boolean;
7
+ /**
8
+ * Sets the configuration for the selection manager.
9
+ * @param {UmbCollectionSelectionManagerConfig | undefined} config - Initial configuration for the selection manager.
10
+ */
11
+ setConfig(config: UmbCollectionSelectionManagerConfig | undefined): void;
12
+ /**
13
+ * The current configuration of the selection manager.
14
+ * @returns {UmbCollectionSelectionManagerConfig | undefined} - The current configuration of the selection manager.
15
+ */
16
+ getConfig(): UmbCollectionSelectionManagerConfig | undefined;
17
+ }
@@ -0,0 +1,29 @@
1
+ import { UmbSelectionManager } from '../../utils/index.js';
2
+ export class UmbCollectionSelectionManager extends UmbSelectionManager {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.selectableFilter = () => true;
6
+ }
7
+ #config;
8
+ /**
9
+ * Sets the configuration for the selection manager.
10
+ * @param {UmbCollectionSelectionManagerConfig | undefined} config - Initial configuration for the selection manager.
11
+ */
12
+ setConfig(config) {
13
+ this.#config = config;
14
+ this.setSelectable(this.#config?.selectable ?? false);
15
+ this.setMultiple(this.#config?.multiple ?? false);
16
+ this.setSelection(this.#config?.selection ?? []);
17
+ const selectableFilter = this.#config?.selectableFilter;
18
+ if (selectableFilter) {
19
+ this.selectableFilter = selectableFilter;
20
+ }
21
+ }
22
+ /**
23
+ * The current configuration of the selection manager.
24
+ * @returns {UmbCollectionSelectionManagerConfig | undefined} - The current configuration of the selection manager.
25
+ */
26
+ getConfig() {
27
+ return this.#config;
28
+ }
29
+ }
@@ -0,0 +1,7 @@
1
+ import type { UmbCollectionItemModel } from '../item/types.js';
2
+ export interface UmbCollectionSelectionManagerConfig {
3
+ multiple?: boolean;
4
+ selectable?: boolean;
5
+ selection?: Array<UmbCollectionItemModel['unique']>;
6
+ selectableFilter?(item: UmbCollectionItemModel): boolean;
7
+ }
@@ -6,6 +6,7 @@ import type { UmbPaginationManager } from '../utils/index.js';
6
6
  export type * from './action/create/types.js';
7
7
  export type * from './collection-item-picker-modal/types.js';
8
8
  export type * from './conditions/types.js';
9
+ export type * from './filter/types.js';
9
10
  export type * from './extensions/types.js';
10
11
  export type * from './item/types.js';
11
12
  export type * from './menu/types.js';
@@ -20,6 +21,8 @@ export interface UmbCollectionConfiguration {
20
21
  pageSize?: number;
21
22
  noItemsLabel?: string;
22
23
  userDefinedProperties?: Array<UmbCollectionColumnConfiguration>;
24
+ selectionConfiguration?: UmbCollectionSelectionConfiguration;
25
+ bulkActionConfiguration?: UmbCollectionBulkActionConfiguration;
23
26
  }
24
27
  export interface UmbCollectionColumnConfiguration {
25
28
  alias: string;
@@ -36,7 +39,12 @@ export interface UmbCollectionLayoutConfiguration {
36
39
  export type UmbCollectionSelectionConfiguration = {
37
40
  multiple?: boolean;
38
41
  selectable?: boolean;
39
- selection?: Array<string | null>;
42
+ selectOnly?: boolean;
43
+ selection?: Array<UmbCollectionItemModel['unique']>;
44
+ selectableFilter?(item: UmbCollectionItemModel): boolean;
45
+ };
46
+ export type UmbCollectionBulkActionConfiguration = {
47
+ enabled?: boolean;
40
48
  };
41
49
  export interface UmbCollectionContext {
42
50
  setConfig(config: UmbCollectionConfiguration): void;