diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 6900aebcb6..a9f33d80b1 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -86,7 +86,7 @@ export class UmbAppElement extends UmbLitElement { : this.localize.term('errors_externalLoginFailed'); this.observe(this.#authContext.authorizationSignal, () => { - window.location.href = '/'; + history.replaceState(null, '', ''); }); } diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index d292fc9be4..1dfb38b1c7 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -23,6 +23,7 @@ const CORE_PACKAGES = [ import('../../packages/media/umbraco-package.js'), import('../../packages/members/umbraco-package.js'), import('../../packages/models-builder/umbraco-package.js'), + import('../../packages/multi-url-picker/umbraco-package.js'), import('../../packages/packages/umbraco-package.js'), import('../../packages/property-editors/umbraco-package.js'), import('../../packages/relations/umbraco-package.js'), diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts index 3d347d786a..a1f3c17630 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts @@ -1244,8 +1244,8 @@ export default { openMediaPicker: 'Open media picker', }, propertyEditorPicker: { - title: 'Select Property Editor', - openPropertyEditorPicker: 'Select Property Editor', + title: 'Select a property editor', + openPropertyEditorPicker: 'Select a property editor UI', }, relatedlinks: { enterExternal: 'enter external link', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index c179b8af63..af418baa1b 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -2543,8 +2543,8 @@ export default { searchResults: 'items returned', }, propertyEditorPicker: { - title: 'Select Property Editor', - openPropertyEditorPicker: 'Select Property Editor', + title: 'Select a property editor', + openPropertyEditorPicker: 'Select a property editor UI', }, analytics: { consentForAnalytics: 'Consent for telemetry data', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts index 789608dba4..be212031a2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts @@ -6,8 +6,6 @@ export * from './body-layout/body-layout.element.js'; export * from './code-block/index.js'; export * from './dropdown/index.js'; export * from './entity-actions-bundle/index.js'; -export * from './extension-slot/index.js'; -export * from './extension-with-api-slot/index.js'; export * from './footer-layout/index.js'; export * from './header-app/index.js'; export * from './history/index.js'; @@ -19,7 +17,6 @@ export * from './input-dropdown/index.js'; export * from './input-entity/index.js'; export * from './input-eye-dropper/index.js'; export * from './input-manifest/index.js'; -export * from './input-multi-url/index.js'; export * from './input-number-range/index.js'; export * from './input-radio-button-list/index.js'; export * from './input-slider/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-entity/input-entity.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-entity/input-entity.element.ts index f48f3dd17f..eb1725152f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-entity/input-entity.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-entity/input-entity.element.ts @@ -29,6 +29,7 @@ export class UmbInputEntityElement extends UUIFormControlMixin(UmbLitElement, '' protected getFormElement() { return undefined; } + @property({ type: Number }) public set min(value: number) { this.#min = value; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/index.ts deleted file mode 100644 index d197dc0c3d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './input-multi-url.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/input-multi-url.stories.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/input-multi-url.stories.ts deleted file mode 100644 index 1017d7d56d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-multi-url/input-multi-url.stories.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/web-components'; -import './input-multi-url.element.js'; -import type { UmbInputMultiUrlElement } from './input-multi-url.element.js'; - -const meta: Meta = { - title: 'Components/Inputs/Multi URL', - component: 'umb-input-multi-url', -}; - -export default meta; -type Story = StoryObj; - -export const Overview: Story = { - args: {}, -}; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-slider/input-slider.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-slider/input-slider.element.ts index cbb92e39f1..5ab257784e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-slider/input-slider.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-slider/input-slider.element.ts @@ -1,8 +1,8 @@ -import { html, customElement, property } from '@umbraco-cms/backoffice/external/lit'; -import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { UUISliderEvent } from '@umbraco-cms/backoffice/external/uui'; +import { customElement, html, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui'; +import type { UUISliderEvent } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-input-slider') export class UmbInputSliderElement extends UUIFormControlMixin(UmbLitElement, '') { @@ -28,9 +28,9 @@ export class UmbInputSliderElement extends UUIFormControlMixin(UmbLitElement, '' return undefined; } - #onChange(e: UUISliderEvent) { - e.stopPropagation(); - this.value = e.target.value as string; + #onChange(event: UUISliderEvent) { + event.stopPropagation(); + this.value = event.target.value as string; this.dispatchEvent(new UmbChangeEvent()); } @@ -39,20 +39,27 @@ export class UmbInputSliderElement extends UUIFormControlMixin(UmbLitElement, '' } #renderSlider() { - return html``; + return html` + + + `; } + #renderRangeSlider() { - return html``; + return html` + + + `; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/stack/stack.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/stack/stack.element.ts index 93b23f27df..23ba4bb164 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/stack/stack.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/stack/stack.element.ts @@ -1,5 +1,5 @@ -import { UmbLitElement } from "@umbraco-cms/backoffice/lit-element"; -import { customElement, html, css, property, classMap } from "@umbraco-cms/backoffice/external/lit"; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { classMap, customElement, css, html, property } from '@umbraco-cms/backoffice/external/lit'; /** * @element umb-stack @@ -7,72 +7,73 @@ import { customElement, html, css, property, classMap } from "@umbraco-cms/backo * @extends LitElement */ @customElement('umb-stack') -export class UmbStackElement extends UmbLitElement -{ - /** - * Look - * @type {String} - * @memberof UmbStackElement - */ - @property({ type:String }) - look: 'compact' | 'default' = 'default'; +export class UmbStackElement extends UmbLitElement { + /** + * Look + * @type {String} + * @memberof UmbStackElement + */ + @property({ type: String }) + look: 'compact' | 'default' = 'default'; - /** - * Divide - * @type {Boolean} - * @memberof UmbStackElement - */ - @property({ type:Boolean }) - divide: boolean = false; + /** + * Divide + * @type {Boolean} + * @memberof UmbStackElement + */ + @property({ type: Boolean }) + divide: boolean = false; - render() { - return html`
- -
`; - } + render() { + return html` +
+ +
+ `; + } - static styles = [ - css` - div { - display: block; - position: relative; - } + static styles = [ + css` + div { + display: block; + position: relative; + } - ::slotted(*) { - position: relative; - margin-top: var(--uui-size-space-6); - } + ::slotted(*) { + position: relative; + margin-top: var(--uui-size-space-6); + } - .divide ::slotted(*)::before { - content: ''; - position: absolute; - top: calc((var(--uui-size-space-6) / 2) * -1); - height: 0; - width: 100%; - border-top: solid 1px var(--uui-color-divider-standalone); - } + .divide ::slotted(*)::before { + content: ''; + position: absolute; + top: calc((var(--uui-size-space-6) / 2) * -1); + height: 0; + width: 100%; + border-top: solid 1px var(--uui-color-divider-standalone); + } - ::slotted(*:first-child) { - margin-top: 0; - } + ::slotted(*:first-child) { + margin-top: 0; + } - .divide ::slotted(*:first-child)::before { - display: none; - } + .divide ::slotted(*:first-child)::before { + display: none; + } - .compact ::slotted(*) { - margin-top: var(--uui-size-space-3); - } + .compact ::slotted(*) { + margin-top: var(--uui-size-space-3); + } - .compact ::slotted(*:first-child) { - margin-top: 0; - } + .compact ::slotted(*:first-child) { + margin-top: 0; + } - .compact.divide ::slotted(*)::before { - display: none; - } - ` - ]; + .compact.divide ::slotted(*)::before { + display: none; + } + `, + ]; } export default UmbStackElement; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts index 1f88e46d6a..912cee601d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts @@ -8,6 +8,7 @@ import { UmbExtensionsApiInitializer, type UmbEntryPointOnInit } from '@umbraco- // TODO temp relative import until modules ship a component sub module import './menu/components/index.js'; +import './extension-registry/components/index.js'; export const onInit: UmbEntryPointOnInit = (host, extensionRegistry) => { new UmbExtensionsApiInitializer(host, extensionRegistry, 'globalContext', [host]); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/extension-slot.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/extension-slot.element.ts similarity index 98% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/extension-slot.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/extension-slot.element.ts index a09e8f9bf0..303a5d397a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/extension-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/extension-slot.element.ts @@ -1,4 +1,4 @@ -import { umbExtensionsRegistry } from '../../extension-registry/index.js'; +import { umbExtensionsRegistry } from '../../registry.js'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { TemplateResult } from '@umbraco-cms/backoffice/external/lit'; import { css, repeat, customElement, property, state, html } from '@umbraco-cms/backoffice/external/lit'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/extension-slot.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/extension-slot.test.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/extension-slot.test.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/extension-slot.test.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-slot/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-slot/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/extension-with-api-slot.element.ts similarity index 98% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/extension-with-api-slot.element.ts index e056b60241..45199b6099 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/extension-with-api-slot.element.ts @@ -1,4 +1,4 @@ -import { umbExtensionsRegistry } from '../../extension-registry/index.js'; +import { umbExtensionsRegistry } from '../../registry.js'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { TemplateResult } from '@umbraco-cms/backoffice/external/lit'; import { css, repeat, customElement, property, state, html } from '@umbraco-cms/backoffice/external/lit'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/extension-with-api-slot.test.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.test.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/extension-with-api-slot.test.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/extension-with-api-slot/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/index.ts new file mode 100644 index 0000000000..4f454594ee --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/components/index.ts @@ -0,0 +1,2 @@ +export * from './extension-slot/index.js'; +export * from './extension-with-api-slot/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts index bdd6749492..f7b427da73 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts @@ -67,6 +67,7 @@ import type { ManifestSearchResultItem } from './search-result-item.model.js'; import type { ManifestAppEntryPoint } from './app-entry-point.model.js'; import type { ManifestBackofficeEntryPoint } from './backoffice-entry-point.model.js'; import type { ManifestEntryPoint } from './entry-point.model.js'; +import type { ManifestMonacoMarkdownEditorAction } from './monaco-markdown-editor-action.model.js'; import type { ManifestBase, ManifestBundle, ManifestCondition } from '@umbraco-cms/backoffice/extension-api'; export type * from './app-entry-point.model.js'; @@ -94,6 +95,7 @@ export type * from './menu-item.model.js'; export type * from './menu.model.js'; export type * from './mfa-login-provider.model.js'; export type * from './modal.model.js'; +export type * from './monaco-markdown-editor-action.model.js'; export type * from './package-view.model.js'; export type * from './property-action.model.js'; export type * from './property-editor.model.js'; @@ -179,6 +181,7 @@ export type ManifestTypes = | ManifestMenuItemTreeKind | ManifestMfaLoginProvider | ManifestModal + | ManifestMonacoMarkdownEditorAction | ManifestPackageView | ManifestPropertyActions | ManifestPropertyEditorSchema diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/menu-item.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/menu-item.model.ts index 3efd308a9a..05eeb81b78 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/menu-item.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/menu-item.model.ts @@ -1,7 +1,10 @@ import type { UmbMenuItemElement } from '../interfaces/menu-item-element.interface.js'; -import type { ManifestElement } from '@umbraco-cms/backoffice/extension-api'; +import type { ConditionTypes } from '../conditions/types.js'; +import type { ManifestWithDynamicConditions, ManifestElement } from '@umbraco-cms/backoffice/extension-api'; -export interface ManifestMenuItem extends ManifestElement { +export interface ManifestMenuItem + extends ManifestElement, + ManifestWithDynamicConditions { type: 'menuItem'; meta: MetaMenuItem; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/monaco-markdown-editor-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/monaco-markdown-editor-action.model.ts new file mode 100644 index 0000000000..d836458a27 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/monaco-markdown-editor-action.model.ts @@ -0,0 +1,8 @@ +import type { ManifestApi } from '@umbraco-cms/backoffice/extension-api'; + +export interface ManifestMonacoMarkdownEditorAction extends ManifestApi { + type: 'monacoMarkdownEditorAction'; + meta?: MetaMonacoMarkdownEditorAction; +} + +export interface MetaMonacoMarkdownEditorAction {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/icon-picker/icon-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/icon-picker/icon-picker-modal.element.ts index 0b86ba4bf8..58d696e7f7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/icon-picker/icon-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/icon-picker/icon-picker-modal.element.ts @@ -1,13 +1,11 @@ -import type { UUIColorSwatchesEvent } from '@umbraco-cms/backoffice/external/uui'; - -import { css, html, customElement, state, repeat, query, nothing } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; - -import type { UmbIconPickerModalData, UmbIconPickerModalValue } from '@umbraco-cms/backoffice/modal'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; +import { css, customElement, html, nothing, query, repeat, state } from '@umbraco-cms/backoffice/external/lit'; import { extractUmbColorVariable, umbracoColors } from '@umbraco-cms/backoffice/resources'; import { umbFocus } from '@umbraco-cms/backoffice/lit-element'; +import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UMB_ICON_REGISTRY_CONTEXT, type UmbIconDefinition } from '@umbraco-cms/backoffice/icon'; +import type { UmbIconPickerModalData, UmbIconPickerModalValue } from '@umbraco-cms/backoffice/modal'; +import type { UUIColorSwatchesEvent } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-icon-picker-modal') export class UmbIconPickerModalElement extends UmbModalBaseElement { @@ -106,12 +104,12 @@ export class UmbIconPickerModalElement extends UmbModalBaseElement + @click=${this._rejectModal}> `; @@ -123,7 +121,7 @@ export class UmbIconPickerModalElement extends UmbModalBaseElement `; @@ -136,15 +134,14 @@ export class UmbIconPickerModalElement extends UmbModalBaseElement icon.name, (icon) => html` this.#changeIcon(e, icon.name)} @keyup=${(e: KeyboardEvent) => this.#changeIcon(e, icon.name)}> - + name=${icon.name}> `, ) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/manifests.ts index 12274ed8e4..e5308f533d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/manifests.ts @@ -13,12 +13,6 @@ const modals: Array = [ name: 'Icon Picker Modal', element: () => import('./icon-picker/icon-picker-modal.element.js'), }, - { - type: 'modal', - alias: 'Umb.Modal.LinkPicker', - name: 'Link Picker Modal', - element: () => import('./link-picker/link-picker-modal.element.js'), - }, { type: 'modal', alias: 'Umb.Modal.CodeEditor', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts index 4da1b3c794..a2958ea597 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts @@ -6,7 +6,6 @@ export * from './embedded-media-modal.token.js'; export * from './entity-user-permission-settings-modal.token.js'; export * from './icon-picker-modal.token.js'; export * from './item-picker-modal.token.js'; -export * from './link-picker-modal.token.js'; export * from './modal-token.js'; export * from './property-editor-ui-picker-modal.token.js'; export * from './workspace-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts index e6397911a7..920b36a841 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts @@ -1,5 +1,6 @@ -import { umbExtensionsRegistry, type ManifestPropertyEditorUi } from '../../extension-registry/index.js'; import { UmbPropertyContext } from './property.context.js'; +import type { ManifestPropertyEditorUi } from '@umbraco-cms/backoffice/extension-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, customElement, property, state, ifDefined, nothing } from '@umbraco-cms/backoffice/external/lit'; import { createExtensionElement } from '@umbraco-cms/backoffice/extension-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.ts index 7ab9dafbd3..165969d621 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.ts @@ -1,8 +1,8 @@ -import { html, customElement, state, ifDefined, map } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { css, customElement, html, ifDefined, map, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UMB_SECTION_CONTEXT } from '@umbraco-cms/backoffice/section'; +import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; import type { UmbMenuStructureWorkspaceContext, UmbStructureItemModel } from '@umbraco-cms/backoffice/menu'; @customElement('umb-workspace-breadcrumb') @@ -84,7 +84,14 @@ export class UmbWorkspaceBreadcrumbElement extends UmbLitElement { `; } - static styles = [UmbTextStyles]; + static styles = [ + UmbTextStyles, + css` + :host { + margin-left: var(--uui-size-layout-1); + } + `, + ]; } export default UmbWorkspaceBreadcrumbElement; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.ts index 6812578f47..08f21e1d6f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.ts @@ -1,12 +1,12 @@ -import { html, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { css, customElement, html, ifDefined, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { UmbVariantDatasetWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; -import { UMB_VARIANT_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbVariantId } from '@umbraco-cms/backoffice/variant'; -import type { UmbAppLanguageContext } from '@umbraco-cms/backoffice/language'; import { UMB_APP_LANGUAGE_CONTEXT } from '@umbraco-cms/backoffice/language'; import { UMB_SECTION_CONTEXT } from '@umbraco-cms/backoffice/section'; +import { UMB_VARIANT_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; +import type { UmbAppLanguageContext } from '@umbraco-cms/backoffice/language'; +import type { UmbVariantDatasetWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; import type { UmbVariantStructureItemModel } from '@umbraco-cms/backoffice/menu'; @customElement('umb-workspace-variant-menu-breadcrumb') @@ -124,7 +124,14 @@ export class UmbWorkspaceVariantMenuBreadcrumbElement extends UmbLitElement { `; } - static styles = [UmbTextStyles]; + static styles = [ + UmbTextStyles, + css` + :host { + margin-left: var(--uui-size-layout-1); + } + `, + ]; } export default UmbWorkspaceVariantMenuBreadcrumbElement; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts index c10e1a71b3..a7558ff5c3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts @@ -1,11 +1,10 @@ -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { css, html, nothing, customElement, property, state, repeat } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbRoute, UmbRouterSlotInitEvent, UmbRouterSlotChangeEvent } from '@umbraco-cms/backoffice/router'; -import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry'; +import { css, customElement, html, nothing, property, repeat, state, when } from '@umbraco-cms/backoffice/external/lit'; +import { createExtensionElement, UmbExtensionsManifestInitializer } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbExtensionsManifestInitializer, createExtensionElement } from '@umbraco-cms/backoffice/extension-api'; - import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry'; +import type { UmbRoute, UmbRouterSlotInitEvent, UmbRouterSlotChangeEvent } from '@umbraco-cms/backoffice/router'; /** * @element umb-workspace-editor @@ -92,14 +91,15 @@ export class UmbWorkspaceEditorElement extends UmbLitElement { ${this.#renderRoutes()} - ${this.enforceNoFooter - ? '' - : html` - - - - - `} + ${when( + !this.enforceNoFooter, + () => html` + + + + + `, + )} `; } @@ -114,10 +114,10 @@ export class UmbWorkspaceEditorElement extends UmbLitElement { (view) => view.alias, (view) => html` - + .label="${view.meta.label ? this.localize.string(view.meta.label) : view.name}" + ?active=${'view/' + view.meta.pathname === this._activePath}> + ${view.meta.label ? this.localize.string(view.meta.label) : view.name} `, @@ -132,8 +132,8 @@ export class UmbWorkspaceEditorElement extends UmbLitElement { if (!this.backPath) return nothing; return html` @@ -143,20 +143,17 @@ export class UmbWorkspaceEditorElement extends UmbLitElement { } #renderRoutes() { + if (!this._routes || this._routes.length === 0) return nothing; return html` - ${this._routes && this._routes.length > 0 - ? html` - { - this._routerPath = event.target.absoluteRouterPath; - }} - @change=${(event: UmbRouterSlotChangeEvent) => { - this._activePath = event.target.localActiveViewPath; - }}> - ` - : nothing} + { + this._routerPath = event.target.absoluteRouterPath; + }} + @change=${(event: UmbRouterSlotChangeEvent) => { + this._activePath = event.target.localActiveViewPath; + }}> `; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.ts index 6c19375a8e..fa3eb99eb0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.ts @@ -84,7 +84,7 @@ export class UmbPropertyEditorUIPickerModalElement extends UmbModalBaseElement< render() { return html` - + ${this._renderFilter()} ${this._renderGrid()}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/dictionary/workspace/dictionary-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/dictionary/workspace/dictionary-workspace-editor.element.ts index 96d7b1aa3d..553abc418c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/dictionary/workspace/dictionary-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/dictionary/workspace/dictionary-workspace-editor.element.ts @@ -38,11 +38,8 @@ export class UmbDictionaryWorkspaceEditorElement extends UmbLitElement { render() { return html` - +