@umbraco-cms/backoffice 16.3.3 → 16.4.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 (409) hide show
  1. package/README.md +8 -0
  2. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +3 -2
  3. package/dist-cms/apps/preview/apps/preview-exit.element.js +1 -1
  4. package/dist-cms/apps/preview/apps/preview-open-website.element.js +1 -1
  5. package/dist-cms/apps/preview/preview.context.d.ts +1 -1
  6. package/dist-cms/apps/preview/preview.context.js +24 -4
  7. package/dist-cms/apps/preview/preview.element.js +1 -1
  8. package/dist-cms/assets/lang/da.js +17 -13
  9. package/dist-cms/assets/lang/de.js +3 -0
  10. package/dist-cms/assets/lang/en.js +17 -2
  11. package/dist-cms/assets/lang/es.js +3 -0
  12. package/dist-cms/assets/lang/fr.js +1 -0
  13. package/dist-cms/assets/lang/nb.js +1 -1
  14. package/dist-cms/assets/lang/nl.js +1 -0
  15. package/dist-cms/assets/lang/pt.js +7 -0
  16. package/dist-cms/custom-elements.json +250 -18
  17. package/dist-cms/external/dompurify/package.json +1 -1
  18. package/dist-cms/external/lit/package.json +1 -1
  19. package/dist-cms/external/marked/package.json +1 -1
  20. package/dist-cms/external/monaco-editor/package.json +1 -1
  21. package/dist-cms/external/monaco-editor/vite.config.js +1 -1
  22. package/dist-cms/external/openid/src/redirect_based_handler.d.ts +6 -0
  23. package/dist-cms/external/openid/src/redirect_based_handler.js +35 -7
  24. package/dist-cms/external/uui/package.json +2 -2
  25. package/dist-cms/libs/localization-api/localization.controller.d.ts +9 -0
  26. package/dist-cms/libs/localization-api/localization.controller.js +9 -0
  27. package/dist-cms/libs/observable-api/states/array-state.d.ts +20 -0
  28. package/dist-cms/libs/observable-api/states/array-state.js +33 -0
  29. package/dist-cms/libs/observable-api/utils/index.d.ts +1 -0
  30. package/dist-cms/libs/observable-api/utils/index.js +1 -0
  31. package/dist-cms/libs/observable-api/utils/replace-in-unique-array.function.d.ts +12 -0
  32. package/dist-cms/libs/observable-api/utils/replace-in-unique-array.function.js +19 -0
  33. package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.js +1 -4
  34. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +37 -12
  35. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +16 -21
  36. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.js +7 -3
  37. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/workspace/views/settings.element.js +2 -2
  38. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.d.ts +1 -0
  39. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +4 -1
  40. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.d.ts +1 -0
  41. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +4 -1
  42. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +3 -3
  43. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +3 -1
  44. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +11 -2
  45. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +6 -0
  46. package/dist-cms/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.js +21 -13
  47. package/dist-cms/packages/block/block-grid/workspace/views/block-grid-type-workspace-view-areas.element.js +1 -1
  48. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +2 -2
  49. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +8 -7
  50. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +1 -0
  51. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +4 -5
  52. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.d.ts +1 -0
  53. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +4 -1
  54. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +5 -4
  55. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.d.ts +1 -1
  56. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +6 -5
  57. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.d.ts +1 -0
  58. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.js +4 -1
  59. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +3 -4
  60. package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
  61. package/dist-cms/packages/content/content/manager/content-data-manager.js +1 -0
  62. package/dist-cms/packages/content/content/manager/element-data-manager.js +6 -5
  63. package/dist-cms/packages/content/content/types.d.ts +8 -2
  64. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +4 -0
  65. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +34 -10
  66. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.d.ts +2 -1
  67. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +10 -2
  68. package/dist-cms/packages/content/content-type/structure/content-type-container-structure-helper.class.js +1 -1
  69. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +9 -5
  70. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +25 -5
  71. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -0
  72. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-group.element.js +3 -4
  73. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-property.element.js +17 -5
  74. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +39 -20
  75. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +1 -1
  76. package/dist-cms/packages/content/property-type/workspace/views/settings/property-workspace-view-settings.element.js +1 -1
  77. package/dist-cms/packages/core/auth/auth-flow.js +3 -0
  78. package/dist-cms/packages/core/backend-api/client/client.gen.js +39 -11
  79. package/dist-cms/packages/core/backend-api/client/index.d.ts +1 -0
  80. package/dist-cms/packages/core/backend-api/client/index.js +1 -0
  81. package/dist-cms/packages/core/backend-api/client/types.gen.d.ts +1 -1
  82. package/dist-cms/packages/core/backend-api/client/utils.gen.d.ts +6 -11
  83. package/dist-cms/packages/core/backend-api/client/utils.gen.js +27 -23
  84. package/dist-cms/packages/core/backend-api/client.gen.d.ts +3 -3
  85. package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.d.ts +18 -0
  86. package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.js +99 -0
  87. package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.d.ts +13 -1
  88. package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.js +16 -2
  89. package/dist-cms/packages/core/backend-api/core/utils.gen.d.ts +6 -1
  90. package/dist-cms/packages/core/backend-api/core/utils.gen.js +18 -0
  91. package/dist-cms/packages/core/backend-api/sdk.gen.d.ts +12 -6
  92. package/dist-cms/packages/core/backend-api/sdk.gen.js +500 -416
  93. package/dist-cms/packages/core/backend-api/types.gen.d.ts +294 -6
  94. package/dist-cms/packages/core/backend-api/types.gen.js +1 -0
  95. package/dist-cms/packages/core/collection/action/create/manifests.js +1 -1
  96. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.d.ts +4 -0
  97. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.js +39 -2
  98. package/dist-cms/packages/core/components/body-layout/body-layout.element.js +1 -1
  99. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
  100. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +18 -12
  101. package/dist-cms/packages/core/components/index.d.ts +1 -0
  102. package/dist-cms/packages/core/components/index.js +1 -0
  103. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +1 -1
  104. package/dist-cms/packages/core/components/input-slider/input-slider.element.d.ts +8 -3
  105. package/dist-cms/packages/core/components/input-slider/input-slider.element.js +95 -9
  106. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.js +28 -5
  107. package/dist-cms/packages/core/components/split-panel/split-panel.element.d.ts +3 -2
  108. package/dist-cms/packages/core/components/split-panel/split-panel.element.js +7 -2
  109. package/dist-cms/packages/core/components/view-loader/view-loader.element.d.ts +5 -0
  110. package/dist-cms/packages/core/components/view-loader/view-loader.element.js +36 -0
  111. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  112. package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -1
  113. package/dist-cms/packages/core/entity-action/common/create/create.action.kind.js +1 -1
  114. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +1 -1
  115. package/dist-cms/packages/core/entity-flag/index.d.ts +1 -0
  116. package/dist-cms/packages/core/entity-flag/index.js +1 -0
  117. package/dist-cms/packages/core/entity-flag/types.d.ts +10 -0
  118. package/dist-cms/packages/core/entity-flag/types.js +1 -0
  119. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.d.ts +21 -0
  120. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.js +257 -0
  121. package/dist-cms/packages/core/entity-sign/components/index.d.ts +1 -0
  122. package/dist-cms/packages/core/entity-sign/components/index.js +1 -0
  123. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.d.ts +18 -0
  124. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.js +1 -0
  125. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.d.ts +5 -0
  126. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.js +1 -0
  127. package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.d.ts +20 -0
  128. package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.js +1 -0
  129. package/dist-cms/packages/core/entity-sign/extensions/types.d.ts +3 -0
  130. package/dist-cms/packages/core/entity-sign/extensions/types.js +1 -0
  131. package/dist-cms/packages/core/entity-sign/index.d.ts +2 -0
  132. package/dist-cms/packages/core/entity-sign/index.js +1 -0
  133. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.d.ts +10 -0
  134. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.js +11 -0
  135. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.d.ts +10 -0
  136. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.js +41 -0
  137. package/dist-cms/packages/core/entity-sign/kinds/icon/index.d.ts +1 -0
  138. package/dist-cms/packages/core/entity-sign/kinds/icon/index.js +1 -0
  139. package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.d.ts +2 -0
  140. package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.js +14 -0
  141. package/dist-cms/packages/core/entity-sign/kinds/icon/types.d.ts +15 -0
  142. package/dist-cms/packages/core/entity-sign/kinds/icon/types.js +1 -0
  143. package/dist-cms/packages/core/entity-sign/kinds/manifests.d.ts +2 -0
  144. package/dist-cms/packages/core/entity-sign/kinds/manifests.js +2 -0
  145. package/dist-cms/packages/core/entity-sign/kinds/types.d.ts +1 -0
  146. package/dist-cms/packages/core/entity-sign/kinds/types.js +1 -0
  147. package/dist-cms/packages/core/entity-sign/manifests.d.ts +2 -0
  148. package/dist-cms/packages/core/entity-sign/manifests.js +2 -0
  149. package/dist-cms/packages/core/entity-sign/types.d.ts +1 -0
  150. package/dist-cms/packages/core/entity-sign/types.js +1 -0
  151. package/dist-cms/packages/core/entry-point.d.ts +1 -0
  152. package/dist-cms/packages/core/entry-point.js +1 -0
  153. package/dist-cms/packages/core/icon-registry/icon-dictionary.json +8 -0
  154. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.d.ts +1 -3
  155. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.js +44 -26
  156. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.token.d.ts +5 -2
  157. package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.d.ts +1 -1
  158. package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.js +1 -1
  159. package/dist-cms/packages/core/icon-registry/icons/icon-bars.d.ts +1 -1
  160. package/dist-cms/packages/core/icon-registry/icons/icon-bars.js +1 -1
  161. package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.d.ts +1 -1
  162. package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.js +1 -1
  163. package/dist-cms/packages/core/icon-registry/icons/icon-bug.d.ts +1 -1
  164. package/dist-cms/packages/core/icon-registry/icons/icon-bug.js +1 -1
  165. package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.d.ts +1 -1
  166. package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.js +1 -1
  167. package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.d.ts +1 -1
  168. package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.js +1 -1
  169. package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.d.ts +1 -1
  170. package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.js +1 -1
  171. package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.d.ts +1 -1
  172. package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.js +1 -1
  173. package/dist-cms/packages/core/icon-registry/icons/icon-heading.d.ts +1 -1
  174. package/dist-cms/packages/core/icon-registry/icons/icon-heading.js +1 -1
  175. package/dist-cms/packages/core/icon-registry/icons/icon-home.d.ts +1 -1
  176. package/dist-cms/packages/core/icon-registry/icons/icon-home.js +1 -1
  177. package/dist-cms/packages/core/icon-registry/icons/icon-indent.d.ts +1 -1
  178. package/dist-cms/packages/core/icon-registry/icons/icon-indent.js +1 -1
  179. package/dist-cms/packages/core/icon-registry/icons/icon-list.d.ts +1 -1
  180. package/dist-cms/packages/core/icon-registry/icons/icon-list.js +1 -1
  181. package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.d.ts +1 -1
  182. package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.js +1 -1
  183. package/dist-cms/packages/core/icon-registry/icons/icon-outdent.d.ts +1 -1
  184. package/dist-cms/packages/core/icon-registry/icons/icon-outdent.js +1 -1
  185. package/dist-cms/packages/core/icon-registry/icons/icon-playlist.d.ts +1 -1
  186. package/dist-cms/packages/core/icon-registry/icons/icon-playlist.js +1 -1
  187. package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.d.ts +2 -0
  188. package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.js +1 -0
  189. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.d.ts +1 -1
  190. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.js +1 -1
  191. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.d.ts +1 -1
  192. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.js +1 -1
  193. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.d.ts +1 -1
  194. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.js +1 -1
  195. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.d.ts +1 -1
  196. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.js +1 -1
  197. package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.d.ts +2 -0
  198. package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.js +1 -0
  199. package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.d.ts +1 -1
  200. package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.js +1 -1
  201. package/dist-cms/packages/core/icon-registry/icons.d.ts +10 -0
  202. package/dist-cms/packages/core/icon-registry/icons.js +6 -0
  203. package/dist-cms/packages/core/manifests.js +2 -0
  204. package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +20 -19
  205. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +3 -2
  206. package/dist-cms/packages/core/openapi-ts.config.d.ts +31 -1
  207. package/dist-cms/packages/core/package.json +4 -4
  208. package/dist-cms/packages/core/picker-input/picker-input.context.js +0 -1
  209. package/dist-cms/packages/core/property/components/property/property.element.d.ts +1 -1
  210. package/dist-cms/packages/core/property/components/property/property.element.js +6 -1
  211. package/dist-cms/packages/core/property/components/property-layout/property-layout.element.js +2 -1
  212. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  213. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.d.ts +3 -1
  214. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +25 -16
  215. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-variant-builder.controller.js +12 -10
  216. package/dist-cms/packages/core/property/property-value-preset/types.d.ts +1 -0
  217. package/dist-cms/packages/core/property-editor/constants.d.ts +2 -0
  218. package/dist-cms/packages/core/property-editor/constants.js +2 -0
  219. package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.js +1 -1
  220. package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.js +8 -5
  221. package/dist-cms/packages/core/repository/repository-items.manager.d.ts +4 -0
  222. package/dist-cms/packages/core/repository/repository-items.manager.js +35 -11
  223. package/dist-cms/packages/core/resources/extractUmbColorVariable.function.js +1 -0
  224. package/dist-cms/packages/core/router/modal-registration/modal-route-registration.controller.js +8 -4
  225. package/dist-cms/packages/core/section/extensions/section.extension.d.ts +1 -0
  226. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +0 -1
  227. package/dist-cms/packages/core/sorter/sorter.controller.js +0 -1
  228. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  229. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  230. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +10 -0
  231. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +75 -15
  232. package/dist-cms/packages/core/tree/types.d.ts +2 -1
  233. package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -2
  234. package/dist-cms/packages/core/variant/types.d.ts +2 -0
  235. package/dist-cms/packages/core/vite.config.js +2 -0
  236. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +5 -1
  237. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +5 -2
  238. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +22 -4
  239. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.d.ts +2 -1
  240. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.js +5 -0
  241. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +6 -0
  242. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +12 -2
  243. package/dist-cms/packages/core/workspace/kinds/default/default-workspace.context.d.ts +1 -1
  244. package/dist-cms/packages/core/workspace/workspace.element.d.ts +2 -2
  245. package/dist-cms/packages/core/workspace/workspace.element.js +2 -2
  246. package/dist-cms/packages/data-type/index.d.ts +1 -0
  247. package/dist-cms/packages/data-type/index.js +1 -0
  248. package/dist-cms/packages/data-type/workspace/data-type-workspace.context.js +4 -1
  249. package/dist-cms/packages/data-type/workspace/index.d.ts +1 -0
  250. package/dist-cms/packages/data-type/workspace/index.js +1 -0
  251. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.d.ts +22 -0
  252. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.js +128 -0
  253. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-view.element.js +23 -72
  254. package/dist-cms/packages/data-type/workspace/views/index.d.ts +1 -0
  255. package/dist-cms/packages/data-type/workspace/views/index.js +1 -0
  256. package/dist-cms/packages/dictionary/entity-action/manifests.js +1 -1
  257. package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +5 -8
  258. package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
  259. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.js +3 -0
  260. package/dist-cms/packages/documents/document-blueprints/types.d.ts +2 -2
  261. package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +1 -1
  262. package/dist-cms/packages/documents/documents/collection/repository/document-collection.server.data-source.js +2 -0
  263. package/dist-cms/packages/documents/documents/collection/types.d.ts +3 -2
  264. package/dist-cms/packages/documents/documents/constants.d.ts +1 -0
  265. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +1 -1
  266. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +1 -1
  267. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +1 -1
  268. package/dist-cms/packages/documents/documents/entity-sign/constants.d.ts +2 -0
  269. package/dist-cms/packages/documents/documents/entity-sign/constants.js +1 -0
  270. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.d.ts +1 -0
  271. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.js +1 -0
  272. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.d.ts +1 -0
  273. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.js +12 -0
  274. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.d.ts +1 -0
  275. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.js +1 -0
  276. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.d.ts +1 -0
  277. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.js +18 -0
  278. package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.d.ts +1 -0
  279. package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.js +1 -0
  280. package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.d.ts +1 -0
  281. package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.js +15 -0
  282. package/dist-cms/packages/documents/documents/entity-sign/manifests.d.ts +1 -0
  283. package/dist-cms/packages/documents/documents/entity-sign/manifests.js +8 -0
  284. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +9 -6
  285. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +43 -21
  286. package/dist-cms/packages/documents/documents/item/repository/document-item.server.cache-invalidation.manager.js +1 -0
  287. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +2 -0
  288. package/dist-cms/packages/documents/documents/item/repository/types.d.ts +3 -1
  289. package/dist-cms/packages/documents/documents/manifests.js +2 -0
  290. package/dist-cms/packages/documents/documents/publishing/publish/entity-bulk-action/publish.bulk-action.js +1 -0
  291. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.js +2 -0
  292. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-bulk-action/unpublish.bulk-action.js +1 -0
  293. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.server.data-source.js +3 -0
  294. package/dist-cms/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.js +1 -0
  295. package/dist-cms/packages/documents/documents/repository/detail/document-detail.server.data-source.js +3 -0
  296. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +2 -0
  297. package/dist-cms/packages/documents/documents/tree/document-tree.server.data-source.js +2 -0
  298. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +1 -0
  299. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.js +1 -0
  300. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +7 -3
  301. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.js +20 -90
  302. package/dist-cms/packages/documents/documents/tree/types.d.ts +3 -1
  303. package/dist-cms/packages/documents/documents/user-permissions/document/manifests.js +1 -1
  304. package/dist-cms/packages/documents/documents/utils.js +1 -0
  305. package/dist-cms/packages/documents/documents/workspace/constants.js +1 -0
  306. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.d.ts +2 -1
  307. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +10 -3
  308. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.d.ts +1 -3
  309. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.js +2 -2
  310. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -0
  311. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +13 -6
  312. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +9 -1
  313. package/dist-cms/packages/extension-types/index.d.ts +2 -0
  314. package/dist-cms/packages/language/entity-actions/manifests.js +1 -1
  315. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.d.ts +1 -0
  316. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.js +8 -1
  317. package/dist-cms/packages/management-api/detail/cache-invalidation.manager.d.ts +1 -0
  318. package/dist-cms/packages/management-api/detail/cache-invalidation.manager.js +3 -1
  319. package/dist-cms/packages/management-api/detail/detail-data.request-manager.js +1 -1
  320. package/dist-cms/packages/management-api/item/cache-invalidation.manager.d.ts +1 -0
  321. package/dist-cms/packages/management-api/item/cache-invalidation.manager.js +3 -1
  322. package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.js +1 -0
  323. package/dist-cms/packages/media/media/collection/media-collection.context.js +1 -0
  324. package/dist-cms/packages/media/media/collection/repository/media-collection.server.data-source.js +1 -0
  325. package/dist-cms/packages/media/media/collection/types.d.ts +2 -1
  326. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-svg.element.js +1 -0
  327. package/dist-cms/packages/media/media/dropzone/media-dropzone.manager.js +1 -1
  328. package/dist-cms/packages/media/media/entity-actions/create/create.action.d.ts +1 -1
  329. package/dist-cms/packages/media/media/entity-actions/create/create.action.js +1 -1
  330. package/dist-cms/packages/media/media/entity-actions/create/manifests.js +1 -1
  331. package/dist-cms/packages/media/media/modals/media-picker/components/media-picker-folder-path.element.js +1 -0
  332. package/dist-cms/packages/media/media/paths.js +1 -1
  333. package/dist-cms/packages/media/media/property-editors/upload-field/Umbraco.UploadField.js +1 -1
  334. package/dist-cms/packages/media/media/repository/detail/media-detail.server.data-source.js +5 -0
  335. package/dist-cms/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.js +1 -0
  336. package/dist-cms/packages/media/media/tree/media-tree.server.data-source.js +3 -0
  337. package/dist-cms/packages/media/media/workspace/constants.js +1 -0
  338. package/dist-cms/packages/members/member/collection/repository/member-collection.server.data-source.js +1 -0
  339. package/dist-cms/packages/members/member/entity-actions/create/manifests.js +1 -1
  340. package/dist-cms/packages/members/member/repository/detail/member-detail.server.data-source.js +5 -0
  341. package/dist-cms/packages/members/member/workspace/member/constants.js +1 -0
  342. package/dist-cms/packages/members/member-group/entity-actions/manifests.js +1 -1
  343. package/dist-cms/packages/property-editors/collection/manifests.js +1 -0
  344. package/dist-cms/packages/property-editors/icon-picker/manifests.js +10 -0
  345. package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.d.ts +7 -3
  346. package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.js +45 -14
  347. package/dist-cms/packages/property-editors/missing/manifests.js +15 -2
  348. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.d.ts +18 -0
  349. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.js +130 -0
  350. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.d.ts +13 -0
  351. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.js +24 -0
  352. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.d.ts +2 -13
  353. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.js +6 -112
  354. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.d.ts +2 -2
  355. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.js +29 -11
  356. package/dist-cms/packages/property-editors/slider/slider-property-value-preset.d.ts +1 -4
  357. package/dist-cms/packages/property-editors/slider/types.d.ts +3 -2
  358. package/dist-cms/packages/templating/partial-views/entity-actions/create/manifests.js +1 -1
  359. package/dist-cms/packages/templating/scripts/entity-actions/create/manifests.js +1 -1
  360. package/dist-cms/packages/templating/templates/entity-actions/manifests.js +1 -1
  361. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -2
  362. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.d.ts +1 -1
  363. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +14 -6
  364. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar.element.js +3 -3
  365. package/dist-cms/packages/tiptap/extensions/horizontal-rule/manifests.js +1 -0
  366. package/dist-cms/packages/tiptap/extensions/style-select/manifests.js +1 -0
  367. package/dist-cms/packages/tiptap/property-editors/extensions-configuration/property-editor-ui-tiptap-extensions-configuration.element.js +2 -2
  368. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/property-editor-ui-tiptap-statusbar-configuration.element.js +37 -25
  369. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.d.ts +2 -2
  370. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.js +2 -1
  371. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/property-editor-ui-tiptap-toolbar-configuration.element.js +1 -3
  372. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.d.ts +2 -2
  373. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.js +1 -1
  374. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-group-configuration.element.js +22 -19
  375. package/dist-cms/packages/tiptap/property-editors/types.d.ts +4 -4
  376. package/dist-cms/packages/ufm/contexts/ufm.context.d.ts +1 -1
  377. package/dist-cms/packages/ufm/filters/manifests.js +24 -0
  378. package/dist-cms/packages/ufm/filters/strip-html.filter.d.ts +1 -0
  379. package/dist-cms/packages/ufm/filters/strip-html.filter.js +1 -0
  380. package/dist-cms/packages/ufm/filters/truncate.filter.d.ts +1 -0
  381. package/dist-cms/packages/ufm/filters/truncate.filter.js +8 -1
  382. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -2
  383. package/dist-cms/packages/user/user-permission/constants.d.ts +1 -0
  384. package/dist-cms/packages/user/user-permission/constants.js +1 -0
  385. package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.d.ts +1 -0
  386. package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.js +1 -0
  387. package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.d.ts +9 -0
  388. package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.js +34 -0
  389. package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.d.ts +1 -0
  390. package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.js +9 -0
  391. package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.d.ts +20 -0
  392. package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.js +1 -0
  393. package/dist-cms/packages/user/user-permission/index.d.ts +1 -0
  394. package/dist-cms/packages/user/user-permission/index.js +1 -0
  395. package/dist-cms/packages/user/user-permission/manifests.js +2 -1
  396. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  397. package/dist-cms/umbraco-package-schema.json +3 -0
  398. package/dist-cms/umbraco-package.json +1 -1
  399. package/dist-cms/vscode-html-custom-data.json +133 -30
  400. package/examples/user-permission/constants.ts +4 -0
  401. package/examples/user-permission/entity-action/action-1.ts +9 -0
  402. package/examples/user-permission/entity-action/action-2.ts +9 -0
  403. package/examples/user-permission/entity-action/manifests.ts +47 -0
  404. package/examples/user-permission/entity-user-permission/manifests.ts +30 -0
  405. package/examples/user-permission/index.ts +9 -0
  406. package/examples/user-permission/localization/en.ts +6 -0
  407. package/examples/user-permission/localization/manifests.ts +12 -0
  408. package/examples/validation-context/validation-context-dashboard.ts +9 -8
  409. package/package.json +13 -11
@@ -12,11 +12,13 @@ import './document-workspace-split-view-variant-selector.element.js';
12
12
  let UmbDocumentWorkspaceSplitViewElement = class UmbDocumentWorkspaceSplitViewElement extends UmbLitElement {
13
13
  constructor() {
14
14
  super();
15
+ this._loading = true;
15
16
  // TODO: Refactor: use a split view workspace context token: [NL]
16
17
  this.consumeContext(UMB_DOCUMENT_WORKSPACE_CONTEXT, (context) => {
17
18
  this._workspaceContext = context;
18
19
  this.#observeActiveVariantInfo();
19
20
  this.#observeIcon();
21
+ this.#observeLoading();
20
22
  this.#observeCollectionOverrides();
21
23
  });
22
24
  }
@@ -28,18 +30,24 @@ let UmbDocumentWorkspaceSplitViewElement = class UmbDocumentWorkspaceSplitViewEl
28
30
  #observeIcon() {
29
31
  this.observe(this._workspaceContext?.contentTypeIcon, (icon) => {
30
32
  this._icon = icon ?? undefined;
31
- });
33
+ }, 'observeIcon');
34
+ }
35
+ #observeLoading() {
36
+ this.observe(this._workspaceContext?.loading.isOn, (loading) => {
37
+ this._loading = loading ?? false;
38
+ }, 'observeIcon');
32
39
  }
33
40
  #observeCollectionOverrides() {
34
41
  this.observe(this._workspaceContext?.collection.manifestOverrides, (overrides) => {
35
42
  this._overrides = overrides ? [overrides] : undefined;
36
- });
43
+ }, 'observeCollectionOverrides');
37
44
  }
38
45
  render() {
39
46
  return this._variants
40
47
  ? html `<div id="splitViews">
41
48
  ${repeat(this._variants, (view) => view.index + '_' + (view.culture ?? '') + '_' + (view.segment ?? '') + '_' + this._variants.length, (view) => html `
42
49
  <umb-workspace-split-view
50
+ .loading=${this._loading}
43
51
  .displayNavigation=${view.index === this._variants.length - 1}
44
52
  .overrides=${this._overrides}
45
53
  .splitViewIndex=${view.index}>
@@ -70,10 +78,6 @@ let UmbDocumentWorkspaceSplitViewElement = class UmbDocumentWorkspaceSplitViewEl
70
78
  width: 100%;
71
79
  height: calc(100% - var(--umb-footer-layout-height));
72
80
  }
73
-
74
- #breadcrumbs {
75
- margin: 0 var(--uui-size-layout-1);
76
- }
77
81
  `,
78
82
  ]; }
79
83
  };
@@ -86,6 +90,9 @@ __decorate([
86
90
  __decorate([
87
91
  state()
88
92
  ], UmbDocumentWorkspaceSplitViewElement.prototype, "_overrides", void 0);
93
+ __decorate([
94
+ state()
95
+ ], UmbDocumentWorkspaceSplitViewElement.prototype, "_loading", void 0);
89
96
  UmbDocumentWorkspaceSplitViewElement = __decorate([
90
97
  customElement('umb-document-workspace-split-view')
91
98
  ], UmbDocumentWorkspaceSplitViewElement);
@@ -52,6 +52,14 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
52
52
  const config = await context?.getDocumentConfiguration();
53
53
  const allowSegmentCreation = config?.allowNonExistingSegmentsCreation ?? false;
54
54
  const allowEditInvariantFromNonDefault = config?.allowEditInvariantFromNonDefault ?? true;
55
+ // Deprecation warning for allowNonExistingSegmentsCreation (default from server is true, so we warn on false)
56
+ if (!allowSegmentCreation) {
57
+ new UmbDeprecation({
58
+ deprecated: 'The "AllowNonExistingSegmentsCreation" setting is deprecated.',
59
+ removeInVersion: '19.0.0',
60
+ solution: 'This functionality will be moved to a client-side extension.',
61
+ }).warn();
62
+ }
55
63
  this._variantOptionsFilter = (variantOption) => {
56
64
  const isNotCreatedSegmentVariant = variantOption.segment && !variantOption.variant;
57
65
  // Do not allow creating a segment variant
@@ -82,7 +90,7 @@ export class UmbDocumentWorkspaceContext extends UmbContentDetailWorkspaceContex
82
90
  else {
83
91
  this.#enforceUserPermission(UMB_USER_PERMISSION_DOCUMENT_UPDATE, 'You do not have permission to update documents.');
84
92
  }
85
- });
93
+ }, null);
86
94
  this.routes.setRoutes([
87
95
  {
88
96
  path: UMB_CREATE_FROM_BLUEPRINT_DOCUMENT_WORKSPACE_PATH_PATTERN.toString(),
@@ -41,6 +41,8 @@ import '../core/entity-action/index.js';
41
41
  import '../core/entity-bulk-action/index.js';
42
42
  import '../core/entity-create-option-action/index.js';
43
43
  import '../core/entity-item/index.js';
44
+ import '../core/entity-sign/index.js';
45
+ import '../core/entity-flag/index.js';
44
46
  import '../core/entity/index.js';
45
47
  import '../core/event/index.js';
46
48
  import '../core/extension-registry/index.js';
@@ -22,7 +22,7 @@ export const manifests = [
22
22
  forEntityTypes: [UMB_LANGUAGE_ROOT_ENTITY_TYPE],
23
23
  meta: {
24
24
  icon: 'icon-add',
25
- label: '#actions_create',
25
+ label: '#actions_createFor',
26
26
  additionalOptions: true,
27
27
  },
28
28
  },
@@ -61,5 +61,6 @@ export declare class UmbLogViewerWorkspaceContext extends UmbContextBase impleme
61
61
  togglePolling(): void;
62
62
  setPollingInterval(interval: UmbPoolingInterval): void;
63
63
  toggleSortOrder(): void;
64
+ stopPolling(): void;
64
65
  }
65
66
  export { UmbLogViewerWorkspaceContext as api };
@@ -133,6 +133,7 @@ export class UmbLogViewerWorkspaceContext extends UmbContextBase {
133
133
  hostDisconnected() {
134
134
  super.hostDisconnected();
135
135
  window.removeEventListener('changestate', this.onChangeState);
136
+ this.stopPolling();
136
137
  }
137
138
  setDateRange(dateRange) {
138
139
  let { startDate, endDate } = dateRange;
@@ -258,7 +259,7 @@ export class UmbLogViewerWorkspaceContext extends UmbContextBase {
258
259
  }, this.#polling.getValue().interval);
259
260
  return;
260
261
  }
261
- clearInterval(this.#intervalID);
262
+ this.stopPolling();
262
263
  }
263
264
  setPollingInterval(interval) {
264
265
  this.#polling.update({ interval });
@@ -268,5 +269,11 @@ export class UmbLogViewerWorkspaceContext extends UmbContextBase {
268
269
  const newDirection = direction === DirectionModel.ASCENDING ? DirectionModel.DESCENDING : DirectionModel.ASCENDING;
269
270
  this.#sortingDirection.setValue(newDirection);
270
271
  }
272
+ stopPolling() {
273
+ if (this.#intervalID) {
274
+ clearInterval(this.#intervalID);
275
+ this.#intervalID = null;
276
+ }
277
+ }
271
278
  }
272
279
  export { UmbLogViewerWorkspaceContext as api };
@@ -5,6 +5,7 @@ import { UmbControllerBase } from '../../../libs/class-api/index.js';
5
5
  export interface UmbManagementApiDetailDataInvalidationManagerArgs<DetailResponseModelType> {
6
6
  dataCache: UmbManagementApiDetailDataCache<DetailResponseModelType>;
7
7
  eventSources: Array<string>;
8
+ eventTypes?: Array<string>;
8
9
  }
9
10
  export declare class UmbManagementApiDetailDataCacheInvalidationManager<DetailResponseModelType> extends UmbControllerBase {
10
11
  #private;
@@ -2,12 +2,14 @@ import { UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT } from '../server-event/constan
2
2
  import { UmbControllerBase } from '../../../libs/class-api/index.js';
3
3
  export class UmbManagementApiDetailDataCacheInvalidationManager extends UmbControllerBase {
4
4
  #eventSources;
5
+ #eventTypes;
5
6
  #serverEventContext;
6
7
  constructor(host, args) {
7
8
  super(host);
8
9
  {
9
10
  this._dataCache = args.dataCache;
10
11
  this.#eventSources = args.eventSources;
12
+ this.#eventTypes = args.eventTypes ?? ['Updated', 'Deleted'];
11
13
  this.consumeContext(UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT, (context) => {
12
14
  this.#serverEventContext = context;
13
15
  this.#observeServerEvents();
@@ -24,7 +26,7 @@ export class UmbManagementApiDetailDataCacheInvalidationManager extends UmbContr
24
26
  this._dataCache.delete(event.key);
25
27
  }
26
28
  #observeServerEvents() {
27
- this.observe(this.#serverEventContext?.byEventSourcesAndEventTypes(this.#eventSources, ['Updated', 'Deleted']), (event) => {
29
+ this.observe(this.#serverEventContext?.byEventSourcesAndEventTypes(this.#eventSources, this.#eventTypes), (event) => {
28
30
  if (!event)
29
31
  return;
30
32
  this._onServerEvent(event);
@@ -69,7 +69,7 @@ export class UmbManagementApiDetailDataRequestManager extends UmbControllerBase
69
69
  return { error };
70
70
  }
71
71
  async delete(id) {
72
- const { error } = await this.#delete(id);
72
+ const { error } = await tryExecute(this, this.#delete(id));
73
73
  // Only update the cache when we are connected to the server events
74
74
  if (this.#isConnectedToServerEvents && !error) {
75
75
  this.#dataCache.delete(id);
@@ -5,6 +5,7 @@ import { UmbControllerBase } from '../../../libs/class-api/index.js';
5
5
  export interface UmbManagementApiItemDataInvalidationManagerArgs<ItemResponseModelType> {
6
6
  dataCache: UmbManagementApiItemDataCache<ItemResponseModelType>;
7
7
  eventSources: Array<string>;
8
+ eventTypes?: Array<string>;
8
9
  }
9
10
  export declare class UmbManagementApiItemDataCacheInvalidationManager<ItemResponseModelType> extends UmbControllerBase {
10
11
  #private;
@@ -2,12 +2,14 @@ import { UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT } from '../server-event/constan
2
2
  import { UmbControllerBase } from '../../../libs/class-api/index.js';
3
3
  export class UmbManagementApiItemDataCacheInvalidationManager extends UmbControllerBase {
4
4
  #eventSources;
5
+ #eventTypes;
5
6
  #serverEventContext;
6
7
  constructor(host, args) {
7
8
  super(host);
8
9
  {
9
10
  this._dataCache = args.dataCache;
10
11
  this.#eventSources = args.eventSources;
12
+ this.#eventTypes = args.eventTypes ?? ['Updated', 'Deleted'];
11
13
  this.consumeContext(UMB_MANAGEMENT_API_SERVER_EVENT_CONTEXT, (context) => {
12
14
  this.#serverEventContext = context;
13
15
  this.#observeServerEvents();
@@ -25,7 +27,7 @@ export class UmbManagementApiItemDataCacheInvalidationManager extends UmbControl
25
27
  }
26
28
  #observeServerEvents() {
27
29
  // Invalidate cache entries when entities are updated or deleted
28
- this.observe(this.#serverEventContext?.byEventSourcesAndEventTypes(this.#eventSources, ['Updated', 'Deleted']), (event) => {
30
+ this.observe(this.#serverEventContext?.byEventSourcesAndEventTypes(this.#eventSources, this.#eventTypes), (event) => {
29
31
  if (!event)
30
32
  return;
31
33
  this._onServerEvent(event);
@@ -150,6 +150,7 @@ let UmbMediaHistoryWorkspaceInfoAppElement = class UmbMediaHistoryWorkspaceInfoA
150
150
  }
151
151
 
152
152
  .log-type uui-tag {
153
+ justify-self: center;
153
154
  height: fit-content;
154
155
  margin-top: auto;
155
156
  margin-bottom: auto;
@@ -24,6 +24,7 @@ export class UmbMediaCollectionContext extends UmbDefaultCollectionContext {
24
24
  updateDate: date,
25
25
  createDate: date,
26
26
  entityType: UMB_MEDIA_PLACEHOLDER_ENTITY_TYPE,
27
+ flags: [],
27
28
  ...placeholder,
28
29
  }))
29
30
  .reverse();
@@ -35,6 +35,7 @@ export class UmbMediaCollectionServerDataSource {
35
35
  values: item.values.map((item) => {
36
36
  return { alias: item.alias, value: item.value };
37
37
  }),
38
+ flags: item.flags,
38
39
  };
39
40
  return model;
40
41
  });
@@ -1,5 +1,6 @@
1
1
  import type { UmbFileDropzoneItemStatus } from '../../dropzone/index.js';
2
2
  import type { UmbCollectionFilterModel } from '../../../core/collection/index.js';
3
+ import type { UmbEntityWithFlags } from '../../../core/entity-flag/index.js';
3
4
  export interface UmbMediaCollectionFilterModel extends UmbCollectionFilterModel {
4
5
  unique?: string;
5
6
  dataTypeId?: string;
@@ -11,7 +12,7 @@ export interface UmbMediaCollectionFilterModel extends UmbCollectionFilterModel
11
12
  isSystem: boolean;
12
13
  }>;
13
14
  }
14
- export interface UmbMediaCollectionItemModel {
15
+ export interface UmbMediaCollectionItemModel extends UmbEntityWithFlags {
15
16
  unique: string;
16
17
  entityType: string;
17
18
  contentTypeAlias?: string;
@@ -34,6 +34,7 @@ let UmbInputUploadFieldSvgElement = class UmbInputUploadFieldSvgElement extends
34
34
  background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" fill-opacity=".1"><path d="M50 0h50v50H50zM0 50h50v50H0z"/></svg>');
35
35
  background-repeat: repeat;
36
36
  background-size: 10px 10px;
37
+ max-width: 100%;
37
38
  }
38
39
  `,
39
40
  ]; }
@@ -151,7 +151,7 @@ export class UmbMediaDropzoneManager extends UmbDropzoneManager {
151
151
  const preset = {
152
152
  unique: item.unique,
153
153
  mediaType: { unique: mediaTypeUnique, collection: null },
154
- variants: [{ culture: null, segment: null, createDate: null, updateDate: null, name }],
154
+ variants: [{ culture: null, segment: null, createDate: null, updateDate: null, flags: [], name }],
155
155
  values: item.temporaryFile ? [umbracoFile] : undefined,
156
156
  };
157
157
  const { data } = await this.#mediaDetailRepository.createScaffold(preset);
@@ -1,6 +1,6 @@
1
- import type { UmbEntityActionArgs } from '../../../../core/entity-action/index.js';
2
1
  import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
3
2
  import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
3
+ import type { UmbEntityActionArgs } from '../../../../core/entity-action/index.js';
4
4
  export declare class UmbCreateMediaEntityAction extends UmbEntityActionBase<never> {
5
5
  constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>);
6
6
  execute(): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { UmbMediaItemRepository } from '../../repository/index.js';
2
2
  import { UMB_MEDIA_CREATE_OPTIONS_MODAL } from './media-create-options-modal.token.js';
3
- import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
4
3
  import { umbOpenModal } from '../../../../core/modal/index.js';
4
+ import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
5
5
  export class UmbCreateMediaEntityAction extends UmbEntityActionBase {
6
6
  constructor(host, args) {
7
7
  super(host, args);
@@ -11,7 +11,7 @@ export const manifests = [
11
11
  forEntityTypes: [UMB_MEDIA_ROOT_ENTITY_TYPE, UMB_MEDIA_ENTITY_TYPE],
12
12
  meta: {
13
13
  icon: 'icon-add',
14
- label: '#actions_create',
14
+ label: '#actions_createFor',
15
15
  additionalOptions: true,
16
16
  },
17
17
  conditions: [
@@ -90,6 +90,7 @@ let UmbMediaPickerFolderPathElement = class UmbMediaPickerFolderPathElement exte
90
90
  name: newName,
91
91
  createDate: null,
92
92
  updateDate: null,
93
+ flags: [],
93
94
  },
94
95
  ],
95
96
  };
@@ -7,4 +7,4 @@ export const UMB_MEDIA_WORKSPACE_PATH = UMB_WORKSPACE_PATH_PATTERN.generateAbsol
7
7
  entityType: UMB_MEDIA_ENTITY_TYPE,
8
8
  });
9
9
  export const UMB_CREATE_MEDIA_WORKSPACE_PATH_PATTERN = new UmbPathPattern('create/parent/:parentEntityType/:parentUnique/:mediaTypeUnique', UMB_MEDIA_WORKSPACE_PATH);
10
- export const UMB_EDIT_MEDIA_WORKSPACE_PATH_PATTERN = new UmbPathPattern('edit/:unique');
10
+ export const UMB_EDIT_MEDIA_WORKSPACE_PATH_PATTERN = new UmbPathPattern('edit/:unique', UMB_MEDIA_WORKSPACE_PATH);
@@ -9,7 +9,7 @@ export const manifest = {
9
9
  {
10
10
  alias: 'fileExtensions',
11
11
  label: 'Accepted file extensions',
12
- description: 'Insert one extension per line, for example `.jpg`.\n\nYou can also use mime types, for example `image/*` or `application/pdf`.',
12
+ description: 'Insert one extension per line, for example `jpg`.\n\nYou can also use mime types, for example `image/*` or `application/pdf`.',
13
13
  propertyEditorUiAlias: 'Umb.PropertyEditorUi.AcceptedUploadTypes',
14
14
  },
15
15
  ],
@@ -36,6 +36,7 @@ export class UmbMediaServerDataSource extends UmbControllerBase {
36
36
  icon: mediaTypeIcon,
37
37
  },
38
38
  isTrashed: false,
39
+ flags: [],
39
40
  values: [],
40
41
  variants: [
41
42
  {
@@ -44,6 +45,7 @@ export class UmbMediaServerDataSource extends UmbControllerBase {
44
45
  name: '',
45
46
  createDate: null,
46
47
  updateDate: null,
48
+ flags: [],
47
49
  },
48
50
  ],
49
51
  };
@@ -76,6 +78,8 @@ export class UmbMediaServerDataSource extends UmbControllerBase {
76
78
  name: variant.name,
77
79
  createDate: variant.createDate,
78
80
  updateDate: variant.updateDate,
81
+ // TODO: Media variant flags are not yet implemented in the backend.
82
+ flags: [],
79
83
  };
80
84
  }),
81
85
  mediaType: {
@@ -84,6 +88,7 @@ export class UmbMediaServerDataSource extends UmbControllerBase {
84
88
  icon: data.mediaType.icon,
85
89
  },
86
90
  isTrashed: data.isTrashed,
91
+ flags: data.flags,
87
92
  };
88
93
  return { data: media };
89
94
  }
@@ -7,6 +7,7 @@ export class UmbManagementApiMediaItemDataCacheInvalidationManager extends UmbMa
7
7
  /* The Media item model includes info about the Media Type.
8
8
  We need to invalidate the cache for both Media and MediaType events. */
9
9
  eventSources: ['Umbraco:CMS:Media', 'Umbraco:CMS:MediaType'],
10
+ eventTypes: ['Updated', 'Deleted', 'Trashed'],
10
11
  });
11
12
  }
12
13
  _onServerEvent(event) {
@@ -62,8 +62,11 @@ const mapper = (item) => {
62
62
  return {
63
63
  name: variant.name,
64
64
  culture: variant.culture || null,
65
+ // Notice: Media variant flags are not yet implemented in the backend.
66
+ //flags: variant.flags,
65
67
  };
66
68
  }),
67
69
  createDate: item.createDate,
70
+ flags: item.flags,
68
71
  };
69
72
  };
@@ -6,4 +6,5 @@ export const UMB_MEMBER_DETAIL_MODEL_VARIANT_SCAFFOLD = {
6
6
  name: '',
7
7
  createDate: null,
8
8
  updateDate: null,
9
+ flags: [],
9
10
  };
@@ -49,6 +49,7 @@ export class UmbMemberCollectionServerDataSource {
49
49
  memberType: { unique: item.memberType.id, icon: item.memberType.icon },
50
50
  username: item.username,
51
51
  values: item.values,
52
+ flags: item.flags,
52
53
  };
53
54
  return memberDetail;
54
55
  });
@@ -10,7 +10,7 @@ export const manifests = [
10
10
  forEntityTypes: [UMB_MEMBER_ROOT_ENTITY_TYPE],
11
11
  meta: {
12
12
  icon: 'icon-add',
13
- label: '#actions_create',
13
+ label: '#actions_createFor',
14
14
  additionalOptions: true,
15
15
  },
16
16
  },
@@ -45,6 +45,7 @@ export class UmbMemberServerDataSource extends UmbControllerBase {
45
45
  lastPasswordChangeDate: null,
46
46
  groups: [],
47
47
  values: [],
48
+ flags: [],
48
49
  variants: [
49
50
  {
50
51
  name: '',
@@ -52,6 +53,7 @@ export class UmbMemberServerDataSource extends UmbControllerBase {
52
53
  segment: null,
53
54
  createDate: new Date().toISOString(),
54
55
  updateDate: new Date().toISOString(),
56
+ flags: [],
55
57
  },
56
58
  ],
57
59
  };
@@ -107,8 +109,11 @@ export class UmbMemberServerDataSource extends UmbControllerBase {
107
109
  name: variant.name,
108
110
  createDate: variant.createDate,
109
111
  updateDate: variant.updateDate,
112
+ // TODO: Transfer member flags when available in the API: [NL]
113
+ flags: [], //variant.flags,
110
114
  };
111
115
  }),
116
+ flags: data.flags,
112
117
  };
113
118
  return { data: Member };
114
119
  }
@@ -4,6 +4,7 @@ export const UMB_MEMBER_DETAIL_MODEL_VARIANT_SCAFFOLD = {
4
4
  name: '',
5
5
  createDate: null,
6
6
  updateDate: null,
7
+ flags: [],
7
8
  };
8
9
  export { UMB_MEMBER_WORKSPACE_CONTEXT } from './member-workspace.context-token.js';
9
10
  export const UMB_MEMBER_WORKSPACE_ALIAS = 'Umb.Workspace.Member';
@@ -11,7 +11,7 @@ export const manifests = [
11
11
  forEntityTypes: [UMB_MEMBER_GROUP_ROOT_ENTITY_TYPE],
12
12
  meta: {
13
13
  icon: 'icon-add',
14
- label: '#actions_create',
14
+ label: '#actions_createFor',
15
15
  additionalOptions: true,
16
16
  },
17
17
  },
@@ -44,6 +44,7 @@ const propertyEditorUiManifest = {
44
44
  label: 'Workspace View icon',
45
45
  description: "The icon for the Collection's Workspace View.",
46
46
  propertyEditorUiAlias: 'Umb.PropertyEditorUi.IconPicker',
47
+ config: [{ alias: 'placeholder', value: 'icon-grid' }],
47
48
  },
48
49
  {
49
50
  alias: 'tabName',
@@ -8,6 +8,16 @@ export const manifests = [
8
8
  label: 'Icon Picker',
9
9
  icon: 'icon-autofill',
10
10
  group: 'common',
11
+ settings: {
12
+ properties: [
13
+ {
14
+ alias: 'placeholder',
15
+ label: 'Placeholder icon (empty state)',
16
+ description: 'Icon name to show when no icon is selected',
17
+ propertyEditorUiAlias: 'Umb.PropertyEditorUi.IconPicker',
18
+ },
19
+ ],
20
+ },
11
21
  },
12
22
  },
13
23
  ];
@@ -1,14 +1,18 @@
1
- import type { UmbPropertyEditorUiElement } from '../../core/property-editor/index.js';
1
+ import type { UmbPropertyEditorConfigCollection, UmbPropertyEditorUiElement } from '../../core/property-editor/index.js';
2
2
  import { UmbLitElement } from '../../core/lit-element/index.js';
3
+ declare const UmbPropertyEditorUIIconPickerElement_base: import("../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../core/validation/index.js").UmbFormControlMixinElement<string | undefined>> & typeof UmbLitElement;
3
4
  /**
4
5
  * @element umb-property-editor-ui-icon-picker
5
6
  */
6
- export declare class UmbPropertyEditorUIIconPickerElement extends UmbLitElement implements UmbPropertyEditorUiElement {
7
+ export declare class UmbPropertyEditorUIIconPickerElement extends UmbPropertyEditorUIIconPickerElement_base implements UmbPropertyEditorUiElement {
8
+ mandatory: boolean;
9
+ protected firstUpdated(): void;
7
10
  set value(v: string);
8
11
  get value(): string;
9
- private _value;
10
12
  private _icon;
11
13
  private _color;
14
+ private _placeholderIcon;
15
+ set config(config: UmbPropertyEditorConfigCollection | undefined);
12
16
  private _openModal;
13
17
  render(): import("lit-html").TemplateResult<1>;
14
18
  }
@@ -4,43 +4,63 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, customElement, property, state } from '../../../external/lit/index.js';
7
+ import { html, customElement, property, state, ifDefined } from '../../../external/lit/index.js';
8
8
  import { umbOpenModal } from '../../core/modal/index.js';
9
9
  import { UMB_ICON_PICKER_MODAL } from '../../core/icon-registry/index.js';
10
10
  import { UmbLitElement } from '../../core/lit-element/index.js';
11
11
  import { extractUmbColorVariable } from '../../core/resources/index.js';
12
12
  import { UmbChangeEvent } from '../../core/event/index.js';
13
+ import { UmbFormControlMixin } from '../../core/validation/index.js';
13
14
  /**
14
15
  * @element umb-property-editor-ui-icon-picker
15
16
  */
16
- let UmbPropertyEditorUIIconPickerElement = class UmbPropertyEditorUIIconPickerElement extends UmbLitElement {
17
+ let UmbPropertyEditorUIIconPickerElement = class UmbPropertyEditorUIIconPickerElement extends UmbFormControlMixin(UmbLitElement, undefined) {
17
18
  constructor() {
18
19
  super(...arguments);
19
- this._value = '';
20
+ this.mandatory = false;
20
21
  this._icon = '';
21
22
  this._color = '';
23
+ this._placeholderIcon = '';
24
+ }
25
+ firstUpdated() {
26
+ this.addValidator('valueMissing', () => 'Icon is required', () => this.mandatory && !this._icon);
22
27
  }
23
- //
24
28
  set value(v) {
25
- this._value = v ?? '';
26
- const parts = this._value.split(' ');
29
+ const val = v ?? '';
30
+ super.value = val;
31
+ const parts = val.split(' ');
27
32
  if (parts.length === 2) {
28
33
  this._icon = parts[0];
29
34
  this._color = parts[1].replace('color-', '');
30
35
  }
31
36
  else {
32
- this._icon = this._value;
37
+ this._icon = val;
33
38
  this._color = '';
34
39
  }
35
40
  }
36
41
  get value() {
37
- return this._value;
42
+ return super.value ?? '';
43
+ }
44
+ set config(config) {
45
+ if (!config)
46
+ return;
47
+ const placeholder = config.getValueByAlias('placeholder');
48
+ this._placeholderIcon = typeof placeholder === 'string' ? placeholder : '';
38
49
  }
39
50
  async _openModal() {
40
- const data = await umbOpenModal(this, UMB_ICON_PICKER_MODAL).catch(() => undefined);
51
+ const data = await umbOpenModal(this, UMB_ICON_PICKER_MODAL, {
52
+ value: {
53
+ icon: this._icon,
54
+ color: this._color,
55
+ },
56
+ data: { placeholder: this._placeholderIcon, showEmptyOption: !this.mandatory },
57
+ }).catch(() => undefined);
41
58
  if (!data)
42
59
  return;
43
- if (data.color) {
60
+ if (!data.icon) {
61
+ this.value = '';
62
+ }
63
+ else if (data.color) {
44
64
  this.value = `${data.icon} color-${data.color}`;
45
65
  }
46
66
  else {
@@ -49,19 +69,27 @@ let UmbPropertyEditorUIIconPickerElement = class UmbPropertyEditorUIIconPickerEl
49
69
  this.dispatchEvent(new UmbChangeEvent());
50
70
  }
51
71
  render() {
72
+ const isEmpty = !this._icon;
52
73
  return html `
53
74
  <uui-button
54
75
  compact
55
- label=${this.localize.term('defaultdialogs_selectIcon')}
56
76
  look="outline"
77
+ label=${this.localize.term('defaultdialogs_selectIcon')}
57
78
  @click=${this._openModal}>
58
- ${this._color
59
- ? html ` <uui-icon name="${this._icon}" style="color:var(${extractUmbColorVariable(this._color)})"></uui-icon>`
60
- : html ` <uui-icon name="${this._icon}"></uui-icon>`}
79
+ ${isEmpty
80
+ ? html ` <uui-icon name="${ifDefined(this._placeholderIcon)}" style="opacity:.35"></uui-icon> `
81
+ : this._color
82
+ ? html `
83
+ <uui-icon name="${this._icon}" style="color:var(${extractUmbColorVariable(this._color)})"> </uui-icon>
84
+ `
85
+ : html `<uui-icon name="${this._icon}"></uui-icon>`}
61
86
  </uui-button>
62
87
  `;
63
88
  }
64
89
  };
90
+ __decorate([
91
+ property({ type: Boolean })
92
+ ], UmbPropertyEditorUIIconPickerElement.prototype, "mandatory", void 0);
65
93
  __decorate([
66
94
  property()
67
95
  ], UmbPropertyEditorUIIconPickerElement.prototype, "value", null);
@@ -71,6 +99,9 @@ __decorate([
71
99
  __decorate([
72
100
  state()
73
101
  ], UmbPropertyEditorUIIconPickerElement.prototype, "_color", void 0);
102
+ __decorate([
103
+ state()
104
+ ], UmbPropertyEditorUIIconPickerElement.prototype, "_placeholderIcon", void 0);
74
105
  UmbPropertyEditorUIIconPickerElement = __decorate([
75
106
  customElement('umb-property-editor-ui-icon-picker')
76
107
  ], UmbPropertyEditorUIIconPickerElement);