@umbraco-cms/backoffice 15.1.0 → 15.1.2

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 (165) hide show
  1. package/dist-cms/custom-elements.json +1 -30
  2. package/dist-cms/libs/localization-api/localization.controller.js +11 -6
  3. package/dist-cms/packages/block/block/context/block-entry.context.js +2 -2
  4. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +1 -1
  5. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.d.ts +1 -0
  6. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +1 -0
  7. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +1 -1
  8. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +25 -13
  9. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +25 -13
  10. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +3 -3
  11. package/dist-cms/packages/core/auth/auth-flow.js +1 -1
  12. package/dist-cms/packages/core/auth/auth.context.js +2 -1
  13. package/dist-cms/packages/core/auth/auth.context.token.d.ts +0 -2
  14. package/dist-cms/packages/core/auth/auth.context.token.js +0 -2
  15. package/dist-cms/packages/core/auth/components/auth-provider-default.element.d.ts +1 -1
  16. package/dist-cms/packages/core/auth/components/auth-provider-default.element.js +2 -2
  17. package/dist-cms/packages/core/auth/constants.d.ts +1 -0
  18. package/dist-cms/packages/core/auth/constants.js +1 -0
  19. package/dist-cms/packages/core/auth/index.d.ts +1 -1
  20. package/dist-cms/packages/core/auth/index.js +1 -0
  21. package/dist-cms/packages/core/auth/types.d.ts +1 -0
  22. package/dist-cms/packages/core/collection/action/create/types.d.ts +1 -1
  23. package/dist-cms/packages/core/collection/collection-view.manager.d.ts +1 -1
  24. package/dist-cms/packages/core/collection/collection.element.d.ts +1 -1
  25. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +1 -1
  26. package/dist-cms/packages/core/collection/types.d.ts +4 -3
  27. package/dist-cms/packages/core/components/input-color/input-color.element.d.ts +1 -1
  28. package/dist-cms/packages/core/components/input-date/input-date.element.d.ts +1 -1
  29. package/dist-cms/packages/core/components/input-dropdown/input-dropdown-list.element.d.ts +1 -1
  30. package/dist-cms/packages/core/components/input-eye-dropper/input-eye-dropper.element.d.ts +1 -1
  31. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.d.ts +1 -1
  32. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.d.ts +1 -1
  33. package/dist-cms/packages/core/components/input-slider/input-slider.element.d.ts +1 -1
  34. package/dist-cms/packages/core/components/input-toggle/input-toggle.element.d.ts +1 -1
  35. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-input.element.d.ts +1 -1
  36. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.d.ts +1 -1
  37. package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string-item.element.d.ts +1 -1
  38. package/dist-cms/packages/core/content/types.d.ts +1 -0
  39. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor.element.js +2 -3
  40. package/dist-cms/packages/core/culture/components/input-culture-select/input-culture-select.element.d.ts +1 -1
  41. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  42. package/dist-cms/packages/core/entity-action/common/create/types.d.ts +1 -2
  43. package/dist-cms/packages/core/entity-action/common/delete/types.d.ts +1 -2
  44. package/dist-cms/packages/core/entity-action/index.d.ts +0 -4
  45. package/dist-cms/packages/core/entity-action/types.d.ts +4 -0
  46. package/dist-cms/packages/core/entity-create-option-action/index.d.ts +0 -2
  47. package/dist-cms/packages/core/entity-create-option-action/types.d.ts +2 -0
  48. package/dist-cms/packages/core/extension-registry/extensions/external-login-provider-element.interface.d.ts +1 -1
  49. package/dist-cms/packages/core/extension-registry/index.d.ts +2 -2
  50. package/dist-cms/packages/core/icon-registry/index.d.ts +0 -1
  51. package/dist-cms/packages/core/icon-registry/types.d.ts +1 -0
  52. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.d.ts +1 -1
  53. package/dist-cms/packages/core/menu/components/menu-item/index.d.ts +0 -1
  54. package/dist-cms/packages/core/menu/components/menu-item/types.d.ts +1 -0
  55. package/dist-cms/packages/core/menu/components/types.d.ts +1 -0
  56. package/dist-cms/packages/core/menu/index.d.ts +0 -3
  57. package/dist-cms/packages/core/menu/types.d.ts +4 -0
  58. package/dist-cms/packages/core/modal/types.d.ts +1 -1
  59. package/dist-cms/packages/core/object-type/input-object-type.element.d.ts +1 -1
  60. package/dist-cms/packages/core/picker/search/index.d.ts +0 -1
  61. package/dist-cms/packages/core/picker/search/types.d.ts +1 -0
  62. package/dist-cms/packages/core/picker/types.d.ts +1 -0
  63. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  64. package/dist-cms/packages/core/property-editor/index.d.ts +1 -1
  65. package/dist-cms/packages/core/recycle-bin/entity-action/empty-recycle-bin/index.d.ts +0 -1
  66. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  67. package/dist-cms/packages/core/tree/default/default-tree.context.d.ts +1 -1
  68. package/dist-cms/packages/core/tree/entity-actions/move/index.d.ts +1 -3
  69. package/dist-cms/packages/core/tree/entity-actions/move/index.js +1 -1
  70. package/dist-cms/packages/core/tree/entity-actions/move/types.d.ts +2 -0
  71. package/dist-cms/packages/core/tree/entity-actions/sort-children-of/index.d.ts +0 -3
  72. package/dist-cms/packages/core/tree/entity-actions/sort-children-of/types.d.ts +2 -0
  73. package/dist-cms/packages/core/tree/entity-actions/types.d.ts +4 -0
  74. package/dist-cms/packages/core/tree/folder/entity-action/create-folder/index.d.ts +0 -1
  75. package/dist-cms/packages/core/tree/folder/entity-action/delete-folder/index.d.ts +0 -1
  76. package/dist-cms/packages/core/tree/folder/entity-action/types.d.ts +3 -0
  77. package/dist-cms/packages/core/tree/folder/entity-action/update-folder/index.d.ts +0 -1
  78. package/dist-cms/packages/core/tree/folder/index.d.ts +0 -1
  79. package/dist-cms/packages/core/tree/folder/types.d.ts +1 -0
  80. package/dist-cms/packages/core/tree/index.d.ts +0 -2
  81. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.d.ts +1 -1
  82. package/dist-cms/packages/core/tree/tree-item/tree-item.element.d.ts +1 -1
  83. package/dist-cms/packages/core/tree/tree-menu-item-default/index.d.ts +0 -1
  84. package/dist-cms/packages/core/tree/tree.element.d.ts +1 -1
  85. package/dist-cms/packages/core/tree/types.d.ts +4 -1
  86. package/dist-cms/packages/core/utils/index.d.ts +1 -0
  87. package/dist-cms/packages/core/utils/index.js +1 -0
  88. package/dist-cms/packages/core/utils/path/stored-path.function.d.ts +1 -0
  89. package/dist-cms/packages/core/utils/path/stored-path.function.js +1 -1
  90. package/dist-cms/packages/core/utils/sanitize/escape-html.function.d.ts +7 -0
  91. package/dist-cms/packages/core/utils/sanitize/escape-html.function.js +27 -0
  92. package/dist-cms/packages/core/workspace/controllers/workspace-is-new-redirect.controller.js +1 -1
  93. package/dist-cms/packages/core/workspace/index.d.ts +0 -3
  94. package/dist-cms/packages/core/workspace/kinds/types.d.ts +1 -0
  95. package/dist-cms/packages/core/workspace/types.d.ts +4 -0
  96. package/dist-cms/packages/data-type/components/data-type-flow-input/data-type-flow-input.element.d.ts +1 -1
  97. package/dist-cms/packages/data-type/components/data-type-input/data-type-input.element.d.ts +1 -1
  98. package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +1 -5
  99. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/public-access.server.data.js +4 -2
  100. package/dist-cms/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.d.ts +1 -1
  101. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +2 -2
  102. package/dist-cms/packages/language/components/input-language/input-language.element.d.ts +1 -1
  103. package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.d.ts +1 -1
  104. package/dist-cms/packages/media/media/components/input-rich-media/input-rich-media.element.d.ts +1 -1
  105. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +1 -1
  106. package/dist-cms/packages/packages/package/extensions/types.js +1 -0
  107. package/dist-cms/packages/packages/package/index.d.ts +1 -1
  108. package/dist-cms/packages/property-editors/checkbox-list/components/input-checkbox-list/input-checkbox-list.element.d.ts +1 -1
  109. package/dist-cms/packages/property-editors/collection/config/column/components/input-collection-content-type-property.element.d.ts +1 -1
  110. package/dist-cms/packages/property-editors/content-picker/config/source-content/input-content-picker-source.element.d.ts +1 -1
  111. package/dist-cms/packages/rte/components/rte-base.element.js +29 -30
  112. package/dist-cms/packages/search/extensions/types.js +1 -0
  113. package/dist-cms/packages/search/types.d.ts +3 -3
  114. package/dist-cms/packages/tags/components/tags-input/tags-input.element.d.ts +1 -1
  115. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-input/stylesheet-input.element.d.ts +1 -1
  116. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-rule-input/stylesheet-rule-input.element.d.ts +1 -1
  117. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.d.ts +1 -1
  118. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.d.ts +1 -1
  119. package/dist-cms/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.defaults.js +9 -16
  120. package/dist-cms/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.d.ts +1 -1
  121. package/dist-cms/packages/tiny-mce/index.d.ts +1 -1
  122. package/dist-cms/packages/tiny-mce/plugins/types.js +1 -0
  123. package/dist-cms/packages/ufm/index.d.ts +0 -2
  124. package/dist-cms/packages/ufm/types.d.ts +1 -0
  125. package/dist-cms/packages/user/current-user/conditions/types.d.ts +0 -1
  126. package/dist-cms/packages/user/user/components/user-input/user-input.element.d.ts +1 -1
  127. package/dist-cms/packages/user/user-group/components/input-user-group/user-group-input.element.d.ts +1 -1
  128. package/dist-cms/packages/user/user-permission/components/input-entity-user-permission/input-entity-user-permission.element.d.ts +1 -1
  129. package/dist-cms/packages/user/user-permission/index.d.ts +0 -2
  130. package/dist-cms/packages/user/user-permission/types.d.ts +2 -0
  131. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  132. package/dist-cms/umbraco-package-schema.json +368 -71
  133. package/dist-cms/umbraco-package.json +1 -1
  134. package/dist-cms/vscode-html-custom-data.json +3 -23
  135. package/examples/custom-modal/index.ts +9 -9
  136. package/examples/validation-context/index.ts +11 -13
  137. package/package.json +1 -1
  138. package/dist-cms/packages/core/entity-action/default/index.d.ts +0 -1
  139. package/dist-cms/packages/core/menu/components/menu-item/link/index.d.ts +0 -1
  140. package/dist-cms/packages/core/workspace/conditions/index.d.ts +0 -1
  141. /package/dist-cms/packages/core/collection/extensions/{index.d.ts → types.d.ts} +0 -0
  142. /package/dist-cms/packages/core/collection/extensions/{index.js → types.js} +0 -0
  143. /package/dist-cms/packages/core/extension-registry/extensions/{index.d.ts → types.d.ts} +0 -0
  144. /package/dist-cms/packages/core/{entity-action/default/index.js → extension-registry/extensions/types.js} +0 -0
  145. /package/dist-cms/packages/core/extension-registry/models/{index.d.ts → types.d.ts} +0 -0
  146. /package/dist-cms/packages/core/extension-registry/{extensions/index.js → models/types.js} +0 -0
  147. /package/dist-cms/packages/core/{extension-registry/models/index.js → menu/components/menu-item/types.js} +0 -0
  148. /package/dist-cms/packages/core/menu/components/{menu-item/link/index.js → types.js} +0 -0
  149. /package/dist-cms/packages/core/modal/extensions/{index.d.ts → types.d.ts} +0 -0
  150. /package/dist-cms/packages/core/modal/extensions/{index.js → types.js} +0 -0
  151. /package/dist-cms/packages/core/picker/search/result-item/{index.d.ts → types.d.ts} +0 -0
  152. /package/dist-cms/packages/core/picker/search/result-item/{index.js → types.js} +0 -0
  153. /package/dist-cms/packages/core/{property-editor/extensions/index.js → picker/search/types.js} +0 -0
  154. /package/dist-cms/packages/core/property-editor/extensions/{index.d.ts → types.d.ts} +0 -0
  155. /package/dist-cms/packages/core/{tree/extensions/index.js → property-editor/extensions/types.js} +0 -0
  156. /package/dist-cms/packages/core/{workspace/conditions/index.js → tree/entity-actions/types.js} +0 -0
  157. /package/dist-cms/packages/core/tree/extensions/{index.d.ts → types.d.ts} +0 -0
  158. /package/dist-cms/packages/core/{workspace/data-manager/index.js → tree/extensions/types.js} +0 -0
  159. /package/dist-cms/packages/{packages/package/extensions/index.js → core/tree/folder/entity-action/types.js} +0 -0
  160. /package/dist-cms/packages/core/workspace/data-manager/{index.d.ts → types.d.ts} +0 -0
  161. /package/dist-cms/packages/{search/extensions/index.js → core/workspace/data-manager/types.js} +0 -0
  162. /package/dist-cms/packages/{tiny-mce/plugins/index.js → core/workspace/kinds/types.js} +0 -0
  163. /package/dist-cms/packages/packages/package/extensions/{index.d.ts → types.d.ts} +0 -0
  164. /package/dist-cms/packages/search/extensions/{index.d.ts → types.d.ts} +0 -0
  165. /package/dist-cms/packages/tiny-mce/plugins/{index.d.ts → types.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ export type * from './default/types.js';
@@ -1,5 +1,9 @@
1
1
  import type { UmbEntityUnique } from '../entity/index.js';
2
2
  export type * from './extensions/types.js';
3
+ export type * from './kinds/types.js';
4
+ export type * from './conditions/types.js';
5
+ export type * from './data-manager/types.js';
6
+ export type * from './workspace-context.interface.js';
3
7
  /**
4
8
  * @deprecated Use `UmbEntityUnique`instead.
5
9
  */
@@ -1,6 +1,6 @@
1
1
  import { type PropertyValueMap } from '../../../../external/lit/index.js';
2
2
  import { UmbLitElement } from '../../../core/lit-element/index.js';
3
- declare const UmbInputDataTypeElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../core/validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData>> & typeof UmbLitElement;
3
+ declare const UmbInputDataTypeElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../core/validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue>> & typeof UmbLitElement;
4
4
  /**
5
5
  * Form control for picking or creating a data type.
6
6
  * @element umb-data-type-flow-input
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../core/lit-element/index.js';
2
- declare const UmbDataTypeInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbDataTypeInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbDataTypeInputElement extends UmbDataTypeInputElement_base {
4
4
  #private;
5
5
  /**
@@ -10,11 +10,7 @@ import { css, html, customElement, state, repeat } from '../../../../external/li
10
10
  import { UmbLitElement } from '../../../core/lit-element/index.js';
11
11
  import { UmbLanguageCollectionRepository } from '../../../language/index.js';
12
12
  import { UMB_CURRENT_USER_CONTEXT } from '../../../user/current-user/index.js';
13
- import { sanitizeHTML } from '../../../core/utils/index.js';
14
13
  let UmbWorkspaceViewDictionaryEditorElement = class UmbWorkspaceViewDictionaryEditorElement extends UmbLitElement {
15
- get #dictionaryName() {
16
- return typeof this._dictionary?.name !== 'undefined' ? sanitizeHTML(this._dictionary.name) : '...';
17
- }
18
14
  #languageCollectionRepository;
19
15
  #workspaceContext;
20
16
  #currentUserContext;
@@ -74,7 +70,7 @@ let UmbWorkspaceViewDictionaryEditorElement = class UmbWorkspaceViewDictionaryEd
74
70
  render() {
75
71
  return html `
76
72
  <uui-box>
77
- ${this.localize.term('dictionaryItem_description', this.#dictionaryName)}
73
+ <umb-localize key="dictionaryItem_description" .args=${[this._dictionary?.name ?? '...']}></umb-localize>
78
74
  ${repeat(this._languages, (item) => item.unique, (item) => this.#renderTranslation(item))}
79
75
  </uui-box>
80
76
  `;
@@ -1,5 +1,5 @@
1
1
  import { DocumentService } from '../../../../../../external/backend-api/index.js';
2
- import { tryExecuteAndNotify } from '../../../../../core/resources/index.js';
2
+ import { tryExecute, tryExecuteAndNotify } from '../../../../../core/resources/index.js';
3
3
  /**
4
4
  * A data source for the Document Public Access that fetches data from the server
5
5
  * @class UmbDocumentPublicAccessServerDataSource
@@ -34,7 +34,9 @@ export class UmbDocumentPublicAccessServerDataSource {
34
34
  async read(unique) {
35
35
  if (!unique)
36
36
  throw new Error('unique is missing');
37
- return tryExecuteAndNotify(this.#host, DocumentService.getDocumentByIdPublicAccess({ id: unique }));
37
+ // NOTE: The entity will not be present, when fetching Public Access for a descendant of a protected Document.
38
+ // This is a perfectly valid scenario, which is handled in the view. In other words, just use tryExecute here.
39
+ return tryExecute(DocumentService.getDocumentByIdPublicAccess({ id: unique }));
38
40
  }
39
41
  /**
40
42
  * Updates Public Access for the given Document unique
@@ -1,6 +1,6 @@
1
1
  import type { UmbDocumentUserPermissionModel } from '../types.js';
2
2
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
3
- declare const UmbInputDocumentGranularUserPermissionElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbInputDocumentGranularUserPermissionElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  export declare class UmbInputDocumentGranularUserPermissionElement extends UmbInputDocumentGranularUserPermissionElement_base {
5
5
  #private;
6
6
  _permissions: Array<UmbDocumentUserPermissionModel>;
@@ -90,10 +90,10 @@ let UmbDocumentWorkspaceEditorElement = class UmbDocumentWorkspaceEditorElement
90
90
  const route = routes.find((route) => route.path === this.#appCulture);
91
91
  if (!route) {
92
92
  // TODO: Notice: here is a specific index used for fallback, this could be made more solid [NL]
93
- history.pushState({}, '', `${this.#workspaceRoute}/${routes[routes.length - 3].path}`);
93
+ history.replaceState({}, '', `${this.#workspaceRoute}/${routes[routes.length - 3].path}`);
94
94
  return;
95
95
  }
96
- history.pushState({}, '', `${this.#workspaceRoute}/${route?.path}`);
96
+ history.replaceState({}, '', `${this.#workspaceRoute}/${route?.path}`);
97
97
  },
98
98
  });
99
99
  }
@@ -1,6 +1,6 @@
1
1
  import type { UmbLanguageItemModel } from '../../types.js';
2
2
  import { UmbLitElement } from '../../../core/lit-element/index.js';
3
- declare const UmbInputLanguageElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbInputLanguageElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  export declare class UmbInputLanguageElement extends UmbInputLanguageElement_base {
5
5
  #private;
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import { UmbLitElement } from '../../../core/lit-element/index.js';
2
2
  import type { UmbCodeEditorElement } from '../../../code-editor/index.js';
3
3
  import type { UUIModalSidebarSize } from '../../../../external/uui/index.js';
4
- declare const UmbInputMarkdownElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../core/validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData>> & typeof UmbLitElement;
4
+ declare const UmbInputMarkdownElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../core/validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue>> & typeof UmbLitElement;
5
5
  /**
6
6
  * @element umb-input-markdown
7
7
  * @fires change - when the value of the input changes
@@ -3,7 +3,7 @@ import { UmbLitElement } from '../../../../core/lit-element/index.js';
3
3
  import type { UmbVariantId } from '../../../../core/variant/index.js';
4
4
  import '../../../imaging/index.js';
5
5
  declare const elementName = "umb-input-rich-media";
6
- declare const UmbInputRichMediaElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
6
+ declare const UmbInputRichMediaElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
7
7
  export declare class UmbInputRichMediaElement extends UmbInputRichMediaElement_base {
8
8
  #private;
9
9
  /**
@@ -9,7 +9,7 @@ import type { UUIModalSidebarSize } from '../../../../external/uui/index.js';
9
9
  * @fires focus - when the input gains focus
10
10
  */
11
11
  declare const elementName = "umb-input-multi-url";
12
- declare const UmbInputMultiUrlElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
12
+ declare const UmbInputMultiUrlElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
13
13
  export declare class UmbInputMultiUrlElement extends UmbInputMultiUrlElement_base {
14
14
  #private;
15
15
  protected getFormElement(): undefined;
@@ -1,3 +1,3 @@
1
1
  export * from './constants.js';
2
2
  export * from './repository/index.js';
3
- export type * from './extensions/index.js';
3
+ export type * from './extensions/types.js';
@@ -5,7 +5,7 @@ type UmbCheckboxListItem = {
5
5
  value: string;
6
6
  checked: boolean;
7
7
  };
8
- declare const UmbInputCheckboxListElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
8
+ declare const UmbInputCheckboxListElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
9
9
  export declare class UmbInputCheckboxListElement extends UmbInputCheckboxListElement_base {
10
10
  #private;
11
11
  list: Array<UmbCheckboxListItem>;
@@ -4,7 +4,7 @@ export type UmbContentTypePropertyValue = {
4
4
  alias: string;
5
5
  isSystem: boolean;
6
6
  };
7
- declare const UmbInputCollectionContentTypePropertyElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData | undefined>) & typeof UmbLitElement;
7
+ declare const UmbInputCollectionContentTypePropertyElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue | undefined>) & typeof UmbLitElement;
8
8
  export declare class UmbInputCollectionContentTypePropertyElement extends UmbInputCollectionContentTypePropertyElement_base {
9
9
  #private;
10
10
  protected getFormElement(): undefined;
@@ -1,7 +1,7 @@
1
1
  import type { UmbContentPickerDynamicRoot, UmbContentPickerSourceType } from '../../types.js';
2
2
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
3
3
  import '../../dynamic-root/components/input-content-picker-document-root.element.js';
4
- declare const UmbInputContentPickerSourceElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
4
+ declare const UmbInputContentPickerSourceElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
5
5
  export declare class UmbInputContentPickerSourceElement extends UmbInputContentPickerSourceElement_base {
6
6
  #private;
7
7
  protected getFormElement(): undefined;
@@ -10,6 +10,7 @@ import { UmbLitElement } from '../../core/lit-element/index.js';
10
10
  import { UmbPropertyValueChangeEvent } from '../../core/property-editor/index.js';
11
11
  import { UmbBlockRteEntriesContext, UmbBlockRteManagerContext, } from '../../block/block-rte/index.js';
12
12
  import { UMB_PROPERTY_CONTEXT, UMB_PROPERTY_DATASET_CONTEXT } from '../../core/property/index.js';
13
+ import { observeMultiple } from '../../../libs/observable-api/index.js';
13
14
  // eslint-disable-next-line local-rules/enforce-element-suffix-on-element-class-name
14
15
  export class UmbPropertyEditorUiRteElementBase extends UmbLitElement {
15
16
  set config(config) {
@@ -23,7 +24,7 @@ export class UmbPropertyEditorUiRteElementBase extends UmbLitElement {
23
24
  set value(value) {
24
25
  if (!value) {
25
26
  this._value = undefined;
26
- this._markup = '';
27
+ this._markup = this._latestMarkup = '';
27
28
  this.#managerContext.setLayouts([]);
28
29
  this.#managerContext.setContents([]);
29
30
  this.#managerContext.setSettings([]);
@@ -96,25 +97,33 @@ export class UmbPropertyEditorUiRteElementBase extends UmbLitElement {
96
97
  // Update manager:
97
98
  this.#managerContext.setLayouts(layouts);
98
99
  });
99
- // Observe the value of the property and update the editor value.
100
- this.observe(this.#managerContext.layouts, (layouts) => {
101
- const blocksValue = this._value && layouts?.length > 0
102
- ? { ...this._value.blocks, layout: { [UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts } }
103
- : undefined;
104
- this.#setBlocksValue(blocksValue);
105
- });
106
- this.observe(this.#managerContext.contents, (contents) => {
107
- const blocksValue = this._value ? { ...this._value.blocks, contentData: contents } : undefined;
108
- this.#setBlocksValue(blocksValue);
109
- });
110
- this.observe(this.#managerContext.settings, (settings) => {
111
- const blocksValue = this._value ? { ...this._value.blocks, settingsData: settings } : undefined;
112
- this.#setBlocksValue(blocksValue);
113
- });
114
- this.observe(this.#managerContext.exposes, (exposes) => {
115
- const blocksValue = this._value ? { ...this._value.blocks, expose: exposes } : undefined;
116
- this.#setBlocksValue(blocksValue);
117
- });
100
+ this.observe(observeMultiple([
101
+ this.#managerContext.layouts,
102
+ this.#managerContext.contents,
103
+ this.#managerContext.settings,
104
+ this.#managerContext.exposes,
105
+ ]), ([layouts, contents, settings, exposes]) => {
106
+ if (layouts.length === 0) {
107
+ this._value = undefined;
108
+ }
109
+ else {
110
+ this._value = {
111
+ markup: this._latestMarkup,
112
+ blocks: {
113
+ layout: { [UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts },
114
+ contentData: contents,
115
+ settingsData: settings,
116
+ expose: exposes,
117
+ },
118
+ };
119
+ }
120
+ // If we don't have a value set from the outside or an internal value, we don't want to set the value.
121
+ // This is added to prevent the block list from setting an empty value on startup.
122
+ if (!this._latestMarkup && !this._value?.markup) {
123
+ return;
124
+ }
125
+ context.setValue(this._value);
126
+ }, 'motherObserver');
118
127
  });
119
128
  this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (context) => {
120
129
  this.#managerContext.setVariantId(context.getVariantId());
@@ -134,16 +143,6 @@ export class UmbPropertyEditorUiRteElementBase extends UmbLitElement {
134
143
  this.#managerContext.removeOneLayout(blockLayout.contentKey);
135
144
  });
136
145
  }
137
- #setBlocksValue(blocksValue) {
138
- if (!blocksValue || !this._value) {
139
- return;
140
- }
141
- this._value = {
142
- ...this._value,
143
- blocks: blocksValue,
144
- };
145
- this._fireChangeEvent();
146
- }
147
146
  _fireChangeEvent() {
148
147
  this.dispatchEvent(new UmbPropertyValueChangeEvent());
149
148
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,9 @@
1
1
  import type { UmbEntityModel } from '../core/entity/index.js';
2
2
  import type { UmbApi } from '../../libs/extension-api/index.js';
3
3
  import type { UmbPagedModel, UmbRepositoryResponse } from '../core/repository/index.js';
4
+ export type { UmbSearchDataSource } from './search-data-source.interface.js';
5
+ export type { UmbSearchRepository } from './search-repository.interface.js';
6
+ export type * from './extensions/types.js';
4
7
  export type UmbSearchResultItemModel = {
5
8
  entityType: string;
6
9
  icon?: string | null;
@@ -15,6 +18,3 @@ export type UmbSearchRequestArgs = {
15
18
  export interface UmbSearchProvider<SearchResultItemType extends UmbSearchResultItemModel = UmbSearchResultItemModel, SearchRequestArgsType extends UmbSearchRequestArgs = UmbSearchRequestArgs> extends UmbApi {
16
19
  search(args: SearchRequestArgsType): Promise<UmbRepositoryResponse<UmbPagedModel<SearchResultItemType>>>;
17
20
  }
18
- export type { UmbSearchDataSource } from './search-data-source.interface.js';
19
- export type { UmbSearchRepository } from './search-repository.interface.js';
20
- export type * from './extensions/index.js';
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../core/lit-element/index.js';
2
- declare const UmbTagsInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbTagsInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbTagsInputElement extends UmbTagsInputElement_base {
4
4
  #private;
5
5
  group?: string;
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbStylesheetInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbStylesheetInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbStylesheetInputElement extends UmbStylesheetInputElement_base {
4
4
  #private;
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import type { UmbStylesheetRule } from '../../types.js';
2
2
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
3
- declare const UmbStylesheetRuleInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
3
+ declare const UmbStylesheetRuleInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
4
4
  export declare class UmbStylesheetRuleInputElement extends UmbStylesheetRuleInputElement_base {
5
5
  #private;
6
6
  rules: UmbStylesheetRule[];
@@ -1,7 +1,7 @@
1
1
  import '../template-card/template-card.element.js';
2
2
  import type { UmbTemplateItemModel } from '../../repository/item/index.js';
3
3
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
4
- declare const UmbInputTemplateElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
4
+ declare const UmbInputTemplateElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
5
5
  export declare class UmbInputTemplateElement extends UmbInputTemplateElement_base {
6
6
  #private;
7
7
  /**
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbTemplateCardElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbTemplateCardElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  /**
4
4
  * @element umb-template-card
5
5
  * @slot actions
@@ -65,26 +65,19 @@ export const defaultFallbackConfig = {
65
65
  editor.dom.doc.addEventListener('click', (e) => {
66
66
  // If we try to open link in a new tab, then we want to skip skip:
67
67
  //if ((isWindows && e.ctrlKey) || (!isWindows && e.metaKey)) return;
68
+ const composedPaths = 'composedPath' in e ? e.composedPath() : null;
68
69
  // Find the target by using the composed path to get the element through the shadow boundaries.
69
70
  // Notice the difference here compared to RouterSlots implementation [NL]
70
- const $anchor = ('composedPath' in e)
71
- ? e
72
- .composedPath()
73
- .find(($elem) => $elem instanceof HTMLAnchorElement || $elem.tagName === 'A')
74
- : e.target;
75
- // Abort if the event is not about the anchor tag
76
- if ($anchor == null || !($anchor instanceof HTMLAnchorElement || $anchor.tagName === 'A')) {
71
+ const $anchor = composedPaths?.find(($elem) => $elem instanceof HTMLAnchorElement || $elem.tagName === 'A') ?? e.target;
72
+ // Abort if the event is not about the anchor tag or the anchor tag has the attribute [data-router-slot]="disabled"
73
+ if ($anchor == null ||
74
+ !($anchor instanceof HTMLAnchorElement || $anchor.tagName === 'A') ||
75
+ $anchor.dataset['routerSlot'] === 'disabled') {
77
76
  return;
78
77
  }
79
- // Get the HREF value from the anchor tag
80
- const href = $anchor.href;
81
- // Only handle the anchor tag if the follow holds true:
82
- // - The HREF is relative to the origin of the current location.
83
- // - The target is targeting the current frame.
84
- // - The anchor doesn't have the attribute [data-router-slot]="disabled"
85
- if (!href.startsWith(location.origin) ||
86
- ($anchor.target !== '' && $anchor.target !== '_self') ||
87
- $anchor.dataset['routerSlot'] === 'disabled') {
78
+ // Abort if the anchor tag is not inside a block element
79
+ const isInsideBlockElement = composedPaths?.some(($elem) => $elem.tagName === 'UMB-RTE-BLOCK' || $elem.tagName === 'UMB-RTE-BLOCK-INLINE') ?? false;
80
+ if (!isInsideBlockElement) {
88
81
  return;
89
82
  }
90
83
  // Remove the origin from the start of the HREF to get the path
@@ -1,7 +1,7 @@
1
1
  import { UmbLitElement } from '../../../core/lit-element/index.js';
2
2
  import { type Editor } from '../../../../external/tinymce/index.js';
3
3
  import type { UmbPropertyEditorConfigCollection } from '../../../core/property-editor/index.js';
4
- declare const UmbInputTinyMceElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
4
+ declare const UmbInputTinyMceElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
5
5
  export declare class UmbInputTinyMceElement extends UmbInputTinyMceElement_base {
6
6
  #private;
7
7
  configuration?: UmbPropertyEditorConfigCollection;
@@ -1,3 +1,3 @@
1
1
  export * from './constants.js';
2
2
  export * from './components/index.js';
3
- export type * from './plugins/index.js';
3
+ export type * from './plugins/types.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -4,5 +4,3 @@ export * from './controllers/ufm-virtual-render.controller.js';
4
4
  export * from './filters/base.filter.js';
5
5
  export * from './plugins/index.js';
6
6
  export type * from './types.js';
7
- export type * from './ufm-component.extension.js';
8
- export type * from './ufm-filter.extension.js';
@@ -1 +1,2 @@
1
1
  export type * from './ufm-filter.extension.js';
2
+ export type * from './ufm-component.extension.js';
@@ -1,2 +1 @@
1
- export type * from './is-admin/is-admin.condition-config.js';
2
1
  export type * from './is-admin/types.js';
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbUserInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbUserInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbUserInputElement extends UmbUserInputElement_base {
4
4
  #private;
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbUserGroupInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormDataEntryValue | FormData>) & typeof UmbLitElement;
2
+ declare const UmbUserGroupInputElement_base: (new (...args: any[]) => import("@umbraco-ui/uui-base").UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
3
3
  export declare class UmbUserGroupInputElement extends UmbUserGroupInputElement_base {
4
4
  #private;
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
2
- declare const UmbInputEntityUserPermissionElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<FormDataEntryValue | FormData | undefined>> & typeof UmbLitElement;
2
+ declare const UmbInputEntityUserPermissionElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../../core/validation/index.js").UmbFormControlMixinElement<FormData | FormDataEntryValue | undefined>> & typeof UmbLitElement;
3
3
  export declare class UmbInputEntityUserPermissionElement extends UmbInputEntityUserPermissionElement_base {
4
4
  #private;
5
5
  get entityType(): string;
@@ -1,5 +1,3 @@
1
1
  export * from './components/index.js';
2
2
  export * from './modals/index.js';
3
- export type * from './user-granular-permission.extension.js';
4
- export type * from './entity-user-permission.extension.js';
5
3
  export type * from './types.js';
@@ -1,3 +1,5 @@
1
+ export type * from './user-granular-permission.extension.js';
2
+ export type * from './entity-user-permission.extension.js';
1
3
  export interface UmbUserPermissionModel {
2
4
  $type: string;
3
5
  verbs: Array<string>;