{"version":3,"file":"workspace.element-DdQJUBq_.js","sources":["../../../src/packages/core/workspace/workspace.context-token.ts","../../../src/packages/core/workspace/conditions/const.ts","../../../src/packages/core/workspace/entity-detail/global-components/entity-detail-not-found.element.ts","../../../src/packages/core/workspace/entity-detail/entity-detail-workspace.context-token.ts","../../../src/packages/core/workspace/entity-detail/global-components/entity-detail-workspace-editor.element.ts","../../../src/packages/core/workspace/components/workspace-action-menu/workspace-action-menu.element.ts","../../../src/packages/core/workspace/contexts/tokens/entity-workspace.context-token.ts","../../../src/packages/core/workspace/contexts/tokens/property-structure-workspace.context-token.ts","../../../src/packages/core/workspace/contexts/tokens/publishable-workspace.context-token.ts","../../../src/packages/core/workspace/contexts/tokens/routable-workspace.context-token.ts","../../../src/packages/core/workspace/contexts/tokens/submittable-workspace.context-token.ts","../../../src/packages/core/workspace/contexts/tokens/variant-workspace.context-token.ts","../../../src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts","../../../src/packages/core/workspace/components/workspace-entity-action-menu/workspace-entity-action-menu.element.ts","../../../src/packages/core/workspace/components/workspace-footer/workspace-footer.element.ts","../../../src/packages/core/workspace/namable/namable-workspace.context-token.ts","../../../src/packages/core/workspace/components/workspace-header-name-editable/workspace-header-name-editable.element.ts","../../../src/packages/core/workspace/components/workspace-split-view/workspace-split-view.context.ts","../../../src/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.ts","../../../src/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.ts","../../../src/packages/core/workspace/entity-detail/entity-named-detail-workspace.context-token.ts","../../../src/packages/core/workspace/modals/workspace-modal.element.ts","../../../src/packages/core/workspace/modals/workspace-modal.token.ts","../../../src/packages/core/workspace/paths.ts","../../../src/packages/core/workspace/workspace.element.ts"],"sourcesContent":["import type { UmbWorkspaceContext } from './workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_WORKSPACE_CONTEXT = new UmbContextToken('UmbWorkspaceContext');\r\n","/**\r\n * Workspace has collection condition alias\r\n */\r\nexport const UMB_WORKSPACE_HAS_COLLECTION_CONDITION_ALIAS = 'Umb.Condition.WorkspaceHasCollection';\r\n\r\n/**\r\n * [Deperecated] Workspace has collection condition alias\r\n * @deprecated Use {UMB_WORKSPACE_HAS_COLLECTION_CONDITION_ALIAS} instead. This will be removed in Umbraco 16.\r\n */\r\nexport const UMB_WORKSPACE_HAS_COLLECTION_CONDITION = UMB_WORKSPACE_HAS_COLLECTION_CONDITION_ALIAS;\r\n\r\n/**\r\n * Workspace entity is new condition alias\r\n */\r\nexport const UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION_ALIAS = 'Umb.Condition.WorkspaceEntityIsNew';\r\n\r\n/**\r\n * [Deperecated] Workspace entity is new condition alias\r\n * @deprecated Use {UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION_ALIAS} instead. This will be removed in Umbraco 16.\r\n */\r\nexport const UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION = UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION_ALIAS;\r\n\r\n/**\r\n * Workspace alias condition alias\r\n */\r\nexport const UMB_WORKSPACE_CONDITION_ALIAS = 'Umb.Condition.WorkspaceAlias';\r\n","import { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { css, html, customElement, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\n@customElement('umb-entity-detail-not-found')\r\nexport class UmbEntityDetailNotFoundElement extends UmbLitElement {\r\n\t@property({ type: String, attribute: 'entity-type' })\r\n\tentityType = '';\r\n\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t
\r\n\t\t\t\t

${this.localize.term('entityDetail_notFoundTitle', this.entityType)}

\r\n\t\t\t\t${this.localize.term('entityDetail_notFoundDescription', this.entityType)}\r\n\t\t\t
\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tmin-width: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host > div {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t@keyframes fadeIn {\r\n\t\t\t\t100% {\r\n\t\t\t\t\topacity: 100%;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-entity-detail-not-found': UmbEntityDetailNotFoundElement;\r\n\t}\r\n}\r\n","import type { UmbWorkspaceContext } from '../workspace-context.interface.js';\r\nimport type { UmbEntityDetailWorkspaceContextBase } from './entity-detail-workspace-base.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbEntityDetailWorkspaceContextBase\r\n>(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbEntityDetailWorkspaceContextBase =>\r\n\t\t(context as UmbEntityDetailWorkspaceContextBase).IS_ENTITY_DETAIL_WORKSPACE_CONTEXT,\r\n);\r\n","import { UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT } from '../entity-detail-workspace.context-token.js';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { css, customElement, html, ifDefined, nothing, property, state } from '@umbraco-cms/backoffice/external/lit';\r\n\r\n@customElement('umb-entity-detail-workspace-editor')\r\nexport class UmbEntityDetailWorkspaceEditorElement extends UmbLitElement {\r\n\t@property({ attribute: 'back-path' })\r\n\tpublic backPath?: string;\r\n\r\n\t@state()\r\n\tprivate _entityType?: string;\r\n\r\n\t@state()\r\n\tprivate _isLoading = false;\r\n\r\n\t@state()\r\n\tprivate _exists = false;\r\n\r\n\t@state()\r\n\tprivate _isNew? = false;\r\n\r\n\t#context?: typeof UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT.TYPE;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.consumeContext(UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT, (context) => {\r\n\t\t\tthis.#context = context;\r\n\t\t\tthis.observe(this.#context?.entityType, (entityType) => (this._entityType = entityType));\r\n\t\t\tthis.observe(this.#context?.loading.isOn, (isLoading) => (this._isLoading = isLoading));\r\n\t\t\tthis.observe(this.#context?.data, (data) => (this._exists = !!data));\r\n\t\t\tthis.observe(this.#context?.isNew, (isNew) => (this._isNew = isNew));\r\n\t\t});\r\n\t}\r\n\r\n\tprotected override render() {\r\n\t\treturn html` ${!this._exists && !this._isLoading\r\n\t\t\t\t? html``\r\n\t\t\t\t: nothing}\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t${this.#renderEntityActions()}\r\n\t\t\t\t\r\n\t\t\t`;\r\n\t}\r\n\r\n\t#renderEntityActions() {\r\n\t\tif (this._isNew) return nothing;\r\n\t\treturn html``;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tcss`\r\n\t\t\tumb-workspace-editor {\r\n\t\t\t\tvisibility: visible;\r\n\t\t\t}\r\n\r\n\t\t\tumb-workspace-editor.hide {\r\n\t\t\t\tvisibility: hidden;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-entity-detail-workspace-editor': UmbEntityDetailWorkspaceEditorElement;\r\n\t}\r\n}\r\n","import { css, html, customElement, property, state, nothing, repeat } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport type { ManifestWorkspaceActionMenuItem } from '@umbraco-cms/backoffice/workspace';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport type { UUIInterfaceColor, UUIInterfaceLook } from '@umbraco-cms/backoffice/external/uui';\r\nimport type { UmbExtensionElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';\r\n\r\n@customElement('umb-workspace-action-menu')\r\nexport class UmbWorkspaceActionMenuElement extends UmbLitElement {\r\n\t@property()\r\n\tlook: UUIInterfaceLook = 'secondary';\r\n\r\n\t@property()\r\n\tcolor: UUIInterfaceColor = 'default';\r\n\r\n\t@property({ type: Array, attribute: false })\r\n\titems: Array> = [];\r\n\r\n\t@state()\r\n\t_popoverOpen = false;\r\n\r\n\t#onPopoverToggle(event: ToggleEvent) {\r\n\t\t// TODO: This ignorer is just neede for JSON SCHEMA TO WORK, As its not updated with latest TS jet.\r\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t// @ts-ignore\r\n\t\tthis._popoverOpen = event.newState === 'open';\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn this.items?.length\r\n\t\t\t? html`\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t${repeat(\r\n\t\t\t\t\t\t\t\t\tthis.items,\r\n\t\t\t\t\t\t\t\t\t(ext) => ext.alias,\r\n\t\t\t\t\t\t\t\t\t(ext) => ext.component,\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t`\r\n\t\t\t: nothing;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\t--uui-menu-item-flat-structure: 1;\r\n\t\t\t}\r\n\r\n\t\t\t#expand-symbol {\r\n\t\t\t\t/* TODO: remove this hack and use a proper UUI symbol for this */\r\n\t\t\t\ttransform: rotate(-90deg);\r\n\t\t\t}\r\n\r\n\t\t\t#expand-symbol[open] {\r\n\t\t\t\ttransform: rotate(0deg);\r\n\t\t\t}\r\n\r\n\t\t\t#workspace-action-popover {\r\n\t\t\t\tmin-width: 200px;\r\n\t\t\t}\r\n\r\n\t\t\t#popover-trigger {\r\n\t\t\t\t--uui-button-padding-top-factor: 0;\r\n\t\t\t\t--uui-button-padding-bottom-factor: 0.125;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-action-menu': UmbWorkspaceActionMenuElement;\r\n\t}\r\n}\r\n","import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';\r\nimport type { UmbEntityWorkspaceContext } from './entity-workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_ENTITY_WORKSPACE_CONTEXT = new UmbContextToken(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbEntityWorkspaceContext => (context as any).getUnique !== undefined,\r\n);\r\n","import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';\r\nimport type { UmbPropertyStructureWorkspaceContext } from './property-structure-workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_PROPERTY_STRUCTURE_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbPropertyStructureWorkspaceContext\r\n>(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbPropertyStructureWorkspaceContext => 'propertyStructureById' in context,\r\n);\r\n","import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\nimport type { UmbPublishableWorkspaceContext, UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace';\r\n\r\nexport const UMB_PUBLISHABLE_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbPublishableWorkspaceContext\r\n>('UmbWorkspaceContext', undefined, (context): context is UmbPublishableWorkspaceContext => 'publish' in context);\r\n","import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';\r\nimport type { UmbRoutableWorkspaceContext } from './routable-workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_ROUTABLE_WORKSPACE_CONTEXT = new UmbContextToken(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbRoutableWorkspaceContext => 'routes' in context,\r\n);\r\n","import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\nimport type { UmbWorkspaceContext, UmbSubmittableWorkspaceContext } from '@umbraco-cms/backoffice/workspace';\r\n\r\nexport const UMB_SUBMITTABLE_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbSubmittableWorkspaceContext\r\n>('UmbWorkspaceContext', undefined, (context): context is UmbSubmittableWorkspaceContext => 'requestSubmit' in context);\r\n","import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';\r\nimport type { UmbVariantDatasetWorkspaceContext } from './variant-dataset-workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_VARIANT_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbVariantDatasetWorkspaceContext\r\n>('UmbWorkspaceContext', undefined, (context): context is UmbVariantDatasetWorkspaceContext => 'variants' in context);\r\n","import { css, customElement, html, nothing, property, repeat, state, when } from '@umbraco-cms/backoffice/external/lit';\r\nimport { createExtensionElement, UmbExtensionsManifestInitializer } from '@umbraco-cms/backoffice/extension-api';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { UMB_WORKSPACE_VIEW_PATH_PATTERN, type ManifestWorkspaceView } from '@umbraco-cms/backoffice/workspace';\r\nimport type { UmbRoute, UmbRouterSlotInitEvent, UmbRouterSlotChangeEvent } from '@umbraco-cms/backoffice/router';\r\n\r\n/**\r\n * @element umb-workspace-editor\r\n * @description\r\n * @slot icon - Slot for icon\r\n * @slot header - Slot for workspace header\r\n * @slot name - Slot for name\r\n * @slot footer - Slot for workspace footer\r\n * @slot actions - Slot for workspace footer actions\r\n * @slot - slot for main content\r\n * @class UmbWorkspaceEditor\r\n * @augments {UmbLitElement}\r\n */\r\n@customElement('umb-workspace-editor')\r\nexport class UmbWorkspaceEditorElement extends UmbLitElement {\r\n\t@property()\r\n\tpublic headline = '';\r\n\r\n\t@property({ type: Boolean })\r\n\tpublic hideNavigation = false;\r\n\r\n\t@property({ type: Boolean })\r\n\tpublic enforceNoFooter = false;\r\n\r\n\t@property({ attribute: 'back-path' })\r\n\tpublic backPath?: string;\r\n\r\n\t@property({ type: Boolean })\r\n\tpublic loading = false;\r\n\r\n\t@state()\r\n\tprivate _workspaceViews: Array = [];\r\n\r\n\t@state()\r\n\tprivate _routes?: UmbRoute[];\r\n\r\n\t@state()\r\n\tprivate _routerPath?: string;\r\n\r\n\t@state()\r\n\tprivate _activePath?: string;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tnew UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, 'workspaceView', null, (workspaceViews) => {\r\n\t\t\tthis._workspaceViews = workspaceViews.map((view) => view.manifest);\r\n\t\t\tthis._createRoutes();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _createRoutes() {\r\n\t\tlet newRoutes: UmbRoute[] = [];\r\n\r\n\t\tif (this._workspaceViews.length > 0) {\r\n\t\t\tnewRoutes = this._workspaceViews.map((manifest) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpath: UMB_WORKSPACE_VIEW_PATH_PATTERN.generateLocal({ viewPathname: manifest.meta.pathname }),\r\n\t\t\t\t\tcomponent: () => createExtensionElement(manifest),\r\n\t\t\t\t\tsetup: (component) => {\r\n\t\t\t\t\t\tif (component) {\r\n\t\t\t\t\t\t\t(component as any).manifest = manifest;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t} as UmbRoute;\r\n\t\t\t});\r\n\r\n\t\t\t// Duplicate first workspace and use it for the empty path scenario. [NL]\r\n\t\t\tnewRoutes.push({ ...newRoutes[0], path: '' });\r\n\r\n\t\t\tnewRoutes.push({\r\n\t\t\t\tpath: `**`,\r\n\t\t\t\tcomponent: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._routes = newRoutes;\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.#renderBackButton()}\r\n\t\t\t\t\r\n\t\t\t\t${this.#renderViews()}\r\n\t\t\t\t\r\n\t\t\t\t${this.#renderRoutes()}\r\n\t\t\t\t\r\n\t\t\t\t${when(\r\n\t\t\t\t\t!this.enforceNoFooter,\r\n\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t`,\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderViews() {\r\n\t\treturn html`\r\n\t\t\t${!this.hideNavigation && this._workspaceViews.length > 1\r\n\t\t\t\t? html`\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t${repeat(\r\n\t\t\t\t\t\t\t\tthis._workspaceViews,\r\n\t\t\t\t\t\t\t\t(view) => view.alias,\r\n\t\t\t\t\t\t\t\t(view, index) =>\r\n\t\t\t\t\t\t\t\t\t// Notice how we use index 0 to determine which workspace that is active with empty path. [NL]\r\n\t\t\t\t\t\t\t\t\thtml`\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t${view.meta.label ? this.localize.string(view.meta.label) : view.name}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t`,\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t`\r\n\t\t\t\t: nothing}\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderBackButton() {\r\n\t\tif (!this.backPath) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderRoutes() {\r\n\t\tif (!this._routes || this._routes.length === 0) return nothing;\r\n\t\treturn html`\r\n\t\t\t {\r\n\t\t\t\t\tthis._routerPath = event.target.absoluteRouterPath;\r\n\t\t\t\t}}\r\n\t\t\t\t@change=${(event: UmbRouterSlotChangeEvent) => {\r\n\t\t\t\t\tthis._activePath = event.target.localActiveViewPath;\r\n\t\t\t\t}}>\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t#router-slot {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t.back-button {\r\n\t\t\t\tmargin-right: var(--uui-size-space-4);\r\n\t\t\t}\r\n\r\n\t\t\tuui-input {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\tuui-tab-group {\r\n\t\t\t\t--uui-tab-divider: var(--uui-color-border);\r\n\t\t\t\tborder-left: 1px solid var(--uui-color-border);\r\n\t\t\t\tborder-right: 1px solid var(--uui-color-border);\r\n\t\t\t}\r\n\r\n\t\t\tumb-extension-slot[slot='actions'] {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tgap: var(--uui-size-space-2);\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-editor': UmbWorkspaceEditorElement;\r\n\t}\r\n}\r\n","import { UMB_ENTITY_WORKSPACE_CONTEXT } from '../../contexts/index.js';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { css, html, customElement, state, nothing, query } from '@umbraco-cms/backoffice/external/lit';\r\nimport type { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport type { UUIPopoverContainerElement } from '@umbraco-cms/backoffice/external/uui';\r\nimport type { UmbEntityUnique } from '@umbraco-cms/backoffice/entity';\r\n@customElement('umb-workspace-entity-action-menu')\r\nexport class UmbWorkspaceEntityActionMenuElement extends UmbLitElement {\r\n\tprivate _workspaceContext?: typeof UMB_ENTITY_WORKSPACE_CONTEXT.TYPE;\r\n\r\n\t@state()\r\n\tprivate _unique?: UmbEntityUnique;\r\n\r\n\t@state()\r\n\tprivate _entityType?: string;\r\n\r\n\t@state()\r\n\tprivate _popoverOpen = false;\r\n\r\n\t@query('#workspace-entity-action-menu-popover')\r\n\tprivate _popover?: UUIPopoverContainerElement;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.consumeContext(UMB_ENTITY_WORKSPACE_CONTEXT, (context) => {\r\n\t\t\tthis._workspaceContext = context;\r\n\t\t\tthis.observe(this._workspaceContext.unique, (unique) => {\r\n\t\t\t\tthis._unique = unique;\r\n\t\t\t\t// TODO: the context does not have an observable for the entity type, so we need to use the\r\n\t\t\t\t// getEntityType method until we can add an observable for it.\r\n\t\t\t\tthis._entityType = this._workspaceContext?.getEntityType();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t#onActionExecuted(event: UmbActionExecutedEvent) {\r\n\t\tevent.stopPropagation();\r\n\r\n\t\t// TODO: This ignorer is just needed for JSON SCHEMA TO WORK, As its not updated with latest TS jet.\r\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t// @ts-ignore\r\n\t\tthis._popover?.hidePopover();\r\n\t}\r\n\r\n\t#onPopoverToggle(event: ToggleEvent) {\r\n\t\t// TODO: This ignorer is just needed for JSON SCHEMA TO WORK, As its not updated with latest TS jet.\r\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t// @ts-ignore\r\n\t\tthis._popoverOpen = event.newState === 'open';\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn this._unique !== undefined && this._entityType\r\n\t\t\t? html`\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${this.localize.term('general_actions')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t`\r\n\t\t\t: nothing;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t:host > uui-button {\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-entity-action-menu': UmbWorkspaceEntityActionMenuElement;\r\n\t}\r\n}\r\n","import { UMB_SUBMITTABLE_WORKSPACE_CONTEXT } from '../../contexts/tokens/submittable-workspace.context-token.js';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';\r\n\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport type { UmbModalContext } from '@umbraco-cms/backoffice/modal';\r\nimport { UMB_MODAL_CONTEXT } from '@umbraco-cms/backoffice/modal';\r\nimport type {\r\n\tManifestWorkspaceAction,\r\n\tMetaWorkspaceAction,\r\n\tUmbWorkspaceActionArgs,\r\n} from '@umbraco-cms/backoffice/workspace';\r\n\r\n/**\r\n *\r\n * @param manifest\r\n * @returns\r\n */\r\nfunction ExtensionApiArgsMethod(\r\n\tmanifest: ManifestWorkspaceAction,\r\n): [UmbWorkspaceActionArgs] {\r\n\treturn [{ meta: manifest.meta }];\r\n}\r\n\r\n/**\r\n * @element umb-workspace-footer\r\n * @slot - Slot for workspace footer items\r\n * @slot actions - Slot for workspace actions\r\n * @class UmbWorkspaceFooterLayout\r\n * @augments {UmbLitElement}\r\n */\r\n// TODO: stop naming this something with layout. as its not just an layout. it hooks up with extensions.\r\n@customElement('umb-workspace-footer')\r\nexport class UmbWorkspaceFooterLayoutElement extends UmbLitElement {\r\n\t@state()\r\n\t_withinModal = false;\r\n\r\n\t@state()\r\n\t_modalContext?: UmbModalContext;\r\n\r\n\t@state()\r\n\t_isNew?: boolean;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.consumeContext(UMB_SUBMITTABLE_WORKSPACE_CONTEXT, (context) => {\r\n\t\t\tthis._isNew = context.getIsNew();\r\n\t\t});\r\n\t\tthis.consumeContext(UMB_MODAL_CONTEXT, (context) => {\r\n\t\t\tthis._modalContext = context;\r\n\t\t});\r\n\t}\r\n\r\n\t#rejectModal = () => {\r\n\t\tthis._modalContext?.reject();\r\n\t};\r\n\r\n\t// TODO: Some event/callback from umb-extension-slot that can be utilized to hide the footer, if empty.\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t${this._modalContext\r\n\t\t\t\t\t? html``\r\n\t\t\t\t\t: ''}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t/* prevents text in action buttons from wrapping */\r\n\t\t\tumb-extension-with-api-slot {\r\n\t\t\t\ttext-wrap: nowrap;\r\n\t\t\t}\r\n\r\n\t\t\tumb-extension-slot[slot='actions'] {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tgap: var(--uui-size-space-2);\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-footer': UmbWorkspaceFooterLayoutElement;\r\n\t}\r\n}\r\n","import type { UmbWorkspaceContext } from '../workspace-context.interface.js';\r\nimport type { UmbNamableWorkspaceContext } from './namable-workspace-context.interface.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_NAMABLE_WORKSPACE_CONTEXT = new UmbContextToken(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbNamableWorkspaceContext => (context as any).getName !== undefined,\r\n);\r\n","import { UMB_NAMABLE_WORKSPACE_CONTEXT } from '../../namable/index.js';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { css, html, customElement, state, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport { umbFocus, UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui';\r\nimport { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';\r\nimport { umbBindToValidation } from '@umbraco-cms/backoffice/validation';\r\n\r\n@customElement('umb-workspace-header-name-editable')\r\nexport class UmbWorkspaceHeaderNameEditableElement extends UmbLitElement {\r\n\t/**\r\n\t * The label for the inner input.\r\n\t * @attr\r\n\t */\r\n\t@property()\r\n\tlabel?: string;\r\n\r\n\t/**\r\n\t * The placeholder for the inner input.\r\n\t * @attr\r\n\t */\r\n\t@property()\r\n\tplaceholder?: string;\r\n\r\n\t/**\r\n\t * The readonly state of the inner input.\r\n\t * @attr\r\n\t */\r\n\treadonly = false;\r\n\r\n\t@state()\r\n\tprivate _name = '';\r\n\r\n\t#workspaceContext?: typeof UMB_NAMABLE_WORKSPACE_CONTEXT.TYPE;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.consumeContext(UMB_NAMABLE_WORKSPACE_CONTEXT, (workspaceContext) => {\r\n\t\t\tthis.#workspaceContext = workspaceContext;\r\n\t\t\tthis.#observeName();\r\n\t\t});\r\n\t}\r\n\r\n\t#observeName() {\r\n\t\tif (!this.#workspaceContext) return;\r\n\t\tthis.observe(\r\n\t\t\tthis.#workspaceContext.name,\r\n\t\t\t(name) => {\r\n\t\t\t\tif (name !== this._name) {\r\n\t\t\t\t\tthis._name = name ?? '';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'observeWorkspaceName',\r\n\t\t);\r\n\t}\r\n\r\n\t#onNameInput(event: UUIInputEvent) {\r\n\t\tif (event instanceof UUIInputEvent) {\r\n\t\t\tconst target = event.composedPath()[0] as UUIInputElement;\r\n\r\n\t\t\tif (typeof target?.value === 'string') {\r\n\t\t\t\tthis.#workspaceContext?.setName(target.value);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html``;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: contents;\r\n\t\t\t}\r\n\r\n\t\t\t#nameInput {\r\n\t\t\t\tflex: 1 1 auto;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-header-name-editable': UmbWorkspaceHeaderNameEditableElement;\r\n\t}\r\n}\r\n","import { UMB_VARIANT_WORKSPACE_CONTEXT } from '../../contexts/index.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbContextBase } from '@umbraco-cms/backoffice/class-api';\r\nimport { UmbNumberState } from '@umbraco-cms/backoffice/observable-api';\r\nimport { UmbVariantId } from '@umbraco-cms/backoffice/variant';\r\nimport type { UmbPropertyDatasetContext } from '@umbraco-cms/backoffice/property';\r\nimport { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';\r\n\r\nexport class UmbWorkspaceSplitViewContext extends UmbContextBase {\r\n\t#workspaceContext?: typeof UMB_VARIANT_WORKSPACE_CONTEXT.TYPE;\r\n\tpublic getWorkspaceContext() {\r\n\t\treturn this.#workspaceContext;\r\n\t}\r\n\r\n\t#datasetContext?: UmbPropertyDatasetContext;\r\n\r\n\t#index = new UmbNumberState(undefined);\r\n\tindex = this.#index.asObservable();\r\n\r\n\t//#variantId = new UmbClassState(undefined);\r\n\t//variantId = this.#variantId.asObservable();\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UMB_WORKSPACE_SPLIT_VIEW_CONTEXT);\r\n\r\n\t\tthis.consumeContext(UMB_VARIANT_WORKSPACE_CONTEXT, (context) => {\r\n\t\t\tthis.#workspaceContext = context;\r\n\t\t\tthis._observeVariant();\r\n\t\t});\r\n\r\n\t\tthis.observe(this.index, () => {\r\n\t\t\tthis._observeVariant();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _observeVariant() {\r\n\t\tif (!this.#workspaceContext) return;\r\n\r\n\t\tconst index = this.#index.getValue();\r\n\t\tif (index === undefined) return;\r\n\r\n\t\tthis.observe(\r\n\t\t\tthis.#workspaceContext.splitView.activeVariantByIndex(index),\r\n\t\t\tasync (activeVariantInfo) => {\r\n\t\t\t\tif (!activeVariantInfo) return;\r\n\r\n\t\t\t\tthis.#datasetContext?.destroy();\r\n\t\t\t\tconst variantId = UmbVariantId.Create(activeVariantInfo);\r\n\t\t\t\tthis.#datasetContext = this.#workspaceContext?.createPropertyDatasetContext(this, variantId);\r\n\t\t\t\tthis.getHostElement().setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'workspace-split-view:' + variantId.toString());\r\n\t\t\t},\r\n\t\t\t'_observeActiveVariant',\r\n\t\t);\r\n\t}\r\n\r\n\tpublic switchVariant(variant: UmbVariantId) {\r\n\t\tconst index = this.#index.value;\r\n\t\tif (index === undefined) return;\r\n\t\tthis.#workspaceContext?.splitView.switchVariant(index, variant);\r\n\t}\r\n\r\n\tpublic closeSplitView() {\r\n\t\tconst index = this.#index.value;\r\n\t\tif (index === undefined) return;\r\n\t\tthis.#workspaceContext?.splitView.closeSplitView(index);\r\n\t}\r\n\r\n\tpublic openSplitView(variant: UmbVariantId) {\r\n\t\tthis.#workspaceContext?.splitView.openSplitView(variant);\r\n\t}\r\n\r\n\tpublic getSplitViewIndex() {\r\n\t\treturn this.#index.getValue();\r\n\t}\r\n\tpublic setSplitViewIndex(index: number) {\r\n\t\tthis.#index.setValue(index);\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * concept this class could have methods to set and get the culture and segment of the active variant? just by using the index.\r\n\t */\r\n\r\n\t/*\r\n\tpublic destroy(): void {\r\n\r\n\t}\r\n\t*/\r\n}\r\n\r\nexport const UMB_WORKSPACE_SPLIT_VIEW_CONTEXT = new UmbContextToken(\r\n\t'UmbWorkspaceSplitViewContext',\r\n);\r\n","import type { ActiveVariant } from '../../controllers/index.js';\r\nimport { UMB_WORKSPACE_SPLIT_VIEW_CONTEXT } from './workspace-split-view.context.js';\r\nimport { css, customElement, html, ifDefined, nothing, query, ref, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { UmbVariantId } from '@umbraco-cms/backoffice/variant';\r\nimport { UmbDataPathVariantQuery, umbBindToValidation } from '@umbraco-cms/backoffice/validation';\r\nimport { UMB_PROPERTY_DATASET_CONTEXT, isNameablePropertyDatasetContext } from '@umbraco-cms/backoffice/property';\r\nimport { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';\r\nimport type { UmbContentWorkspaceContext } from '@umbraco-cms/backoffice/content';\r\nimport type { UmbEntityVariantModel, UmbEntityVariantOptionModel } from '@umbraco-cms/backoffice/variant';\r\nimport type { UmbVariantState } from '@umbraco-cms/backoffice/utils';\r\nimport type { UUIInputElement, UUIPopoverContainerElement } from '@umbraco-cms/backoffice/external/uui';\r\n\r\n@customElement('umb-workspace-split-view-variant-selector')\r\nexport class UmbWorkspaceSplitViewVariantSelectorElement<\r\n\tVariantOptionModelType extends\r\n\t\tUmbEntityVariantOptionModel = UmbEntityVariantOptionModel,\r\n> extends UmbLitElement {\r\n\t@query('#variant-selector-popover')\r\n\tprivate _popoverElement?: UUIPopoverContainerElement;\r\n\r\n\t@state()\r\n\tprivate _variantOptions: Array = [];\r\n\r\n\t@state()\r\n\tprivate _readOnlyStates: Array = [];\r\n\r\n\t@state()\r\n\t_activeVariants: Array = [];\r\n\r\n\t@state()\r\n\t_activeVariantsCultures: string[] = [];\r\n\r\n\t#splitViewContext?: typeof UMB_WORKSPACE_SPLIT_VIEW_CONTEXT.TYPE;\r\n\t#datasetContext?: typeof UMB_PROPERTY_DATASET_CONTEXT.TYPE;\r\n\r\n\t@state()\r\n\tprivate _name?: string;\r\n\r\n\t@state()\r\n\tprivate _activeVariant?: VariantOptionModelType;\r\n\r\n\t@state()\r\n\tprivate _variantId?: UmbVariantId;\r\n\r\n\t@state()\r\n\tprivate _variantSelectorOpen = false;\r\n\r\n\t@state()\r\n\tprivate _readOnlyCultures: string[] = [];\r\n\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tprotected _variantSorter = (a: VariantOptionModelType, b: VariantOptionModelType) => {\r\n\t\treturn 0;\r\n\t};\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.consumeContext(UMB_WORKSPACE_SPLIT_VIEW_CONTEXT, (instance) => {\r\n\t\t\tthis.#splitViewContext = instance;\r\n\r\n\t\t\tconst workspaceContext = this.#splitViewContext.getWorkspaceContext() as unknown as UmbContentWorkspaceContext;\r\n\t\t\tif (!workspaceContext) throw new Error('Split View Workspace context not found');\r\n\r\n\t\t\tthis.#observeVariants(workspaceContext);\r\n\t\t\tthis.#observeActiveVariants(workspaceContext);\r\n\t\t\tthis.#observeReadOnlyStates(workspaceContext);\r\n\t\t\tthis.#observeCurrentVariant();\r\n\t\t});\r\n\r\n\t\tthis.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (instance) => {\r\n\t\t\tthis.#datasetContext = instance;\r\n\t\t\tthis.#observeDatasetContext();\r\n\t\t\tthis.#observeCurrentVariant();\r\n\t\t});\r\n\t}\r\n\r\n\tasync #observeVariants(workspaceContext: UmbContentWorkspaceContext) {\r\n\t\tthis.observe(\r\n\t\t\tworkspaceContext.variantOptions,\r\n\t\t\t(variantOptions) => {\r\n\t\t\t\tthis._variantOptions = (variantOptions as Array).sort(this._variantSorter);\r\n\t\t\t\tthis.#setReadOnlyCultures();\r\n\t\t\t},\r\n\t\t\t'_observeVariantOptions',\r\n\t\t);\r\n\t}\r\n\r\n\tasync #observeReadOnlyStates(workspaceContext: UmbContentWorkspaceContext) {\r\n\t\tthis.observe(\r\n\t\t\tworkspaceContext.readOnlyState.states,\r\n\t\t\t(states) => {\r\n\t\t\t\tthis._readOnlyStates = states;\r\n\t\t\t\tthis.#setReadOnlyCultures();\r\n\t\t\t},\r\n\t\t\t'umbObserveReadOnlyStates',\r\n\t\t);\r\n\t}\r\n\r\n\tasync #observeActiveVariants(workspaceContext: UmbContentWorkspaceContext) {\r\n\t\tthis.observe(\r\n\t\t\tworkspaceContext.splitView.activeVariantsInfo,\r\n\t\t\t(activeVariants) => {\r\n\t\t\t\tif (activeVariants) {\r\n\t\t\t\t\tthis._activeVariants = activeVariants;\r\n\t\t\t\t\tthis._activeVariantsCultures = this._activeVariants.map((el) => el.culture ?? '') ?? [];\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'_observeActiveVariants',\r\n\t\t);\r\n\t}\r\n\r\n\tasync #observeDatasetContext() {\r\n\t\tif (!this.#datasetContext) return;\r\n\t\tthis.observe(\r\n\t\t\tthis.#datasetContext.name,\r\n\t\t\t(name) => {\r\n\t\t\t\tthis._name = name;\r\n\t\t\t},\r\n\t\t\t'_name',\r\n\t\t);\r\n\t}\r\n\r\n\tasync #observeCurrentVariant() {\r\n\t\tif (!this.#datasetContext || !this.#splitViewContext) return;\r\n\t\tconst workspaceContext = this.#splitViewContext.getWorkspaceContext() as unknown as UmbContentWorkspaceContext;\r\n\t\tif (!workspaceContext) return;\r\n\r\n\t\tthis._variantId = this.#datasetContext.getVariantId();\r\n\r\n\t\tthis.observe(\r\n\t\t\tworkspaceContext.variantOptions,\r\n\t\t\t(options) => {\r\n\t\t\t\tconst option = options.find((option) => option.language.unique === this._variantId?.culture);\r\n\t\t\t\tthis._activeVariant = option as VariantOptionModelType;\r\n\t\t\t},\r\n\t\t\t'_currentLanguage',\r\n\t\t);\r\n\t}\r\n\r\n\t#handleInput(event: UUIInputEvent) {\r\n\t\tif (event instanceof UUIInputEvent) {\r\n\t\t\tconst target = event.composedPath()[0] as UUIInputElement;\r\n\r\n\t\t\tif (\r\n\t\t\t\ttypeof target?.value === 'string' &&\r\n\t\t\t\tthis.#datasetContext &&\r\n\t\t\t\tisNameablePropertyDatasetContext(this.#datasetContext)\r\n\t\t\t) {\r\n\t\t\t\tthis.#datasetContext.setName(target.value);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t#switchVariant(variant: VariantOptionModelType) {\r\n\t\tthis.#splitViewContext?.switchVariant(UmbVariantId.Create(variant));\r\n\t}\r\n\r\n\t#openSplitView(variant: VariantOptionModelType) {\r\n\t\tthis.#splitViewContext?.openSplitView(UmbVariantId.Create(variant));\r\n\t}\r\n\r\n\t#closeSplitView() {\r\n\t\tthis.#splitViewContext?.closeSplitView();\r\n\t}\r\n\r\n\t#isVariantActive(culture: string | null) {\r\n\t\treturn culture !== null ? this._activeVariantsCultures.includes(culture) : true;\r\n\t}\r\n\r\n\t#isCreateMode(variantOption: VariantOptionModelType) {\r\n\t\treturn !variantOption.variant && !this.#isVariantActive(variantOption.culture);\r\n\t}\r\n\r\n\t#hasVariants() {\r\n\t\treturn this._variantOptions?.length > 1;\r\n\t}\r\n\r\n\t#setReadOnlyCultures() {\r\n\t\tthis._readOnlyCultures = this._variantOptions\r\n\t\t\t.filter((variant) => this._readOnlyStates.some((state) => state.variantId.compare(variant)))\r\n\t\t\t.map((variant) => variant.culture)\r\n\t\t\t.filter((item) => item !== null) as string[];\r\n\t}\r\n\r\n\t#onPopoverToggle(event: ToggleEvent) {\r\n\t\t// TODO: This ignorer is just needed for JSON SCHEMA TO WORK, As its not updated with latest TS jet.\r\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t// @ts-ignore\r\n\t\tthis._variantSelectorOpen = event.newState === 'open';\r\n\r\n\t\tif (!this._popoverElement) return;\r\n\r\n\t\t// TODO: This ignorer is just needed for JSON SCHEMA TO WORK, As its not updated with latest TS jet.\r\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t// @ts-ignore\r\n\t\tconst isOpen = event.newState === 'open';\r\n\t\tif (!isOpen) return;\r\n\r\n\t\tconst host = this.getBoundingClientRect();\r\n\t\t// TODO: Ideally this is kept updated while open, but for now we just set it once:\r\n\t\tthis._popoverElement.style.width = `${host.width}px`;\r\n\t}\r\n\r\n\t/**\r\n\t * Focuses the input element after a short delay to ensure it is rendered.\r\n\t * This works better than the {umbFocus()} directive, which does not work in this context.\r\n\t */\r\n\t#focusInput(element?: Element) {\r\n\t\tif (!element) return;\r\n\r\n\t\tsetTimeout(async () => {\r\n\t\t\tawait this.updateComplete;\r\n\t\t\t(element as UUIInputElement)?.focus();\r\n\t\t}, 200);\r\n\t}\r\n\r\n\toverride render() {\r\n\t\tif (!this._variantId) return nothing;\r\n\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.#hasVariants()\r\n\t\t\t\t\t? html`\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t${this._activeVariant?.language.name} ${this.#renderReadOnlyTag(this._activeVariant?.culture)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t${this._activeVariants.length > 1\r\n\t\t\t\t\t\t\t\t? html`\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t`\r\n\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t`\r\n\t\t\t\t\t: nothing}\r\n\t\t\t\r\n\r\n\t\t\t${this.#hasVariants()\r\n\t\t\t\t? html`\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t${this._variantOptions.map((variant) => this.#renderListItem(variant))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t`\r\n\t\t\t\t: nothing}\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderListItem(variantOption: VariantOptionModelType) {\r\n\t\treturn html`\r\n\t\t\t
  • \r\n\t\t\t\t this.#switchVariant(variantOption)}>\r\n\t\t\t\t\t${this.#isCreateMode(variantOption) ? html`` : nothing}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t${variantOption.variant?.name ?? variantOption.language.name}\r\n\t\t\t\t\t\t\t${this.#renderReadOnlyTag(variantOption.culture)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t${this._renderVariantDetails(variantOption)}\r\n\t\t\t\t\t\t\t${variantOption.language.isDefault\r\n\t\t\t\t\t\t\t\t\t? html` - ${this.localize.term('general_default')}`\r\n\t\t\t\t\t\t\t\t\t: nothing}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    ${variantOption.language.name}
    \r\n\t\t\t\t\r\n\t\t\t\t${this.#renderSplitViewButton(variantOption)}\r\n\t\t\t
  • \r\n\t\t`;\r\n\t}\r\n\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tprotected _renderVariantDetails(variantOption: VariantOptionModelType) {\r\n\t\treturn html``;\r\n\t}\r\n\r\n\t#isReadOnly(culture: string | null) {\r\n\t\tif (!culture) return false;\r\n\t\treturn this._readOnlyCultures.includes(culture);\r\n\t}\r\n\r\n\t#renderReadOnlyTag(culture?: string | null) {\r\n\t\tif (!culture) return nothing;\r\n\t\treturn this.#isReadOnly(culture)\r\n\t\t\t? html`${this.localize.term('general_readOnly')}`\r\n\t\t\t: nothing;\r\n\t}\r\n\r\n\t#renderSplitViewButton(variant: VariantOptionModelType) {\r\n\t\treturn html`\r\n\t\t\t${this.#isVariantActive(variant.culture)\r\n\t\t\t\t? nothing\r\n\t\t\t\t: html`\r\n\t\t\t\t\t\t this.#openSplitView(variant)}>\r\n\t\t\t\t\t\t\tOpen in Split view\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t`}\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t#name-input {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t#variant-selector-toggle {\r\n\t\t\t\twhite-space: nowrap;\r\n\t\t\t}\r\n\r\n\t\t\t#variant-selector-popover {\r\n\t\t\t\ttranslate: 1px; /* Fixes tiny alignment issue caused by border */\r\n\t\t\t}\r\n\r\n\t\t\t#variant-selector-dropdown {\r\n\t\t\t\toverflow: hidden;\r\n\t\t\t\tz-index: -1;\r\n\t\t\t\tbackground-color: var(--uui-combobox-popover-background-color, var(--uui-color-surface));\r\n\t\t\t\tborder: 1px solid var(--uui-color-border);\r\n\t\t\t\tborder-radius: var(--uui-border-radius);\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbox-shadow: var(--uui-shadow-depth-3);\r\n\t\t\t}\r\n\r\n\t\t\t#variant-close {\r\n\t\t\t\twhite-space: nowrap;\r\n\t\t\t}\r\n\r\n\t\t\tuui-scroll-container {\r\n\t\t\t\tmax-height: 50dvh;\r\n\t\t\t}\r\n\r\n\t\t\tul {\r\n\t\t\t\tlist-style-type: none;\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\r\n\t\t\tli {\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tmargin-bottom: 1px;\r\n\t\t\t}\r\n\r\n\t\t\tli:hover .variant-selector-split-view {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t}\r\n\r\n\t\t\tli:nth-last-of-type(1) {\r\n\t\t\t\tmargin-bottom: 0;\r\n\t\t\t}\r\n\r\n\t\t\tli.selected:before {\r\n\t\t\t\tbackground-color: var(--uui-color-current);\r\n\t\t\t\tborder-radius: 0 4px 4px 0;\r\n\t\t\t\tbottom: 8px;\r\n\t\t\t\tcontent: '';\r\n\t\t\t\tleft: 0;\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\ttop: 8px;\r\n\t\t\t\twidth: 4px;\r\n\t\t\t\tz-index: 1;\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tborder: none;\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t\tcolor: var(--uui-color-current-contrast);\r\n\t\t\t\tpadding: 6px 20px;\r\n\t\t\t\tfont-weight: bold;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\ttext-align: left;\r\n\t\t\t\tfont-size: 14px;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tborder-bottom: 1px solid var(--uui-color-divider-standalone);\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button:hover {\r\n\t\t\t\tbackground: var(--uui-palette-sand);\r\n\t\t\t\tcolor: var(--uui-palette-space-cadet-light);\r\n\t\t\t}\r\n\t\t\t.variant-selector-switch-button .variant-info {\r\n\t\t\t\tflex-grow: 1;\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button .variant-details {\r\n\t\t\t\tcolor: var(--uui-color-text-alt);\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-weight: normal;\r\n\t\t\t}\r\n\t\t\t.variant-selector-switch-button .variant-details {\r\n\t\t\t\tcolor: var(--uui-color-text-alt);\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-weight: normal;\r\n\t\t\t}\r\n\t\t\t.variant-selector-switch-button.add-mode .variant-details {\r\n\t\t\t\tcolor: var(--uui-palette-dusty-grey-dark);\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button .specs-info {\r\n\t\t\t\tcolor: var(--uui-color-text-alt);\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-weight: normal;\r\n\t\t\t}\r\n\t\t\t.variant-selector-switch-button.add-mode .specs-info {\r\n\t\t\t\tcolor: var(--uui-palette-dusty-grey-dark);\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button i {\r\n\t\t\t\tfont-weight: normal;\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button.add-mode {\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tcolor: var(--uui-palette-dusty-grey-dark);\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button.add-mode:after {\r\n\t\t\t\tborder: 2px dashed var(--uui-color-divider-standalone);\r\n\t\t\t\tbottom: 0;\r\n\t\t\t\tcontent: '';\r\n\t\t\t\tleft: 0;\r\n\t\t\t\tmargin: 2px;\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tright: 0;\r\n\t\t\t\ttop: 0;\r\n\t\t\t\tz-index: 1;\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button .variant-name {\r\n\t\t\t\tmargin-bottom: var(--uui-size-space-1);\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-switch-button.readonly-mode .variant-name {\r\n\t\t\t\tmargin-bottom: calc(var(--uui-size-space-1) * -1);\r\n\t\t\t}\r\n\r\n\t\t\t.add-icon {\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tmargin-right: 12px;\r\n\t\t\t}\r\n\r\n\t\t\t.variant-selector-split-view {\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\ttop: 0;\r\n\t\t\t\tright: 0;\r\n\t\t\t\tbottom: 1px;\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-split-view-variant-selector': UmbWorkspaceSplitViewVariantSelectorElement;\r\n\t}\r\n}\r\n","import { UmbWorkspaceSplitViewContext } from './workspace-split-view.context.js';\r\nimport { css, html, customElement, property, ifDefined, state, nothing } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\n// import local components\r\nimport './workspace-split-view-variant-selector.element.js';\r\n\r\n/**\r\n *\r\n * Example. Document Workspace would use a Variant-component(variant component would talk directly to the workspace-context)\r\n * As well breadcrumbs etc.\r\n *\r\n */\r\n@customElement('umb-workspace-split-view')\r\nexport class UmbWorkspaceSplitViewElement extends UmbLitElement {\r\n\t@property({ type: Boolean })\r\n\tdisplayNavigation = false;\r\n\r\n\t@property({ attribute: 'back-path' })\r\n\tpublic backPath?: string;\r\n\r\n\t@property({ type: Number })\r\n\tpublic set splitViewIndex(index: number) {\r\n\t\tthis.splitViewContext.setSplitViewIndex(index);\r\n\t}\r\n\tpublic get splitViewIndex(): number {\r\n\t\treturn this.splitViewContext.getSplitViewIndex()!;\r\n\t}\r\n\r\n\t@state()\r\n\tprivate _variantSelectorSlotHasContent = false;\r\n\r\n\tsplitViewContext = new UmbWorkspaceSplitViewContext(this);\r\n\r\n\t#onVariantSelectorSlotChanged(e: Event) {\r\n\t\tthis._variantSelectorSlotHasContent = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0;\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t${this._variantSelectorSlotHasContent\r\n\t\t\t\t\t\t? nothing\r\n\t\t\t\t\t\t: html``}\r\n\t\t\t\t\r\n\r\n\t\t\t\t${this.displayNavigation\r\n\t\t\t\t\t? html``\r\n\t\t\t\t\t: ''}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tmin-width: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host(:not(:last-child)) {\r\n\t\t\t\tborder-right: 1px solid var(--uui-color-border);\r\n\t\t\t}\r\n\r\n\t\t\t#header {\r\n\t\t\t\tflex: 1 1 auto;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\nexport default UmbWorkspaceSplitViewElement;\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-split-view': UmbWorkspaceSplitViewElement;\r\n\t}\r\n}\r\n","import type { UmbWorkspaceContext } from '../workspace-context.interface.js';\r\nimport type { UmbEntityNamedDetailWorkspaceContextBase } from './entity-named-detail-workspace-base.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_ENTITY_NAMED_DETAIL_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbWorkspaceContext,\r\n\tUmbEntityNamedDetailWorkspaceContextBase\r\n>(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbEntityNamedDetailWorkspaceContextBase =>\r\n\t\t(context as UmbEntityNamedDetailWorkspaceContextBase).IS_ENTITY_NAMED_DETAIL_WORKSPACE_CONTEXT,\r\n);\r\n","import { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit';\r\nimport { css, html, customElement, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport type { UmbWorkspaceModalData } from '@umbraco-cms/backoffice/workspace';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\n@customElement('umb-workspace-modal')\r\nexport class UmbWorkspaceModalElement extends UmbLitElement {\r\n\t@property({ attribute: false })\r\n\tdata?: UmbWorkspaceModalData;\r\n\r\n\t/**\r\n\t * TODO: Consider if this binding and events integration is the right for communicating back the modal handler. Or if we should go with some Context API. like a Modal Context API.\r\n\t *\r\n\t */\r\n\toverride render() {\r\n\t\treturn this.data ? html`` : '';\r\n\t}\r\n\r\n\tstatic override styles: CSSResultGroup = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\nexport default UmbWorkspaceModalElement;\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace-modal': UmbWorkspaceModalElement;\r\n\t}\r\n}\r\n","import { UmbModalToken } from '@umbraco-cms/backoffice/modal';\r\nexport interface UmbWorkspaceModalData {\r\n\tentityType: string;\r\n\tpreset: Partial;\r\n\tbaseDataPath?: string;\r\n}\r\n\r\nexport type UmbWorkspaceModalValue =\r\n\t| {\r\n\t\t\tunique: string;\r\n\t }\r\n\t| undefined;\r\n\r\nexport const UMB_WORKSPACE_MODAL = new UmbModalToken(\r\n\t'Umb.Modal.Workspace',\r\n\t{\r\n\t\tmodal: {\r\n\t\t\ttype: 'sidebar',\r\n\t\t\tsize: 'large',\r\n\t\t},\r\n\t},\r\n);\r\n","import { UmbPathPattern } from '@umbraco-cms/backoffice/router';\r\nimport { UMB_SECTION_PATH_PATTERN } from '@umbraco-cms/backoffice/section';\r\n\r\nexport const UMB_WORKSPACE_PATH_PATTERN = new UmbPathPattern<\r\n\t{ entityType: string },\r\n\ttypeof UMB_SECTION_PATH_PATTERN.ABSOLUTE_PARAMS\r\n>('workspace/:entityType', UMB_SECTION_PATH_PATTERN);\r\n\r\nexport const UMB_WORKSPACE_VIEW_PATH_PATTERN = new UmbPathPattern<\r\n\t{ viewPathname: string },\r\n\ttypeof UMB_WORKSPACE_PATH_PATTERN.ABSOLUTE_PARAMS\r\n>('view/:viewPathname', UMB_WORKSPACE_PATH_PATTERN);\r\n","import { nothing, customElement, property, type PropertyValueMap, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport type { ManifestWorkspace } from '@umbraco-cms/backoffice/workspace';\r\nimport {\r\n\tUmbExtensionsApiInitializer,\r\n\tUmbExtensionsElementAndApiInitializer,\r\n\ttype UmbApiConstructorArgumentsMethodType,\r\n} from '@umbraco-cms/backoffice/extension-api';\r\nimport { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\n\r\nconst apiArgsCreator: UmbApiConstructorArgumentsMethodType = (manifest: unknown) => {\r\n\treturn [{ manifest }];\r\n};\r\n\r\n@customElement('umb-workspace')\r\nexport class UmbWorkspaceElement extends UmbLitElement {\r\n\t#extensionsController?: UmbExtensionsElementAndApiInitializer;\r\n\t#entityType?: string;\r\n\r\n\t@state()\r\n\t_component?: HTMLElement;\r\n\r\n\t@property({ type: String, attribute: 'entity-type' })\r\n\tpublic get entityType(): string | undefined {\r\n\t\treturn this.#entityType;\r\n\t}\r\n\tpublic set entityType(value: string) {\r\n\t\tif (value === this.#entityType || !value) return;\r\n\t\tthis.#entityType = value;\r\n\t\tthis.#createController(value);\r\n\t}\r\n\r\n\tprotected override firstUpdated(_changedProperties: PropertyValueMap | Map): void {\r\n\t\tsuper.firstUpdated(_changedProperties);\r\n\t\tthis.setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'workspace');\r\n\t}\r\n\r\n\t#createController(entityType: string) {\r\n\t\tif (this.#extensionsController) {\r\n\t\t\tthis.#extensionsController.destroy();\r\n\t\t}\r\n\t\tthis.#extensionsController = new UmbExtensionsElementAndApiInitializer(\r\n\t\t\tthis,\r\n\t\t\tumbExtensionsRegistry,\r\n\t\t\t'workspace',\r\n\t\t\tapiArgsCreator,\r\n\t\t\t(manifest: ManifestWorkspace) => manifest.meta.entityType === entityType,\r\n\t\t\t(extensionControllers) => {\r\n\t\t\t\tthis._component = extensionControllers[0]?.component;\r\n\t\t\t\tconst api = extensionControllers[0]?.api;\r\n\t\t\t\tif (api) {\r\n\t\t\t\t\t// We create the additional workspace contexts with the Workspace API as its host, to ensure they can use the same Context-Alias with different API-Aliases and still be reached cause they will then be provided at the same host. [NL]\r\n\t\t\t\t\tnew UmbExtensionsApiInitializer(api, umbExtensionsRegistry, 'workspaceContext', [api]);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tundefined, // We can leave the alias to undefined, as we destroy this our selfs.\r\n\t\t\tundefined,\r\n\t\t\t() => import('./kinds/default/default-workspace.context.js'),\r\n\t\t\t{ single: true },\r\n\t\t);\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn this._component ?? nothing;\r\n\t}\r\n}\r\n\r\nexport { UmbWorkspaceElement as element };\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-workspace': UmbWorkspaceElement;\r\n\t}\r\n}\r\n"],"names":["UMB_WORKSPACE_CONTEXT","UmbContextToken","UMB_WORKSPACE_HAS_COLLECTION_CONDITION_ALIAS","UMB_WORKSPACE_HAS_COLLECTION_CONDITION","UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION_ALIAS","UMB_WORKSPACE_ENTITY_IS_NEW_CONDITION","UMB_WORKSPACE_CONDITION_ALIAS","UmbEntityDetailNotFoundElement","UmbLitElement","html","UmbTextStyles","css","__decorateClass","property","customElement","UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT","context","_context","_UmbEntityDetailWorkspaceEditorElement_instances","renderEntityActions_fn","UmbEntityDetailWorkspaceEditorElement","__privateAdd","__privateSet","__privateGet","entityType","isLoading","data","isNew","ifDefined","nothing","__privateMethod","state","_UmbWorkspaceActionMenuElement_instances","onPopoverToggle_fn","UmbWorkspaceActionMenuElement","repeat","ext","event","UMB_ENTITY_WORKSPACE_CONTEXT","UMB_PROPERTY_STRUCTURE_WORKSPACE_CONTEXT","UMB_PUBLISHABLE_WORKSPACE_CONTEXT","UMB_ROUTABLE_WORKSPACE_CONTEXT","UMB_SUBMITTABLE_WORKSPACE_CONTEXT","UMB_VARIANT_WORKSPACE_CONTEXT","_UmbWorkspaceEditorElement_instances","renderViews_fn","renderBackButton_fn","renderRoutes_fn","UmbWorkspaceEditorElement","UmbExtensionsManifestInitializer","umbExtensionsRegistry","workspaceViews","view","newRoutes","manifest","UMB_WORKSPACE_VIEW_PATH_PATTERN","createExtensionElement","component","when","index","_UmbWorkspaceEntityActionMenuElement_instances","onActionExecuted_fn","UmbWorkspaceEntityActionMenuElement","unique","query","_rejectModal","ExtensionApiArgsMethod","UmbWorkspaceFooterLayoutElement","UMB_MODAL_CONTEXT","UMB_NAMABLE_WORKSPACE_CONTEXT","_workspaceContext","_UmbWorkspaceHeaderNameEditableElement_instances","observeName_fn","onNameInput_fn","UmbWorkspaceHeaderNameEditableElement","workspaceContext","umbBindToValidation","umbFocus","name","UUIInputEvent","target","UmbWorkspaceSplitViewContext","UmbContextBase","host","UMB_WORKSPACE_SPLIT_VIEW_CONTEXT","#index","UmbNumberState","#workspaceContext","#datasetContext","activeVariantInfo","variantId","UmbVariantId","UMB_MARK_ATTRIBUTE_NAME","variant","_splitViewContext","_datasetContext","_UmbWorkspaceSplitViewVariantSelectorElement_instances","observeVariants_fn","observeReadOnlyStates_fn","observeActiveVariants_fn","observeDatasetContext_fn","observeCurrentVariant_fn","handleInput_fn","switchVariant_fn","openSplitView_fn","closeSplitView_fn","isVariantActive_fn","isCreateMode_fn","hasVariants_fn","setReadOnlyCultures_fn","focusInput_fn","renderListItem_fn","isReadOnly_fn","renderReadOnlyTag_fn","renderSplitViewButton_fn","UmbWorkspaceSplitViewVariantSelectorElement","a","b","instance","UMB_PROPERTY_DATASET_CONTEXT","UmbDataPathVariantQuery","ref","variantOption","variantOptions","states","activeVariants","el","options","option","isNameablePropertyDatasetContext","culture","item","element","_UmbWorkspaceSplitViewElement_instances","onVariantSelectorSlotChanged_fn","UmbWorkspaceSplitViewElement","e","UMB_ENTITY_NAMED_DETAIL_WORKSPACE_CONTEXT","UmbWorkspaceModalElement","UmbWorkspaceModalElement$1","UMB_WORKSPACE_MODAL","UmbModalToken","UMB_WORKSPACE_PATH_PATTERN","UmbPathPattern","UMB_SECTION_PATH_PATTERN","_extensionsController","_entityType","_UmbWorkspaceElement_instances","createController_fn","apiArgsCreator","UmbWorkspaceElement","value","_changedProperties","UmbExtensionsElementAndApiInitializer","extensionControllers","api","UmbExtensionsApiInitializer"],"mappings":"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"}