{"version":3,"file":"workspace.element-eIsSWjJt.js","sources":["../../../src/packages/core/workspace/workspace.context-token.ts","../../../src/packages/core/workspace/conditions/const.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/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/entity-detail/entity-named-detail-workspace.context-token.ts","../../../src/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.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 * [Deprecated] 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 * [Deprecated] 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 { 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: Array = [];\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}\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 * @param element\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: html` ${this.#renderReadOnlyTag(null)} `}\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\treturn this._readOnlyCultures.includes(culture);\r\n\t}\r\n\r\n\t#renderReadOnlyTag(culture?: string | null) {\r\n\t\tif (culture === undefined) 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\t#read-only-tag {\r\n\t\t\t\twhite-space: nowrap;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: center;\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 { 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 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 { css, customElement, html, ifDefined, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\n@customElement('umb-workspace-info-app-layout')\r\nexport class UmbWorkspaceInfoAppLayoutElement extends UmbLitElement {\r\n\t@property({ type: String })\r\n\theadline?: string;\r\n\r\n\tprotected override 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\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tcss`\r\n\t\t\tuui-box {\r\n\t\t\t\t--uui-box-default-padding: 0;\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-info-app-layout': UmbWorkspaceInfoAppLayoutElement;\r\n\t}\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","_UmbWorkspaceActionMenuElement_instances","onPopoverToggle_fn","UmbWorkspaceActionMenuElement","UmbLitElement","__privateAdd","html","__privateMethod","repeat","ext","nothing","event","UmbTextStyles","css","__decorateClass","property","state","customElement","UMB_ENTITY_WORKSPACE_CONTEXT","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","__privateGet","UMB_NAMABLE_WORKSPACE_CONTEXT","_workspaceContext","_UmbWorkspaceHeaderNameEditableElement_instances","observeName_fn","onNameInput_fn","UmbWorkspaceHeaderNameEditableElement","workspaceContext","__privateSet","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","ifDefined","variantOption","variantOptions","states","activeVariants","el","options","option","isNameablePropertyDatasetContext","culture","element","_UmbWorkspaceSplitViewElement_instances","onVariantSelectorSlotChanged_fn","UmbWorkspaceSplitViewElement","e","UmbEntityDetailNotFoundElement","UMB_ENTITY_DETAIL_WORKSPACE_CONTEXT","_context","_UmbEntityDetailWorkspaceEditorElement_instances","renderEntityActions_fn","UmbEntityDetailWorkspaceEditorElement","entityType","isLoading","data","isNew","UMB_ENTITY_NAMED_DETAIL_WORKSPACE_CONTEXT","UmbWorkspaceInfoAppLayoutElement","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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"}