@umbraco-cms/backoffice 16.3.4 → 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 (400) 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/packages/block/block/workspace/block-workspace-editor.element.js +1 -4
  28. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +37 -12
  29. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +16 -21
  30. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.js +7 -3
  31. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/workspace/views/settings.element.js +2 -2
  32. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.d.ts +1 -0
  33. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +4 -1
  34. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.d.ts +1 -0
  35. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +4 -1
  36. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +3 -3
  37. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +3 -1
  38. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +11 -2
  39. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +6 -0
  40. package/dist-cms/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.js +21 -13
  41. package/dist-cms/packages/block/block-grid/workspace/views/block-grid-type-workspace-view-areas.element.js +1 -1
  42. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +2 -2
  43. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +8 -7
  44. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +1 -0
  45. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +4 -5
  46. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.d.ts +1 -0
  47. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +4 -1
  48. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +5 -4
  49. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.d.ts +1 -1
  50. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +6 -5
  51. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.d.ts +1 -0
  52. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.js +4 -1
  53. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +3 -4
  54. package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
  55. package/dist-cms/packages/content/content/manager/content-data-manager.js +1 -0
  56. package/dist-cms/packages/content/content/manager/element-data-manager.js +6 -5
  57. package/dist-cms/packages/content/content/types.d.ts +8 -2
  58. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +4 -0
  59. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +34 -10
  60. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.d.ts +2 -1
  61. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +10 -2
  62. package/dist-cms/packages/content/content-type/structure/content-type-container-structure-helper.class.js +1 -1
  63. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +9 -5
  64. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +25 -5
  65. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -0
  66. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-group.element.js +3 -4
  67. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-property.element.js +17 -5
  68. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +39 -20
  69. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +1 -1
  70. package/dist-cms/packages/content/property-type/workspace/views/settings/property-workspace-view-settings.element.js +1 -1
  71. package/dist-cms/packages/core/auth/auth-flow.js +3 -0
  72. package/dist-cms/packages/core/backend-api/client/client.gen.js +39 -11
  73. package/dist-cms/packages/core/backend-api/client/index.d.ts +1 -0
  74. package/dist-cms/packages/core/backend-api/client/index.js +1 -0
  75. package/dist-cms/packages/core/backend-api/client/types.gen.d.ts +1 -1
  76. package/dist-cms/packages/core/backend-api/client/utils.gen.d.ts +6 -11
  77. package/dist-cms/packages/core/backend-api/client/utils.gen.js +27 -23
  78. package/dist-cms/packages/core/backend-api/client.gen.d.ts +3 -3
  79. package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.d.ts +18 -0
  80. package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.js +99 -0
  81. package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.d.ts +13 -1
  82. package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.js +16 -2
  83. package/dist-cms/packages/core/backend-api/core/utils.gen.d.ts +6 -1
  84. package/dist-cms/packages/core/backend-api/core/utils.gen.js +18 -0
  85. package/dist-cms/packages/core/backend-api/sdk.gen.d.ts +12 -6
  86. package/dist-cms/packages/core/backend-api/sdk.gen.js +500 -416
  87. package/dist-cms/packages/core/backend-api/types.gen.d.ts +294 -6
  88. package/dist-cms/packages/core/backend-api/types.gen.js +1 -0
  89. package/dist-cms/packages/core/collection/action/create/manifests.js +1 -1
  90. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.d.ts +4 -0
  91. package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.js +39 -2
  92. package/dist-cms/packages/core/components/body-layout/body-layout.element.js +1 -1
  93. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
  94. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +18 -12
  95. package/dist-cms/packages/core/components/index.d.ts +1 -0
  96. package/dist-cms/packages/core/components/index.js +1 -0
  97. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +1 -1
  98. package/dist-cms/packages/core/components/input-slider/input-slider.element.d.ts +8 -3
  99. package/dist-cms/packages/core/components/input-slider/input-slider.element.js +95 -9
  100. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.js +28 -5
  101. package/dist-cms/packages/core/components/split-panel/split-panel.element.d.ts +3 -2
  102. package/dist-cms/packages/core/components/split-panel/split-panel.element.js +7 -2
  103. package/dist-cms/packages/core/components/view-loader/view-loader.element.d.ts +5 -0
  104. package/dist-cms/packages/core/components/view-loader/view-loader.element.js +36 -0
  105. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  106. package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -1
  107. package/dist-cms/packages/core/entity-action/common/create/create.action.kind.js +1 -1
  108. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +1 -1
  109. package/dist-cms/packages/core/entity-flag/index.d.ts +1 -0
  110. package/dist-cms/packages/core/entity-flag/index.js +1 -0
  111. package/dist-cms/packages/core/entity-flag/types.d.ts +10 -0
  112. package/dist-cms/packages/core/entity-flag/types.js +1 -0
  113. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.d.ts +21 -0
  114. package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.js +257 -0
  115. package/dist-cms/packages/core/entity-sign/components/index.d.ts +1 -0
  116. package/dist-cms/packages/core/entity-sign/components/index.js +1 -0
  117. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.d.ts +18 -0
  118. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.js +1 -0
  119. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.d.ts +5 -0
  120. package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.js +1 -0
  121. package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.d.ts +20 -0
  122. package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.js +1 -0
  123. package/dist-cms/packages/core/entity-sign/extensions/types.d.ts +3 -0
  124. package/dist-cms/packages/core/entity-sign/extensions/types.js +1 -0
  125. package/dist-cms/packages/core/entity-sign/index.d.ts +2 -0
  126. package/dist-cms/packages/core/entity-sign/index.js +1 -0
  127. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.d.ts +10 -0
  128. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.js +11 -0
  129. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.d.ts +10 -0
  130. package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.js +41 -0
  131. package/dist-cms/packages/core/entity-sign/kinds/icon/index.d.ts +1 -0
  132. package/dist-cms/packages/core/entity-sign/kinds/icon/index.js +1 -0
  133. package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.d.ts +2 -0
  134. package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.js +14 -0
  135. package/dist-cms/packages/core/entity-sign/kinds/icon/types.d.ts +15 -0
  136. package/dist-cms/packages/core/entity-sign/kinds/icon/types.js +1 -0
  137. package/dist-cms/packages/core/entity-sign/kinds/manifests.d.ts +2 -0
  138. package/dist-cms/packages/core/entity-sign/kinds/manifests.js +2 -0
  139. package/dist-cms/packages/core/entity-sign/kinds/types.d.ts +1 -0
  140. package/dist-cms/packages/core/entity-sign/kinds/types.js +1 -0
  141. package/dist-cms/packages/core/entity-sign/manifests.d.ts +2 -0
  142. package/dist-cms/packages/core/entity-sign/manifests.js +2 -0
  143. package/dist-cms/packages/core/entity-sign/types.d.ts +1 -0
  144. package/dist-cms/packages/core/entity-sign/types.js +1 -0
  145. package/dist-cms/packages/core/entry-point.d.ts +1 -0
  146. package/dist-cms/packages/core/entry-point.js +1 -0
  147. package/dist-cms/packages/core/icon-registry/icon-dictionary.json +8 -0
  148. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.d.ts +1 -3
  149. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.js +44 -26
  150. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.token.d.ts +5 -2
  151. package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.d.ts +1 -1
  152. package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.js +1 -1
  153. package/dist-cms/packages/core/icon-registry/icons/icon-bars.d.ts +1 -1
  154. package/dist-cms/packages/core/icon-registry/icons/icon-bars.js +1 -1
  155. package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.d.ts +1 -1
  156. package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.js +1 -1
  157. package/dist-cms/packages/core/icon-registry/icons/icon-bug.d.ts +1 -1
  158. package/dist-cms/packages/core/icon-registry/icons/icon-bug.js +1 -1
  159. package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.d.ts +1 -1
  160. package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.js +1 -1
  161. package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.d.ts +1 -1
  162. package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.js +1 -1
  163. package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.d.ts +1 -1
  164. package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.js +1 -1
  165. package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.d.ts +1 -1
  166. package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.js +1 -1
  167. package/dist-cms/packages/core/icon-registry/icons/icon-heading.d.ts +1 -1
  168. package/dist-cms/packages/core/icon-registry/icons/icon-heading.js +1 -1
  169. package/dist-cms/packages/core/icon-registry/icons/icon-home.d.ts +1 -1
  170. package/dist-cms/packages/core/icon-registry/icons/icon-home.js +1 -1
  171. package/dist-cms/packages/core/icon-registry/icons/icon-indent.d.ts +1 -1
  172. package/dist-cms/packages/core/icon-registry/icons/icon-indent.js +1 -1
  173. package/dist-cms/packages/core/icon-registry/icons/icon-list.d.ts +1 -1
  174. package/dist-cms/packages/core/icon-registry/icons/icon-list.js +1 -1
  175. package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.d.ts +1 -1
  176. package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.js +1 -1
  177. package/dist-cms/packages/core/icon-registry/icons/icon-outdent.d.ts +1 -1
  178. package/dist-cms/packages/core/icon-registry/icons/icon-outdent.js +1 -1
  179. package/dist-cms/packages/core/icon-registry/icons/icon-playlist.d.ts +1 -1
  180. package/dist-cms/packages/core/icon-registry/icons/icon-playlist.js +1 -1
  181. package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.d.ts +2 -0
  182. package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.js +1 -0
  183. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.d.ts +1 -1
  184. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.js +1 -1
  185. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.d.ts +1 -1
  186. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.js +1 -1
  187. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.d.ts +1 -1
  188. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.js +1 -1
  189. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.d.ts +1 -1
  190. package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.js +1 -1
  191. package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.d.ts +2 -0
  192. package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.js +1 -0
  193. package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.d.ts +1 -1
  194. package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.js +1 -1
  195. package/dist-cms/packages/core/icon-registry/icons.d.ts +10 -0
  196. package/dist-cms/packages/core/icon-registry/icons.js +6 -0
  197. package/dist-cms/packages/core/manifests.js +2 -0
  198. package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +20 -19
  199. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +3 -2
  200. package/dist-cms/packages/core/openapi-ts.config.d.ts +31 -1
  201. package/dist-cms/packages/core/package.json +4 -4
  202. package/dist-cms/packages/core/property/components/property/property.element.d.ts +1 -1
  203. package/dist-cms/packages/core/property/components/property/property.element.js +6 -1
  204. package/dist-cms/packages/core/property/components/property-layout/property-layout.element.js +2 -1
  205. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  206. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.d.ts +3 -1
  207. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +25 -16
  208. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-variant-builder.controller.js +12 -10
  209. package/dist-cms/packages/core/property/property-value-preset/types.d.ts +1 -0
  210. package/dist-cms/packages/core/property-editor/constants.d.ts +2 -0
  211. package/dist-cms/packages/core/property-editor/constants.js +2 -0
  212. package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.js +1 -1
  213. package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.js +8 -5
  214. package/dist-cms/packages/core/resources/extractUmbColorVariable.function.js +1 -0
  215. package/dist-cms/packages/core/router/modal-registration/modal-route-registration.controller.js +8 -4
  216. package/dist-cms/packages/core/section/extensions/section.extension.d.ts +1 -0
  217. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +0 -1
  218. package/dist-cms/packages/core/sorter/sorter.controller.js +0 -1
  219. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  220. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  221. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +10 -0
  222. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +75 -15
  223. package/dist-cms/packages/core/tree/types.d.ts +2 -1
  224. package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -2
  225. package/dist-cms/packages/core/variant/types.d.ts +2 -0
  226. package/dist-cms/packages/core/vite.config.js +2 -0
  227. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +5 -1
  228. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +5 -2
  229. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +22 -4
  230. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.d.ts +2 -1
  231. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.js +5 -0
  232. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +6 -0
  233. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +12 -2
  234. package/dist-cms/packages/core/workspace/kinds/default/default-workspace.context.d.ts +1 -1
  235. package/dist-cms/packages/core/workspace/workspace.element.d.ts +2 -2
  236. package/dist-cms/packages/core/workspace/workspace.element.js +2 -2
  237. package/dist-cms/packages/data-type/index.d.ts +1 -0
  238. package/dist-cms/packages/data-type/index.js +1 -0
  239. package/dist-cms/packages/data-type/workspace/data-type-workspace.context.js +4 -1
  240. package/dist-cms/packages/data-type/workspace/index.d.ts +1 -0
  241. package/dist-cms/packages/data-type/workspace/index.js +1 -0
  242. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.d.ts +22 -0
  243. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.js +128 -0
  244. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-view.element.js +23 -72
  245. package/dist-cms/packages/data-type/workspace/views/index.d.ts +1 -0
  246. package/dist-cms/packages/data-type/workspace/views/index.js +1 -0
  247. package/dist-cms/packages/dictionary/entity-action/manifests.js +1 -1
  248. package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +5 -8
  249. package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
  250. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.js +3 -0
  251. package/dist-cms/packages/documents/document-blueprints/types.d.ts +2 -2
  252. package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +1 -1
  253. package/dist-cms/packages/documents/documents/collection/repository/document-collection.server.data-source.js +2 -0
  254. package/dist-cms/packages/documents/documents/collection/types.d.ts +3 -2
  255. package/dist-cms/packages/documents/documents/constants.d.ts +1 -0
  256. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +1 -1
  257. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +1 -1
  258. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +1 -1
  259. package/dist-cms/packages/documents/documents/entity-sign/constants.d.ts +2 -0
  260. package/dist-cms/packages/documents/documents/entity-sign/constants.js +1 -0
  261. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.d.ts +1 -0
  262. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.js +1 -0
  263. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.d.ts +1 -0
  264. package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.js +12 -0
  265. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.d.ts +1 -0
  266. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.js +1 -0
  267. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.d.ts +1 -0
  268. package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.js +18 -0
  269. package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.d.ts +1 -0
  270. package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.js +1 -0
  271. package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.d.ts +1 -0
  272. package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.js +15 -0
  273. package/dist-cms/packages/documents/documents/entity-sign/manifests.d.ts +1 -0
  274. package/dist-cms/packages/documents/documents/entity-sign/manifests.js +8 -0
  275. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +9 -6
  276. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +43 -21
  277. package/dist-cms/packages/documents/documents/item/repository/document-item.server.cache-invalidation.manager.js +1 -0
  278. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +2 -0
  279. package/dist-cms/packages/documents/documents/item/repository/types.d.ts +3 -1
  280. package/dist-cms/packages/documents/documents/manifests.js +2 -0
  281. package/dist-cms/packages/documents/documents/publishing/publish/entity-bulk-action/publish.bulk-action.js +1 -0
  282. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.js +2 -0
  283. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-bulk-action/unpublish.bulk-action.js +1 -0
  284. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.server.data-source.js +3 -0
  285. package/dist-cms/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.js +1 -0
  286. package/dist-cms/packages/documents/documents/repository/detail/document-detail.server.data-source.js +3 -0
  287. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +2 -0
  288. package/dist-cms/packages/documents/documents/tree/document-tree.server.data-source.js +2 -0
  289. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +1 -0
  290. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.js +1 -0
  291. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +7 -3
  292. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.js +20 -90
  293. package/dist-cms/packages/documents/documents/tree/types.d.ts +3 -1
  294. package/dist-cms/packages/documents/documents/user-permissions/document/manifests.js +1 -1
  295. package/dist-cms/packages/documents/documents/utils.js +1 -0
  296. package/dist-cms/packages/documents/documents/workspace/constants.js +1 -0
  297. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.d.ts +2 -1
  298. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +10 -3
  299. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.d.ts +1 -3
  300. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.js +2 -2
  301. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -0
  302. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +13 -6
  303. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +9 -1
  304. package/dist-cms/packages/extension-types/index.d.ts +2 -0
  305. package/dist-cms/packages/language/entity-actions/manifests.js +1 -1
  306. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.d.ts +1 -0
  307. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.js +8 -1
  308. package/dist-cms/packages/management-api/detail/cache-invalidation.manager.d.ts +1 -0
  309. package/dist-cms/packages/management-api/detail/cache-invalidation.manager.js +3 -1
  310. package/dist-cms/packages/management-api/detail/detail-data.request-manager.js +1 -1
  311. package/dist-cms/packages/management-api/item/cache-invalidation.manager.d.ts +1 -0
  312. package/dist-cms/packages/management-api/item/cache-invalidation.manager.js +3 -1
  313. package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.js +1 -0
  314. package/dist-cms/packages/media/media/collection/media-collection.context.js +1 -0
  315. package/dist-cms/packages/media/media/collection/repository/media-collection.server.data-source.js +1 -0
  316. package/dist-cms/packages/media/media/collection/types.d.ts +2 -1
  317. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-svg.element.js +1 -0
  318. package/dist-cms/packages/media/media/dropzone/media-dropzone.manager.js +1 -1
  319. package/dist-cms/packages/media/media/entity-actions/create/create.action.d.ts +1 -1
  320. package/dist-cms/packages/media/media/entity-actions/create/create.action.js +1 -1
  321. package/dist-cms/packages/media/media/entity-actions/create/manifests.js +1 -1
  322. package/dist-cms/packages/media/media/modals/media-picker/components/media-picker-folder-path.element.js +1 -0
  323. package/dist-cms/packages/media/media/paths.js +1 -1
  324. package/dist-cms/packages/media/media/property-editors/upload-field/Umbraco.UploadField.js +1 -1
  325. package/dist-cms/packages/media/media/repository/detail/media-detail.server.data-source.js +5 -0
  326. package/dist-cms/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.js +1 -0
  327. package/dist-cms/packages/media/media/tree/media-tree.server.data-source.js +3 -0
  328. package/dist-cms/packages/media/media/workspace/constants.js +1 -0
  329. package/dist-cms/packages/members/member/collection/repository/member-collection.server.data-source.js +1 -0
  330. package/dist-cms/packages/members/member/entity-actions/create/manifests.js +1 -1
  331. package/dist-cms/packages/members/member/repository/detail/member-detail.server.data-source.js +5 -0
  332. package/dist-cms/packages/members/member/workspace/member/constants.js +1 -0
  333. package/dist-cms/packages/members/member-group/entity-actions/manifests.js +1 -1
  334. package/dist-cms/packages/property-editors/collection/manifests.js +1 -0
  335. package/dist-cms/packages/property-editors/icon-picker/manifests.js +10 -0
  336. package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.d.ts +7 -3
  337. package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.js +45 -14
  338. package/dist-cms/packages/property-editors/missing/manifests.js +15 -2
  339. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.d.ts +18 -0
  340. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.js +130 -0
  341. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.d.ts +13 -0
  342. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.js +24 -0
  343. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.d.ts +2 -13
  344. package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.js +6 -112
  345. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.d.ts +2 -2
  346. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.js +29 -11
  347. package/dist-cms/packages/property-editors/slider/slider-property-value-preset.d.ts +1 -4
  348. package/dist-cms/packages/property-editors/slider/types.d.ts +3 -2
  349. package/dist-cms/packages/templating/partial-views/entity-actions/create/manifests.js +1 -1
  350. package/dist-cms/packages/templating/scripts/entity-actions/create/manifests.js +1 -1
  351. package/dist-cms/packages/templating/templates/entity-actions/manifests.js +1 -1
  352. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -2
  353. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.d.ts +1 -1
  354. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +14 -6
  355. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar.element.js +3 -3
  356. package/dist-cms/packages/tiptap/extensions/horizontal-rule/manifests.js +1 -0
  357. package/dist-cms/packages/tiptap/extensions/style-select/manifests.js +1 -0
  358. package/dist-cms/packages/tiptap/property-editors/extensions-configuration/property-editor-ui-tiptap-extensions-configuration.element.js +2 -2
  359. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/property-editor-ui-tiptap-statusbar-configuration.element.js +37 -25
  360. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.d.ts +2 -2
  361. package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.js +2 -1
  362. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/property-editor-ui-tiptap-toolbar-configuration.element.js +1 -3
  363. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.d.ts +2 -2
  364. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.js +1 -1
  365. package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-group-configuration.element.js +22 -19
  366. package/dist-cms/packages/tiptap/property-editors/types.d.ts +4 -4
  367. package/dist-cms/packages/ufm/contexts/ufm.context.d.ts +1 -1
  368. package/dist-cms/packages/ufm/filters/manifests.js +24 -0
  369. package/dist-cms/packages/ufm/filters/strip-html.filter.d.ts +1 -0
  370. package/dist-cms/packages/ufm/filters/strip-html.filter.js +1 -0
  371. package/dist-cms/packages/ufm/filters/truncate.filter.d.ts +1 -0
  372. package/dist-cms/packages/ufm/filters/truncate.filter.js +8 -1
  373. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -2
  374. package/dist-cms/packages/user/user-permission/constants.d.ts +1 -0
  375. package/dist-cms/packages/user/user-permission/constants.js +1 -0
  376. package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.d.ts +1 -0
  377. package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.js +1 -0
  378. package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.d.ts +9 -0
  379. package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.js +34 -0
  380. package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.d.ts +1 -0
  381. package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.js +9 -0
  382. package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.d.ts +20 -0
  383. package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.js +1 -0
  384. package/dist-cms/packages/user/user-permission/index.d.ts +1 -0
  385. package/dist-cms/packages/user/user-permission/index.js +1 -0
  386. package/dist-cms/packages/user/user-permission/manifests.js +2 -1
  387. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  388. package/dist-cms/umbraco-package-schema.json +3 -0
  389. package/dist-cms/umbraco-package.json +1 -1
  390. package/dist-cms/vscode-html-custom-data.json +133 -30
  391. package/examples/user-permission/constants.ts +4 -0
  392. package/examples/user-permission/entity-action/action-1.ts +9 -0
  393. package/examples/user-permission/entity-action/action-2.ts +9 -0
  394. package/examples/user-permission/entity-action/manifests.ts +47 -0
  395. package/examples/user-permission/entity-user-permission/manifests.ts +30 -0
  396. package/examples/user-permission/index.ts +9 -0
  397. package/examples/user-permission/localization/en.ts +6 -0
  398. package/examples/user-permission/localization/manifests.ts +12 -0
  399. package/examples/validation-context/validation-context-dashboard.ts +9 -8
  400. package/package.json +13 -11
@@ -1,11 +1,19 @@
1
1
  import type { UmbTreeItemContext } from '../index.js';
2
2
  import type { UmbTreeItemModel } from '../../types.js';
3
3
  import { UmbLitElement } from '../../../lit-element/index.js';
4
+ import type { UmbEntityFlag } from '../../../entity-flag/index.js';
4
5
  export declare abstract class UmbTreeItemElementBase<TreeItemModelType extends UmbTreeItemModel, TreeItemContextType extends UmbTreeItemContext<TreeItemModelType> = UmbTreeItemContext<TreeItemModelType>> extends UmbLitElement {
5
6
  #private;
6
7
  set item(newVal: TreeItemModelType);
7
8
  get item(): TreeItemModelType | undefined;
8
9
  protected _item?: TreeItemModelType;
10
+ /**
11
+ * @param item - The item from which to extract flags.
12
+ * @description This method is called whenever the `item` property is set. It extracts the flags from the item and assigns them to the `_flags` state property.
13
+ * This method is in some cases overridden in subclasses to customize how flags are extracted!
14
+ */
15
+ protected _extractFlags(item: TreeItemModelType | undefined): void;
16
+ protected _flags?: Array<UmbEntityFlag>;
9
17
  private _label?;
10
18
  set api(value: TreeItemContextType | undefined);
11
19
  get api(): TreeItemContextType | undefined;
@@ -29,5 +37,7 @@ export declare abstract class UmbTreeItemElementBase<TreeItemModelType extends U
29
37
  render(): import("lit-html").TemplateResult<1>;
30
38
  renderIconContainer(): import("lit-html").TemplateResult<1>;
31
39
  protected _getIconToRender(icon: string): string;
40
+ protected _getIconName(): string | null | undefined;
32
41
  renderLabel(): import("lit-html").TemplateResult<1>;
42
+ static styles: import("lit").CSSResult[];
33
43
  }
@@ -4,8 +4,9 @@ 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, ifDefined, nothing, state, repeat, property } from '../../../../../external/lit/index.js';
7
+ import { html, ifDefined, nothing, state, repeat, property, css } from '../../../../../external/lit/index.js';
8
8
  import { UmbLitElement } from '../../../lit-element/index.js';
9
+ import { UmbTextStyles } from '../../../style/index.js';
9
10
  export class UmbTreeItemElementBase extends UmbLitElement {
10
11
  constructor() {
11
12
  super(...arguments);
@@ -31,6 +32,7 @@ export class UmbTreeItemElementBase extends UmbLitElement {
31
32
  }
32
33
  set item(newVal) {
33
34
  this._item = newVal;
35
+ this._extractFlags(newVal);
34
36
  if (this._item) {
35
37
  this._label = this.localize.string(this._item?.name ?? '');
36
38
  this.#initTreeItem();
@@ -39,6 +41,14 @@ export class UmbTreeItemElementBase extends UmbLitElement {
39
41
  get item() {
40
42
  return this._item;
41
43
  }
44
+ /**
45
+ * @param item - The item from which to extract flags.
46
+ * @description This method is called whenever the `item` property is set. It extracts the flags from the item and assigns them to the `_flags` state property.
47
+ * This method is in some cases overridden in subclasses to customize how flags are extracted!
48
+ */
49
+ _extractFlags(item) {
50
+ this._flags = item?.flags ?? [];
51
+ }
42
52
  set api(value) {
43
53
  this.#api = value;
44
54
  if (this.#api) {
@@ -87,6 +97,9 @@ export class UmbTreeItemElementBase extends UmbLitElement {
87
97
  // Note: Currently we want to prevent opening when the item is in a selectable context, but this might change in the future.
88
98
  // If we like to be able to open items in selectable context, then we might want to make it as a menu item action, so you have to click ... and chose an action called 'Edit'
89
99
  render() {
100
+ const caretLabelKey = this._isOpen
101
+ ? 'visuallyHiddenTexts_collapseChildItems'
102
+ : 'visuallyHiddenTexts_expandChildItems';
90
103
  return html `
91
104
  <uui-menu-item
92
105
  @show-children=${this._onShowChildren}
@@ -100,9 +113,9 @@ export class UmbTreeItemElementBase extends UmbLitElement {
100
113
  .loading=${this._isLoading}
101
114
  .hasChildren=${this._hasChildren}
102
115
  .showChildren=${this._isOpen}
103
- .caretLabel=${this._isOpen ? this.localize.term('visuallyHiddenTexts_collapseChildItems') + ' ' + this._label : this.localize.term('visuallyHiddenTexts_expandChildItems') + ' ' + this._label}
104
- label=${this._label}
105
- href="${ifDefined(this._isSelectableContext ? undefined : this._href)}">
116
+ .caretLabel=${this.localize.term(caretLabelKey) + ' ' + this._label}
117
+ label=${ifDefined(this._label)}
118
+ href=${ifDefined(this._isSelectableContext ? undefined : this._href)}>
106
119
  ${this.renderIconContainer()} ${this.renderLabel()} ${this.#renderActions()} ${this.#renderChildItems()}
107
120
  <slot></slot>
108
121
  ${this.#renderPaging()}
@@ -112,30 +125,41 @@ export class UmbTreeItemElementBase extends UmbLitElement {
112
125
  #hasNodes;
113
126
  renderIconContainer() {
114
127
  return html `
115
- <slot
116
- name="icon"
117
- slot="icon"
118
- @slotchange=${(e) => {
128
+ <div id="icon-container" slot="icon">
129
+ <slot
130
+ name="icon"
131
+ @slotchange=${(e) => {
119
132
  this._iconSlotHasChildren = this.#hasNodes(e);
120
133
  }}></slot>
121
- ${!this._iconSlotHasChildren ? this.#renderIcon() : nothing}
134
+ ${this.#renderSigns()}
135
+ </div>
122
136
  `;
123
137
  }
138
+ #renderSigns() {
139
+ return this._item
140
+ ? html `<umb-entity-sign-bundle .entityType=${this._item.entityType} .entityFlags=${this._flags}
141
+ >${!this._iconSlotHasChildren ? this.#renderIcon() : nothing}</umb-entity-sign-bundle
142
+ >`
143
+ : nothing;
144
+ }
124
145
  #renderIcon() {
125
- const icon = this._item?.icon;
146
+ const iconName = this._getIconName();
126
147
  const isFolder = this._item?.isFolder;
127
- if (icon) {
128
- return html `<umb-icon slot="icon" name="${this._getIconToRender(icon)}"></umb-icon>`;
148
+ if (iconName) {
149
+ return html `<umb-icon name="${this._getIconToRender(iconName)}"></umb-icon>`;
129
150
  }
130
151
  if (isFolder) {
131
- return html `<umb-icon slot="icon" name="icon-folder"></umb-icon>`;
152
+ return html `<umb-icon name="icon-folder"></umb-icon>`;
132
153
  }
133
- return html `<umb-icon slot="icon" name="icon-circle-dotted"></umb-icon>`;
154
+ return html `<umb-icon name="icon-circle-dotted"></umb-icon>`;
134
155
  }
135
156
  _getIconToRender(icon) {
136
157
  const iconWithoutColor = icon.split(' ')[0];
137
158
  return this._isActive || this._isSelected ? iconWithoutColor : icon;
138
159
  }
160
+ _getIconName() {
161
+ return this._item?.icon;
162
+ }
139
163
  renderLabel() {
140
164
  return html `<slot name="label" slot="label"></slot>`;
141
165
  }
@@ -149,7 +173,7 @@ export class UmbTreeItemElementBase extends UmbLitElement {
149
173
  slot="actions"
150
174
  .entityType=${this.#api.entityType}
151
175
  .unique=${this.#api.unique}
152
- .label=${this.localize.term('actions_viewActionsFor', [this._label])}>
176
+ .label=${this._label}>
153
177
  </umb-entity-actions-bundle>
154
178
  `;
155
179
  }
@@ -170,10 +194,46 @@ export class UmbTreeItemElementBase extends UmbLitElement {
170
194
  }
171
195
  return html ` <umb-tree-load-more-button @click=${this.#onLoadMoreClick}></umb-tree-load-more-button> `;
172
196
  }
197
+ static { this.styles = [
198
+ UmbTextStyles,
199
+ css `
200
+ #icon-container {
201
+ position: relative;
202
+ font-size: 15px;
203
+ }
204
+
205
+ uui-menu-item {
206
+ --umb-sign-bundle-bg: var(--uui-color-surface);
207
+ }
208
+
209
+ uui-menu-item:hover {
210
+ --umb-sign-bundle-bg: var(--uui-color-surface-emphasis);
211
+ }
212
+
213
+ uui-menu-item[active],
214
+ uui-menu-item[selected] {
215
+ --umb-sign-bundle-bg: var(--uui-color-current);
216
+ }
217
+
218
+ uui-menu-item[selected]:hover,
219
+ uui-menu-item[active]:hover {
220
+ --umb-sign-bundle-bg: var(--uui-color-current-emphasis);
221
+ }
222
+
223
+ #label {
224
+ white-space: nowrap;
225
+ overflow: hidden;
226
+ text-overflow: ellipsis;
227
+ }
228
+ `,
229
+ ]; }
173
230
  }
174
231
  __decorate([
175
232
  property({ type: Object, attribute: false })
176
233
  ], UmbTreeItemElementBase.prototype, "item", null);
234
+ __decorate([
235
+ state()
236
+ ], UmbTreeItemElementBase.prototype, "_flags", void 0);
177
237
  __decorate([
178
238
  state()
179
239
  ], UmbTreeItemElementBase.prototype, "_label", void 0);
@@ -1,9 +1,10 @@
1
1
  import type { UmbEntityModel } from '../entity/index.js';
2
+ import type { UmbEntityWithOptionalFlags } from '../entity-flag/index.js';
2
3
  export type * from './entity-actions/types.js';
3
4
  export type * from './extensions/types.js';
4
5
  export type * from './folder/types.js';
5
6
  export type * from './tree-menu-item/types.js';
6
- export interface UmbTreeItemModelBase extends UmbEntityModel {
7
+ export interface UmbTreeItemModelBase extends UmbEntityWithOptionalFlags {
7
8
  name: string;
8
9
  hasChildren: boolean;
9
10
  isFolder: boolean;
@@ -307,7 +307,7 @@ export class UmbValidationController extends UmbControllerBase {
307
307
  this.#validators.push(validator);
308
308
  //validator.addEventListener('change', this.#onValidatorChange);
309
309
  if (this.#validationMode) {
310
- this.validate();
310
+ this.validate().catch(() => undefined);
311
311
  }
312
312
  }
313
313
  /**
@@ -351,7 +351,9 @@ export class UmbValidationController extends UmbControllerBase {
351
351
  if (isValid === false) {
352
352
  if (hasMessages === false && resultsStatus === false) {
353
353
  const notValidValidators = this.#validators.filter((v) => v.isValid === false);
354
- console.warn('Missing validation messages to represent why a child validation context is invalid. These Validators was not valid, one of these did not set a message to represent their state:', notValidValidators);
354
+ console.warn(`Missing validation messages to represent why a child validation context is invalid.
355
+ This could be because the Validator does not have a 'data-path' and therefore not able to set a message to the Validation Context.
356
+ These Validators was not valid, one of these did not set a message to represent their state:`, notValidValidators);
355
357
  }
356
358
  // Focus first invalid element:
357
359
  this.focusFirstInvalidElement();
@@ -2,6 +2,7 @@ import type { UmbVariantId } from './variant-id.class.js';
2
2
  import type { UmbLanguageDetailModel } from '../../language/index.js';
3
3
  import type { ScheduleRequestModel } from '../backend-api/index.js';
4
4
  import type { UmbPropertyValueData } from '../property/index.js';
5
+ import type { UmbEntityFlag } from '../entity-flag/index.js';
5
6
  export type UmbObjectWithVariantProperties = {
6
7
  culture: string | null;
7
8
  segment: string | null;
@@ -19,6 +20,7 @@ export interface UmbEntityVariantModel {
19
20
  createDate: string | null;
20
21
  updateDate: string | null;
21
22
  state?: string | null;
23
+ flags: Array<UmbEntityFlag>;
22
24
  }
23
25
  /** @deprecated use `UmbEntityVariantModel` instead */
24
26
  export interface UmbVariantModel extends UmbEntityVariantModel {
@@ -23,7 +23,9 @@ export default defineConfig({
23
23
  'entity-action/index': './entity-action/index.ts',
24
24
  'entity-bulk-action/index': './entity-bulk-action/index.ts',
25
25
  'entity-create-option-action/index': './entity-create-option-action/index.ts',
26
+ 'entity-flag/index': './entity-flag/index.ts',
26
27
  'entity-item/index': './entity-item/index.ts',
28
+ 'entity-sign/index': './entity-sign/index.ts',
27
29
  'entity/index': './entity/index.ts',
28
30
  'entry-point': 'entry-point.ts',
29
31
  'event/index': './event/index.ts',
@@ -57,7 +57,11 @@ let UmbWorkspaceBreadcrumbElement = class UmbWorkspaceBreadcrumbElement extends
57
57
  #getHref(structureItem) {
58
58
  if (structureItem.isFolder)
59
59
  return undefined;
60
- return `section/${this.#sectionContext?.getPathname()}/workspace/${structureItem.entityType}/edit/${structureItem.unique}`;
60
+ let href = `section/${this.#sectionContext?.getPathname()}`;
61
+ if (structureItem.unique) {
62
+ href += `/workspace/${structureItem.entityType}/edit/${structureItem.unique}`;
63
+ }
64
+ return href;
61
65
  }
62
66
  render() {
63
67
  const structure = this._isNew ? this._structure : this._structure.slice(0, -1);
@@ -89,8 +89,11 @@ let UmbWorkspaceVariantMenuBreadcrumbElement = class UmbWorkspaceVariantMenuBrea
89
89
  #getHref(structureItem) {
90
90
  if (structureItem.isFolder)
91
91
  return undefined;
92
- const workspaceBasePath = `section/${this.#sectionContext?.getPathname()}/workspace/${structureItem.entityType}/edit`;
93
- return `${workspaceBasePath}/${structureItem.unique}/${this._workspaceActiveVariantId?.culture}`;
92
+ let href = `section/${this.#sectionContext?.getPathname()}`;
93
+ if (structureItem.unique) {
94
+ href += `/workspace/${structureItem.entityType}/edit/${structureItem.unique}/${this._workspaceActiveVariantId?.toCultureString()}`;
95
+ }
96
+ return href;
94
97
  }
95
98
  render() {
96
99
  return html `
@@ -13,6 +13,7 @@ import { UmbDataPathVariantQuery, umbBindToValidation } from '../../../validatio
13
13
  import { UMB_PROPERTY_DATASET_CONTEXT, isNameablePropertyDatasetContext } from '../../../property/index.js';
14
14
  import { UUIInputEvent } from '../../../../../external/uui/index.js';
15
15
  import { UMB_HINT_CONTEXT } from '../../../hint/index.js';
16
+ import { observeMultiple } from '../../../../../libs/observable-api/index.js';
16
17
  let UmbWorkspaceSplitViewVariantSelectorElement = class UmbWorkspaceSplitViewVariantSelectorElement extends UmbLitElement {
17
18
  #splitViewContext;
18
19
  #datasetContext;
@@ -73,6 +74,20 @@ let UmbWorkspaceSplitViewVariantSelectorElement = class UmbWorkspaceSplitViewVar
73
74
  this._cultureVariantOptions = this._variantOptions.filter((variant) => variant.segment === null);
74
75
  this.#setReadOnlyCultures(workspaceContext);
75
76
  }, '_observeVariantOptions');
77
+ if (workspaceContext) {
78
+ this.observe(observeMultiple([
79
+ workspaceContext.variesByCulture,
80
+ workspaceContext.variesBySegment,
81
+ workspaceContext.variantOptions,
82
+ ]), ([variesByCulture, variesBySegment, variantOptions]) => {
83
+ if (variesByCulture === false && variesBySegment === true && variantOptions.length > 1) {
84
+ this.#expandVariant(UmbVariantId.Create(variantOptions[0]));
85
+ }
86
+ }, '_observeExpandFirstVariantIfSegmentOnly');
87
+ }
88
+ else {
89
+ this.removeUmbControllerByAlias('_observeExpandFirstVariantIfSegmentOnly');
90
+ }
76
91
  }
77
92
  async #observeActiveVariants(workspaceContext) {
78
93
  this.observe(workspaceContext?.splitView.activeVariantsInfo, (activeVariants) => {
@@ -164,12 +179,12 @@ let UmbWorkspaceSplitViewVariantSelectorElement = class UmbWorkspaceSplitViewVar
164
179
  this._popoverElement.style.width = `${host.width}px`;
165
180
  // If the active variant is a segment then we expend the culture variant when the selector is opened.
166
181
  if (this.#isSegmentVariantOption(this._activeVariant)) {
167
- const culture = this._cultureVariantOptions.find((variant) => {
182
+ const option = this._cultureVariantOptions.find((variant) => {
168
183
  return variant.culture === this._activeVariant?.culture && variant.segment === null;
169
184
  });
170
- if (!culture)
185
+ if (!option)
171
186
  return;
172
- const variantId = UmbVariantId.Create(culture);
187
+ const variantId = UmbVariantId.Create(option);
173
188
  this.#expandVariant(variantId);
174
189
  }
175
190
  }
@@ -369,7 +384,10 @@ let UmbWorkspaceSplitViewVariantSelectorElement = class UmbWorkspaceSplitViewVar
369
384
  if (this.#isSegmentVariantOption(variantOption)) {
370
385
  return variantOption?.segmentInfo?.name ?? this._labelDefault;
371
386
  }
372
- return variantOption.variant?.name ?? variantOption.language.name;
387
+ if (variantOption.variant?.name && variantOption.variant?.name.trim() !== '') {
388
+ return variantOption.variant?.name;
389
+ }
390
+ return variantOption.language.name;
373
391
  }
374
392
  #getVariantSpecInfo(variantOption) {
375
393
  if (!variantOption) {
@@ -11,6 +11,7 @@ import './workspace-split-view-variant-selector.element.js';
11
11
  */
12
12
  export declare class UmbWorkspaceSplitViewElement extends UmbLitElement {
13
13
  #private;
14
+ loading: boolean;
14
15
  displayNavigation: boolean;
15
16
  backPath?: string;
16
17
  overrides?: Array<UmbDeepPartialObject<ManifestWorkspaceView>>;
@@ -19,7 +20,7 @@ export declare class UmbWorkspaceSplitViewElement extends UmbLitElement {
19
20
  private _variantSelectorSlotHasContent;
20
21
  private _isNew;
21
22
  private _variantId?;
22
- splitViewContext: UmbWorkspaceSplitViewContext;
23
+ readonly splitViewContext: UmbWorkspaceSplitViewContext;
23
24
  constructor();
24
25
  render(): import("lit-html").TemplateResult<1>;
25
26
  static readonly styles: import("lit").CSSResult[];
@@ -28,6 +28,7 @@ let UmbWorkspaceSplitViewElement = class UmbWorkspaceSplitViewElement extends Um
28
28
  }
29
29
  constructor() {
30
30
  super();
31
+ this.loading = false;
31
32
  this.displayNavigation = false;
32
33
  this._variantSelectorSlotHasContent = false;
33
34
  this._isNew = false;
@@ -42,6 +43,7 @@ let UmbWorkspaceSplitViewElement = class UmbWorkspaceSplitViewElement extends Um
42
43
  render() {
43
44
  return html `
44
45
  <umb-workspace-editor
46
+ .loading=${this.loading}
45
47
  back-path=${ifDefined(this.backPath)}
46
48
  .hideNavigation=${!this.displayNavigation}
47
49
  .variantId=${this._variantId}
@@ -92,6 +94,9 @@ let UmbWorkspaceSplitViewElement = class UmbWorkspaceSplitViewElement extends Um
92
94
  `,
93
95
  ]; }
94
96
  };
97
+ __decorate([
98
+ property({ type: Boolean })
99
+ ], UmbWorkspaceSplitViewElement.prototype, "loading", void 0);
95
100
  __decorate([
96
101
  property({ type: Boolean })
97
102
  ], UmbWorkspaceSplitViewElement.prototype, "displayNavigation", void 0);
@@ -129,7 +129,13 @@ export declare abstract class UmbEntityDetailWorkspaceContextBase<DetailModelTyp
129
129
  * @returns { Promise<any> | undefined } The data of the scaffold.
130
130
  */
131
131
  createScaffold(args: CreateArgsType): Promise<DetailModelType | undefined>;
132
+ /**
133
+ * @deprecated Override `_processIncomingData` instead. `_scaffoldProcessData` will be removed in v.18.
134
+ * @param {DetailModelType} data - The data to process.
135
+ * @returns {Promise<DetailModelType>} The processed data.
136
+ */
132
137
  protected _scaffoldProcessData(data: DetailModelType): Promise<DetailModelType>;
138
+ protected _processIncomingData(data: DetailModelType): Promise<DetailModelType>;
133
139
  submit(): Promise<void>;
134
140
  /**
135
141
  * Deletes the entity.
@@ -231,8 +231,9 @@ export class UmbEntityDetailWorkspaceContextBase extends UmbSubmittableWorkspace
231
231
  }
232
232
  }
233
233
  else if (data) {
234
- this._data.setPersisted(data);
235
- this._data.setCurrent(data);
234
+ const processedData = await this._processIncomingData(data);
235
+ this._data.setPersisted(processedData);
236
+ this._data.setCurrent(processedData);
236
237
  this.observe(asObservable?.(), (entity) => this.#onDetailStoreChange(entity), 'umbEntityDetailTypeStoreObserver');
237
238
  }
238
239
  this.loading.removeState(LOADING_STATE_UNIQUE);
@@ -280,6 +281,7 @@ export class UmbEntityDetailWorkspaceContextBase extends UmbSubmittableWorkspace
280
281
  this._getDataPromise = request;
281
282
  let { data } = await request;
282
283
  if (data) {
284
+ data = await this._processIncomingData(data);
283
285
  data = await this._scaffoldProcessData(data);
284
286
  if (this.modalContext) {
285
287
  // Notice if the preset comes with values, they will overwrite the scaffolded values... [NL]
@@ -293,9 +295,17 @@ export class UmbEntityDetailWorkspaceContextBase extends UmbSubmittableWorkspace
293
295
  this.loading.removeState(LOADING_STATE_UNIQUE);
294
296
  return data;
295
297
  }
298
+ /**
299
+ * @deprecated Override `_processIncomingData` instead. `_scaffoldProcessData` will be removed in v.18.
300
+ * @param {DetailModelType} data - The data to process.
301
+ * @returns {Promise<DetailModelType>} The processed data.
302
+ */
296
303
  async _scaffoldProcessData(data) {
297
304
  return data;
298
305
  }
306
+ async _processIncomingData(data) {
307
+ return data;
308
+ }
299
309
  async submit() {
300
310
  await this.#init;
301
311
  const currentData = this.getData();
@@ -1,9 +1,9 @@
1
1
  import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';
2
+ import type { ManifestWorkspaceDefaultKind } from './types.js';
2
3
  import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
3
4
  import { UmbContextBase } from '../../../../../libs/class-api/index.js';
4
5
  import { type UmbEntityUnique } from '../../../entity/index.js';
5
6
  import { UmbViewContext } from '../../../view/index.js';
6
- import type { ManifestWorkspaceDefaultKind } from './types.js';
7
7
  export declare class UmbDefaultWorkspaceContext extends UmbContextBase implements UmbWorkspaceContext {
8
8
  #private;
9
9
  workspaceAlias: string;
@@ -1,4 +1,4 @@
1
- import { nothing, type PropertyValueMap } from '../../../external/lit/index.js';
1
+ import { type PropertyValueMap } from '../../../external/lit/index.js';
2
2
  import { UmbLitElement } from '../lit-element/index.js';
3
3
  export declare class UmbWorkspaceElement extends UmbLitElement {
4
4
  #private;
@@ -6,7 +6,7 @@ export declare class UmbWorkspaceElement extends UmbLitElement {
6
6
  get entityType(): string | undefined;
7
7
  set entityType(value: string);
8
8
  protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
9
- render(): HTMLElement | typeof nothing;
9
+ render(): HTMLElement | import("lit-html").TemplateResult<1>;
10
10
  }
11
11
  export { UmbWorkspaceElement as element };
12
12
  declare global {
@@ -4,7 +4,7 @@ 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 { nothing, customElement, property, state } from '../../../external/lit/index.js';
7
+ import { customElement, property, state, html } from '../../../external/lit/index.js';
8
8
  import { UmbLitElement } from '../lit-element/index.js';
9
9
  import { UmbExtensionsApiInitializer, UmbExtensionsElementAndApiInitializer, } from '../../../libs/extension-api/index.js';
10
10
  import { UMB_MARK_ATTRIBUTE_NAME } from '../const/index.js';
@@ -43,7 +43,7 @@ let UmbWorkspaceElement = class UmbWorkspaceElement extends UmbLitElement {
43
43
  undefined, () => import('./kinds/default/default-workspace.context.js'), { single: true });
44
44
  }
45
45
  render() {
46
- return this._component ?? nothing;
46
+ return this._component ?? html `<umb-view-loader></umb-view-loader>`;
47
47
  }
48
48
  };
49
49
  __decorate([
@@ -1,4 +1,5 @@
1
1
  import './components/index.js';
2
+ import './workspace/index.js';
2
3
  export * from './components/index.js';
3
4
  export * from './constants.js';
4
5
  export * from './repository/index.js';
@@ -1,4 +1,5 @@
1
1
  import './components/index.js';
2
+ import './workspace/index.js';
2
3
  export * from './components/index.js';
3
4
  export * from './constants.js';
4
5
  export * from './repository/index.js';
@@ -141,7 +141,10 @@ export class UmbDataTypeWorkspaceContext extends UmbEntityNamedDetailWorkspaceCo
141
141
  weight: x.weight ?? 1000 + i,
142
142
  }));
143
143
  this.#propertyEditorUISettingsDefaultData = manifest?.meta.settings?.defaultData || [];
144
- this.setPropertyEditorSchemaAlias(manifest?.meta.propertyEditorSchemaAlias);
144
+ const manifestPropertyEditorSchemaAlias = manifest?.meta.propertyEditorSchemaAlias;
145
+ if (manifestPropertyEditorSchemaAlias) {
146
+ this.setPropertyEditorSchemaAlias(manifestPropertyEditorSchemaAlias);
147
+ }
145
148
  this.#mergeConfigProperties();
146
149
  }, 'editorUi');
147
150
  }
@@ -0,0 +1 @@
1
+ import './views/index.js';
@@ -0,0 +1 @@
1
+ import './views/index.js';
@@ -0,0 +1,22 @@
1
+ import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
+ declare const UmbDataTypeDetailsWorkspacePropertyEditorPickerElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<undefined>> & typeof UmbLitElement;
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare class UmbDataTypeDetailsWorkspacePropertyEditorPickerElement extends UmbDataTypeDetailsWorkspacePropertyEditorPickerElement_base {
7
+ #private;
8
+ propertyEditorUiIcon?: string;
9
+ propertyEditorUiName?: string;
10
+ propertyEditorUiAlias?: string;
11
+ propertyEditorSchemaAlias?: string;
12
+ constructor();
13
+ protected getFormElement(): undefined;
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ static styles: import("lit").CSSResult[];
16
+ }
17
+ export default UmbDataTypeDetailsWorkspacePropertyEditorPickerElement;
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'umb-data-type-details-workspace-property-editor-picker': UmbDataTypeDetailsWorkspacePropertyEditorPickerElement;
21
+ }
22
+ }