@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
@@ -5,9 +5,22 @@ export const manifests = [
5
5
  name: 'Missing Property Editor UI',
6
6
  element: () => import('./property-editor-ui-missing.element.js'),
7
7
  meta: {
8
- label: 'Missing',
8
+ label: 'Missing Property Editor',
9
9
  propertyEditorSchemaAlias: undefined, // By setting it to undefined, this editor won't appear in the property editor UI picker modal.
10
- icon: 'icon-ordered-list',
10
+ icon: 'icon-circle-dotted',
11
+ group: '',
12
+ supportsReadOnly: true,
13
+ },
14
+ },
15
+ {
16
+ type: 'propertyEditorUi',
17
+ alias: 'Umb.PropertyEditorUi.MissingUi',
18
+ name: 'Missing Property Editor UI UI',
19
+ element: () => import('./property-editor-ui-missing-ui.element.js'),
20
+ meta: {
21
+ label: 'Missing Property Editor UI',
22
+ propertyEditorSchemaAlias: undefined, // By setting it to undefined, this editor won't appear in the property editor UI picker modal.
23
+ icon: 'icon-circle-dotted',
11
24
  group: '',
12
25
  supportsReadOnly: true,
13
26
  },
@@ -0,0 +1,18 @@
1
+ import { UmbLitElement } from '../../core/lit-element/index.js';
2
+ import type { UmbPropertyEditorUiElement } from '../../core/property-editor/index.js';
3
+ export declare class UmbPropertyEditorUIMissingBaseElement extends UmbLitElement implements UmbPropertyEditorUiElement {
4
+ #private;
5
+ value: string;
6
+ private _expanded;
7
+ focalPointElement: HTMLElement;
8
+ private _dataTypeDetailModel?;
9
+ private _dataTypeDetailRepository;
10
+ protected _titleKey: string;
11
+ protected _detailsDescriptionKey: string;
12
+ protected _displayPropertyEditorUi: boolean;
13
+ constructor();
14
+ private _updateEditorAlias;
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ private _renderDetails;
17
+ static styles: import("lit").CSSResult[];
18
+ }
@@ -0,0 +1,130 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, html, nothing, property, query, state } from '../../../external/lit/index.js';
8
+ import { UmbLitElement } from '../../core/lit-element/index.js';
9
+ import { UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT } from '../../content/content/index.js';
10
+ import { UmbDataTypeDetailRepository } from '../../data-type/index.js';
11
+ export class UmbPropertyEditorUIMissingBaseElement extends UmbLitElement {
12
+ constructor() {
13
+ super();
14
+ this.value = '';
15
+ this._expanded = false;
16
+ this._dataTypeDetailRepository = new UmbDataTypeDetailRepository(this);
17
+ this._titleKey = '';
18
+ this._detailsDescriptionKey = '';
19
+ this._displayPropertyEditorUi = true;
20
+ this.consumeContext(UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT, (propertyContext) => {
21
+ if (!propertyContext?.dataType)
22
+ return;
23
+ this.observe(propertyContext.dataType, (dt) => {
24
+ if (!dt?.unique)
25
+ return;
26
+ this._updateEditorAlias(dt);
27
+ });
28
+ });
29
+ }
30
+ async _updateEditorAlias(dataType) {
31
+ this.observe(await this._dataTypeDetailRepository.byUnique(dataType.unique), (dataType) => {
32
+ this._dataTypeDetailModel = dataType;
33
+ });
34
+ }
35
+ async #onDetails() {
36
+ this._expanded = !this._expanded;
37
+ if (this._expanded) {
38
+ await this.updateComplete;
39
+ this.focalPointElement?.focus();
40
+ }
41
+ }
42
+ render() {
43
+ return html `<uui-box id="info">
44
+ <div slot="headline"><uui-icon id="alert" name="alert"></uui-icon>${this.localize.term(this._titleKey)}</div>
45
+ <div id="content">
46
+ <umb-localize key="missingEditor_description"></umb-localize>
47
+ ${this._expanded ? this._renderDetails() : nothing}
48
+ </div>
49
+
50
+ <uui-button
51
+ id="details-button"
52
+ compact
53
+ label="${this.localize.term(this._expanded ? 'missingEditor_detailsHide' : 'missingEditor_detailsShow')}"
54
+ @click=${this.#onDetails}>
55
+ <span>${this.localize.term(this._expanded ? 'missingEditor_detailsHide' : 'missingEditor_detailsShow')}</span
56
+ ><uui-symbol-expand id="expand-symbol" .open=${this._expanded}></uui-symbol-expand>
57
+ </uui-button>
58
+ </uui-box>`;
59
+ }
60
+ _renderDetails() {
61
+ return html ` <div id="details" tabindex="0">
62
+ <umb-localize id="details-title" key="missingEditor_detailsTitle"></umb-localize>
63
+ <p>
64
+ <umb-localize key=${this._detailsDescriptionKey}></umb-localize>
65
+ </p>
66
+ <p>
67
+ <strong><umb-localize key="missingEditor_detailsDataType"></umb-localize></strong>:
68
+ <code>${this._dataTypeDetailModel?.name}</code><br />
69
+ <strong><umb-localize key="missingEditor_detailsPropertyEditor"></umb-localize></strong>:
70
+ <code>${this._dataTypeDetailModel?.editorAlias}</code>
71
+ ${this._displayPropertyEditorUi
72
+ ? html `
73
+ <br />
74
+ <strong><umb-localize key="missingEditor_detailsPropertyEditorUi"></umb-localize></strong>:
75
+ <code>${this._dataTypeDetailModel?.editorUiAlias}</code>
76
+ `
77
+ : nothing}
78
+ </p>
79
+ <umb-code-block id="codeblock" copy language="${this.localize.term('missingEditor_detailsData')}"
80
+ >${typeof this.value === 'object' ? JSON.stringify(this.value, null, 2) : String(this.value)}</umb-code-block
81
+ >
82
+ </div>`;
83
+ }
84
+ static { this.styles = [
85
+ css `
86
+ :host {
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: var(--uui-size-space-3);
90
+ --uui-box-default-padding: 0;
91
+ }
92
+ #content {
93
+ padding: var(--uui-size-space-5);
94
+ padding-bottom: var(--uui-size-space-3);
95
+ }
96
+ #alert {
97
+ padding-right: var(--uui-size-space-2);
98
+ }
99
+ #details-button {
100
+ float: right;
101
+ }
102
+ #details {
103
+ margin-top: var(--uui-size-space-5);
104
+ }
105
+ #details-title {
106
+ font-weight: 800;
107
+ }
108
+ #expand-symbol {
109
+ transform: rotate(90deg);
110
+ }
111
+ #expand-symbol[open] {
112
+ transform: rotate(180deg);
113
+ }
114
+ #codeblock {
115
+ max-height: 400px;
116
+ display: flex;
117
+ flex-direction: column;
118
+ }
119
+ `,
120
+ ]; }
121
+ }
122
+ __decorate([
123
+ property()
124
+ ], UmbPropertyEditorUIMissingBaseElement.prototype, "value", void 0);
125
+ __decorate([
126
+ state()
127
+ ], UmbPropertyEditorUIMissingBaseElement.prototype, "_expanded", void 0);
128
+ __decorate([
129
+ query('#details')
130
+ ], UmbPropertyEditorUIMissingBaseElement.prototype, "focalPointElement", void 0);
@@ -0,0 +1,13 @@
1
+ import { UmbPropertyEditorUIMissingBaseElement } from './property-editor-ui-missing-base.element.js';
2
+ /**
3
+ * @element umb-property-editor-ui-missing-ui
4
+ */
5
+ export declare class UmbPropertyEditorUIMissingUiElement extends UmbPropertyEditorUIMissingBaseElement {
6
+ constructor();
7
+ }
8
+ export default UmbPropertyEditorUIMissingUiElement;
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ 'umb-property-editor-ui-missing-ui': UmbPropertyEditorUIMissingUiElement;
12
+ }
13
+ }
@@ -0,0 +1,24 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { UmbPropertyEditorUIMissingBaseElement } from './property-editor-ui-missing-base.element.js';
8
+ import { customElement } from '../../../external/lit/index.js';
9
+ /**
10
+ * @element umb-property-editor-ui-missing-ui
11
+ */
12
+ let UmbPropertyEditorUIMissingUiElement = class UmbPropertyEditorUIMissingUiElement extends UmbPropertyEditorUIMissingBaseElement {
13
+ constructor() {
14
+ super();
15
+ this._titleKey = 'missingEditor_missingUiTitle';
16
+ this._detailsDescriptionKey = 'missingEditor_missingUiDetailsDescription';
17
+ this._displayPropertyEditorUi = true;
18
+ }
19
+ };
20
+ UmbPropertyEditorUIMissingUiElement = __decorate([
21
+ customElement('umb-property-editor-ui-missing-ui')
22
+ ], UmbPropertyEditorUIMissingUiElement);
23
+ export { UmbPropertyEditorUIMissingUiElement };
24
+ export default UmbPropertyEditorUIMissingUiElement;
@@ -1,20 +1,9 @@
1
- import { UmbLitElement } from '../../core/lit-element/index.js';
2
- import type { UmbPropertyEditorUiElement } from '../../core/property-editor/index.js';
1
+ import { UmbPropertyEditorUIMissingBaseElement } from './property-editor-ui-missing-base.element.js';
3
2
  /**
4
3
  * @element umb-property-editor-ui-missing
5
4
  */
6
- export declare class UmbPropertyEditorUIMissingElement extends UmbLitElement implements UmbPropertyEditorUiElement {
7
- #private;
8
- value: string;
9
- private _expanded;
10
- focalPointElement: HTMLElement;
11
- private _dataTypeDetailModel?;
12
- private _dataTypeDetailRepository;
5
+ export declare class UmbPropertyEditorUIMissingElement extends UmbPropertyEditorUIMissingBaseElement {
13
6
  constructor();
14
- private _updateEditorAlias;
15
- render(): import("lit-html").TemplateResult<1>;
16
- private _renderDetails;
17
- static styles: import("lit").CSSResult[];
18
7
  }
19
8
  export default UmbPropertyEditorUIMissingElement;
20
9
  declare global {
@@ -4,125 +4,19 @@ 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 { css, customElement, html, nothing, property, query, state } from '../../../external/lit/index.js';
8
- import { UmbLitElement } from '../../core/lit-element/index.js';
9
- import { UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT } from '../../content/content/index.js';
10
- import { UmbDataTypeDetailRepository } from '../../data-type/index.js';
7
+ import { UmbPropertyEditorUIMissingBaseElement } from './property-editor-ui-missing-base.element.js';
8
+ import { customElement } from '../../../external/lit/index.js';
11
9
  /**
12
10
  * @element umb-property-editor-ui-missing
13
11
  */
14
- let UmbPropertyEditorUIMissingElement = class UmbPropertyEditorUIMissingElement extends UmbLitElement {
12
+ let UmbPropertyEditorUIMissingElement = class UmbPropertyEditorUIMissingElement extends UmbPropertyEditorUIMissingBaseElement {
15
13
  constructor() {
16
14
  super();
17
- this.value = '';
18
- this._expanded = false;
19
- this._dataTypeDetailRepository = new UmbDataTypeDetailRepository(this);
20
- this.consumeContext(UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT, (propertyContext) => {
21
- if (!propertyContext?.dataType)
22
- return;
23
- this.observe(propertyContext.dataType, (dt) => {
24
- if (!dt?.unique)
25
- return;
26
- this._updateEditorAlias(dt);
27
- });
28
- });
15
+ this._titleKey = 'missingEditor_title';
16
+ this._detailsDescriptionKey = 'missingEditor_detailsDescription';
17
+ this._displayPropertyEditorUi = false;
29
18
  }
30
- async _updateEditorAlias(dataType) {
31
- this.observe(await this._dataTypeDetailRepository.byUnique(dataType.unique), (dataType) => {
32
- this._dataTypeDetailModel = dataType;
33
- });
34
- }
35
- async #onDetails() {
36
- this._expanded = !this._expanded;
37
- if (this._expanded) {
38
- await this.updateComplete;
39
- this.focalPointElement?.focus();
40
- }
41
- }
42
- render() {
43
- return html `<uui-box id="info">
44
- <div slot="headline">
45
- <uui-icon id="alert" name="alert"></uui-icon>${this.localize.term('missingEditor_title')}
46
- </div>
47
- <div id="content">
48
- <umb-localize key="missingEditor_description"></umb-localize>
49
- ${this._expanded ? this._renderDetails() : nothing}
50
- </div>
51
-
52
- <uui-button
53
- id="details-button"
54
- compact
55
- label="${this.localize.term(this._expanded ? 'missingEditor_detailsHide' : 'missingEditor_detailsShow')}"
56
- @click=${this.#onDetails}>
57
- <span>${this.localize.term(this._expanded ? 'missingEditor_detailsHide' : 'missingEditor_detailsShow')}</span
58
- ><uui-symbol-expand id="expand-symbol" .open=${this._expanded}></uui-symbol-expand>
59
- </uui-button>
60
- </uui-box>`;
61
- }
62
- _renderDetails() {
63
- return html ` <div id="details" tabindex="0">
64
- <umb-localize id="details-title" key="missingEditor_detailsTitle"></umb-localize>
65
- <p>
66
- <umb-localize key="missingEditor_detailsDescription"></umb-localize>
67
- </p>
68
- <p>
69
- <strong><umb-localize key="missingEditor_detailsDataType"></umb-localize></strong>:
70
- <code>${this._dataTypeDetailModel?.name}</code><br />
71
- <strong><umb-localize key="missingEditor_detailsPropertyEditor"></umb-localize></strong>:
72
- <code>${this._dataTypeDetailModel?.editorAlias}</code>
73
- </p>
74
- <umb-code-block id="codeblock" copy language="${this.localize.term('missingEditor_detailsData')}"
75
- >${typeof this.value === 'object' ? JSON.stringify(this.value, null, 2) : String(this.value)}</umb-code-block
76
- >
77
- </div>`;
78
- }
79
- static { this.styles = [
80
- css `
81
- :host {
82
- display: flex;
83
- flex-direction: column;
84
- gap: var(--uui-size-space-3);
85
- --uui-box-default-padding: 0;
86
- }
87
- #content {
88
- padding: var(--uui-size-space-5);
89
- padding-bottom: var(--uui-size-space-3);
90
- }
91
- #alert {
92
- padding-right: var(--uui-size-space-2);
93
- }
94
- #details-button {
95
- float: right;
96
- }
97
- #details {
98
- margin-top: var(--uui-size-space-5);
99
- }
100
- #details-title {
101
- font-weight: 800;
102
- }
103
- #expand-symbol {
104
- transform: rotate(90deg);
105
- }
106
- #expand-symbol[open] {
107
- transform: rotate(180deg);
108
- }
109
- #codeblock {
110
- max-height: 400px;
111
- display: flex;
112
- flex-direction: column;
113
- }
114
- `,
115
- ]; }
116
19
  };
117
- __decorate([
118
- property()
119
- ], UmbPropertyEditorUIMissingElement.prototype, "value", void 0);
120
- __decorate([
121
- state()
122
- ], UmbPropertyEditorUIMissingElement.prototype, "_expanded", void 0);
123
- __decorate([
124
- query('#details')
125
- ], UmbPropertyEditorUIMissingElement.prototype, "focalPointElement", void 0);
126
20
  UmbPropertyEditorUIMissingElement = __decorate([
127
21
  customElement('umb-property-editor-ui-missing')
128
22
  ], UmbPropertyEditorUIMissingElement);
@@ -1,12 +1,12 @@
1
1
  import type { UmbSliderPropertyEditorUiValue } from './types.js';
2
2
  import { UmbLitElement } from '../../core/lit-element/index.js';
3
3
  import type { UmbPropertyEditorConfigCollection, UmbPropertyEditorUiElement } from '../../core/property-editor/index.js';
4
+ declare const UmbPropertyEditorUISliderElement_base: import("../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../core/validation/index.js").UmbFormControlMixinElement<UmbSliderPropertyEditorUiValue>> & typeof UmbLitElement;
4
5
  /**
5
6
  * @element umb-property-editor-ui-slider
6
7
  */
7
- export declare class UmbPropertyEditorUISliderElement extends UmbLitElement implements UmbPropertyEditorUiElement {
8
+ export declare class UmbPropertyEditorUISliderElement extends UmbPropertyEditorUISliderElement_base implements UmbPropertyEditorUiElement {
8
9
  #private;
9
- value: UmbSliderPropertyEditorUiValue | undefined;
10
10
  /**
11
11
  * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.
12
12
  * @type {boolean}
@@ -8,10 +8,29 @@ import { UmbChangeEvent } from '../../core/event/index.js';
8
8
  import { customElement, html, property, state } from '../../../external/lit/index.js';
9
9
  import { UmbLitElement } from '../../core/lit-element/index.js';
10
10
  import { UMB_PROPERTY_CONTEXT } from '../../core/property/index.js';
11
+ import { UmbFormControlMixin } from '../../core/validation/index.js';
12
+ function stringToValueObject(value) {
13
+ const [from, to] = (value ?? ',').split(',');
14
+ const fromNumber = makeNumberOrUndefined(from);
15
+ return { from: fromNumber, to: makeNumberOrUndefined(to, fromNumber) };
16
+ }
17
+ function makeNumberOrUndefined(value, fallback) {
18
+ if (value === undefined) {
19
+ return fallback;
20
+ }
21
+ const n = Number(value);
22
+ if (isNaN(n)) {
23
+ return fallback;
24
+ }
25
+ return n;
26
+ }
27
+ function undefinedFallback(value, fallback) {
28
+ return value === undefined ? fallback : value;
29
+ }
11
30
  /**
12
31
  * @element umb-property-editor-ui-slider
13
32
  */
14
- let UmbPropertyEditorUISliderElement = class UmbPropertyEditorUISliderElement extends UmbLitElement {
33
+ let UmbPropertyEditorUISliderElement = class UmbPropertyEditorUISliderElement extends UmbFormControlMixin(UmbLitElement) {
15
34
  set config(config) {
16
35
  if (!config)
17
36
  return;
@@ -50,6 +69,7 @@ let UmbPropertyEditorUISliderElement = class UmbPropertyEditorUISliderElement ex
50
69
  });
51
70
  }
52
71
  firstUpdated() {
72
+ this.addFormControlElement(this.shadowRoot.querySelector('umb-input-slider'));
53
73
  if (this._min && this._max && this._min > this._max) {
54
74
  console.warn(`Property '${this._label}' (Slider) has been misconfigured, 'min' is greater than 'max'. Please correct your data type configuration.`, this);
55
75
  }
@@ -58,20 +78,21 @@ let UmbPropertyEditorUISliderElement = class UmbPropertyEditorUISliderElement ex
58
78
  const num = Number(input);
59
79
  return Number.isNaN(num) ? undefined : num;
60
80
  }
61
- #getValueObject(value) {
62
- const [from, to] = value.split(',').map(Number);
63
- return { from, to: to ?? from };
64
- }
65
81
  #onChange(event) {
66
- this.value = this.#getValueObject(event.target.value);
82
+ const partialValue = stringToValueObject(event.target.value);
83
+ const handledFrom = undefinedFallback(partialValue.from, this._initVal1);
84
+ this.value = {
85
+ from: handledFrom,
86
+ to: this._enableRange ? undefinedFallback(partialValue.to, this._initVal2) : handledFrom,
87
+ };
67
88
  this.dispatchEvent(new UmbChangeEvent());
68
89
  }
69
90
  render() {
70
91
  return html `
71
92
  <umb-input-slider
72
93
  .label=${this._label ?? 'Slider'}
73
- .valueLow=${this.value?.from ?? this._initVal1}
74
- .valueHigh=${this.value?.to ?? this._initVal2}
94
+ .valueLow=${undefinedFallback(this.value?.from, this._initVal1)}
95
+ .valueHigh=${undefinedFallback(this.value?.to, this._initVal2)}
75
96
  .step=${this._step}
76
97
  .min=${this._min}
77
98
  .max=${this._max}
@@ -82,9 +103,6 @@ let UmbPropertyEditorUISliderElement = class UmbPropertyEditorUISliderElement ex
82
103
  `;
83
104
  }
84
105
  };
85
- __decorate([
86
- property({ type: Object })
87
- ], UmbPropertyEditorUISliderElement.prototype, "value", void 0);
88
106
  __decorate([
89
107
  property({ type: Boolean, reflect: true })
90
108
  ], UmbPropertyEditorUISliderElement.prototype, "readonly", void 0);
@@ -2,10 +2,7 @@ import type { UmbSliderPropertyEditorUiValue } from './types.js';
2
2
  import type { UmbPropertyValuePreset } from '../../core/property/index.js';
3
3
  import type { UmbPropertyEditorConfig } from '../../core/property-editor/index.js';
4
4
  export declare class UmbSliderPropertyValuePreset implements UmbPropertyValuePreset<UmbSliderPropertyEditorUiValue, UmbPropertyEditorConfig> {
5
- processValue(value: undefined | UmbSliderPropertyEditorUiValue, config: UmbPropertyEditorConfig): Promise<{
6
- from: number;
7
- to: number;
8
- }>;
5
+ processValue(value: undefined | UmbSliderPropertyEditorUiValue, config: UmbPropertyEditorConfig): Promise<import("./types.js").UmbSliderPropertyEditorUiValueObject>;
9
6
  destroy(): void;
10
7
  }
11
8
  export { UmbSliderPropertyValuePreset as api };
@@ -1,7 +1,8 @@
1
- export type UmbSliderPropertyEditorUiValue = {
1
+ export interface UmbSliderPropertyEditorUiValueObject {
2
2
  from: number;
3
3
  to: number;
4
- } | undefined;
4
+ }
5
+ export type UmbSliderPropertyEditorUiValue = UmbSliderPropertyEditorUiValueObject | undefined;
5
6
  /**
6
7
  * @deprecated this type will be removed in v.17.0, use `UmbPropertyEditorUISliderValue` instead
7
8
  */
@@ -10,7 +10,7 @@ export const manifests = [
10
10
  forEntityTypes: [UMB_PARTIAL_VIEW_ROOT_ENTITY_TYPE, UMB_PARTIAL_VIEW_FOLDER_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
  },
@@ -10,7 +10,7 @@ export const manifests = [
10
10
  forEntityTypes: [UMB_SCRIPT_ROOT_ENTITY_TYPE, UMB_SCRIPT_FOLDER_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
  },
@@ -12,7 +12,7 @@ export const manifests = [
12
12
  forEntityTypes: [UMB_TEMPLATE_ENTITY_TYPE, UMB_TEMPLATE_ROOT_ENTITY_TYPE],
13
13
  meta: {
14
14
  icon: 'icon-add',
15
- label: '#actions_create',
15
+ label: '#actions_createFor',
16
16
  additionalOptions: true,
17
17
  },
18
18
  },
@@ -77,7 +77,7 @@ let UmbTemplateWorkspaceEditorElement = class UmbTemplateWorkspaceEditorElement
77
77
  .catch(() => undefined);
78
78
  }
79
79
  #resetMasterTemplate() {
80
- this.#templateWorkspaceContext?.setMasterTemplate(null);
80
+ this.#templateWorkspaceContext?.setMasterTemplate(null, true);
81
81
  }
82
82
  #openMasterTemplatePicker() {
83
83
  const modalContext = this.#modalContext?.open(this, UMB_TEMPLATE_PICKER_MODAL, {
@@ -95,7 +95,7 @@ let UmbTemplateWorkspaceEditorElement = class UmbTemplateWorkspaceEditorElement
95
95
  .then((value) => {
96
96
  if (!value?.selection)
97
97
  return;
98
- this.#templateWorkspaceContext?.setMasterTemplate(value.selection[0] ?? null);
98
+ this.#templateWorkspaceContext?.setMasterTemplate(value.selection[0] ?? null, true);
99
99
  })
100
100
  .catch(() => undefined);
101
101
  }
@@ -19,6 +19,6 @@ export declare class UmbTemplateWorkspaceContext extends UmbEntityNamedDetailWor
19
19
  setContent(value: string): void;
20
20
  getLayoutBlockRegexPattern(): RegExp;
21
21
  getHasLayoutBlock(): boolean;
22
- setMasterTemplate(unique: string | null): Promise<string | null>;
22
+ setMasterTemplate(unique: string | null, updateLayoutBlock: boolean): Promise<string | null>;
23
23
  }
24
24
  export { UmbTemplateWorkspaceContext as api };
@@ -64,7 +64,13 @@ ${currentContent}`;
64
64
  }
65
65
  async load(unique) {
66
66
  const response = await super.load(unique);
67
- await this.setMasterTemplate(response.data?.masterTemplate?.unique ?? null);
67
+ // On load we want to set the master template details but not update the layout block in the Razor file.
68
+ // This is because you can still set a layout in code by setting `Layout = "_Layout.cshtml";` in the template file.
69
+ // This gets set automatically if you create a template under a parent, but you don't have to do that, you can
70
+ // just set the `Layout` property in the Razor template file itself.
71
+ // So even if there's no master template set by there being a parent, there may still be one set in the Razor
72
+ // code, and we shouldn't overwrite it.
73
+ await this.setMasterTemplate(response.data?.masterTemplate?.unique ?? null, false);
68
74
  return response;
69
75
  }
70
76
  async create(parent) {
@@ -74,9 +80,9 @@ ${currentContent}`;
74
80
  masterTemplate: parent.unique ? { unique: parent.unique } : null,
75
81
  },
76
82
  });
77
- // Set or reset the master template
78
- // This is important to reset when a new template is created so the UI reflects the correct state
79
- await this.setMasterTemplate(parent.unique);
83
+ // On create set or reset the master template depending on whether the template is being created under a parent.
84
+ // This is important to reset when a new template is created so the UI reflects the correct state.
85
+ await this.setMasterTemplate(parent.unique, true);
80
86
  return data;
81
87
  }
82
88
  setAlias(value) {
@@ -91,7 +97,7 @@ ${currentContent}`;
91
97
  getHasLayoutBlock() {
92
98
  return this.getData()?.content ? this.getLayoutBlockRegexPattern().test(this.getData()?.content) : false;
93
99
  }
94
- async setMasterTemplate(unique) {
100
+ async setMasterTemplate(unique, updateLayoutBlock) {
95
101
  if (unique === null) {
96
102
  this.#masterTemplate.setValue(null);
97
103
  }
@@ -102,7 +108,9 @@ ${currentContent}`;
102
108
  this.#masterTemplate.setValue(data[0]);
103
109
  }
104
110
  }
105
- this.#updateMasterTemplateLayoutBlock();
111
+ if (updateLayoutBlock) {
112
+ this.#updateMasterTemplateLayoutBlock();
113
+ }
106
114
  this._data.updateCurrent({ masterTemplate: unique ? { unique } : null });
107
115
  return unique;
108
116
  }
@@ -68,10 +68,10 @@ let UmbTiptapToolbarElement = class UmbTiptapToolbarElement extends UmbLitElemen
68
68
  return repeat(groups, (group) => html `<div class="group">${this.#renderActions(group)}</div>`);
69
69
  }
70
70
  #renderActions(aliases) {
71
- return repeat(aliases, (alias) => this.#lookup?.get(alias) ?? this.#renderActionPlaceholder());
71
+ return repeat(aliases, (alias) => this.#lookup?.get(alias) ?? this.#renderActionPlaceholder(alias));
72
72
  }
73
- #renderActionPlaceholder() {
74
- return html `<span class="skeleton" role="none"></span>`;
73
+ #renderActionPlaceholder(alias) {
74
+ return html `<span class="skeleton" role="none" title="Loading '${alias}'"></span>`;
75
75
  }
76
76
  static { this.styles = css `
77
77
  :host([readonly]) {
@@ -16,6 +16,7 @@ export const manifests = [
16
16
  alias: 'Umb.Tiptap.Toolbar.HorizontalRule',
17
17
  name: 'Horizontal Rule Tiptap Toolbar Extension',
18
18
  api: () => import('./horizontal-rule.tiptap-toolbar-api.js'),
19
+ forExtensions: ['Umb.Tiptap.HorizontalRule'],
19
20
  meta: {
20
21
  alias: 'horizontalRule',
21
22
  icon: 'icon-horizontal-rule',
@@ -4,6 +4,7 @@ export const manifests = [
4
4
  kind: 'styleMenu',
5
5
  alias: 'Umb.Tiptap.Toolbar.StyleSelect',
6
6
  name: 'Style Select Tiptap Extension',
7
+ forExtensions: ['Umb.Tiptap.Heading', 'Umb.Tiptap.Blockquote', 'Umb.Tiptap.CodeBlock'],
7
8
  items: [
8
9
  {
9
10
  label: 'Headers',
@@ -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 { css, customElement, html, ifDefined, nothing, property, state, repeat, when, } from '../../../../external/lit/index.js';
7
+ import { css, customElement, html, nothing, property, state, repeat, when } from '../../../../external/lit/index.js';
8
8
  import { umbExtensionsRegistry } from '../../../core/extension-registry/index.js';
9
9
  import { UmbLitElement } from '../../../core/lit-element/index.js';
10
10
  import { UMB_PROPERTY_DATASET_CONTEXT } from '../../../core/property/index.js';
@@ -102,7 +102,7 @@ let UmbPropertyEditorUiTiptapExtensionsConfigurationElement = class UmbPropertyE
102
102
  <uui-label>${this.localize.string(group.group)}</uui-label>
103
103
  <ul>
104
104
  ${repeat(group.extensions, (item) => html `
105
- <li title=${ifDefined(item.description)}>
105
+ <li title=${item.description ?? item.alias}>
106
106
  <uui-checkbox
107
107
  label=${this.localize.string(item.label)}
108
108
  value=${item.alias}