diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-provider.extension.ts similarity index 96% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-provider.extension.ts index 0134f61be5..cce0763eb7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-provider.extension.ts @@ -86,3 +86,9 @@ export interface MetaAuthProvider { allowManualLinking?: boolean; }; } + +declare global { + interface UmbExtensionManifestMap { + umbAuthProvider: ManifestAuthProvider; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts index 01263f311d..c0da4f0653 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts @@ -1,12 +1,13 @@ -import type { UmbBackofficeExtensionRegistry, ManifestAuthProvider } from '../extension-registry/index.js'; import { UmbAuthFlow } from './auth-flow.js'; import { UMB_AUTH_CONTEXT, UMB_STORAGE_TOKEN_RESPONSE_NAME } from './auth.context.token.js'; import type { UmbOpenApiConfiguration } from './models/openApiConfiguration.js'; +import type { ManifestAuthProvider } from './auth-provider.extension.js'; import { OpenAPI } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api'; import { ReplaySubject, Subject, firstValueFrom, switchMap } from '@umbraco-cms/backoffice/external/rxjs'; +import type { UmbBackofficeExtensionRegistry } from '@umbraco-cms/backoffice/extension-registry'; export class UmbAuthContext extends UmbContextBase { #isAuthorized = new UmbBooleanState(false); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index ca2aa96563..54c99ef24c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -1,7 +1,7 @@ -import type { ManifestAuthProvider } from '../../extension-registry/models/index.js'; import type { UmbAuthProviderDefaultProps, UmbUserLoginState } from '../types.js'; import { UmbLitElement } from '../../lit-element/lit-element.element.js'; import { UmbTextStyles } from '../../style/index.js'; +import type { ManifestAuthProvider } from '../auth-provider.extension.js'; import { css, customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit'; @customElement('umb-auth-provider-default') diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts index 2f5cf6b67d..aa6a05d93b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts @@ -5,5 +5,6 @@ export * from './auth.context.token.js'; export * from './modals/index.js'; export * from './models/openApiConfiguration.js'; export * from './components/index.js'; +export * from './auth-provider.extension.js'; export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index fd377931dc..60d7d023a4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -1,4 +1,4 @@ -import type { ManifestAuthProvider } from '../../extension-registry/models/auth-provider.model.js'; +import type { ManifestAuthProvider } from '../auth-provider.extension.js'; import { UmbModalBaseElement } from '../../modal/index.js'; import { UmbTextStyles } from '../../style/text-style.style.js'; import { UMB_AUTH_CONTEXT } from '../auth.context.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts index bab8a1ac83..726627d1b0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestAuthProvider } from '@umbraco-cms/backoffice/extension-registry'; +import type { ManifestAuthProvider } from '../auth-provider.extension.js'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts index b8b01291d6..a0022a4344 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts @@ -1,4 +1,4 @@ -import type { ManifestAuthProvider } from '../extension-registry/index.js'; +import type { ManifestAuthProvider } from './auth-provider.extension.js'; /** * User login state that can be used to determine the current state of the user. diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/external-login-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/external-login-provider.extension.ts similarity index 79% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/external-login-provider.model.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/external-login-provider.extension.ts index d4fc58096c..214d115251 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/external-login-provider.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/external-login-provider.extension.ts @@ -10,3 +10,9 @@ export interface MetaExternalLoginProvider { label: string; pathname: string; } + +declare global { + interface UmbExtensionManifestMap { + umbExternalLoginProvider: ManifestExternalLoginProvider; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/index.ts index 535196f6c5..af0ccaac03 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/index.ts @@ -3,12 +3,14 @@ export type * from './backoffice-entry-point.extension.js'; export type * from './entity-action.extension.js'; export type * from './entity-bulk-action.extension.js'; export type * from './entry-point.extension.js'; +export type * from './external-login-provider.extension.js'; export type * from './global-context.extension.js'; export type * from './header-app.extension.js'; export type * from './menu-item-element.interface.js'; -export type * from './menu-item.extension.js'; export type * from './menu-item-element.interface.js'; +export type * from './menu-item.extension.js'; export type * from './menu.extension.js'; +export type * from './mfa-login-provider.extension.js'; export type * from './preview-app.extension.js'; export type * from './repository.extension.js'; export type * from './store.extension.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/mfa-login-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/mfa-login-provider.extension.ts similarity index 78% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/mfa-login-provider.model.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/mfa-login-provider.extension.ts index 98fcfb0962..a38dc00a89 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/mfa-login-provider.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/extensions/mfa-login-provider.extension.ts @@ -15,3 +15,9 @@ export interface ManifestMfaLoginProvider extends ManifestElement { export interface MetaMfaLoginProvider { label?: string; } + +declare global { + interface UmbExtensionManifestMap { + umbMfaLoginProvider: ManifestMfaLoginProvider; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/interfaces/external-login-provider-element.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/interfaces/external-login-provider-element.interface.ts index afce2a6d97..bc7c5fcf4e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/interfaces/external-login-provider-element.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/interfaces/external-login-provider-element.interface.ts @@ -1,4 +1,4 @@ -import type { ManifestExternalLoginProvider } from '../models/index.js'; +import type { ManifestExternalLoginProvider } from '../extensions/index.js'; export interface UmbExternalLoginProviderElement extends HTMLElement { manifest?: ManifestExternalLoginProvider; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts index 8acf1d5dc8..b37bdc0774 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts @@ -1,38 +1,22 @@ -import type { ManifestAuthProvider } from './auth-provider.model.js'; -import type { ManifestCurrentUserAction, ManifestCurrentUserActionDefaultKind } from './current-user-action.model.js'; import type { ManifestDynamicRootOrigin, ManifestDynamicRootQueryStep } from './dynamic-root.model.js'; import type { ManifestFileUploadPreview } from './file-upload-preview.model.js'; -import type { ManifestExternalLoginProvider } from './external-login-provider.model.js'; import type { ManifestUfmComponent } from './ufm-component.model.js'; import type { ManifestUfmFilter } from './ufm-filter.model.js'; -import type { ManifestUserProfileApp } from './user-profile-app.model.js'; -import type { ManifestMfaLoginProvider } from './mfa-login-provider.model.js'; import type { ManifestBase, ManifestBundle, ManifestCondition } from '@umbraco-cms/backoffice/extension-api'; -export type * from './auth-provider.model.js'; -export type * from './current-user-action.model.js'; export type * from './dynamic-root.model.js'; export type * from './file-upload-preview.model.js'; -export type * from './external-login-provider.model.js'; -export type * from './mfa-login-provider.model.js'; export type * from './ufm-component.model.js'; export type * from './ufm-filter.model.js'; -export type * from './user-profile-app.model.js'; export type ManifestTypes = - | ManifestAuthProvider | ManifestBundle | ManifestCondition - | ManifestCurrentUserAction - | ManifestCurrentUserActionDefaultKind | ManifestDynamicRootOrigin | ManifestDynamicRootQueryStep | ManifestFileUploadPreview - | ManifestExternalLoginProvider - | ManifestMfaLoginProvider | ManifestUfmComponent | ManifestUfmFilter - | ManifestUserProfileApp | ManifestBase; type UnionOfProperties = T extends object ? T[keyof T] : never; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/action/current-user-app-button.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/action/current-user-app-button.element.ts index 6306586779..d1aac8ce61 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/action/current-user-app-button.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/action/current-user-app-button.element.ts @@ -1,11 +1,11 @@ -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { html, customElement, ifDefined, state, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { ManifestCurrentUserActionDefaultKind, MetaCurrentUserActionDefaultKind, UmbCurrentUserAction, -} from '@umbraco-cms/backoffice/extension-registry'; +} from '../current-user-action.extension.js'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { html, customElement, ifDefined, state, property } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event'; @customElement('umb-current-user-app-button') diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/current-user-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-action.extension.ts similarity index 91% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/current-user-action.model.ts rename to src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-action.extension.ts index 90ad56e9dd..6fe425c651 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/current-user-action.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-action.extension.ts @@ -1,4 +1,4 @@ -import type { UmbAction } from '../../action/action.interface.js'; +import type { UmbAction } from '@umbraco-cms/backoffice/action'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; import type { UUIInterfaceColor, UUIInterfaceLook } from '@umbraco-cms/backoffice/external/uui'; @@ -69,3 +69,9 @@ export interface MetaCurrentUserActionDefaultKind extends MetaCurrentUserAction */ color?: UUIInterfaceColor; } + +declare global { + interface UmbExtensionManifestMap { + umbCurrentUserAction: ManifestCurrentUserAction; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/external-login/configure-external-login-providers-action.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/external-login/configure-external-login-providers-action.ts index bea240e191..379f4e0a3b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/external-login/configure-external-login-providers-action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/external-login/configure-external-login-providers-action.ts @@ -1,6 +1,6 @@ +import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '../current-user-action.extension.js'; import { UMB_CURRENT_USER_EXTERNAL_LOGIN_MODAL } from './modals/external-login-modal.token.js'; import { UmbActionBase } from '@umbraco-cms/backoffice/action'; -import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '@umbraco-cms/backoffice/extension-registry'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbConfigureExternalLoginProvidersApi diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/index.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/index.ts index 606a128e69..ccb2581972 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/index.ts @@ -6,5 +6,7 @@ export * from './current-user.context.token.js'; export * from './history/current-user-history.store.js'; export * from './repository/index.js'; export * from './utils/index.js'; +export * from './user-profile-app.extension.js'; +export * from './current-user-action.extension.js'; export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/mfa-login/configure-mfa-providers-action.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/mfa-login/configure-mfa-providers-action.ts index d30d327861..e7a923d3b5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/mfa-login/configure-mfa-providers-action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/mfa-login/configure-mfa-providers-action.ts @@ -1,6 +1,6 @@ import { UMB_CURRENT_USER_MFA_MODAL } from '../modals/current-user-mfa/current-user-mfa-modal.token.js'; +import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '../current-user-action.extension.js'; import { UmbActionBase } from '@umbraco-cms/backoffice/action'; -import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '@umbraco-cms/backoffice/extension-registry'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbConfigureMfaProvidersApi diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/change-password-current-user.action.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/change-password-current-user.action.ts index 9a780e13f6..6b830126fd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/change-password-current-user.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/change-password-current-user.action.ts @@ -1,7 +1,7 @@ import { UMB_CURRENT_USER_CONTEXT } from '../current-user.context.token.js'; import { UmbCurrentUserRepository } from '../repository/index.js'; +import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '../current-user-action.extension.js'; import { UmbActionBase } from '@umbraco-cms/backoffice/action'; -import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; import { UMB_CHANGE_PASSWORD_MODAL } from '@umbraco-cms/backoffice/user-change-password'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/edit-current-user.action.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/edit-current-user.action.ts index f600485dc6..e40ae0130e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/edit-current-user.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/profile/edit-current-user.action.ts @@ -1,7 +1,7 @@ import { UMB_CURRENT_USER_CONTEXT } from '../current-user.context.token.js'; +import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '../current-user-action.extension.js'; import { UMB_USER_WORKSPACE_PATH } from '@umbraco-cms/backoffice/user'; import { UmbActionBase } from '@umbraco-cms/backoffice/action'; -import type { UmbCurrentUserAction, UmbCurrentUserActionArgs } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; export class UmbEditCurrentUserAction diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/user-profile-app.model.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/user-profile-app.extension.ts similarity index 72% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/user-profile-app.model.ts rename to src/Umbraco.Web.UI.Client/src/packages/user/current-user/user-profile-app.extension.ts index 7a2527356b..fe05e8fdd4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/user-profile-app.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/user-profile-app.extension.ts @@ -9,3 +9,9 @@ export interface MetaUserProfileApp { label: string; pathname: string; } + +declare global { + interface UmbExtensionManifestMap { + umbUserProfileApp: ManifestUserProfileApp; + } +}