@umbraco-cms/backoffice 16.0.0-rc4 → 16.0.0-rc6

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 (50) hide show
  1. package/dist-cms/assets/lang/en-us.js +1 -1
  2. package/dist-cms/assets/lang/en-us.ts +1 -1
  3. package/dist-cms/css/uui-css.css +59 -8
  4. package/dist-cms/custom-elements.json +13 -2
  5. package/dist-cms/external/rxjs/index.d.ts +1 -1
  6. package/dist-cms/external/rxjs/index.js +3 -3
  7. package/dist-cms/external/uui/index.js +293 -57
  8. package/dist-cms/libs/extension-api/controller/server-extension-registrator.controller.js +6 -2
  9. package/dist-cms/packages/content/content/components/property-type-based-property/property-type-based-property.context-token.js +1 -1
  10. package/dist-cms/packages/core/collection/components/collection-filter-field.element.js +1 -1
  11. package/dist-cms/packages/core/localization/manifests.js +27 -27
  12. package/dist-cms/packages/core/localization/registry/localization.registry.d.ts +2 -1
  13. package/dist-cms/packages/core/localization/registry/localization.registry.js +97 -37
  14. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +2 -2
  15. package/dist-cms/packages/core/package.json +2 -2
  16. package/dist-cms/packages/core/property/components/property/property.element.js +1 -0
  17. package/dist-cms/packages/core/property-editor/extensions/property-editor-ui-element.interface.d.ts +2 -0
  18. package/dist-cms/packages/core/router/route/router-slot.element.js +3 -1
  19. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +5 -2
  20. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.js +1 -1
  21. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint/modal/create-blueprint-modal.element.js +1 -1
  22. package/dist-cms/packages/documents/documents/tree/document-tree.context.js +2 -2
  23. package/dist-cms/packages/log-viewer/components/log-viewer-date-range-selector.element.d.ts +0 -2
  24. package/dist-cms/packages/log-viewer/components/log-viewer-date-range-selector.element.js +12 -24
  25. package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.js +9 -1
  26. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-message.element.js +1 -1
  27. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +2 -2
  28. package/dist-cms/packages/media/media/tree/media-tree.context.js +2 -2
  29. package/dist-cms/packages/property-editors/dimensions/property-editor-ui-dimensions.element.js +16 -3
  30. package/dist-cms/packages/templating/partial-views/entity-actions/rename/rename-partial-view.server.data-source.js +1 -1
  31. package/dist-cms/packages/templating/partial-views/repository/partial-view-detail.server.data-source.js +3 -3
  32. package/dist-cms/packages/templating/partial-views/tree/folder/repository/partial-view-folder.server.data-source.js +2 -2
  33. package/dist-cms/packages/templating/scripts/entity-actions/rename/rename-script.server.data-source.js +1 -1
  34. package/dist-cms/packages/templating/scripts/repository/script-detail.server.data-source.js +3 -3
  35. package/dist-cms/packages/templating/scripts/tree/folder/repository/script-folder.server.data-source.js +2 -2
  36. package/dist-cms/packages/templating/stylesheets/entity-actions/rename/rename-stylesheet.server.data-source.js +1 -1
  37. package/dist-cms/packages/templating/stylesheets/repository/stylesheet-detail.server.data-source.js +3 -3
  38. package/dist-cms/packages/templating/stylesheets/tree/folder/repository/stylesheet-folder.server.data-source.js +2 -2
  39. package/dist-cms/packages/tiptap/components/character-map/character-map-modal.element.js +0 -4
  40. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.js +1 -1
  41. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.d.ts +6 -0
  42. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.js +7 -1
  43. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.js +1 -1
  44. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-statusbar-configuration.element.js +0 -4
  45. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.js +1 -4
  46. package/dist-cms/packages/user/user-group/collection/user-group-collection.element.js +1 -1
  47. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  48. package/dist-cms/umbraco-package.json +1 -1
  49. package/dist-cms/vscode-html-custom-data.json +2 -2
  50. package/package.json +5 -4
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { UMB_APP_LOG_VIEWER_CONTEXT } from '../workspace/logviewer-workspace.context-token.js';
8
8
  import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
9
- import { css, html, customElement, property, queryAll, state } from '@umbraco-cms/backoffice/external/lit';
9
+ import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
10
10
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
11
11
  import { query as getQuery, path, toQueryString } from '@umbraco-cms/backoffice/router';
12
12
  let UmbLogViewerDateRangeSelectorElement = class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
@@ -16,16 +16,11 @@ let UmbLogViewerDateRangeSelectorElement = class UmbLogViewerDateRangeSelectorEl
16
16
  this._startDate = '';
17
17
  this._endDate = '';
18
18
  this.horizontal = false;
19
- this.addEventListener('input', this.#setDates);
20
19
  this.consumeContext(UMB_APP_LOG_VIEWER_CONTEXT, (instance) => {
21
20
  this.#logViewerContext = instance;
22
21
  this.#observeStuff();
23
22
  });
24
23
  }
25
- disconnectedCallback() {
26
- super.disconnectedCallback();
27
- this.removeEventListener('input', this.#setDates);
28
- }
29
24
  #observeStuff() {
30
25
  if (!this.#logViewerContext)
31
26
  return;
@@ -34,15 +29,15 @@ let UmbLogViewerDateRangeSelectorElement = class UmbLogViewerDateRangeSelectorEl
34
29
  this._endDate = dateRange.endDate;
35
30
  }, '_observeDateRange');
36
31
  }
37
- #setDates() {
38
- this._inputs.forEach((input) => {
39
- if (input.id === 'start-date') {
40
- this._startDate = input.value;
41
- }
42
- else if (input.id === 'end-date') {
43
- this._endDate = input.value;
44
- }
45
- });
32
+ #setStartDate(e) {
33
+ this._startDate = e.target.value;
34
+ this.#updateFiltered();
35
+ }
36
+ #setEndDate(e) {
37
+ this._endDate = e.target.value;
38
+ this.#updateFiltered();
39
+ }
40
+ #updateFiltered() {
46
41
  this.#logViewerContext?.setDateRange({ startDate: this._startDate, endDate: this._endDate });
47
42
  const query = getQuery();
48
43
  const qs = toQueryString({
@@ -57,9 +52,7 @@ let UmbLogViewerDateRangeSelectorElement = class UmbLogViewerDateRangeSelectorEl
57
52
  <div class="input-container">
58
53
  <uui-label for="start-date">From:</uui-label>
59
54
  <umb-input-date
60
- @click=${(e) => {
61
- e.target.showPicker();
62
- }}
55
+ @change=${this.#setStartDate}
63
56
  id="start-date"
64
57
  type="date"
65
58
  label="From"
@@ -69,9 +62,7 @@ let UmbLogViewerDateRangeSelectorElement = class UmbLogViewerDateRangeSelectorEl
69
62
  <div class="input-container">
70
63
  <uui-label for="end-date">To: </uui-label>
71
64
  <umb-input-date
72
- @click=${(e) => {
73
- e.target.showPicker();
74
- }}
65
+ @change=${this.#setEndDate}
75
66
  id="end-date"
76
67
  type="date"
77
68
  label="To"
@@ -107,9 +98,6 @@ __decorate([
107
98
  __decorate([
108
99
  state()
109
100
  ], UmbLogViewerDateRangeSelectorElement.prototype, "_endDate", void 0);
110
- __decorate([
111
- queryAll('input')
112
- ], UmbLogViewerDateRangeSelectorElement.prototype, "_inputs", void 0);
113
101
  __decorate([
114
102
  property({ type: Boolean, reflect: true })
115
103
  ], UmbLogViewerDateRangeSelectorElement.prototype, "horizontal", void 0);
@@ -111,7 +111,15 @@ export class UmbLogMessagesServerDataSource {
111
111
  */
112
112
  async getLogViewerLogs({ skip = 0, take = 100, orderDirection, filterExpression, logLevel, startDate, endDate, }) {
113
113
  return await tryExecute(this.#host, LogViewerService.getLogViewerLog({
114
- query: { skip, take, orderDirection, filterExpression, logLevel, startDate, endDate },
114
+ query: {
115
+ skip,
116
+ take,
117
+ orderDirection,
118
+ filterExpression,
119
+ logLevel: logLevel?.length ? logLevel : undefined,
120
+ startDate,
121
+ endDate,
122
+ },
115
123
  }));
116
124
  }
117
125
  /**
@@ -84,7 +84,7 @@ let UmbLogViewerMessageElement = class UmbLogViewerMessageElement extends UmbLit
84
84
  }
85
85
  query = {
86
86
  ...query,
87
- lq: encodeURIComponent(`${name}=${sanitizedValue}`),
87
+ lq: `${name}=${sanitizedValue}`,
88
88
  };
89
89
  const queryString = toQueryString(query);
90
90
  return queryString;
@@ -11,7 +11,7 @@ import { UmbMediaSearchProvider } from '../../search/index.js';
11
11
  import { css, html, customElement, state, repeat, ifDefined, query, nothing, } from '@umbraco-cms/backoffice/external/lit';
12
12
  import { debounce, UmbPaginationManager } from '@umbraco-cms/backoffice/utils';
13
13
  import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
14
- import { UMB_CONTENT_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/content';
14
+ import { UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/content';
15
15
  import { isUmbracoFolder } from '@umbraco-cms/backoffice/media-type';
16
16
  import { UMB_VARIANT_CONTEXT } from '@umbraco-cms/backoffice/variant';
17
17
  import '@umbraco-cms/backoffice/imaging';
@@ -42,7 +42,7 @@ let UmbMediaPickerModalElement = class UmbMediaPickerModalElement extends UmbMod
42
42
  this.#debouncedSearch = debounce(() => {
43
43
  this.#searchMedia();
44
44
  }, 500);
45
- this.consumeContext(UMB_CONTENT_PROPERTY_CONTEXT, (context) => {
45
+ this.consumeContext(UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT, (context) => {
46
46
  this.observe(context?.dataType, (dataType) => {
47
47
  this.#dataType = dataType;
48
48
  });
@@ -1,9 +1,9 @@
1
- import { UMB_CONTENT_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/content';
1
+ import { UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/content';
2
2
  import { UmbDefaultTreeContext } from '@umbraco-cms/backoffice/tree';
3
3
  export class UmbMediaTreeContext extends UmbDefaultTreeContext {
4
4
  constructor(host) {
5
5
  super(host);
6
- this.consumeContext(UMB_CONTENT_PROPERTY_CONTEXT, (context) => {
6
+ this.consumeContext(UMB_PROPERTY_TYPE_BASED_PROPERTY_CONTEXT, (context) => {
7
7
  this.observe(context?.dataType, (value) => {
8
8
  this.updateAdditionalRequestArgs({ dataType: value });
9
9
  });
@@ -4,8 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
8
- import { customElement, html, property } from '@umbraco-cms/backoffice/external/lit';
7
+ import { css, customElement, html, property } from '@umbraco-cms/backoffice/external/lit';
9
8
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
10
9
  import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
11
10
  /**
@@ -28,6 +27,9 @@ let UmbPropertyEditorUIDimensionsElement = class UmbPropertyEditorUIDimensionsEl
28
27
  return html `
29
28
  <uui-input
30
29
  type="number"
30
+ autocomplete="off"
31
+ min="0"
32
+ step="1"
31
33
  label=${this.localize.term('general_width')}
32
34
  placeholder=${this.localize.term('general_width')}
33
35
  @change=${this.#onChangeWidth}
@@ -36,6 +38,9 @@ let UmbPropertyEditorUIDimensionsElement = class UmbPropertyEditorUIDimensionsEl
36
38
  <span>&times;</span>
37
39
  <uui-input
38
40
  type="number"
41
+ autocomplete="off"
42
+ min="0"
43
+ step="1"
39
44
  label=${this.localize.term('general_height')}
40
45
  placeholder=${this.localize.term('general_height')}
41
46
  @change=${this.#onChangeHeight}
@@ -44,7 +49,15 @@ let UmbPropertyEditorUIDimensionsElement = class UmbPropertyEditorUIDimensionsEl
44
49
  <umb-localize key="general_pixels">pixels</umb-localize>
45
50
  `;
46
51
  }
47
- static { this.styles = [UmbTextStyles]; }
52
+ static { this.styles = [
53
+ css `
54
+ :host {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: var(--uui-size-space-1);
58
+ }
59
+ `,
60
+ ]; }
48
61
  };
49
62
  __decorate([
50
63
  property({ type: Object })
@@ -29,7 +29,7 @@ export class UmbRenamePartialViewServerDataSource {
29
29
  name: appendFileExtensionIfNeeded(name, '.cshtml'),
30
30
  };
31
31
  const { data, error } = await tryExecute(this.#host, PartialViewService.putPartialViewByPathRename({
32
- path: { path: encodeURIComponent(path) },
32
+ path: { path },
33
33
  body,
34
34
  }));
35
35
  if (data && typeof data === 'string') {
@@ -46,7 +46,7 @@ export class UmbPartialViewDetailServerDataSource {
46
46
  const path = this.#serverFilePathUniqueSerializer.toServerPath(unique);
47
47
  if (!path)
48
48
  throw new Error('Path is missing');
49
- const { data, error } = await tryExecute(this.#host, PartialViewService.getPartialViewByPath({ path: { path: encodeURIComponent(path) } }));
49
+ const { data, error } = await tryExecute(this.#host, PartialViewService.getPartialViewByPath({ path: { path } }));
50
50
  if (error || !data) {
51
51
  return { error };
52
52
  }
@@ -68,7 +68,7 @@ export class UmbPartialViewDetailServerDataSource {
68
68
  content: model.content,
69
69
  };
70
70
  const { error } = await tryExecute(this.#host, PartialViewService.putPartialViewByPath({
71
- path: { path: encodeURIComponent(path) },
71
+ path: { path },
72
72
  body,
73
73
  }));
74
74
  if (!error) {
@@ -83,7 +83,7 @@ export class UmbPartialViewDetailServerDataSource {
83
83
  if (!path)
84
84
  throw new Error('Path is missing');
85
85
  return tryExecute(this.#host, PartialViewService.deletePartialViewByPath({
86
- path: { path: encodeURIComponent(path) },
86
+ path: { path },
87
87
  }));
88
88
  }
89
89
  }
@@ -47,7 +47,7 @@ export class UmbPartialViewFolderServerDataSource {
47
47
  if (!path)
48
48
  throw new Error('Cannot read partial view folder without a path');
49
49
  const { data, error } = await tryExecute(this.#host, PartialViewService.getPartialViewFolderByPath({
50
- path: { path: encodeURIComponent(path) },
50
+ path: { path },
51
51
  }));
52
52
  if (data) {
53
53
  const mappedData = {
@@ -101,7 +101,7 @@ export class UmbPartialViewFolderServerDataSource {
101
101
  if (!path)
102
102
  throw new Error('Cannot delete partial view folder without a path');
103
103
  return tryExecute(this.#host, PartialViewService.deletePartialViewFolderByPath({
104
- path: { path: encodeURIComponent(path) },
104
+ path: { path },
105
105
  }));
106
106
  }
107
107
  async update() {
@@ -29,7 +29,7 @@ export class UmbRenameScriptServerDataSource {
29
29
  name: appendFileExtensionIfNeeded(name, '.js'),
30
30
  };
31
31
  const { data, error } = await tryExecute(this.#host, ScriptService.putScriptByPathRename({
32
- path: { path: encodeURIComponent(path) },
32
+ path: { path },
33
33
  body,
34
34
  }));
35
35
  if (data && typeof data === 'string') {
@@ -46,7 +46,7 @@ export class UmbScriptDetailServerDataSource {
46
46
  const path = this.#serverFilePathUniqueSerializer.toServerPath(unique);
47
47
  if (!path)
48
48
  throw new Error('Path is missing');
49
- const { data, error } = await tryExecute(this.#host, ScriptService.getScriptByPath({ path: { path: encodeURIComponent(path) } }));
49
+ const { data, error } = await tryExecute(this.#host, ScriptService.getScriptByPath({ path: { path } }));
50
50
  if (error || !data) {
51
51
  return { error };
52
52
  }
@@ -68,7 +68,7 @@ export class UmbScriptDetailServerDataSource {
68
68
  content: model.content,
69
69
  };
70
70
  const { error } = await tryExecute(this.#host, ScriptService.putScriptByPath({
71
- path: { path: encodeURIComponent(path) },
71
+ path: { path },
72
72
  body,
73
73
  }));
74
74
  if (!error) {
@@ -83,7 +83,7 @@ export class UmbScriptDetailServerDataSource {
83
83
  if (!path)
84
84
  throw new Error('Path is missing');
85
85
  return tryExecute(this.#host, ScriptService.deleteScriptByPath({
86
- path: { path: encodeURIComponent(path) },
86
+ path: { path },
87
87
  }));
88
88
  }
89
89
  }
@@ -47,7 +47,7 @@ export class UmbScriptFolderServerDataSource {
47
47
  if (!path)
48
48
  throw new Error('Cannot read script folder without a path');
49
49
  const { data, error } = await tryExecute(this.#host, ScriptService.getScriptFolderByPath({
50
- path: { path: encodeURIComponent(path) },
50
+ path: { path },
51
51
  }));
52
52
  if (data) {
53
53
  const mappedData = {
@@ -99,7 +99,7 @@ export class UmbScriptFolderServerDataSource {
99
99
  if (!path)
100
100
  throw new Error('Cannot delete script folder without a path');
101
101
  return tryExecute(this.#host, ScriptService.deleteScriptFolderByPath({
102
- path: { path: encodeURIComponent(path) },
102
+ path: { path },
103
103
  }));
104
104
  }
105
105
  async update() {
@@ -29,7 +29,7 @@ export class UmbRenameStylesheetServerDataSource {
29
29
  name: appendFileExtensionIfNeeded(name, '.css'),
30
30
  };
31
31
  const { data, error } = await tryExecute(this.#host, StylesheetService.putStylesheetByPathRename({
32
- path: { path: encodeURIComponent(path) },
32
+ path: { path },
33
33
  body,
34
34
  }));
35
35
  if (data && typeof data === 'string') {
@@ -46,7 +46,7 @@ export class UmbStylesheetDetailServerDataSource {
46
46
  const path = this.#serverFilePathUniqueSerializer.toServerPath(unique);
47
47
  if (!path)
48
48
  throw new Error('Path is missing');
49
- const { data, error } = await tryExecute(this.#host, StylesheetService.getStylesheetByPath({ path: { path: encodeURIComponent(path) } }));
49
+ const { data, error } = await tryExecute(this.#host, StylesheetService.getStylesheetByPath({ path: { path } }));
50
50
  if (error || !data) {
51
51
  return { error };
52
52
  }
@@ -68,7 +68,7 @@ export class UmbStylesheetDetailServerDataSource {
68
68
  content: model.content,
69
69
  };
70
70
  const { error } = await tryExecute(this.#host, StylesheetService.putStylesheetByPath({
71
- path: { path: encodeURIComponent(path) },
71
+ path: { path },
72
72
  body,
73
73
  }));
74
74
  if (!error) {
@@ -83,7 +83,7 @@ export class UmbStylesheetDetailServerDataSource {
83
83
  if (!path)
84
84
  throw new Error('Path is missing');
85
85
  return tryExecute(this.#host, StylesheetService.deleteStylesheetByPath({
86
- path: { path: encodeURIComponent(path) },
86
+ path: { path },
87
87
  }));
88
88
  }
89
89
  }
@@ -41,7 +41,7 @@ export class UmbStylesheetFolderServerDataSource {
41
41
  if (!path)
42
42
  throw new Error('Cannot read stylesheet folder without a path');
43
43
  const { data, error } = await tryExecute(this.#host, StylesheetService.getStylesheetFolderByPath({
44
- path: { path: encodeURIComponent(path) },
44
+ path: { path },
45
45
  }));
46
46
  if (data) {
47
47
  const mappedData = {
@@ -95,7 +95,7 @@ export class UmbStylesheetFolderServerDataSource {
95
95
  if (!path)
96
96
  throw new Error('Cannot delete stylesheet folder without a path');
97
97
  return tryExecute(this.#host, StylesheetService.deleteStylesheetFolderByPath({
98
- path: { path: encodeURIComponent(path) },
98
+ path: { path },
99
99
  }));
100
100
  }
101
101
  async update() {
@@ -418,10 +418,6 @@ let UmbCharacterMapModalElement = class UmbCharacterMapModalElement extends UmbM
418
418
  gap: var(--uui-size-space-4);
419
419
  }
420
420
 
421
- uui-input {
422
- align-items: baseline;
423
- }
424
-
425
421
  uui-scroll-container {
426
422
  height: 300px;
427
423
  width: calc(450px + var(--uui-size-layout-1));
@@ -222,7 +222,7 @@ let UmbInputTiptapElement = class UmbInputTiptapElement extends UmbFormControlMi
222
222
  height: 100%;
223
223
  width: 100%;
224
224
  outline: none;
225
- white-space: pre-wrap;
225
+ white-space: wrap;
226
226
  min-width: 0;
227
227
 
228
228
  p:first-of-type {
@@ -4,6 +4,12 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
4
4
  import type { Editor } from '@umbraco-cms/backoffice/external/tiptap';
5
5
  import type { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor';
6
6
  import '../cascading-menu-popover/cascading-menu-popover.element.js';
7
+ /**
8
+ * Provides a sticky toolbar for the {@link UmbInputTiptapElement}
9
+ * @element umb-tiptap-toolbar
10
+ * @cssprop --umb-tiptap-edge-border-color - Defines the edge border color
11
+ * @cssprop --umb-tiptap-top - Defines the top value for the sticky toolbar
12
+ */
7
13
  export declare class UmbTiptapToolbarElement extends UmbLitElement {
8
14
  #private;
9
15
  private _lookup?;
@@ -9,6 +9,12 @@ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registr
9
9
  import { UmbExtensionsElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';
10
10
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
11
11
  import '../cascading-menu-popover/cascading-menu-popover.element.js';
12
+ /**
13
+ * Provides a sticky toolbar for the {@link UmbInputTiptapElement}
14
+ * @element umb-tiptap-toolbar
15
+ * @cssprop --umb-tiptap-edge-border-color - Defines the edge border color
16
+ * @cssprop --umb-tiptap-top - Defines the top value for the sticky toolbar
17
+ */
12
18
  let UmbTiptapToolbarElement = class UmbTiptapToolbarElement extends UmbLitElement {
13
19
  constructor() {
14
20
  super(...arguments);
@@ -75,7 +81,7 @@ let UmbTiptapToolbarElement = class UmbTiptapToolbarElement extends UmbLitElemen
75
81
  flex-direction: column;
76
82
 
77
83
  position: sticky;
78
- top: -25px;
84
+ top: var(--umb-tiptap-top,-25px);
79
85
  left: 0;
80
86
  right: 0;
81
87
  padding: var(--uui-size-3);
@@ -130,7 +130,7 @@ let UmbPropertyEditorUiTiptapExtensionsConfigurationElement = class UmbPropertyE
130
130
  }
131
131
 
132
132
  .group {
133
- flex: 1;
133
+ width: calc((100% - 2rem) / 3);
134
134
 
135
135
  ul {
136
136
  list-style: none;
@@ -227,10 +227,6 @@ let UmbPropertyEditorUiTiptapStatusbarConfigurationElement = class UmbPropertyEd
227
227
  [slot='header-actions'] {
228
228
  margin-bottom: var(--uui-size-2);
229
229
 
230
- uui-input {
231
- align-items: baseline;
232
- }
233
-
234
230
  uui-icon {
235
231
  color: var(--uui-color-border);
236
232
  }
@@ -227,6 +227,7 @@ let UmbPropertyEditorUiTiptapToolbarConfigurationElement = class UmbPropertyEdit
227
227
  return nothing;
228
228
  const forbidden = !this.#context?.isExtensionEnabled(item.alias);
229
229
  switch (item.kind) {
230
+ case 'styleMenu':
230
231
  case 'menu':
231
232
  return html `
232
233
  <uui-button
@@ -298,10 +299,6 @@ let UmbPropertyEditorUiTiptapToolbarConfigurationElement = class UmbPropertyEdit
298
299
  [slot='header-actions'] {
299
300
  margin-bottom: var(--uui-size-2);
300
301
 
301
- uui-input {
302
- align-items: baseline;
303
- }
304
-
305
302
  uui-icon {
306
303
  color: var(--uui-color-border);
307
304
  }
@@ -37,7 +37,7 @@ let UmbUserGroupCollectionElement = class UmbUserGroupCollectionElement extends
37
37
  static { this.styles = [
38
38
  css `
39
39
  uui-input {
40
- display: block;
40
+ width: 100%;
41
41
  }
42
42
  `,
43
43
  ]; }