@umbraco-cms/backoffice 15.0.0-rc1 → 15.0.0-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist-cms/apps/backoffice/components/backoffice-header-logo.element.js +1 -6
  2. package/dist-cms/assets/lang/ar.d.ts +3 -0
  3. package/dist-cms/assets/lang/ar.js +2342 -0
  4. package/dist-cms/assets/lang/ar.ts +2394 -0
  5. package/dist-cms/assets/lang/bs.js +2 -2
  6. package/dist-cms/assets/lang/bs.ts +2 -2
  7. package/dist-cms/assets/lang/cs-cz.js +2 -2
  8. package/dist-cms/assets/lang/cs-cz.ts +2 -2
  9. package/dist-cms/assets/lang/cy-gb.js +2 -2
  10. package/dist-cms/assets/lang/cy-gb.ts +2 -2
  11. package/dist-cms/assets/lang/da-dk.js +6 -3
  12. package/dist-cms/assets/lang/da-dk.ts +6 -3
  13. package/dist-cms/assets/lang/de-de.js +2 -2
  14. package/dist-cms/assets/lang/de-de.ts +2 -2
  15. package/dist-cms/assets/lang/en-us.js +20 -7
  16. package/dist-cms/assets/lang/en-us.ts +20 -7
  17. package/dist-cms/assets/lang/en.js +30 -5
  18. package/dist-cms/assets/lang/en.ts +30 -5
  19. package/dist-cms/assets/lang/es-es.js +3 -3
  20. package/dist-cms/assets/lang/es-es.ts +3 -3
  21. package/dist-cms/assets/lang/fr-fr.js +2 -2
  22. package/dist-cms/assets/lang/fr-fr.ts +2 -3
  23. package/dist-cms/assets/lang/he-il.js +1 -1
  24. package/dist-cms/assets/lang/he-il.ts +1 -1
  25. package/dist-cms/assets/lang/hr-hr.js +2 -2
  26. package/dist-cms/assets/lang/hr-hr.ts +2 -2
  27. package/dist-cms/assets/lang/it-it.js +1 -1
  28. package/dist-cms/assets/lang/it-it.ts +1 -1
  29. package/dist-cms/assets/lang/ja-jp.js +1 -1
  30. package/dist-cms/assets/lang/ja-jp.ts +1 -1
  31. package/dist-cms/assets/lang/ko-kr.js +1 -1
  32. package/dist-cms/assets/lang/ko-kr.ts +1 -1
  33. package/dist-cms/assets/lang/nb-no.js +3 -1
  34. package/dist-cms/assets/lang/nb-no.ts +3 -1
  35. package/dist-cms/assets/lang/nl-nl.js +2 -2
  36. package/dist-cms/assets/lang/nl-nl.ts +2 -2
  37. package/dist-cms/assets/lang/pl-pl.js +2 -2
  38. package/dist-cms/assets/lang/pl-pl.ts +2 -2
  39. package/dist-cms/assets/lang/pt-br.js +1 -1
  40. package/dist-cms/assets/lang/pt-br.ts +1 -1
  41. package/dist-cms/assets/lang/ru-ru.js +2 -2
  42. package/dist-cms/assets/lang/ru-ru.ts +2 -2
  43. package/dist-cms/assets/lang/tr-tr.js +2 -2
  44. package/dist-cms/assets/lang/tr-tr.ts +2 -2
  45. package/dist-cms/assets/lang/uk-ua.js +2 -2
  46. package/dist-cms/assets/lang/uk-ua.ts +2 -2
  47. package/dist-cms/assets/lang/zh-cn.js +2 -2
  48. package/dist-cms/assets/lang/zh-cn.ts +2 -2
  49. package/dist-cms/assets/lang/zh-tw.js +1 -1
  50. package/dist-cms/assets/lang/zh-tw.ts +1 -2
  51. package/dist-cms/assets/login.jpg +0 -0
  52. package/dist-cms/custom-elements.json +4 -4
  53. package/dist-cms/external/monaco-editor/{cssMode-CDJQLEXE.js → cssMode-DA72DEEy.js} +1 -1
  54. package/dist-cms/external/monaco-editor/{freemarker2-BtohW-RX.js → freemarker2-Cl3U_XXG.js} +1 -1
  55. package/dist-cms/external/monaco-editor/{handlebars-Wz3s8HqG.js → handlebars-DSroMiE1.js} +1 -1
  56. package/dist-cms/external/monaco-editor/{html-MlXP3Eno.js → html-CkfQ3Tez.js} +1 -1
  57. package/dist-cms/external/monaco-editor/{htmlMode-Ds-h6y_M.js → htmlMode-D-n07ZL6.js} +1 -1
  58. package/dist-cms/external/monaco-editor/{index-BsCYch8u.js → index-QOjL-QlL.js} +181 -182
  59. package/dist-cms/external/monaco-editor/index.js +1 -1
  60. package/dist-cms/external/monaco-editor/{javascript-Dejz0u77.js → javascript-CPYBePIj.js} +1 -1
  61. package/dist-cms/external/monaco-editor/{jsonMode-CQ2qSm4x.js → jsonMode-xglY6Smp.js} +1 -1
  62. package/dist-cms/external/monaco-editor/{liquid-BhEdJewW.js → liquid-BcU1huVG.js} +1 -1
  63. package/dist-cms/external/monaco-editor/{mdx-C292GrsL.js → mdx-BngkqVPl.js} +1 -1
  64. package/dist-cms/external/monaco-editor/{python-CTKihC4R.js → python-Da-YVbMh.js} +1 -1
  65. package/dist-cms/external/monaco-editor/{razor-aZ9MyDfI.js → razor-C_XA8ptN.js} +1 -1
  66. package/dist-cms/external/monaco-editor/{tsMode-D1lPHHTW.js → tsMode-CsqUs61y.js} +1 -1
  67. package/dist-cms/external/monaco-editor/{typescript-DodsUUWq.js → typescript-DmWQ3leM.js} +1 -1
  68. package/dist-cms/external/monaco-editor/{xml-CnOKc87p.js → xml-CmhlGeEt.js} +1 -1
  69. package/dist-cms/external/monaco-editor/{yaml-BGcRgHu1.js → yaml-DDN00dBJ.js} +1 -1
  70. package/dist-cms/external/tinymce/index.js +1 -1
  71. package/dist-cms/external/uui/index.js +302 -278
  72. package/dist-cms/libs/extension-api/types/condition.types.d.ts +5 -5
  73. package/dist-cms/packages/block/block/conditions/types.d.ts +1 -1
  74. package/dist-cms/packages/block/block/context/block-entry.context.d.ts +1 -0
  75. package/dist-cms/packages/block/block/context/block-entry.context.js +9 -4
  76. package/dist-cms/packages/block/block/context/block-manager.context.d.ts +8 -7
  77. package/dist-cms/packages/block/block/context/block-manager.context.js +28 -9
  78. package/dist-cms/packages/block/block/workspace/block-workspace.context.d.ts +1 -0
  79. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +14 -13
  80. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.d.ts +3 -1
  81. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +50 -12
  82. package/dist-cms/packages/block/block-custom-view/types.d.ts +1 -1
  83. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +3 -1
  84. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +3 -1
  85. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +2 -1
  86. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +13 -5
  87. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +2 -0
  88. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.d.ts +4 -2
  89. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.js +26 -17
  90. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.d.ts +1 -0
  91. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.js +3 -2
  92. package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.d.ts +3 -0
  93. package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.js +12 -2
  94. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +2 -0
  95. package/dist-cms/packages/block/block-grid/types.d.ts +1 -0
  96. package/dist-cms/packages/block/block-list/context/block-list-entries.context.d.ts +1 -1
  97. package/dist-cms/packages/block/block-list/context/block-list-entries.context.js +8 -4
  98. package/dist-cms/packages/block/block-list/context/block-list-entry.context.d.ts +1 -1
  99. package/dist-cms/packages/block/block-list/context/block-list-entry.context.js +3 -3
  100. package/dist-cms/packages/block/block-list/context/block-list-manager.context.d.ts +1 -1
  101. package/dist-cms/packages/block/block-list/context/block-list-manager.context.js +5 -2
  102. package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.d.ts +2 -2
  103. package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.js +5 -5
  104. package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.d.ts +1 -1
  105. package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.js +5 -3
  106. package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.d.ts +3 -2
  107. package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.js +6 -3
  108. package/dist-cms/packages/core/collection/extensions/collection-action.extension.d.ts +1 -1
  109. package/dist-cms/packages/core/collection/extensions/collection-view.extension.d.ts +1 -1
  110. package/dist-cms/packages/core/collection/extensions/collection.extension.d.ts +1 -1
  111. package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.d.ts +1 -0
  112. package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.js +3 -2
  113. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  114. package/dist-cms/packages/core/dashboard/dashboard.extension.d.ts +1 -1
  115. package/dist-cms/packages/core/entity-action/entity-action.extension.d.ts +1 -1
  116. package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -1
  117. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +10 -6
  118. package/dist-cms/packages/core/extension-registry/extensions/entity-bulk-action.extension.d.ts +1 -1
  119. package/dist-cms/packages/core/extension-registry/extensions/repository.extension.d.ts +1 -1
  120. package/dist-cms/packages/core/icon-registry/icon-dictionary.json +68 -0
  121. package/dist-cms/packages/core/icon-registry/icons/icon-document-3d.d.ts +2 -0
  122. package/dist-cms/packages/core/icon-registry/icons/icon-document-3d.js +17 -0
  123. package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-bar.d.ts +2 -0
  124. package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-bar.js +18 -0
  125. package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-graph.d.ts +2 -0
  126. package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-graph.js +16 -0
  127. package/dist-cms/packages/core/icon-registry/icons/icon-document-command.d.ts +2 -0
  128. package/dist-cms/packages/core/icon-registry/icons/icon-document-command.js +17 -0
  129. package/dist-cms/packages/core/icon-registry/icons/icon-document-font.d.ts +2 -0
  130. package/dist-cms/packages/core/icon-registry/icons/icon-document-font.js +18 -0
  131. package/dist-cms/packages/core/icon-registry/icons/icon-document-html.d.ts +2 -0
  132. package/dist-cms/packages/core/icon-registry/icons/icon-document-html.js +17 -0
  133. package/dist-cms/packages/core/icon-registry/icons/icon-document-image.d.ts +2 -0
  134. package/dist-cms/packages/core/icon-registry/icons/icon-document-image.js +17 -0
  135. package/dist-cms/packages/core/icon-registry/icons/icon-document-js.d.ts +2 -0
  136. package/dist-cms/packages/core/icon-registry/icons/icon-document-js.js +17 -0
  137. package/dist-cms/packages/core/icon-registry/icons/icon-document-key.d.ts +2 -0
  138. package/dist-cms/packages/core/icon-registry/icons/icon-document-key.js +17 -0
  139. package/dist-cms/packages/core/icon-registry/icons/icon-document-medal.d.ts +2 -0
  140. package/dist-cms/packages/core/icon-registry/icons/icon-document-medal.js +17 -0
  141. package/dist-cms/packages/core/icon-registry/icons/icon-document-play.d.ts +2 -0
  142. package/dist-cms/packages/core/icon-registry/icons/icon-document-play.js +16 -0
  143. package/dist-cms/packages/core/icon-registry/icons/icon-document-search.d.ts +2 -0
  144. package/dist-cms/packages/core/icon-registry/icons/icon-document-search.js +17 -0
  145. package/dist-cms/packages/core/icon-registry/icons/icon-document-settings.d.ts +2 -0
  146. package/dist-cms/packages/core/icon-registry/icons/icon-document-settings.js +19 -0
  147. package/dist-cms/packages/core/icon-registry/icons/icon-document-spreadsheet.d.ts +2 -0
  148. package/dist-cms/packages/core/icon-registry/icons/icon-document-spreadsheet.js +19 -0
  149. package/dist-cms/packages/core/icon-registry/icons/icon-document-user.d.ts +2 -0
  150. package/dist-cms/packages/core/icon-registry/icons/icon-document-user.js +17 -0
  151. package/dist-cms/packages/core/icon-registry/icons.d.ts +56 -0
  152. package/dist-cms/packages/core/icon-registry/icons.js +51 -0
  153. package/dist-cms/packages/core/localization/manifests.js +11 -1
  154. package/dist-cms/packages/core/menu/menu-item.extension.d.ts +1 -1
  155. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  156. package/dist-cms/packages/core/property-action/extensions/property-action.extension.d.ts +1 -1
  157. package/dist-cms/packages/core/section/conditions/types.d.ts +1 -1
  158. package/dist-cms/packages/core/section/extensions/section-sidebar-app.extension.d.ts +1 -1
  159. package/dist-cms/packages/core/section/extensions/section-view.extension.d.ts +1 -1
  160. package/dist-cms/packages/core/section/extensions/section.extension.d.ts +1 -1
  161. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +3 -2
  162. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  163. package/dist-cms/packages/core/tree/extensions/tree.extension.d.ts +1 -1
  164. package/dist-cms/packages/core/utils/index.d.ts +1 -0
  165. package/dist-cms/packages/core/utils/index.js +1 -0
  166. package/dist-cms/packages/core/utils/sanitize/sanitize-html.function.d.ts +6 -0
  167. package/dist-cms/packages/core/utils/sanitize/sanitize-html.function.js +9 -0
  168. package/dist-cms/packages/core/workspace/conditions/types.d.ts +1 -1
  169. package/dist-cms/packages/core/workspace/conditions/workspace-alias.condition.d.ts +2 -2
  170. package/dist-cms/packages/core/workspace/conditions/workspace-content-type-alias.condition.d.ts +2 -2
  171. package/dist-cms/packages/core/workspace/conditions/workspace-entity-is-new.condition.d.ts +2 -2
  172. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type.condition.d.ts +2 -2
  173. package/dist-cms/packages/core/workspace/conditions/workspace-has-collection.condition.d.ts +2 -2
  174. package/dist-cms/packages/core/workspace/extensions/workspace-action-menu-item.model.d.ts +1 -1
  175. package/dist-cms/packages/core/workspace/extensions/workspace-action.model.d.ts +1 -1
  176. package/dist-cms/packages/core/workspace/extensions/workspace-context.model.d.ts +1 -1
  177. package/dist-cms/packages/core/workspace/extensions/workspace-footer-app.model.d.ts +1 -1
  178. package/dist-cms/packages/core/workspace/extensions/workspace-view.model.d.ts +1 -1
  179. package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +9 -5
  180. package/dist-cms/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.js +1 -1
  181. package/dist-cms/packages/documents/document-types/paths.js +1 -1
  182. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
  183. package/dist-cms/packages/documents/documents/user-permissions/conditions/types.d.ts +1 -1
  184. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +4 -0
  185. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +13 -2
  186. package/dist-cms/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.js +1 -1
  187. package/dist-cms/packages/extension-types/index.d.ts +118 -0
  188. package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +2 -2
  189. package/dist-cms/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.d.ts +2 -1
  190. package/dist-cms/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.js +28 -48
  191. package/dist-cms/packages/packages/package-builder/workspace/workspace-package-builder.element.js +4 -4
  192. package/dist-cms/packages/sysinfo/components/sysinfo.element.d.ts +1 -1
  193. package/dist-cms/packages/sysinfo/components/sysinfo.element.js +29 -11
  194. package/dist-cms/packages/templating/partial-views/entity-actions/create/options-modal/partial-view-create-options-modal.element.js +2 -2
  195. package/dist-cms/packages/templating/partial-views/entity-actions/create/snippet-modal/create-from-snippet-modal.js +1 -1
  196. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.server.data-source.js +1 -1
  197. package/dist-cms/packages/templating/scripts/entity-actions/create/options-modal/script-create-options-modal.element.js +1 -1
  198. package/dist-cms/packages/templating/scripts/tree/script-tree.server.data-source.js +1 -1
  199. package/dist-cms/packages/templating/stylesheets/entity-actions/create/options-modal/stylesheet-create-options-modal.element.js +2 -2
  200. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.server.data-source.js +1 -1
  201. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.js +1 -1
  202. package/dist-cms/packages/templating/templates/tree/template-tree.server.data-source.js +1 -1
  203. package/dist-cms/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.defaults.js +1 -1
  204. package/dist-cms/packages/tiny-mce/plugins/tiny-mce-code-editor.plugin.js +5 -4
  205. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.d.ts +1 -1
  206. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.d.ts +1 -1
  207. package/dist-cms/packages/tiptap/components/types.d.ts +1 -0
  208. package/dist-cms/packages/tiptap/components/types.js +1 -0
  209. package/dist-cms/packages/tiptap/extensions/core/media-upload.extension.js +6 -0
  210. package/dist-cms/packages/tiptap/extensions/manifests.js +142 -154
  211. package/dist-cms/packages/tiptap/extensions/tiptap-toolbar-extension.d.ts +1 -0
  212. package/dist-cms/packages/tiptap/extensions/types.d.ts +0 -1
  213. package/dist-cms/packages/tiptap/plugins/manifests.js +1 -1
  214. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.d.ts +7 -5
  215. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.js +112 -109
  216. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.d.ts +6 -6
  217. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.js +304 -198
  218. package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-toolbar-configuration.context.d.ts +27 -0
  219. package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-toolbar-configuration.context.js +185 -0
  220. package/dist-cms/packages/tiptap/property-editors/tiptap/manifests.js +13 -9
  221. package/dist-cms/packages/tiptap/property-editors/tiptap/types.d.ts +12 -0
  222. package/dist-cms/packages/tiptap/property-editors/tiptap/types.js +1 -0
  223. package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +1 -1
  224. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  225. package/dist-cms/umbraco-package-schema.json +18 -6
  226. package/dist-cms/umbraco-package.json +1 -1
  227. package/dist-cms/vscode-html-custom-data.json +4 -4
  228. package/package.json +5 -4
@@ -57,13 +57,13 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
57
57
  }
58
58
  getMinAllowed() {
59
59
  if (this.#areaKey) {
60
- return this.#areaType?.minAllowed ?? 0;
60
+ return this.#areaType.getValue()?.minAllowed ?? 0;
61
61
  }
62
62
  return this._manager?.getMinAllowed() ?? 0;
63
63
  }
64
64
  getMaxAllowed() {
65
65
  if (this.#areaKey) {
66
- return this.#areaType?.maxAllowed ?? Infinity;
66
+ return this.#areaType.getValue()?.maxAllowed ?? Infinity;
67
67
  }
68
68
  return this._manager?.getMaxAllowed() ?? Infinity;
69
69
  }
@@ -74,6 +74,9 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
74
74
  super(host, UMB_BLOCK_GRID_MANAGER_CONTEXT);
75
75
  this.#layoutColumns = new UmbNumberState(undefined);
76
76
  this.layoutColumns = this.#layoutColumns.asObservable();
77
+ this.#areaType = new UmbObjectState(undefined);
78
+ this.areaType = this.#areaType.asObservable();
79
+ this.areaTypeCreateLabel = this.#areaType.asObservablePart((x) => x?.createLabel);
77
80
  this.#rangeLimits = new UmbObjectState(undefined);
78
81
  this.rangeLimits = this.#rangeLimits.asObservable();
79
82
  this.#allowedBlockTypes = new UmbArrayState([], (x) => x.contentElementTypeKey);
@@ -90,15 +93,17 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
90
93
  .addUniquePaths(['propertyAlias', 'variantId', 'parentUnique', 'areaKey'])
91
94
  .addAdditionalPath(':view/:index')
92
95
  .onSetup((routingInfo) => {
96
+ if (!this._manager)
97
+ return false;
93
98
  // Idea: Maybe on setup should be async, so it can retrieve the values when needed? [NL]
94
99
  const index = routingInfo.index ? parseInt(routingInfo.index) : -1;
95
100
  return {
96
101
  data: {
97
102
  blocks: this.#allowedBlockTypes.getValue(),
98
- blockGroups: this._manager?.getBlockGroups() ?? [],
103
+ blockGroups: this._manager.getBlockGroups() ?? [],
99
104
  openClipboard: routingInfo.view === 'clipboard',
100
105
  originData: { index: index, areaKey: this.#areaKey, parentUnique: this.#parentUnique },
101
- createBlockInWorkspace: true,
106
+ createBlockInWorkspace: this._manager.getInlineEditingMode() === false,
102
107
  },
103
108
  };
104
109
  })
@@ -203,7 +208,7 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
203
208
  }
204
209
  }, 'observeThisLayouts');
205
210
  this.observe(this.#parentEntry.areaType(this.#areaKey), (areaType) => {
206
- this.#areaType = areaType;
211
+ this.#areaType.setValue(areaType);
207
212
  const hostEl = this.getHostElement();
208
213
  if (!hostEl)
209
214
  return;
@@ -229,14 +234,15 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
229
234
  return;
230
235
  //const range = this.#retrieveRangeLimits();
231
236
  if (this.#areaKey != null) {
237
+ const areaType = this.#areaType.getValue();
232
238
  this.removeUmbControllerByAlias('observeConfigurationRootLimits');
233
239
  // Area entries:
234
- if (!this.#areaType)
240
+ if (!areaType)
235
241
  return undefined;
236
242
  // No need to observe as this method is called every time the area is changed.
237
243
  this.#rangeLimits.setValue({
238
- min: this.#areaType.minAllowed ?? 0,
239
- max: this.#areaType.maxAllowed ?? Infinity,
244
+ min: areaType.minAllowed ?? 0,
245
+ max: areaType.maxAllowed ?? Infinity,
240
246
  });
241
247
  }
242
248
  else if (this.#areaKey === null) {
@@ -285,17 +291,18 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
285
291
  }
286
292
  /**
287
293
  * @internal
288
- * @returns an Array of ElementTypeKeys that are allowed in the current area. Or undefined if not ready jet.
294
+ * @returns {Array<UmbBlockGridTypeModel>} an Array of ElementTypeKeys that are allowed in the current area. Or undefined if not ready jet.
289
295
  */
290
296
  #retrieveAllowedElementTypes() {
291
297
  if (!this._manager)
292
298
  return [];
293
299
  if (this.#areaKey) {
300
+ const areaType = this.#areaType.getValue();
294
301
  // Area entries:
295
- if (!this.#areaType)
302
+ if (!areaType)
296
303
  return [];
297
- if (this.#areaType.specifiedAllowance && this.#areaType.specifiedAllowance?.length > 0) {
298
- return (this.#areaType.specifiedAllowance
304
+ if (areaType.specifiedAllowance && areaType.specifiedAllowance?.length > 0) {
305
+ return (areaType.specifiedAllowance
299
306
  .flatMap((permission) => {
300
307
  if (permission.groupKey) {
301
308
  return (this._manager?.getBlockTypes().filter((blockType) => blockType.groupKey === permission.groupKey) ?? []);
@@ -325,10 +332,11 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
325
332
  if (!this._manager)
326
333
  return;
327
334
  if (this.#areaKey) {
335
+ const areaType = this.#areaType.getValue();
328
336
  // Area entries:
329
- if (!this.#areaType)
337
+ if (!areaType)
330
338
  return;
331
- if (this.#areaType.specifiedAllowance && this.#areaType.specifiedAllowance?.length > 0) {
339
+ if (areaType.specifiedAllowance && areaType.specifiedAllowance?.length > 0) {
332
340
  this.#hasTypeLimits.setValue(true);
333
341
  }
334
342
  }
@@ -345,10 +353,11 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
345
353
  * @returns {boolean} - True if the block type limits are valid, otherwise false.
346
354
  */
347
355
  checkBlockTypeLimitsValidity() {
348
- if (!this.#areaType || !this.#areaType.specifiedAllowance)
356
+ const areaType = this.#areaType.getValue();
357
+ if (!areaType || !areaType.specifiedAllowance)
349
358
  return false;
350
359
  const layoutEntries = this._layoutEntries.getValue();
351
- this.#invalidBlockTypeLimits = this.#areaType.specifiedAllowance
360
+ this.#invalidBlockTypeLimits = areaType.specifiedAllowance
352
361
  .map((rule) => {
353
362
  const minAllowed = rule.minAllowed || 0;
354
363
  const maxAllowed = rule.maxAllowed || 0;
@@ -400,7 +409,7 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
400
409
  }
401
410
  /**
402
411
  * Check if given contentKey is allowed in the current area.
403
- * @param contentKey {string} - The contentKey of the content to check.
412
+ * @param {string} contentKey - The contentKey of the content to check.
404
413
  * @returns {boolean} - True if the content is allowed in the current area, otherwise false.
405
414
  */
406
415
  allowDrop(contentKey) {
@@ -14,6 +14,7 @@ export declare class UmbBlockGridEntryContext extends UmbBlockEntryContext<typeo
14
14
  readonly areaTypeGridColumns: import("rxjs/internal/Observable").Observable<number | undefined>;
15
15
  readonly areas: import("rxjs/internal/Observable").Observable<import("../index.js").UmbBlockGridTypeAreaType[]>;
16
16
  readonly minMaxRowSpan: import("rxjs/internal/Observable").Observable<number[] | undefined>;
17
+ readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
17
18
  getMinMaxRowSpan(): [number, number] | undefined;
18
19
  readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean>;
19
20
  readonly relevantColumnSpanOptions: import("rxjs/internal/Observable").Observable<number[]>;
@@ -2,7 +2,7 @@ import { closestColumnSpanOption } from '../utils/index.js';
2
2
  import { UMB_BLOCK_GRID_MANAGER_CONTEXT } from './block-grid-manager.context-token.js';
3
3
  import { UMB_BLOCK_GRID_ENTRIES_CONTEXT } from './block-grid-entries.context-token.js';
4
4
  import { UmbBlockGridScaleManager, } from './block-grid-scale-manager/block-grid-scale-manager.controller.js';
5
- import { UmbArrayState, UmbBooleanState, UmbNumberState, UmbObjectState, appendToFrozenArray, observeMultiple, } from '../../../../libs/observable-api/index.js';
5
+ import { UmbArrayState, UmbBooleanState, UmbNumberState, UmbObjectState, appendToFrozenArray, mergeObservables, observeMultiple, } from '../../../../libs/observable-api/index.js';
6
6
  import { UmbBlockEntryContext } from '../../block/index.js';
7
7
  export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
8
8
  getMinMaxRowSpan() {
@@ -28,6 +28,7 @@ export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
28
28
  this.areaTypeGridColumns = this._blockType.asObservablePart((x) => x?.areaGridColumns);
29
29
  this.areas = this._blockType.asObservablePart((x) => x?.areas ?? []);
30
30
  this.minMaxRowSpan = this._blockType.asObservablePart((x) => x ? [x.rowMinSpan ?? 1, x.rowMaxSpan ?? 1] : undefined);
31
+ this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
31
32
  this.inlineEditingMode = this._blockType.asObservablePart((x) => x?.inlineEditing === true);
32
33
  this.#relevantColumnSpanOptions = new UmbArrayState([], (x) => x);
33
34
  this.relevantColumnSpanOptions = this.#relevantColumnSpanOptions.asObservable();
@@ -35,7 +36,7 @@ export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
35
36
  this.canScale = this.#canScale.asObservable();
36
37
  this.#areaGridColumns = new UmbNumberState(undefined);
37
38
  this.areaGridColumns = this.#areaGridColumns.asObservable();
38
- this.showContentEdit = this._blockType.asObservablePart((x) => !x?.forceHideContentEditorInOverlay);
39
+ this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay], ([a, b]) => a === true && b === false);
39
40
  this.#firstPropertyType = new UmbObjectState(undefined);
40
41
  this.firstPropertyType = this.#firstPropertyType.asObservable();
41
42
  this.scaleManager = new UmbBlockGridScaleManager(this);
@@ -10,6 +10,9 @@ export declare const UMB_BLOCK_GRID_DEFAULT_LAYOUT_STYLESHEET = "/umbraco/backof
10
10
  */
11
11
  export declare class UmbBlockGridManagerContext<BlockLayoutType extends UmbBlockGridLayoutModel = UmbBlockGridLayoutModel> extends UmbBlockManagerContext<UmbBlockGridTypeModel, UmbBlockGridLayoutModel, UmbBlockGridWorkspaceOriginData> {
12
12
  #private;
13
+ readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
14
+ setInlineEditingMode(inlineEditingMode: boolean | undefined): void;
15
+ getInlineEditingMode(): boolean | undefined;
13
16
  readonly blockGroups: import("rxjs/internal/Observable").Observable<UmbBlockTypeGroup[]>;
14
17
  layoutStylesheet: import("rxjs/internal/Observable").Observable<string | undefined>;
15
18
  gridColumns: import("rxjs/internal/Observable").Observable<number>;
@@ -1,4 +1,4 @@
1
- import { UmbArrayState, appendToFrozenArray, pushAtToUniqueArray } from '../../../../libs/observable-api/index.js';
1
+ import { UmbArrayState, UmbBooleanState, appendToFrozenArray, pushAtToUniqueArray, } from '../../../../libs/observable-api/index.js';
2
2
  import { removeLastSlashFromPath, transformServerPathToClientPath } from '../../../core/utils/index.js';
3
3
  import { UMB_APP_CONTEXT } from '../../../../apps/app/index.js';
4
4
  import { UmbBlockManagerContext } from '../../block/index.js';
@@ -8,6 +8,13 @@ export const UMB_BLOCK_GRID_DEFAULT_LAYOUT_STYLESHEET = '/umbraco/backoffice/css
8
8
  */
9
9
  export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
10
10
  //
11
+ #inlineEditingMode;
12
+ setInlineEditingMode(inlineEditingMode) {
13
+ this.#inlineEditingMode.setValue(inlineEditingMode ?? false);
14
+ }
15
+ getInlineEditingMode() {
16
+ return this.#inlineEditingMode.getValue();
17
+ }
11
18
  #initAppUrl;
12
19
  #appUrl;
13
20
  #blockGroups;
@@ -34,6 +41,9 @@ export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
34
41
  }
35
42
  constructor(host) {
36
43
  super(host);
44
+ //
45
+ this.#inlineEditingMode = new UmbBooleanState(undefined);
46
+ this.inlineEditingMode = this.#inlineEditingMode.asObservable();
37
47
  this.#blockGroups = new UmbArrayState([], (x) => x.key);
38
48
  this.blockGroups = this.#blockGroups.asObservable();
39
49
  this.layoutStylesheet = this._editorConfiguration.asObservablePart((x) => {
@@ -117,7 +127,7 @@ export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
117
127
  // TODO: Remove dependency on modalData object here. [NL] Maybe change it into requiring the originData object instead.
118
128
  insert(layoutEntry, content, settings, originData) {
119
129
  this.setOneLayout(layoutEntry, originData);
120
- this.insertBlockData(layoutEntry, content, settings);
130
+ this.insertBlockData(layoutEntry, content, settings, originData);
121
131
  return true;
122
132
  }
123
133
  setOneLayout(layoutEntry, originData) {
@@ -30,6 +30,8 @@ let UmbPropertyEditorUIBlockGridElement = class UmbPropertyEditorUIBlockGridElem
30
30
  this.#managerContext.setBlockTypes(blocks);
31
31
  const blockGroups = config.getValueByAlias('blockGroups') ?? [];
32
32
  this.#managerContext.setBlockGroups(blockGroups);
33
+ const useInlineEditingAsDefault = config.getValueByAlias('useInlineEditingAsDefault');
34
+ this.#managerContext.setInlineEditingMode(useInlineEditingAsDefault);
33
35
  this.style.maxWidth = config.getValueByAlias('maxPropertyWidth') ?? '';
34
36
  //config.useLiveEditing, is covered by the EditorConfiguration of context. [NL]
35
37
  this.#managerContext.setEditorConfiguration(config);
@@ -24,6 +24,7 @@ export interface UmbBlockGridTypeAreaType {
24
24
  minAllowed?: number;
25
25
  maxAllowed?: number;
26
26
  specifiedAllowance?: Array<UmbBlockGridTypeAreaTypePermission>;
27
+ createLabel?: string;
27
28
  }
28
29
  export interface UmbBlockGridTypeAreaTypePermission {
29
30
  elementTypeKey?: string;
@@ -12,7 +12,7 @@ export declare class UmbBlockListEntriesContext extends UmbBlockEntriesContext<t
12
12
  getPathForCreateBlock(index: number): string | undefined;
13
13
  getPathForClipboard(index: number): string | undefined;
14
14
  setLayouts(layouts: Array<UmbBlockListLayoutModel>): Promise<void>;
15
- create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockListLayoutModel, 'contentKey'>): Promise<{
15
+ create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockListLayoutModel, 'contentKey'>, originData?: UmbBlockListWorkspaceOriginData): Promise<{
16
16
  layout: UmbBlockListLayoutModel;
17
17
  content: {
18
18
  key: string;
@@ -32,7 +32,7 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext {
32
32
  })
33
33
  .onSubmit(async (value, data) => {
34
34
  if (value?.create && data) {
35
- const created = await this.create(value.create.contentElementTypeKey, {});
35
+ const created = await this.create(value.create.contentElementTypeKey, {}, data.originData);
36
36
  if (created) {
37
37
  this.insert(created.layout, created.content, created.settings, data.originData);
38
38
  }
@@ -87,14 +87,18 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext {
87
87
  await this._retrieveManager;
88
88
  this._manager?.setLayouts(layouts);
89
89
  }
90
- async create(contentElementTypeKey, partialLayoutEntry) {
90
+ async create(contentElementTypeKey, partialLayoutEntry, originData) {
91
91
  await this._retrieveManager;
92
- return this._manager?.create(contentElementTypeKey, partialLayoutEntry);
92
+ return this._manager?.create(contentElementTypeKey, partialLayoutEntry, originData);
93
93
  }
94
94
  // insert Block?
95
95
  async insert(layoutEntry, content, settings, originData) {
96
96
  await this._retrieveManager;
97
- return this._manager?.insert(layoutEntry, content, settings, originData) ?? false;
97
+ const success = this._manager?.insert(layoutEntry, content, settings, originData) ?? false;
98
+ if (success) {
99
+ this._manager?.setOneExpose(layoutEntry.contentKey);
100
+ }
101
+ return success;
98
102
  }
99
103
  // create Block?
100
104
  async delete(contentKey) {
@@ -5,7 +5,7 @@ import type { UmbControllerHost } from '../../../../libs/controller-api/index.js
5
5
  export declare class UmbBlockListEntryContext extends UmbBlockEntryContext<typeof UMB_BLOCK_LIST_MANAGER_CONTEXT, typeof UMB_BLOCK_LIST_MANAGER_CONTEXT.TYPE, typeof UMB_BLOCK_LIST_ENTRIES_CONTEXT, typeof UMB_BLOCK_LIST_ENTRIES_CONTEXT.TYPE> {
6
6
  #private;
7
7
  readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
8
- readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean>;
8
+ readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
9
9
  readonly showContentEdit: import("rxjs/internal/Observable").Observable<boolean>;
10
10
  constructor(host: UmbControllerHost);
11
11
  _gotManager(): void;
@@ -8,9 +8,9 @@ export class UmbBlockListEntryContext extends UmbBlockEntryContext {
8
8
  super(host, UMB_BLOCK_LIST_MANAGER_CONTEXT, UMB_BLOCK_LIST_ENTRIES_CONTEXT);
9
9
  this.#inlineEditingMode = new UmbBooleanState(undefined);
10
10
  this.inlineEditingMode = this.#inlineEditingMode.asObservable();
11
- this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => !!x?.forceHideContentEditorInOverlay);
12
- this.showContentEdit = mergeObservables([this.forceHideContentEditorInOverlay, this.inlineEditingMode], ([forceHide, inlineMode]) => {
13
- return !forceHide && !inlineMode;
11
+ this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
12
+ this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay, this.inlineEditingMode], ([a, b, c]) => {
13
+ return a === true && b === false && c === false;
14
14
  });
15
15
  }
16
16
  _gotManager() {
@@ -10,7 +10,7 @@ export declare class UmbBlockListManagerContext<BlockLayoutType extends UmbBlock
10
10
  readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
11
11
  setInlineEditingMode(inlineEditingMode: boolean | undefined): void;
12
12
  getInlineEditingMode(): boolean | undefined;
13
- create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>): {
13
+ create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>, _originData?: UmbBlockListWorkspaceOriginData): {
14
14
  layout: BlockLayoutType;
15
15
  content: {
16
16
  key: string;
@@ -18,12 +18,15 @@ export class UmbBlockListManagerContext extends UmbBlockManagerContext {
18
18
  getInlineEditingMode() {
19
19
  return this.#inlineEditingMode.getValue();
20
20
  }
21
- create(contentElementTypeKey, partialLayoutEntry) {
21
+ create(contentElementTypeKey, partialLayoutEntry,
22
+ // This property is used by some implementations, but not used in this. Do not remove. [NL]
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
+ _originData) {
22
25
  return super._createBlockData(contentElementTypeKey, partialLayoutEntry);
23
26
  }
24
27
  insert(layoutEntry, content, settings, originData) {
25
28
  this._layouts.appendOneAt(layoutEntry, originData.index ?? -1);
26
- this.insertBlockData(layoutEntry, content, settings);
29
+ this.insertBlockData(layoutEntry, content, settings, originData);
27
30
  return true;
28
31
  }
29
32
  }
@@ -12,7 +12,7 @@ export declare class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<ty
12
12
  getPathForCreateBlock(): string | undefined;
13
13
  getPathForClipboard(): string | undefined;
14
14
  setLayouts(layouts: Array<UmbBlockRteLayoutModel>): Promise<void>;
15
- create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockRteLayoutModel, 'contentKey'>): Promise<{
15
+ create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockRteLayoutModel, 'contentKey'>, originData?: UmbBlockRteWorkspaceOriginData): Promise<{
16
16
  layout: UmbBlockRteLayoutModel;
17
17
  content: {
18
18
  key: string;
@@ -21,6 +21,6 @@ export declare class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<ty
21
21
  };
22
22
  settings: UmbBlockDataModel | undefined;
23
23
  } | undefined>;
24
- insert(layoutEntry: UmbBlockRteLayoutModel, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined): Promise<boolean>;
24
+ insert(layoutEntry: UmbBlockRteLayoutModel, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: UmbBlockRteWorkspaceOriginData): Promise<boolean>;
25
25
  delete(contentKey: string): Promise<void>;
26
26
  }
@@ -32,7 +32,7 @@ export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext {
32
32
  // We can parse an empty object, cause the rest will be filled in by others.
33
33
  {});
34
34
  if (created) {
35
- this.insert(created.layout, created.content, created.settings);
35
+ this.insert(created.layout, created.content, created.settings, data.originData);
36
36
  }
37
37
  else {
38
38
  throw new Error('Failed to create block');
@@ -82,14 +82,14 @@ export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext {
82
82
  await this._retrieveManager;
83
83
  this._manager?.setLayouts(layouts);
84
84
  }
85
- async create(contentElementTypeKey, partialLayoutEntry) {
85
+ async create(contentElementTypeKey, partialLayoutEntry, originData) {
86
86
  await this._retrieveManager;
87
- return this._manager?.create(contentElementTypeKey, partialLayoutEntry);
87
+ return this._manager?.create(contentElementTypeKey, partialLayoutEntry, originData);
88
88
  }
89
89
  // insert Block?
90
- async insert(layoutEntry, content, settings) {
90
+ async insert(layoutEntry, content, settings, originData) {
91
91
  await this._retrieveManager;
92
- return this._manager?.insert(layoutEntry, content, settings) ?? false;
92
+ return this._manager?.insert(layoutEntry, content, settings, originData) ?? false;
93
93
  }
94
94
  // create Block?
95
95
  async delete(contentKey) {
@@ -6,7 +6,7 @@ import type { UmbControllerHost } from '../../../../libs/controller-api/index.js
6
6
  export declare class UmbBlockRteEntryContext extends UmbBlockEntryContext<typeof UMB_BLOCK_RTE_MANAGER_CONTEXT, typeof UMB_BLOCK_RTE_MANAGER_CONTEXT.TYPE, typeof UMB_BLOCK_RTE_ENTRIES_CONTEXT, typeof UMB_BLOCK_RTE_ENTRIES_CONTEXT.TYPE, UmbBlockRteTypeModel, UmbBlockRteLayoutModel> {
7
7
  readonly displayInline: import("rxjs/internal/Observable").Observable<boolean | undefined>;
8
8
  readonly displayInlineConfig: import("rxjs/internal/Observable").Observable<boolean | undefined>;
9
- readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean>;
9
+ readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
10
10
  readonly showContentEdit: import("rxjs/internal/Observable").Observable<boolean>;
11
11
  constructor(host: UmbControllerHost);
12
12
  _gotManager(): void;
@@ -1,14 +1,16 @@
1
1
  import { UMB_BLOCK_RTE_MANAGER_CONTEXT } from './block-rte-manager.context-token.js';
2
2
  import { UMB_BLOCK_RTE_ENTRIES_CONTEXT } from './block-rte-entries.context-token.js';
3
3
  import { UmbBlockEntryContext } from '../../block/index.js';
4
- import { observeMultiple } from '../../../../libs/observable-api/index.js';
4
+ import { mergeObservables, observeMultiple } from '../../../../libs/observable-api/index.js';
5
5
  export class UmbBlockRteEntryContext extends UmbBlockEntryContext {
6
6
  constructor(host) {
7
7
  super(host, UMB_BLOCK_RTE_MANAGER_CONTEXT, UMB_BLOCK_RTE_ENTRIES_CONTEXT);
8
8
  this.displayInline = this._layout.asObservablePart((x) => (x ? (x.displayInline ?? false) : undefined));
9
9
  this.displayInlineConfig = this._blockType.asObservablePart((x) => (x ? (x.displayInline ?? false) : undefined));
10
- this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => !!x?.forceHideContentEditorInOverlay);
11
- this.showContentEdit = this._blockType.asObservablePart((x) => !x?.forceHideContentEditorInOverlay);
10
+ this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
11
+ this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay], ([a, b]) => {
12
+ return a === true && b === false;
13
+ });
12
14
  }
13
15
  _gotManager() { }
14
16
  _gotEntries() {
@@ -1,3 +1,4 @@
1
+ import type { UmbBlockRteWorkspaceOriginData } from '../workspace/block-rte-workspace.modal-token.js';
1
2
  import type { UmbBlockRteLayoutModel, UmbBlockRteTypeModel } from '../types.js';
2
3
  import type { UmbBlockDataModel } from '../../block/types.js';
3
4
  import { UmbBlockManagerContext } from '../../block/index.js';
@@ -7,7 +8,7 @@ import '../components/block-rte-entry/index.js';
7
8
  */
8
9
  export declare class UmbBlockRteManagerContext<BlockLayoutType extends UmbBlockRteLayoutModel = UmbBlockRteLayoutModel> extends UmbBlockManagerContext<UmbBlockRteTypeModel, BlockLayoutType> {
9
10
  removeOneLayout(contentKey: string): void;
10
- create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>): {
11
+ create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>, _originData?: UmbBlockRteWorkspaceOriginData): {
11
12
  layout: BlockLayoutType;
12
13
  content: {
13
14
  key: string;
@@ -16,7 +17,7 @@ export declare class UmbBlockRteManagerContext<BlockLayoutType extends UmbBlockR
16
17
  };
17
18
  settings: UmbBlockDataModel | undefined;
18
19
  };
19
- insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined): boolean;
20
+ insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: UmbBlockRteWorkspaceOriginData): boolean;
20
21
  /**
21
22
  * @param contentKey
22
23
  * @internal
@@ -7,7 +7,10 @@ export class UmbBlockRteManagerContext extends UmbBlockManagerContext {
7
7
  removeOneLayout(contentKey) {
8
8
  this._layouts.removeOne(contentKey);
9
9
  }
10
- create(contentElementTypeKey, partialLayoutEntry) {
10
+ create(contentElementTypeKey, partialLayoutEntry,
11
+ // This property is used by some implementations, but not used in this, do not remove. [NL]
12
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
+ _originData) {
11
14
  const data = super._createBlockData(contentElementTypeKey, partialLayoutEntry);
12
15
  // Find block type.
13
16
  const blockType = this.getBlockTypes().find((x) => x.contentElementTypeKey === contentElementTypeKey);
@@ -19,9 +22,9 @@ export class UmbBlockRteManagerContext extends UmbBlockManagerContext {
19
22
  }
20
23
  return data;
21
24
  }
22
- insert(layoutEntry, content, settings) {
25
+ insert(layoutEntry, content, settings, originData) {
23
26
  this._layouts.appendOne(layoutEntry);
24
- this.insertBlockData(layoutEntry, content, settings);
27
+ this.insertBlockData(layoutEntry, content, settings, originData);
25
28
  return true;
26
29
  }
27
30
  /**
@@ -3,7 +3,7 @@ import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../..
3
3
  * An action to perform on an entity
4
4
  * For example for content you may wish to create a new document etc
5
5
  */
6
- export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionCondition> {
6
+ export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
7
7
  type: 'collectionAction';
8
8
  meta: MetaCollectionAction;
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import type { ManifestElement, ManifestWithDynamicConditions } from '../../../../libs/extension-api/index.js';
2
- export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<UmbExtensionCondition> {
2
+ export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
3
3
  type: 'collectionView';
4
4
  meta: MetaCollectionView;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../../../../libs/extension-api/index.js';
2
- export interface ManifestCollection extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionCondition> {
2
+ export interface ManifestCollection extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
3
3
  type: 'collection';
4
4
  meta: MetaCollection;
5
5
  }
@@ -16,6 +16,7 @@ export declare class UmbContentTypeStructureManager<T extends UmbContentTypeMode
16
16
  readonly contentTypes: import("rxjs/internal/Observable").Observable<T[]>;
17
17
  readonly ownerContentType: import("rxjs/internal/Observable").Observable<T | undefined>;
18
18
  readonly ownerContentTypeAlias: import("rxjs/internal/Observable").Observable<string | undefined>;
19
+ readonly ownerContentTypeName: import("rxjs/internal/Observable").Observable<string | undefined>;
19
20
  readonly ownerContentTypeCompositions: import("rxjs/internal/Observable").Observable<import("../types.js").UmbContentTypeCompositionModel[] | undefined>;
20
21
  readonly contentTypeProperties: import("rxjs/internal/Observable").Observable<UmbPropertyTypeModel[]>;
21
22
  readonly contentTypeDataTypeUniques: import("rxjs/internal/Observable").Observable<string[]>;
@@ -27,8 +27,9 @@ export class UmbContentTypeStructureManager extends UmbControllerBase {
27
27
  this.#contentTypes = new UmbArrayState([], (x) => x.unique);
28
28
  this.contentTypes = this.#contentTypes.asObservable();
29
29
  this.ownerContentType = this.#contentTypes.asObservablePart((x) => x.find((y) => y.unique === this.#ownerContentTypeUnique));
30
- this.ownerContentTypeAlias = this.#contentTypes.asObservablePart((x) => x.find((y) => y.unique === this.#ownerContentTypeUnique)?.alias);
31
- this.ownerContentTypeCompositions = this.#contentTypes.asObservablePart((x) => x.find((y) => y.unique === this.#ownerContentTypeUnique)?.compositions);
30
+ this.ownerContentTypeAlias = createObservablePart(this.ownerContentType, (x) => x?.alias);
31
+ this.ownerContentTypeName = createObservablePart(this.ownerContentType, (x) => x?.name);
32
+ this.ownerContentTypeCompositions = createObservablePart(this.ownerContentType, (x) => x?.compositions);
32
33
  this.#contentTypeContainers = this.#contentTypes.asObservablePart((contentTypes) => {
33
34
  // Notice this may need to use getValue to avoid resetting it self. [NL]
34
35
  return contentTypes.flatMap((x) => x.containers ?? []);
@@ -1 +1 @@
1
- export declare const manifests: (import("../collection/types.js").ManifestCollection | import("../modal/types.js").ManifestModal | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../extension-registry/index.js").ManifestTypes | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("../../../libs/controller-api/index.js").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | (import("../property-editor/index.js").ManifestPropertyEditorSchema | import("../property-editor/index.js").ManifestPropertyEditorUi) | import("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../property/types.js").ManifestPropertyValueResolver | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/index.js").ManifestEntityActionDefaultKind | import("../entity-action/common/delete/types.js").ManifestEntityActionDeleteKind | import("../tree/entity-actions/reload-tree-item-children/types.js").ManifestEntityActionReloadTreeItemChildrenKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/index.js").ManifestMenuItemLinkKind | import("../tree/index.js").ManifestMenuItemTreeKind | import("../tree/index.js").ManifestEntityActionCreateFolderKind | import("../tree/index.js").ManifestEntityActionDeleteFolderKind | import("../tree/index.js").ManifestEntityActionUpdateFolderKind | import("../tree/index.js").ManifestEntityActionSortChildrenOfKind | import("../tree/index.js").ManifestEntityActionMoveToKind | import("../tree/index.js").ManifestEntityActionDuplicateToKind | import("../icon-registry/index.js").ManifestIcons | import("../recycle-bin/index.js").ManifestEntityActionTrashKind | import("../recycle-bin/index.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/index.js").ManifestEntityActionEmptyRecycleBinKind | import("../../search/index.js").ManifestSearchProvider | import("../../search/index.js").ManifestSearchResultItem | import("../picker/index.js").ManifestPickerSearchResultItem | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("../../../libs/extension-api/index.js").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../collection/workspace-view/types.js").ManifestWorkspaceViewCollectionKind | import("../localization/index.js").ManifestLocalization | import("../property-action/index.js").UmbPropertyActionExtensions | import("../../user/current-user/index.js").ManifestCurrentUserAction<import("../../user/current-user/index.js").MetaCurrentUserAction> | import("../../media/media/index.js").ManifestFileUploadPreview | import("../../user/current-user/index.js").ManifestUserProfileApp | import("../server-file-system/index.js").ManifestEntityActionRenameServerFileKind | import("../themes/theme.extension.js").ManifestTheme | import("../workspace/kinds/default/types.js").ManifestWorkspaceDefaultKind | import("../../block/block-custom-view/index.js").ManifestBlockEditorCustomView | import("../../user/user-permission/index.js").ManifestEntityUserPermission | import("../../user/user-permission/index.js").ManifestGranularUserPermission | import("../../health-check/index.js").ManifestHealthCheck | import("../../tiny-mce/index.js").ManifestTinyMcePlugin | import("../../packages/package/index.js").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("../../tiptap/index.js").ManifestTiptapToolbarExtension<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapExtension<import("../../tiptap/index.js").MetaTiptapExtension> | import("../../markdown-editor/index.js").ManifestMonacoMarkdownEditorAction | import("../content/collection/types.js").ManifestWorkspaceViewContentCollectionKind)[];
1
+ export declare const manifests: (import("../collection/types.js").ManifestCollection | import("../modal/types.js").ManifestModal | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../extension-registry/index.js").ManifestTypes | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("../../../libs/controller-api/index.js").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | (import("../property-editor/index.js").ManifestPropertyEditorSchema | import("../property-editor/index.js").ManifestPropertyEditorUi) | import("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../property/types.js").ManifestPropertyValueResolver | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/index.js").ManifestEntityActionDefaultKind | import("../entity-action/common/delete/types.js").ManifestEntityActionDeleteKind | import("../tree/entity-actions/reload-tree-item-children/types.js").ManifestEntityActionReloadTreeItemChildrenKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/index.js").ManifestMenuItemLinkKind | import("../tree/index.js").ManifestMenuItemTreeKind | import("../tree/index.js").ManifestEntityActionCreateFolderKind | import("../tree/index.js").ManifestEntityActionDeleteFolderKind | import("../tree/index.js").ManifestEntityActionUpdateFolderKind | import("../tree/index.js").ManifestEntityActionSortChildrenOfKind | import("../tree/index.js").ManifestEntityActionMoveToKind | import("../tree/index.js").ManifestEntityActionDuplicateToKind | import("../icon-registry/index.js").ManifestIcons | import("../recycle-bin/index.js").ManifestEntityActionTrashKind | import("../recycle-bin/index.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/index.js").ManifestEntityActionEmptyRecycleBinKind | import("../collection/workspace-view/types.js").ManifestWorkspaceViewCollectionKind | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../localization/index.js").ManifestLocalization | import("../../search/index.js").ManifestSearchProvider | import("../../search/index.js").ManifestSearchResultItem | import("../picker/index.js").ManifestPickerSearchResultItem | import("../property-action/index.js").UmbPropertyActionExtensions | import("../../user/current-user/index.js").ManifestCurrentUserAction<import("../../user/current-user/index.js").MetaCurrentUserAction> | import("../../media/media/index.js").ManifestFileUploadPreview | import("../../user/current-user/index.js").ManifestUserProfileApp | import("../server-file-system/index.js").ManifestEntityActionRenameServerFileKind | import("../themes/theme.extension.js").ManifestTheme | import("../workspace/kinds/default/types.js").ManifestWorkspaceDefaultKind | import("../../block/block-custom-view/index.js").ManifestBlockEditorCustomView | import("../../user/user-permission/index.js").ManifestEntityUserPermission | import("../../user/user-permission/index.js").ManifestGranularUserPermission | import("../../health-check/index.js").ManifestHealthCheck | import("../../tiny-mce/index.js").ManifestTinyMcePlugin | import("../../packages/package/index.js").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("../../tiptap/index.js").ManifestTiptapToolbarExtension<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapExtension<import("../../tiptap/index.js").MetaTiptapExtension> | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("../../../libs/extension-api/index.js").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../../markdown-editor/index.js").ManifestMonacoMarkdownEditorAction | import("../content/collection/types.js").ManifestWorkspaceViewContentCollectionKind)[];
@@ -1,6 +1,6 @@
1
1
  import type { UmbDashboardElement } from './dashboard-element.interface.js';
2
2
  import type { ManifestElement, ManifestWithDynamicConditions } from '../../../libs/extension-api/index.js';
3
- export interface ManifestDashboard extends ManifestElement<UmbDashboardElement>, ManifestWithDynamicConditions<UmbExtensionCondition> {
3
+ export interface ManifestDashboard extends ManifestElement<UmbDashboardElement>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
4
4
  type: 'dashboard';
5
5
  meta: MetaDashboard;
6
6
  }
@@ -4,7 +4,7 @@ import type { UmbEntityAction, UmbEntityActionElement } from './index.js';
4
4
  * An action to perform on an entity
5
5
  * For example for content you may wish to create a new document etc
6
6
  */
7
- export interface ManifestEntityAction<MetaType extends MetaEntityAction = MetaEntityAction> extends ManifestElementAndApi<UmbEntityActionElement, UmbEntityAction<MetaType>>, ManifestWithDynamicConditions<UmbExtensionCondition> {
7
+ export interface ManifestEntityAction<MetaType extends MetaEntityAction = MetaEntityAction> extends ManifestElementAndApi<UmbEntityActionElement, UmbEntityAction<MetaType>>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
8
8
  type: 'entityAction';
9
9
  forEntityTypes: Array<string>;
10
10
  meta: MetaType;
@@ -1,3 +1,3 @@
1
1
  export { UmbSwitchCondition } from './switch.condition.js';
2
2
  export { UmbConditionBase } from './condition-base.controller.js';
3
- export type { ConditionTypes } from './types.js';
3
+ export type { UmbCoreConditionConfigs } from './types.js';