From 684790df70c810918d61cc93edec4ca3b268962c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 14 Apr 2025 09:55:20 +0200 Subject: [PATCH] Chore: Add script to check for "illegal" imports (#18992) * stop webhook module from importing itself * wip script to list all module imports from a folder * Update package.json * fix ufm * fix tip tap * order by name * fix stylesheet module * fix self import * fix self import * pass folder as a variable * implement folder variable * allow to pass module name + prettify log output * check for imports from core to packages and report error * add comments * run as part of test * Update package.json * add threshold * Update index.js * add report of module self imports * Update index.js * Update index.js * Update src/Umbraco.Web.UI.Client/devops/module-dependencies/index.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove self imports in /extension-api * fix order * fix self imports * fix self import * fix self imports * fix self imports * fix collection self import * fix self imports * fix self import * Update collection-pagination.element.ts * Update entity-action.extension.ts * fix self imports * lower threshold * fix self imports * fix self imports * fix self imports * fix merge * fix tree self imports * Update sort-children-of-modal.element.ts * Update section.context.ts * change threshold --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../devops/module-dependencies/index.js | 189 ++++++++++++++++++ .../index.ts | 19 -- src/Umbraco.Web.UI.Client/package.json | 3 +- .../base-extension-initializer.controller.ts | 8 +- .../base-extensions-initializer.controller.ts | 8 +- .../extensions-api-initializer.controller.ts | 11 +- ...ensions-manifest-initializer.controller.ts | 8 +- .../block-grid-area-config-entry.context.ts | 2 +- .../block-grid-entry.context.ts | 3 +- .../property-editor-ui-block-grid.element.ts | 2 +- ...-block-grid-group-configuration.element.ts | 2 +- ...i-block-grid-type-configuration.element.ts | 8 +- ...ui-block-rte-type-configuration.element.ts | 2 +- .../input-block-type.element.ts | 3 +- .../block-catalogue-modal.token.ts | 2 +- .../workspace/block-workspace.context.ts | 9 +- .../collection-action-button.element.ts | 2 +- .../collection-pagination.element.ts | 3 +- .../entity-action/entity-action.extension.ts | 3 +- .../duplicate-to/duplicate-to.action.ts | 2 +- .../common/move-to/move-to.action.ts | 2 +- .../common/trash/trash.action.ts | 3 +- .../ancestors/ancestors.entity-context.ts | 2 +- .../extensions/icons.extension.ts | 2 +- .../icon-registry/icon-registry.context.ts | 3 +- .../common/confirm/confirm-modal.element.ts | 3 +- .../error-viewer-modal.element.ts | 2 +- .../modal/common/error-viewer/manifest.ts | 4 +- .../item-picker/item-picker-modal.element.ts | 4 +- .../modal/component/modal-base.element.ts | 2 +- .../core/modal/component/modal.element.ts | 2 +- .../modal-extension-element.interface.ts | 2 +- .../notification-layout-default.element.ts | 3 +- .../notification-layout-default.test.ts | 2 +- ...ry-notification-default-example.element.ts | 8 +- .../recycle-bin-tree-item.context.ts | 2 +- .../item/item-data-source.interface.ts | 2 +- .../item/item-server-data-source-base.ts | 2 +- .../repository/repository-items.manager.ts | 2 +- .../conditions/section-alias.condition.ts | 2 +- .../section-sidebar-app.extension.ts | 2 +- .../item/section-item.repository.ts | 2 +- .../core/section/repository/item/types.ts | 2 +- .../section-picker-modal.element.ts | 2 +- .../packages/core/section/section.context.ts | 2 +- .../modal/duplicate-to-modal.element.ts | 3 +- .../entity-actions/move/move-to.action.ts | 2 +- .../modal/sort-children-of-modal.element.ts | 3 +- .../folder-entity-create-option-action.ts | 2 +- .../modal/folder-create-modal.element.ts | 3 +- .../folder/modal/folder-create-modal.token.ts | 2 +- .../folder/modal/folder-modal-element-base.ts | 2 +- .../modal/folder-update-modal.element.ts | 2 +- .../folder/modal/folder-update-modal.token.ts | 2 +- .../tree-picker-modal.element.ts | 3 +- .../data-type/collection/repository/types.ts | 2 +- ...ker-flow-data-type-picker-modal.element.ts | 2 +- ...ument-type-create-options-modal.element.ts | 10 +- .../document-type-composition.repository.ts | 4 +- .../multiple-app-languages.condition.ts | 2 +- .../language-picker-modal.token.ts | 2 +- ...y-editor-ui-member-group-picker.element.ts | 2 +- ...rty-editor-ui-stylesheet-picker.element.ts | 2 +- .../modals/template-picker-modal.token.ts | 2 +- .../template-workspace-editor.element.ts | 4 +- .../extensions/block/block.tipap-api.ts | 2 +- .../block/block.tiptap-toolbar-api.ts | 2 +- .../packages/ufm/ufm-component.extension.ts | 2 +- .../current-user-header-app.element.ts | 3 +- .../webhook-details-workspace-view.element.ts | 2 +- 70 files changed, 285 insertions(+), 135 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/devops/module-dependencies/index.js diff --git a/src/Umbraco.Web.UI.Client/devops/module-dependencies/index.js b/src/Umbraco.Web.UI.Client/devops/module-dependencies/index.js new file mode 100644 index 0000000000..b462b1b36e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/devops/module-dependencies/index.js @@ -0,0 +1,189 @@ +import fs from 'fs'; +import path from 'path'; +import { createImportMap } from '../importmap/index.js'; + +const ILLEGAL_CORE_IMPORTS_THRESHOLD = 10; +const SELF_IMPORTS_THRESHOLD = 13; + +const clientProjectRoot = path.resolve(import.meta.dirname, '../../'); +const modulePrefix = '@umbraco-cms/backoffice/'; + +// Regex patterns to match import and require statements +const importRegex = /import\s+(?:[^'"]+\s+from\s+)?['"]([^'"]+)['"]/g; + +const importMap = createImportMap({ + rootDir: './src', +}); + +const importMapEntries = Object.entries(importMap.imports); +const coreModules = importMapEntries.filter(([key, value]) => value.includes('/packages/core/')); + +const packageModules = importMapEntries.filter( + ([key, value]) => value.includes('/packages/') && !value.includes('/packages/core/'), +); +const packageModuleAliases = packageModules.map(([key]) => key); + +/** + * Recursively walk through a directory and return all file paths + */ +function getAllFiles(dirPath, arrayOfFiles = []) { + const files = fs.readdirSync(dirPath); + + files.forEach((file) => { + const fullPath = path.join(dirPath, file); + if (fs.statSync(fullPath).isDirectory()) { + getAllFiles(fullPath, arrayOfFiles); + } else { + arrayOfFiles.push(fullPath); + } + }); + + return arrayOfFiles; +} + +/** + * Scan a file and extract import statements + */ +function getImportsInFile(filePath) { + const ext = path.extname(filePath); + if (filePath.includes('.stories.ts')) return []; + if (filePath.includes('.test.ts')) return []; + if (!['.ts'].includes(ext)) return []; + + const content = fs.readFileSync(filePath, 'utf-8'); + const imports = []; + + let match; + while ((match = importRegex.exec(content)) !== null) { + imports.push({ type: 'import', value: match[1] }); + } + + return imports; +} + +// Entry point +function getAllImportsFromFolder(startPath) { + if (!fs.existsSync(startPath)) { + console.error(`Path does not exist: ${startPath}`); + return; + } + + const files = getAllFiles(startPath); + + const imports = files + .map((file) => { + return getImportsInFile(file); + }) + .flat() + .filter(Boolean); + + return imports; +} + +function getFolderPathFromModuleAlias(moduleAlias) { + const importMapEntry = importMapEntries.find(([key]) => key === moduleAlias); + if (!importMapEntry) { + throw new Error(`Module not found: ${moduleAlias}`); + } + + // remove everything after the last / + const lastSlashIndex = importMapEntry[1].lastIndexOf('/'); + const modulePath = importMapEntry[1].substring(0, lastSlashIndex); + + return modulePath; +} + +function getUmbracoModuleImportsInModule(moduleAlias) { + const modulePath = getFolderPathFromModuleAlias(moduleAlias); + const targetFolder = path.resolve(clientProjectRoot, modulePath); + const imports = getAllImportsFromFolder(targetFolder); + const importValues = imports.map((imp) => imp.value); + const uniqueImports = [...new Set(importValues)]; + const umbracoModuleImports = uniqueImports + .filter((imp) => imp.startsWith(modulePrefix)) + .sort((a, b) => a.localeCompare(b)); + return umbracoModuleImports; +} + +function reportIllegalImportsFromCore() { + console.error(`🔍 Scanning core modules for importing packages...`); + console.log(`\n`); + + let total = 0; + // Check if any of the core modules import one of the package modules + // Run through all core modules and find the imports + coreModules.forEach(([alias, path]) => { + const importsInModule = getUmbracoModuleImportsInModule(alias); + + // Check if any of the imports are in the package modules + const illegalImports = importsInModule.filter((imp) => packageModuleAliases.includes(imp)); + + // If there are no illegal imports, skip + if (illegalImports.length === 0) { + return; + } + + // If there are illegal imports, log them + console.error(`🚨 ${alias}: Illegal imports found:`); + illegalImports.forEach((imp) => { + console.error(` → ${imp}`); + }); + console.log(`\n`); + total++; + }); + + if (total > ILLEGAL_CORE_IMPORTS_THRESHOLD) { + throw new Error( + `Illegal imports found in ${total} core modules. ${total - ILLEGAL_CORE_IMPORTS_THRESHOLD} more than the threshold.`, + ); + } else { + console.log(`✅ Success! Still under the threshold of ${ILLEGAL_CORE_IMPORTS_THRESHOLD} illegal imports. `); + } + + console.log(`\n\n`); +} + +function reportSelfImportsFromModules() { + console.error(`🔍 Scanning all modules for importing itself...`); + console.log(`\n`); + + let total = 0; + + importMapEntries.forEach(([alias, path]) => { + const importsInModule = getUmbracoModuleImportsInModule(alias); + const selfImports = importsInModule.filter((imp) => imp === alias); + + // If there are no self imports, skip + if (selfImports.length === 0) { + return; + } + + // If there are self imports, log them + console.error(`🚨 ${alias} is importing itself`); + total++; + }); + + console.log(`\n`); + + if (total > SELF_IMPORTS_THRESHOLD) { + throw new Error( + `Self imports found in ${total} modules. ${total - SELF_IMPORTS_THRESHOLD} more than the threshold.`, + ); + } else { + console.log(`✅ Success! Still under the threshold of ${SELF_IMPORTS_THRESHOLD} self imports.`); + } + + console.log(`\n\n`); +} + +function report() { + reportIllegalImportsFromCore(); + reportSelfImportsFromModules(); +} + +report(); + +// TODO: +// - Check what packages another package depends on (not modules) - This will be used when we split the tsconfig into multiple configs +// - Check for circular module imports +// - Report if a module imports itself diff --git a/src/Umbraco.Web.UI.Client/examples/manipulate-document-property-value-permissions/index.ts b/src/Umbraco.Web.UI.Client/examples/manipulate-document-property-value-permissions/index.ts index d43f3431c3..34f485260a 100644 --- a/src/Umbraco.Web.UI.Client/examples/manipulate-document-property-value-permissions/index.ts +++ b/src/Umbraco.Web.UI.Client/examples/manipulate-document-property-value-permissions/index.ts @@ -20,25 +20,6 @@ export const manifests: Array = [ }, ], }, - { - type: 'workspaceAction', - kind: 'default', - name: 'Example Manipulate Document Property Value Readonly Permissions Workspace Action', - alias: 'example.workspaceAction.manipulate.readonly', - weight: 1000, - api: () => import('./manipulate-property-readonly-permissions-action.js'), - meta: { - label: 'Toggle readonly RTE', - look: 'primary', - color: 'danger', - }, - conditions: [ - { - alias: UMB_WORKSPACE_CONDITION_ALIAS, - match: 'Umb.Workspace.Document', - }, - ], - }, { type: 'workspaceAction', kind: 'default', diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index dd9d9b0a25..8353e93116 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -157,6 +157,7 @@ "check": "npm run lint:errors && npm run compile && npm run build-storybook && npm run generate:jsonschema:dist", "check:paths": "node ./devops/build/check-path-length.js dist-cms 120", "check:circular": "node ./devops/circular/index.js src", + "check:module-dependencies": "node ./devops/module-dependencies/index.js", "compile": "tsc", "dev": "vite", "dev:server": "cross-env VITE_UMBRACO_USE_MSW=off vite", @@ -184,7 +185,7 @@ "test:dev": "npm run generate:check-const-test && web-test-runner --config ./web-test-runner.dev.config.mjs", "test:dev-watch": "npm run generate:check-const-test && web-test-runner --watch --config ./web-test-runner.dev.config.mjs", "test:watch": "npm run generate:check-const-test && web-test-runner --watch", - "test": "npm run generate:check-const-test && web-test-runner", + "test": "npm run generate:check-const-test && npm run check:module-dependencies && web-test-runner", "wc-analyze:vscode": "wca **/*.element.ts --format vscode --outFile dist-cms/vscode-html-custom-data.json", "wc-analyze": "wca **/*.element.ts --outFile dist-cms/custom-elements.json", "generate:tsconfig": "node ./devops/tsconfig/index.js", diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts index 8fdc21e38b..db8b351f96 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts @@ -1,13 +1,9 @@ import { createExtensionApi } from '../functions/index.js'; import type { UmbExtensionCondition } from '../condition/extension-condition.interface.js'; +import type { ManifestCondition, ManifestWithDynamicConditions, UmbConditionConfigBase } from '../types/index.js'; +import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; -import type { - UmbConditionConfigBase, - ManifestCondition, - ManifestWithDynamicConditions, - UmbExtensionRegistry, -} from '@umbraco-cms/backoffice/extension-api'; import { jsonStringComparison, type UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; const observeConditionsCtrlAlias = Symbol(); diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-initializer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-initializer.controller.ts index 57258cf300..48bdd60352 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-initializer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-initializer.controller.ts @@ -1,9 +1,7 @@ import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js'; -import type { - ManifestBase, - UmbBaseExtensionInitializer, - UmbExtensionRegistry, -} from '@umbraco-cms/backoffice/extension-api'; +import type { ManifestBase } from '../types/index.js'; +import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; +import type { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-api-initializer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-api-initializer.controller.ts index 7fbe6261e2..4c64bb3d0a 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-api-initializer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-api-initializer.controller.ts @@ -1,16 +1,13 @@ +import type { UmbApiConstructorArgumentsMethodType } from '../functions/index.js'; +import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; +import type { ManifestApi, ManifestBase } from '../types/index.js'; import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js'; import { type PermittedControllerType, UmbBaseExtensionsInitializer, + type UmbBaseExtensionsInitializerArgs, } from './base-extensions-initializer.controller.js'; import { UmbExtensionApiInitializer } from './extension-api-initializer.controller.js'; -import type { - ManifestApi, - ManifestBase, - UmbApiConstructorArgumentsMethodType, - UmbBaseExtensionsInitializerArgs, - UmbExtensionRegistry, -} from '@umbraco-cms/backoffice/extension-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; // eslint-disable-next-line @typescript-eslint/no-empty-object-type diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-manifest-initializer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-manifest-initializer.controller.ts index eee450c363..c309bb3068 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-manifest-initializer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/extensions-manifest-initializer.controller.ts @@ -1,14 +1,12 @@ import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js'; +import type { ManifestBase } from '../types/index.js'; +import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; import { UmbExtensionManifestInitializer } from './extension-manifest-initializer.controller.js'; import { type PermittedControllerType, UmbBaseExtensionsInitializer, + type UmbBaseExtensionsInitializerArgs, } from './base-extensions-initializer.controller.js'; -import type { - ManifestBase, - UmbBaseExtensionsInitializerArgs, - UmbExtensionRegistry, -} from '@umbraco-cms/backoffice/extension-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; // eslint-disable-next-line @typescript-eslint/no-empty-object-type diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.context.ts index f225299965..53eb4b6323 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.context.ts @@ -9,7 +9,7 @@ import { UmbObjectState, appendToFrozenArray } from '@umbraco-cms/backoffice/obs import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UMB_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/property'; import { umbConfirmModal } from '@umbraco-cms/backoffice/modal'; -import type { UmbBlockGridTypeAreaType } from '@umbraco-cms/backoffice/block-grid'; +import type { UmbBlockGridTypeAreaType } from '../../types.js'; export class UmbBlockGridAreaConfigEntryContext extends UmbContextBase implements UmbBlockGridScalableContext diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.context.ts index d6ed16ad70..59ede42584 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.context.ts @@ -1,5 +1,5 @@ import { closestColumnSpanOption, forEachBlockLayoutEntryOf } from '../../utils/index.js'; -import type { UmbBlockGridValueModel } from '../../types.js'; +import type { UmbBlockGridLayoutModel, UmbBlockGridTypeModel, UmbBlockGridValueModel } from '../../types.js'; import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS, UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS, @@ -20,7 +20,6 @@ import { } from '@umbraco-cms/backoffice/observable-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbBlockEntryContext } from '@umbraco-cms/backoffice/block'; -import type { UmbBlockGridTypeModel, UmbBlockGridLayoutModel } from '@umbraco-cms/backoffice/block-grid'; import { UMB_PROPERTY_CONTEXT, UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; import { UMB_CLIPBOARD_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/clipboard'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.ts index d544b0a722..1fbb6b61b5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.ts @@ -20,12 +20,12 @@ import { observeMultiple } from '@umbraco-cms/backoffice/observable-api'; import { UMB_PROPERTY_CONTEXT, UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; import { UmbFormControlMixin, UmbValidationContext } from '@umbraco-cms/backoffice/validation'; import type { UmbBlockTypeGroup } from '@umbraco-cms/backoffice/block-type'; -import type { UmbBlockGridTypeModel, UmbBlockGridValueModel } from '@umbraco-cms/backoffice/block-grid'; import { debounceTime } from '@umbraco-cms/backoffice/external/rxjs'; // TODO: consider moving the components to the property editor folder as they are only used here import '../../local-components.js'; import { UMB_CONTENT_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/content'; +import type { UmbBlockGridTypeModel, UmbBlockGridValueModel } from '../../types.js'; /** * @element umb-property-editor-ui-block-grid diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.ts index ab1ad0f462..6f9d071a2a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.ts @@ -6,8 +6,8 @@ import type { import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbId } from '@umbraco-cms/backoffice/id'; -import type { UmbBlockGridTypeGroupType } from '@umbraco-cms/backoffice/block-grid'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; +import type { UmbBlockGridTypeGroupType } from '../../types.js'; @customElement('umb-property-editor-ui-block-grid-group-configuration') export class UmbPropertyEditorUIBlockGridGroupConfigurationElement diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.ts index 638a570435..f0fbbaaf8a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.ts @@ -15,11 +15,6 @@ import { } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { - UMB_BLOCK_GRID_TYPE, - UMB_BLOCK_GRID_TYPE_WORKSPACE_MODAL, - type UmbBlockGridTypeGroupType, -} from '@umbraco-cms/backoffice/block-grid'; import type { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui'; import { UMB_PROPERTY_CONTEXT, @@ -30,6 +25,9 @@ import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/rou import { UmbSorterController } from '@umbraco-cms/backoffice/sorter'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import { umbConfirmModal } from '@umbraco-cms/backoffice/modal'; +import type { UmbBlockGridTypeGroupType } from '../../types.js'; +import { UMB_BLOCK_GRID_TYPE_WORKSPACE_MODAL } from '../../workspace/index.js'; +import { UMB_BLOCK_GRID_TYPE } from '../../constants.js'; interface MappedGroupWithBlockTypes extends UmbBlockGridTypeGroupType { blocks: Array; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/property-editors/property-editor-ui-block-rte-type-configuration.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/property-editors/property-editor-ui-block-rte-type-configuration.element.ts index 008a595ced..ceec47eac1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/property-editors/property-editor-ui-block-rte-type-configuration.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/property-editors/property-editor-ui-block-rte-type-configuration.element.ts @@ -3,13 +3,13 @@ import { UmbInputBlockTypeElement } from '@umbraco-cms/backoffice/block-type'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; -import { UMB_BLOCK_RTE_TYPE } from '@umbraco-cms/backoffice/block-rte'; import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace'; import type { UmbBlockTypeBaseModel } from '@umbraco-cms/backoffice/block-type'; import type { UmbPropertyEditorUiElement, UmbPropertyEditorConfigCollection, } from '@umbraco-cms/backoffice/property-editor'; +import { UMB_BLOCK_RTE_TYPE } from '../constants.js'; /** * @element umb-property-editor-ui-block-rte-type-configuration diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts index 97949af86a..c44cc0369f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts @@ -1,4 +1,4 @@ -import type { UmbBlockTypeWithGroupKey } from '../../types.js'; +import type { UmbBlockTypeBaseModel, UmbBlockTypeWithGroupKey } from '../../types.js'; import type { UmbBlockTypeCardElement } from '../block-type-card/index.js'; import { umbConfirmModal } from '@umbraco-cms/backoffice/modal'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; @@ -14,7 +14,6 @@ import { type UmbDocumentTypePickerModalValue, } from '@umbraco-cms/backoffice/document-type'; import { UmbSorterController, UmbSorterResolvePlacementAsGrid } from '@umbraco-cms/backoffice/sorter'; -import type { UmbBlockTypeBaseModel } from '@umbraco-cms/backoffice/block-type'; import '../block-type-card/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/modals/block-catalogue/block-catalogue-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/modals/block-catalogue/block-catalogue-modal.token.ts index 236be55faa..f944163ff7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/modals/block-catalogue/block-catalogue-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/modals/block-catalogue/block-catalogue-modal.token.ts @@ -1,7 +1,7 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -import type { UmbBlockWorkspaceData } from '@umbraco-cms/backoffice/block'; import type { UmbBlockTypeGroup, UmbBlockTypeBaseModel } from '@umbraco-cms/backoffice/block-type'; import type { UmbClipboardEntryDetailModel } from '@umbraco-cms/backoffice/clipboard'; +import type { UmbBlockWorkspaceData } from '../../workspace/index.js'; export interface UmbBlockCatalogueModalData { blocks: Array; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts index 02756e1838..72a008cb2a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts @@ -1,6 +1,8 @@ import type { UmbBlockDataModel, UmbBlockLayoutBaseModel } from '../types.js'; +import { UMB_BLOCK_ENTRIES_CONTEXT, UMB_BLOCK_ENTRY_CONTEXT, UMB_BLOCK_MANAGER_CONTEXT } from '../context/index.js'; import { UmbBlockWorkspaceEditorElement } from './block-workspace-editor.element.js'; import { UmbBlockElementManager } from './block-element-manager.js'; +import type { UmbBlockWorkspaceOriginData } from './block-workspace.modal-token.js'; import { UmbSubmittableWorkspaceContextBase, type UmbRoutableWorkspaceContext, @@ -18,12 +20,7 @@ import { import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_DISCARD_CHANGES_MODAL, UMB_MODAL_CONTEXT, UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; import { decodeFilePath, UmbReadOnlyVariantGuardManager } from '@umbraco-cms/backoffice/utils'; -import { - UMB_BLOCK_ENTRIES_CONTEXT, - UMB_BLOCK_MANAGER_CONTEXT, - type UmbBlockWorkspaceOriginData, - UMB_BLOCK_ENTRY_CONTEXT, -} from '@umbraco-cms/backoffice/block'; + import { UmbVariantId } from '@umbraco-cms/backoffice/variant'; import type { UUIModalSidebarSize } from '@umbraco-cms/backoffice/external/uui'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-button.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-button.element.ts index eca9d743ef..08ae65ccf3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-button.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-button.element.ts @@ -2,9 +2,9 @@ import type { UmbCollectionAction } from './collection-action-base.js'; import { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event'; import { html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { ManifestCollectionAction } from '@umbraco-cms/backoffice/collection'; import { createExtensionApi } from '@umbraco-cms/backoffice/extension-api'; import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui'; +import type { ManifestCollectionAction } from '../extensions/types.js'; @customElement('umb-collection-action-button') export class UmbCollectionActionButtonElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/pagination/collection-pagination.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/pagination/collection-pagination.element.ts index 8bd77abf64..e360833703 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/pagination/collection-pagination.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/pagination/collection-pagination.element.ts @@ -1,8 +1,7 @@ -import { UMB_COLLECTION_CONTEXT } from '../../default/index.js'; +import { UMB_COLLECTION_CONTEXT, type UmbDefaultCollectionContext } from '../../default/index.js'; import type { UUIPaginationEvent } from '@umbraco-cms/backoffice/external/uui'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, customElement, nothing, state } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; @customElement('umb-collection-pagination') diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action.extension.ts index d9a1d9f44c..1e0ad5e137 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action.extension.ts @@ -1,5 +1,6 @@ import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; -import type { UmbEntityAction, UmbEntityActionElement } from '@umbraco-cms/backoffice/entity-action'; +import type { UmbEntityActionElement } from './entity-action-element.interface.js'; +import type { UmbEntityAction } from './entity-action.interface.js'; /** * An action to perform on an entity diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/duplicate-to/duplicate-to.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/duplicate-to/duplicate-to.action.ts index 3ed6feda54..bbd9b58bcb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/duplicate-to/duplicate-to.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/duplicate-to/duplicate-to.action.ts @@ -1,6 +1,5 @@ import type { UmbBulkDuplicateToRepository } from './duplicate-to-repository.interface.js'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action'; import { UmbRequestReloadChildrenOfEntityEvent, UmbRequestReloadStructureForEntityEvent, @@ -10,6 +9,7 @@ import { UMB_ENTITY_CONTEXT } from '@umbraco-cms/backoffice/entity'; import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; import { UMB_TREE_PICKER_MODAL } from '@umbraco-cms/backoffice/tree'; import type { MetaEntityBulkActionDuplicateToKind } from '@umbraco-cms/backoffice/extension-registry'; +import { UmbEntityBulkActionBase } from '../../entity-bulk-action-base.js'; export class UmbMediaDuplicateEntityBulkAction extends UmbEntityBulkActionBase { async execute() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.ts index 38d6b6cf03..9ae1789529 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/move-to/move-to.action.ts @@ -1,6 +1,5 @@ import type { UmbBulkMoveToRepository } from './move-to-repository.interface.js'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action'; import { UmbRequestReloadChildrenOfEntityEvent, UmbRequestReloadStructureForEntityEvent, @@ -10,6 +9,7 @@ import { UMB_ENTITY_CONTEXT } from '@umbraco-cms/backoffice/entity'; import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; import { UMB_TREE_PICKER_MODAL } from '@umbraco-cms/backoffice/tree'; import type { MetaEntityBulkActionMoveToKind } from '@umbraco-cms/backoffice/extension-registry'; +import { UmbEntityBulkActionBase } from '../../entity-bulk-action-base.js'; export class UmbMediaMoveEntityBulkAction extends UmbEntityBulkActionBase { async execute() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts index 84d27501cc..169ebc78c4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts @@ -1,6 +1,5 @@ import type { UmbBulkTrashRepository } from './trash-repository.interface.js'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbEntityBulkActionBase, type UmbEntityBulkActionArgs } from '@umbraco-cms/backoffice/entity-bulk-action'; import { UmbRequestReloadChildrenOfEntityEvent, UmbRequestReloadStructureForEntityEvent, @@ -11,6 +10,8 @@ import { umbConfirmModal } from '@umbraco-cms/backoffice/modal'; import type { MetaEntityBulkActionTrashKind } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; +import { UmbEntityBulkActionBase } from '../../entity-bulk-action-base.js'; +import type { UmbEntityBulkActionArgs } from '../../types.js'; /** * @deprecated since v15.3.0. Will be removed in v17.0.0. import `UmbMediaTrashEntityBulkAction` from @umbraco-cms/backoffice/recycle-bin instead. diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/contexts/ancestors/ancestors.entity-context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/contexts/ancestors/ancestors.entity-context.ts index eecdffbd06..e888a6496d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity/contexts/ancestors/ancestors.entity-context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/contexts/ancestors/ancestors.entity-context.ts @@ -2,7 +2,7 @@ import { UMB_ANCESTORS_ENTITY_CONTEXT } from './ancestors.entity-context-token.j import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; -import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; +import type { UmbEntityModel } from '../../types.js'; /** * A entity context for the ancestors diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/extensions/icons.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/extensions/icons.extension.ts index 79c31f97fb..bd3f9b9f9f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/extensions/icons.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/extensions/icons.extension.ts @@ -1,5 +1,5 @@ -import type { UmbIconDictionary } from '@umbraco-cms/backoffice/icon'; import type { ManifestPlainJs } from '@umbraco-cms/backoffice/extension-api'; +import type { UmbIconDictionary } from '../types.js'; export interface ManifestIcons extends ManifestPlainJs<{ default: UmbIconDictionary }> { type: 'icons'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-registry.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-registry.context.ts index b81e01b244..5695f636a8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-registry.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-registry.context.ts @@ -1,12 +1,11 @@ import { UmbIconRegistry } from './icon.registry.js'; -import type { UmbIconDefinition } from './types.js'; +import type { ManifestIcons, UmbIconDefinition } from './types.js'; import { UMB_ICON_REGISTRY_CONTEXT } from './icon-registry.context-token.js'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { loadManifestPlainJs } from '@umbraco-cms/backoffice/extension-api'; import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import type { ManifestIcons } from '@umbraco-cms/backoffice/icon'; export class UmbIconRegistryContext extends UmbContextBase { #registry: UmbIconRegistry; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.element.ts index cd40a18985..a355d07c13 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.element.ts @@ -1,7 +1,8 @@ import { html, customElement, property, css, unsafeHTML } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbConfirmModalData, UmbConfirmModalValue, UmbModalContext } from '@umbraco-cms/backoffice/modal'; import { UmbLitElement, umbFocus } from '@umbraco-cms/backoffice/lit-element'; +import type { UmbModalContext } from '../../context/index.js'; +import type { UmbConfirmModalData, UmbConfirmModalValue } from './confirm-modal.token.js'; @customElement('umb-confirm-modal') export class UmbConfirmModalElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/error-viewer-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/error-viewer-modal.element.ts index 40b6924fea..71f500401f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/error-viewer-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/error-viewer-modal.element.ts @@ -1,6 +1,6 @@ +import { UmbModalBaseElement } from '../../component/modal-base.element.js'; import type { UmbErrorViewerModalData, UmbErrorViewerModalValue } from './error-viewer-modal.token.js'; import { css, customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; @customElement('umb-error-viewer-modal') export class UmbErrorViewerModalElement extends UmbModalBaseElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/manifest.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/manifest.ts index 7c7585dba0..99710754c6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/manifest.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/error-viewer/manifest.ts @@ -1,6 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/backoffice/modal'; - -export const manifests: Array = [ +export const manifests: Array = [ { type: 'modal', alias: 'Umb.Modal.ErrorViewer', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/item-picker/item-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/item-picker/item-picker-modal.element.ts index dc6d976642..38b1288d90 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/item-picker/item-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/item-picker/item-picker-modal.element.ts @@ -8,10 +8,10 @@ import { state, ifDefined, } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbItemPickerModalData, UmbItemPickerModel } from '@umbraco-cms/backoffice/modal'; import { umbFocus } from '@umbraco-cms/backoffice/lit-element'; +import { UmbModalBaseElement } from '../../component/modal-base.element.js'; +import type { UmbItemPickerModalData, UmbItemPickerModel } from './item-picker-modal.token.js'; @customElement('umb-item-picker-modal') export class UmbItemPickerModalElement extends UmbModalBaseElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal-base.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal-base.element.ts index fc620f1bb1..3e8c3acaad 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal-base.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal-base.element.ts @@ -1,7 +1,7 @@ import type { UmbModalRejectReason, UmbModalContext } from '../context/index.js'; import { property } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { ManifestModal, UmbModalExtensionElement } from '@umbraco-cms/backoffice/modal'; +import type { ManifestModal, UmbModalExtensionElement } from '../extensions/types.js'; export abstract class UmbModalBaseElement< ModalDataType extends object = object, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal.element.ts index 1096ec181e..6084b6e5bd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/component/modal.element.ts @@ -1,7 +1,6 @@ import type { UmbModalContext } from '../context/modal.context.js'; import { UMB_MODAL_CONTEXT } from '../context/modal.context-token.js'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { ManifestModal } from '@umbraco-cms/backoffice/modal'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit'; @@ -23,6 +22,7 @@ import { UmbContextBoundary, UmbContextProvider, } from '@umbraco-cms/backoffice/context-api'; +import type { ManifestModal } from '../extensions/types.js'; @customElement('umb-modal') export class UmbModalElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/extensions/modal-extension-element.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/extensions/modal-extension-element.interface.ts index 2b5fc8933f..f55207d157 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/extensions/modal-extension-element.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/extensions/modal-extension-element.interface.ts @@ -1,5 +1,5 @@ +import type { UmbModalContext } from '../context/index.js'; import type { ManifestModal } from './modal.extension.js'; -import type { UmbModalContext } from '@umbraco-cms/backoffice/modal'; export interface UmbModalExtensionElement< UmbModalData extends object = object, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.element.ts index 84b9bb5c11..81ed462b2e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.element.ts @@ -8,7 +8,8 @@ import { css, } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbNotificationDefaultData, UmbNotificationHandler } from '@umbraco-cms/backoffice/notification'; +import type { UmbNotificationDefaultData } from '../../types.js'; +import type { UmbNotificationHandler } from '../../notification-handler.js'; export type { UmbNotificationDefaultData }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.test.ts index 0ab5800bca..7ebf2be140 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/notification/layouts/default/notification-layout-default.test.ts @@ -2,8 +2,8 @@ import type { UmbNotificationDefaultData } from './notification-layout-default.e import { UmbNotificationLayoutDefaultElement } from './notification-layout-default.element.js'; import { fixture, expect, html } from '@open-wc/testing'; import type { UUIToastNotificationLayoutElement } from '@umbraco-cms/backoffice/external/uui'; -import { UmbNotificationHandler } from '@umbraco-cms/backoffice/notification'; import type { UmbTestRunnerWindow } from '@umbraco-cms/internal/test-utils'; +import { UmbNotificationHandler } from '../../notification-handler.js'; describe('UmbNotificationLayoutDefault', () => { let element: UmbNotificationLayoutDefaultElement; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/notification/stories/story-notification-default-example.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/notification/stories/story-notification-default-example.element.ts index 9b6605ba05..9d57bda1ce 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/notification/stories/story-notification-default-example.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/notification/stories/story-notification-default-example.element.ts @@ -1,11 +1,7 @@ import { html, customElement } from '@umbraco-cms/backoffice/external/lit'; -import type { - UmbNotificationColor, - UmbNotificationOptions, - UmbNotificationContext, -} from '@umbraco-cms/backoffice/notification'; -import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UMB_NOTIFICATION_CONTEXT, type UmbNotificationContext } from '../notification.context.js'; +import type { UmbNotificationColor, UmbNotificationOptions } from '../types.js'; @customElement('umb-story-notification-default-example') export class UmbStoryNotificationDefaultExampleElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/tree/tree-item/recycle-bin-tree-item.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/tree/tree-item/recycle-bin-tree-item.context.ts index c0091158e8..4a724632d9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/tree/tree-item/recycle-bin-tree-item.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/recycle-bin/tree/tree-item/recycle-bin-tree-item.context.ts @@ -3,8 +3,8 @@ import { UmbDefaultTreeItemContext, type UmbTreeItemModel, type UmbTreeRootModel import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbActionEventContext } from '@umbraco-cms/backoffice/action'; import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; -import { UmbEntityTrashedEvent } from '@umbraco-cms/backoffice/recycle-bin'; import { debounce } from '@umbraco-cms/backoffice/utils'; +import { UmbEntityTrashedEvent } from '../../entity-action/trash/index.js'; export class UmbRecycleBinTreeItemContext< RecycleBinTreeItemModelType extends UmbTreeItemModel, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-data-source.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-data-source.interface.ts index 377f91985d..824a891388 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-data-source.interface.ts @@ -1,5 +1,5 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import type { UmbDataSourceResponse } from '@umbraco-cms/backoffice/repository'; +import type { UmbDataSourceResponse } from '../data-source-response.interface.js'; export interface UmbItemDataSourceConstructor { new (host: UmbControllerHost): UmbItemDataSource; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-server-data-source-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-server-data-source-base.ts index 9ae47938eb..845a716c1e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-server-data-source-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/item/item-server-data-source-base.ts @@ -1,6 +1,6 @@ -import type { UmbItemDataSource } from '@umbraco-cms/backoffice/repository'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecute } from '@umbraco-cms/backoffice/resources'; +import type { UmbItemDataSource } from './item-data-source.interface.js'; export interface UmbItemServerDataSourceBaseArgs { getItems: (uniques: Array) => Promise>; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-items.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-items.manager.ts index cb5dc78cd3..620104a935 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-items.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-items.manager.ts @@ -1,5 +1,4 @@ import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; -import type { UmbItemRepository } from '@umbraco-cms/backoffice/repository'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; import { type ManifestRepository, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; @@ -7,6 +6,7 @@ import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-ap import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; import { UmbEntityUpdatedEvent } from '@umbraco-cms/backoffice/entity-action'; +import type { UmbItemRepository } from './item/index.js'; const ObserveRepositoryAlias = Symbol(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/conditions/section-alias.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/conditions/section-alias.condition.ts index 709bbfb7e2..b04ed41e46 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/conditions/section-alias.condition.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/conditions/section-alias.condition.ts @@ -1,8 +1,8 @@ import { UmbConditionBase } from '../../extension-registry/conditions/condition-base.controller.js'; +import { UMB_SECTION_CONTEXT } from '../section.context.js'; import type { SectionAliasConditionConfig } from './types.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api'; -import { UMB_SECTION_CONTEXT } from '@umbraco-cms/backoffice/section'; export class UmbSectionAliasCondition extends UmbConditionBase diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/extensions/section-sidebar-app.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/extensions/section-sidebar-app.extension.ts index 367de44010..880d134027 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/extensions/section-sidebar-app.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/extensions/section-sidebar-app.extension.ts @@ -1,5 +1,5 @@ import type { ManifestElement, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; -import type { UmbSectionSidebarAppElement } from '@umbraco-cms/backoffice/section'; +import type { UmbSectionSidebarAppElement } from './section-sidebar-app-element.interface.js'; export interface ManifestSectionSidebarApp extends ManifestElement, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/section-item.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/section-item.repository.ts index 6fabc37930..81d78c6b2f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/section-item.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/section-item.repository.ts @@ -2,9 +2,9 @@ import type { UmbSectionItemModel } from './types.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbItemRepository } from '@umbraco-cms/backoffice/repository'; import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; -import type { ManifestSection } from '@umbraco-cms/backoffice/section'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { createObservablePart } from '@umbraco-cms/backoffice/observable-api'; +import type { ManifestSection } from '../../extensions/index.js'; export class UmbSectionItemRepository extends UmbRepositoryBase implements UmbItemRepository { constructor(host: UmbControllerHost) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/types.ts index 44c7b14b68..358477d5a3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/repository/item/types.ts @@ -1,4 +1,4 @@ -import type { ManifestSection } from '@umbraco-cms/backoffice/section'; +import type { ManifestSection } from '../../extensions/index.js'; export interface UmbSectionItemModel extends ManifestSection { unique: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-picker-modal/section-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-picker-modal/section-picker-modal.element.ts index bce08c4a13..c5b59d96d3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-picker-modal/section-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-picker-modal/section-picker-modal.element.ts @@ -1,9 +1,9 @@ import type { UmbSectionPickerModalData, UmbSectionPickerModalValue } from './section-picker-modal.token.js'; import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbSelectionManager } from '@umbraco-cms/backoffice/utils'; -import type { ManifestSection } from '@umbraco-cms/backoffice/section'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; +import type { ManifestSection } from '../extensions/index.js'; @customElement('umb-section-picker-modal') export class UmbSectionPickerModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section.context.ts index ce8625b2c4..24a31400cb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section.context.ts @@ -1,4 +1,4 @@ -import type { ManifestSection } from '@umbraco-cms/backoffice/section'; +import type { ManifestSection } from './extensions/section.extension.js'; import { UmbStringState } from '@umbraco-cms/backoffice/observable-api'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.ts index ef129d8762..7c12cb87a2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.ts @@ -2,9 +2,8 @@ import type { UmbDuplicateToModalData, UmbDuplicateToModalValue } from './duplic import { html, customElement, nothing, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; - import type { UmbSelectionChangeEvent } from '@umbraco-cms/backoffice/event'; -import type { UmbTreeElement } from '@umbraco-cms/backoffice/tree'; +import type { UmbTreeElement } from '../../../tree.element.js'; const elementName = 'umb-duplicate-to-modal'; @customElement(elementName) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/move/move-to.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/move/move-to.action.ts index a356c14287..fc1cb86460 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/move/move-to.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/move/move-to.action.ts @@ -4,7 +4,7 @@ import { UmbEntityActionBase, UmbRequestReloadStructureForEntityEvent } from '@u import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; -import { UMB_TREE_PICKER_MODAL } from '@umbraco-cms/backoffice/tree'; +import { UMB_TREE_PICKER_MODAL } from '../../tree-picker-modal/index.js'; export class UmbMoveToEntityAction extends UmbEntityActionBase { override async execute() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.ts index ec4cfac4b7..2fae7f00d1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.ts @@ -1,3 +1,5 @@ +import type { UmbSortChildrenOfRepository, UmbTreeItemModel } from '../../../types.js'; +import type { UmbTreeRepository } from '../../../data/index.js'; import type { UmbSortChildrenOfModalData, UmbSortChildrenOfModalValue } from './sort-children-of-modal.token.js'; import type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit'; import { html, customElement, css, state, repeat, nothing } from '@umbraco-cms/backoffice/external/lit'; @@ -5,7 +7,6 @@ import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; import { UmbSorterController } from '@umbraco-cms/backoffice/sorter'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import type { UmbTreeRepository, UmbTreeItemModel, UmbSortChildrenOfRepository } from '@umbraco-cms/backoffice/tree'; import { UmbPaginationManager } from '@umbraco-cms/backoffice/utils'; import { observeMultiple } from '@umbraco-cms/backoffice/observable-api'; import type { UmbDocumentTreeItemModel } from '@umbraco-cms/backoffice/document'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/entity-create-option-action/folder-entity-create-option-action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/entity-create-option-action/folder-entity-create-option-action.ts index 22889d08bd..fd9f7b4085 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/entity-create-option-action/folder-entity-create-option-action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/entity-create-option-action/folder-entity-create-option-action.ts @@ -1,7 +1,7 @@ import type { MetaEntityCreateOptionActionFolderKind } from './types.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree'; import type { UmbEntityCreateOptionActionArgs } from '@umbraco-cms/backoffice/entity-create-option-action'; +import { UmbCreateFolderEntityAction } from '../entity-action/create-folder/index.js'; export class UmbFolderCreateOptionAction extends UmbCreateFolderEntityAction { constructor(host: UmbControllerHost, args: UmbEntityCreateOptionActionArgs) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts index 6b263d8936..d5e4a787c8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts @@ -1,6 +1,7 @@ +import type { UmbFolderModel } from '../types.js'; +import type { UmbFolderCreateModalData, UmbFolderCreateModalValue } from './folder-create-modal.token.js'; import { UmbFolderModalElementBase } from './folder-modal-element-base.js'; import { customElement, state } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbFolderCreateModalData, UmbFolderCreateModalValue, UmbFolderModel } from '@umbraco-cms/backoffice/tree'; @customElement('umb-folder-create-modal') export class UmbFolderCreateModalElement extends UmbFolderModalElementBase< diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.token.ts index e7e5f7a643..aa9fbcd60e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.token.ts @@ -1,6 +1,6 @@ import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -import type { UmbFolderModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbFolderModel } from '../types.js'; export interface UmbFolderCreateModalData { folderRepositoryAlias: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-modal-element-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-modal-element-base.ts index dddaa53bfd..562d979d5a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-modal-element-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-modal-element-base.ts @@ -1,11 +1,11 @@ import { css, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import type { UmbFolderModel } from '@umbraco-cms/backoffice/tree'; import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { umbFocus } from '@umbraco-cms/backoffice/lit-element'; import type { UmbDetailRepository } from '@umbraco-cms/backoffice/repository'; +import type { UmbFolderModel } from '../types.js'; export abstract class UmbFolderModalElementBase< FolderModalDataType extends { folderRepositoryAlias: string }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.element.ts index 3ba8c0c5a9..d8025b0bb6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.element.ts @@ -1,6 +1,6 @@ import { UmbFolderModalElementBase } from './folder-modal-element-base.js'; import { customElement } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbFolderUpdateModalData, UmbFolderUpdateModalValue } from '@umbraco-cms/backoffice/tree'; +import type { UmbFolderUpdateModalData, UmbFolderUpdateModalValue } from './folder-update-modal.token.js'; @customElement('umb-folder-update-modal') export class UmbFolderModalElement extends UmbFolderModalElementBase< diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.token.ts index 3ff43ffc10..3edfbe3c3c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-update-modal.token.ts @@ -1,5 +1,5 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -import type { UmbFolderModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbFolderModel } from '../types.js'; export interface UmbFolderUpdateModalData { folderRepositoryAlias: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-picker-modal/tree-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-picker-modal/tree-picker-modal.element.ts index 4bceebff8f..2e81abbbea 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-picker-modal/tree-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-picker-modal/tree-picker-modal.element.ts @@ -1,4 +1,4 @@ -import type { UmbTreeSelectionConfiguration } from '../types.js'; +import type { UmbTreeItemModelBase, UmbTreeSelectionConfiguration } from '../types.js'; import { UmbTreeItemPickerContext } from '../tree-item-picker/index.js'; import type { UmbTreePickerModalData, UmbTreePickerModalValue } from './tree-picker-modal.token.js'; import type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit'; @@ -7,7 +7,6 @@ import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UmbDeselectedEvent, UmbSelectedEvent } from '@umbraco-cms/backoffice/event'; -import type { UmbTreeItemModelBase } from '@umbraco-cms/backoffice/tree'; @customElement('umb-tree-picker-modal') export class UmbTreePickerModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/collection/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/collection/repository/types.ts index 3b07d1b2bc..0cbabd2e67 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/collection/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/collection/repository/types.ts @@ -1,5 +1,5 @@ +import type { UmbDataTypeItemModel } from '../../repository/item/types.js'; import type { UmbDataTypeCollectionFilterModel } from '../types.js'; -import type { UmbDataTypeItemModel } from '@umbraco-cms/backoffice/data-type'; import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection'; export type UmbDataTypeCollectionDataSource = UmbCollectionDataSource< diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.ts index b266122c4f..e456e3be1d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.ts @@ -6,7 +6,7 @@ import type { import { css, customElement, html, repeat, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbDataTypeItemModel } from '@umbraco-cms/backoffice/data-type'; +import type { UmbDataTypeItemModel } from '../../repository/item/types.js'; @customElement('umb-data-type-picker-flow-data-type-picker-modal') export class UmbDataTypePickerFlowDataTypePickerModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts index a60138d5e9..428739ea5a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts @@ -1,13 +1,13 @@ import { UMB_DOCUMENT_TYPE_FOLDER_REPOSITORY_ALIAS } from '../../../tree/index.js'; import type { UmbDocumentTypeCreateOptionsModalData } from './constants.js'; -import { - UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN, - type UmbCreateDocumentTypeWorkspacePresetType, - type UmbDocumentTypeEntityTypeUnion, -} from '@umbraco-cms/backoffice/document-type'; import { html, customElement, map } from '@umbraco-cms/backoffice/external/lit'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree'; +import { + UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN, + type UmbCreateDocumentTypeWorkspacePresetType, +} from '../../../paths.js'; +import type { UmbDocumentTypeEntityTypeUnion } from '../../../entity.js'; // Include the types from the DocumentTypeWorkspacePresetType + folder. type OptionsPresetType = UmbCreateDocumentTypeWorkspacePresetType | 'folder' | null; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/composition/document-type-composition.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/composition/document-type-composition.repository.ts index 3c2182a153..a84f2c5295 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/composition/document-type-composition.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/composition/document-type-composition.repository.ts @@ -1,12 +1,12 @@ import { UmbDocumentTypeCompositionServerDataSource } from './document-type-composition.server.data-source.js'; import type { UmbContentTypeCompositionRepository } from '@umbraco-cms/backoffice/content-type'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; import type { UmbDocumentTypeAvailableCompositionRequestModel, UmbDocumentTypeCompositionCompatibleModel, UmbDocumentTypeCompositionReferenceModel, -} from '@umbraco-cms/backoffice/document-type'; -import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; +} from '../../types.js'; export class UmbDocumentTypeCompositionRepository extends UmbRepositoryBase diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/conditions/multiple-app-languages/multiple-app-languages.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/language/conditions/multiple-app-languages/multiple-app-languages.condition.ts index f1217715f2..7025fa25ae 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/conditions/multiple-app-languages/multiple-app-languages.condition.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/conditions/multiple-app-languages/multiple-app-languages.condition.ts @@ -1,5 +1,5 @@ +import { UMB_APP_LANGUAGE_CONTEXT } from '../../global-contexts/app-language.context-token.js'; import type { UmbMultipleAppLanguageConditionConfig } from './types.js'; -import { UMB_APP_LANGUAGE_CONTEXT } from '@umbraco-cms/backoffice/language'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { ManifestCondition, diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.token.ts index 44350c98b8..0ece018095 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/modals/language-picker/language-picker-modal.token.ts @@ -1,5 +1,5 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -import type { UmbLanguageItemModel } from '@umbraco-cms/backoffice/language'; +import type { UmbLanguageItemModel } from '../../repository/item/types.js'; export interface UmbLanguagePickerModalData { multiple?: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.ts index fd9f20e9e5..5c0852dc51 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.ts @@ -1,12 +1,12 @@ import { html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbNumberRangeValueType } from '@umbraco-cms/backoffice/models'; -import type { UmbInputMemberGroupElement } from '@umbraco-cms/backoffice/member-group'; import type { UmbPropertyEditorConfigCollection, UmbPropertyEditorUiElement, } from '@umbraco-cms/backoffice/property-editor'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; +import type { UmbInputMemberGroupElement } from '../../components/index.js'; /** * @element umb-property-editor-ui-member-group-picker diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.ts index f2fb34562b..88c09eddd0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.ts @@ -5,8 +5,8 @@ import type { UmbPropertyEditorConfigCollection, UmbPropertyEditorUiElement, } from '@umbraco-cms/backoffice/property-editor'; -import type { UmbStylesheetInputElement } from '@umbraco-cms/backoffice/stylesheet'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; +import type { UmbStylesheetInputElement } from '../../global-components/index.js'; @customElement('umb-property-editor-ui-stylesheet-picker') export class UmbPropertyEditorUIStylesheetPickerElement extends UmbLitElement implements UmbPropertyEditorUiElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/modals/template-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/modals/template-picker-modal.token.ts index a832fdbd2a..e963d48806 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/modals/template-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/modals/template-picker-modal.token.ts @@ -1,7 +1,7 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; import { UMB_TREE_PICKER_MODAL_ALIAS } from '@umbraco-cms/backoffice/tree'; import type { UmbTreePickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/tree'; -import type { UmbTemplateTreeItemModel } from '@umbraco-cms/backoffice/template'; +import type { UmbTemplateTreeItemModel } from '../tree/index.js'; export type UmbTemplatePickerModalData = UmbTreePickerModalData; export type UmbTemplatePickerModalValue = UmbTreePickerModalValue; diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts index 4726f35c3e..9292fe26d1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts @@ -6,14 +6,14 @@ import { UMB_TEMPLATE_WORKSPACE_CONTEXT } from './template-workspace.context-tok import { css, customElement, html, nothing, query, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement, umbFocus } from '@umbraco-cms/backoffice/lit-element'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; -import { UMB_TEMPLATE_PICKER_MODAL } from '@umbraco-cms/backoffice/template'; import type { UmbCodeEditorElement } from '@umbraco-cms/backoffice/code-editor'; import type { UmbInputWithAliasElement } from '@umbraco-cms/backoffice/components'; import type { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal'; +import { umbBindToValidation } from '@umbraco-cms/backoffice/validation'; import '@umbraco-cms/backoffice/code-editor'; import '../../local-components/insert-menu/index.js'; -import { umbBindToValidation } from '@umbraco-cms/backoffice/validation'; +import { UMB_TEMPLATE_PICKER_MODAL } from '../modals/index.js'; @customElement('umb-template-workspace-editor') export class UmbTemplateWorkspaceEditorElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tipap-api.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tipap-api.ts index 812ad15358..7bc7869291 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tipap-api.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tipap-api.ts @@ -1,11 +1,11 @@ import { distinctUntilChanged } from '@umbraco-cms/backoffice/external/rxjs'; import { Node } from '@umbraco-cms/backoffice/external/tiptap'; -import { UmbTiptapExtensionApiBase } from '@umbraco-cms/backoffice/tiptap'; import { UMB_BLOCK_RTE_DATA_CONTENT_KEY } from '@umbraco-cms/backoffice/rte'; import { UMB_BLOCK_RTE_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/block-rte'; import type { UmbBlockDataModel } from '@umbraco-cms/backoffice/block'; import type { UmbBlockRteLayoutModel } from '@umbraco-cms/backoffice/block-rte'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbTiptapExtensionApiBase } from '../base.js'; declare module '@tiptap/core' { interface Commands { diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tiptap-toolbar-api.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tiptap-toolbar-api.ts index f79eeb656b..52d0b00145 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tiptap-toolbar-api.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/block/block.tiptap-toolbar-api.ts @@ -1,8 +1,8 @@ -import { UmbTiptapToolbarElementApiBase } from '@umbraco-cms/backoffice/tiptap'; import { UMB_BLOCK_RTE_MANAGER_CONTEXT, UMB_BLOCK_RTE_ENTRIES_CONTEXT } from '@umbraco-cms/backoffice/block-rte'; import type { Editor } from '@umbraco-cms/backoffice/external/tiptap'; import type { UmbBlockTypeBaseModel } from '@umbraco-cms/backoffice/block-type'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbTiptapToolbarElementApiBase } from '../base.js'; export default class UmbTiptapBlockPickerToolbarExtension extends UmbTiptapToolbarElementApiBase { #blocks?: Array; diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/ufm-component.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/ufm-component.extension.ts index bc321232e0..7935806e48 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/ufm-component.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/ufm-component.extension.ts @@ -1,5 +1,5 @@ import type { ManifestApi, UmbApi } from '@umbraco-cms/backoffice/extension-api'; -import type { UfmToken } from '@umbraco-cms/backoffice/ufm'; +import type { UfmToken } from './plugins/index.js'; export interface UmbUfmComponentApi extends UmbApi { render(token: UfmToken): string | undefined; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-header-app.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-header-app.element.ts index 259424cc21..4ce50fc265 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-header-app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/current-user-header-app.element.ts @@ -2,8 +2,9 @@ import { UMB_CURRENT_USER_MODAL } from './modals/current-user/current-user-modal import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; -import { UMB_CURRENT_USER_CONTEXT, type UmbCurrentUserModel } from '@umbraco-cms/backoffice/current-user'; import { UmbHeaderAppButtonElement } from '@umbraco-cms/backoffice/components'; +import type { UmbCurrentUserModel } from './types.js'; +import { UMB_CURRENT_USER_CONTEXT } from './constants.js'; @customElement('umb-current-user-header-app') export class UmbCurrentUserHeaderAppElement extends UmbHeaderAppButtonElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts index 36d559bf57..09b139b589 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts @@ -6,9 +6,9 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import type { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import type { UmbInputDocumentTypeElement } from '@umbraco-cms/backoffice/document-type'; -import type { UmbWebhookDetailModel } from '@umbraco-cms/backoffice/webhook'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace'; import type { UUIBooleanInputEvent, UUIInputEvent } from '@umbraco-cms/backoffice/external/uui'; +import type { UmbWebhookDetailModel } from '../../types.js'; import '@umbraco-cms/backoffice/culture'; import '../../../components/input-webhook-headers.element.js';