From fcd2e90d8096840c52c042b20313d9f47ffd8d07 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 1 Oct 2024 11:46:23 +0200 Subject: [PATCH] split kinds --- .../core/menu/components/menu-item/index.ts | 1 + .../menu/components/menu-item/link/index.ts | 1 + .../menu-item/link/link-menu-item.element.ts | 2 +- .../menu/components/menu-item/link/types.ts | 17 +++++++++++++ .../packages/core/menu/menu-item.extension.ts | 25 +------------------ .../core/tree/tree-menu-item-default/index.ts | 1 + .../tree-menu-item-default.element.ts | 3 ++- .../core/tree/tree-menu-item-default/types.ts | 18 +++++++++++++ 8 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/types.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts index c324209993..c5995b0111 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts @@ -1 +1,2 @@ export * from './menu-item-default.element.js'; +export * from './link/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/index.ts new file mode 100644 index 0000000000..d4702960d5 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/index.ts @@ -0,0 +1 @@ +export * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/link-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/link-menu-item.element.ts index 2f0684f65d..b902cd18e2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/link-menu-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/link-menu-item.element.ts @@ -1,5 +1,5 @@ import type { UmbMenuItemElement } from '../../../menu-item-element.interface.js'; -import type { ManifestMenuItemLinkKind } from '../../../menu-item.extension.js'; +import type { ManifestMenuItemLinkKind } from './types.js'; import { customElement, html, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/types.ts new file mode 100644 index 0000000000..2bc68ac163 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/types.ts @@ -0,0 +1,17 @@ +import type { ManifestMenuItem, MetaMenuItem } from '../../../menu-item.extension.js'; + +export interface ManifestMenuItemLinkKind extends ManifestMenuItem { + type: 'menuItem'; + kind: 'link'; + meta: MetaMenuItemLinkKind; +} + +export interface MetaMenuItemLinkKind extends MetaMenuItem { + href: string; +} + +declare global { + interface UmbExtensionManifestMap { + umbLinkMenuItemKind: ManifestMenuItemLinkKind; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item.extension.ts index 811c645ba1..c19aca0774 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item.extension.ts @@ -15,31 +15,8 @@ export interface MetaMenuItem { icon?: string; } -export interface ManifestMenuItemTreeKind extends ManifestMenuItem { - type: 'menuItem'; - kind: 'tree'; - meta: MetaMenuItemTreeKind; -} - -export interface MetaMenuItemTreeKind extends MetaMenuItem { - treeAlias: string; - hideTreeRoot?: boolean; -} - -export interface ManifestMenuItemLinkKind extends ManifestMenuItem { - type: 'menuItem'; - kind: 'link'; - meta: MetaMenuItemLinkKind; -} - -export interface MetaMenuItemLinkKind extends MetaMenuItem { - href: string; -} - -export type UmbMenuItemExtensions = ManifestMenuItem | ManifestMenuItemTreeKind | ManifestMenuItemLinkKind; - declare global { interface UmbExtensionManifestMap { - UmbMenuItemExtensions: UmbMenuItemExtensions; + umbMenuItem: ManifestMenuItem; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/index.ts index af047cc2d4..e6b717242c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/index.ts @@ -1 +1,2 @@ export * from './tree-menu-item-default.element.js'; +export * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/tree-menu-item-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/tree-menu-item-default.element.ts index 4959d04f82..93ce54fa6d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/tree-menu-item-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/tree-menu-item-default.element.ts @@ -1,8 +1,9 @@ +import type { ManifestMenuItemTreeKind } from './types.js'; import { html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import type { ManifestMenuItemTreeKind, UmbMenuItemElement } from '@umbraco-cms/backoffice/menu'; +import type { UmbMenuItemElement } from '@umbraco-cms/backoffice/menu'; // TODO: Move to separate file: const manifest: UmbExtensionManifestKind = { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/types.ts new file mode 100644 index 0000000000..2bd5501d55 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-menu-item-default/types.ts @@ -0,0 +1,18 @@ +import type { ManifestMenuItem, MetaMenuItem } from '@umbraco-cms/backoffice/menu'; + +export interface ManifestMenuItemTreeKind extends ManifestMenuItem { + type: 'menuItem'; + kind: 'tree'; + meta: MetaMenuItemTreeKind; +} + +export interface MetaMenuItemTreeKind extends MetaMenuItem { + treeAlias: string; + hideTreeRoot?: boolean; +} + +declare global { + interface UmbExtensionManifestMap { + umbTreeMenuItemKind: ManifestMenuItemTreeKind; + } +}