diff --git a/blocksuite/affine/all/src/extensions/store.ts b/blocksuite/affine/all/src/extensions/store.ts index 916e574fac..9c3dab9979 100644 --- a/blocksuite/affine/all/src/extensions/store.ts +++ b/blocksuite/affine/all/src/extensions/store.ts @@ -1,9 +1,6 @@ import { DataViewBlockSchemaExtension } from '@blocksuite/affine-block-data-view'; import { DatabaseSelectionExtension } from '@blocksuite/affine-block-database'; -import { - EmbedIframeConfigExtensions, - EmbedIframeService, -} from '@blocksuite/affine-block-embed'; +import { EmbedIframeConfigExtensions } from '@blocksuite/affine-block-embed'; import { ImageStoreSpec } from '@blocksuite/affine-block-image'; import { SurfaceBlockSchemaExtension } from '@blocksuite/affine-block-surface'; import { TableSelectionExtension } from '@blocksuite/affine-block-table'; @@ -39,6 +36,7 @@ import { } from '@blocksuite/affine-shared/selection'; import { BlockMetaService, + EmbedIframeService, FeatureFlagService, FileSizeLimitService, LinkPreviewerService, diff --git a/blocksuite/affine/blocks/block-bookmark/src/configs/toolbar.ts b/blocksuite/affine/blocks/block-bookmark/src/configs/toolbar.ts index 1e09bf9b39..fa34768a4c 100644 --- a/blocksuite/affine/blocks/block-bookmark/src/configs/toolbar.ts +++ b/blocksuite/affine/blocks/block-bookmark/src/configs/toolbar.ts @@ -1,4 +1,3 @@ -import { EmbedIframeService } from '@blocksuite/affine-block-embed'; import { reassociateConnectorsCommand } from '@blocksuite/affine-block-surface'; import { toast } from '@blocksuite/affine-components/toast'; import { @@ -12,6 +11,7 @@ import { } from '@blocksuite/affine-shared/consts'; import { ActionPlacement, + EmbedIframeService, EmbedOptionProvider, FeatureFlagService, type LinkEventType, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/commands/insert-embed-iframe.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/commands/insert-embed-iframe.ts index 7c15ade5c2..d24eeebf73 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/commands/insert-embed-iframe.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/commands/insert-embed-iframe.ts @@ -2,6 +2,7 @@ import { EdgelessCRUDIdentifier, SurfaceBlockComponent, } from '@blocksuite/affine-block-surface'; +import { EmbedIframeService } from '@blocksuite/affine-shared/services'; import { BlockSelection, type Command, @@ -15,7 +16,6 @@ import { EMBED_IFRAME_DEFAULT_HEIGHT_IN_SURFACE, EMBED_IFRAME_DEFAULT_WIDTH_IN_SURFACE, } from '../consts'; -import { EmbedIframeService } from '../extension/embed-iframe-service'; export const insertEmbedIframeCommand: Command< { url: string }, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-create-modal.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-create-modal.ts index 06bee83990..128218e4e6 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-create-modal.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-create-modal.ts @@ -1,3 +1,4 @@ +import { EmbedIframeService } from '@blocksuite/affine-shared/services'; import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import { isValidUrl, stopPropagation } from '@blocksuite/affine-shared/utils'; import type { BlockStdScope } from '@blocksuite/block-std'; @@ -9,8 +10,6 @@ import { css, html, LitElement, nothing, unsafeCSS } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; -import { EmbedIframeService } from '../extension/embed-iframe-service'; - type EmbedModalVariant = 'default' | 'compact'; export class EmbedIframeCreateModal extends WithDisposable(LitElement) { diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-link-edit-popup.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-link-edit-popup.ts index 6eb846e63e..1b5b9e26a2 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-link-edit-popup.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/components/embed-iframe-link-edit-popup.ts @@ -1,4 +1,5 @@ import { type EmbedIframeBlockModel } from '@blocksuite/affine-model'; +import { EmbedIframeService } from '@blocksuite/affine-shared/services'; import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import { isValidUrl, stopPropagation } from '@blocksuite/affine-shared/utils'; import { BlockSelection, type BlockStdScope } from '@blocksuite/block-std'; @@ -7,8 +8,6 @@ import { DoneIcon } from '@blocksuite/icons/lit'; import { css, html, LitElement } from 'lit'; import { property, query, state } from 'lit/decorators.js'; -import { EmbedIframeService } from '../extension/embed-iframe-service'; - export class EmbedIframeLinkEditPopup extends SignalWatcher( WithDisposable(LitElement) ) { diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/excalidraw.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/excalidraw.ts index a9f484cc03..0d1e025424 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/excalidraw.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/excalidraw.ts @@ -1,4 +1,5 @@ -import { EmbedIframeConfigExtension } from '../../extension/embed-iframe-config'; +import { EmbedIframeConfigExtension } from '@blocksuite/affine-shared/services'; + import { type EmbedIframeUrlValidationOptions, validateEmbedIframeUrl, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-docs.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-docs.ts index 192b8a9c2d..24d38ae427 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-docs.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-docs.ts @@ -1,4 +1,5 @@ -import { EmbedIframeConfigExtension } from '../../extension/embed-iframe-config'; +import { EmbedIframeConfigExtension } from '@blocksuite/affine-shared/services'; + import { type EmbedIframeUrlValidationOptions, validateEmbedIframeUrl, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-drive.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-drive.ts index 872e26211d..f6e633f670 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-drive.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/google-drive.ts @@ -1,4 +1,5 @@ -import { EmbedIframeConfigExtension } from '../../extension/embed-iframe-config'; +import { EmbedIframeConfigExtension } from '@blocksuite/affine-shared/services'; + import { type EmbedIframeUrlValidationOptions, validateEmbedIframeUrl, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/miro.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/miro.ts index c977312b44..f91466f719 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/miro.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/miro.ts @@ -1,4 +1,5 @@ -import { EmbedIframeConfigExtension } from '../../extension/embed-iframe-config'; +import { EmbedIframeConfigExtension } from '@blocksuite/affine-shared/services'; + import { type EmbedIframeUrlValidationOptions, validateEmbedIframeUrl, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/spotify.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/spotify.ts index c0fa3f171c..289141305a 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/spotify.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/spotify.ts @@ -1,4 +1,5 @@ -import { EmbedIframeConfigExtension } from '../../extension/embed-iframe-config'; +import { EmbedIframeConfigExtension } from '@blocksuite/affine-shared/services'; + import { type EmbedIframeUrlValidationOptions, validateEmbedIframeUrl, diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/embed-iframe-block.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/embed-iframe-block.ts index fc03a0d4ee..421144109e 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/embed-iframe-block.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/embed-iframe-block.ts @@ -5,7 +5,10 @@ import { } from '@blocksuite/affine-components/caption'; import type { EmbedIframeBlockModel } from '@blocksuite/affine-model'; import { + type EmbedIframeData, + EmbedIframeService, FeatureFlagService, + type IframeOptions, LinkPreviewerService, } from '@blocksuite/affine-shared/services'; import { matchModels } from '@blocksuite/affine-shared/utils'; @@ -16,11 +19,6 @@ import { html, nothing } from 'lit'; import { type ClassInfo, classMap } from 'lit/directives/class-map.js'; import { ifDefined } from 'lit/directives/if-defined.js'; -import type { IframeOptions } from './extension/embed-iframe-config.js'; -import { - type EmbedIframeData, - EmbedIframeService, -} from './extension/embed-iframe-service.js'; import { embedIframeBlockStyles } from './style.js'; import type { EmbedIframeStatusCardOptions } from './types.js'; import { safeGetIframeSrc } from './utils.js'; diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/index.ts b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/index.ts index 52ec403af5..b6ed1f9746 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/index.ts +++ b/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/index.ts @@ -4,4 +4,3 @@ export * from './components/embed-iframe-create-modal'; export * from './configs'; export * from './embed-iframe-block'; export * from './embed-iframe-spec'; -export * from './extension'; diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/embed-iframe-config.ts b/blocksuite/affine/shared/src/services/embed-iframe/embed-iframe-config.ts similarity index 100% rename from blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/embed-iframe-config.ts rename to blocksuite/affine/shared/src/services/embed-iframe/embed-iframe-config.ts diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/embed-iframe-service.ts b/blocksuite/affine/shared/src/services/embed-iframe/embed-iframe-service.ts similarity index 96% rename from blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/embed-iframe-service.ts rename to blocksuite/affine/shared/src/services/embed-iframe/embed-iframe-service.ts index 4f5d454125..edcca85bce 100644 --- a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/embed-iframe-service.ts +++ b/blocksuite/affine/shared/src/services/embed-iframe/embed-iframe-service.ts @@ -1,5 +1,4 @@ import type { EmbedIframeBlockProps } from '@blocksuite/affine-model'; -import { createIdentifier } from '@blocksuite/global/di'; import { type Store, StoreExtension } from '@blocksuite/store'; import { @@ -69,10 +68,6 @@ export interface EmbedIframeProvider { ) => string | undefined; } -export const EmbedIframeProvider = createIdentifier( - 'EmbedIframeProvider' -); - export class EmbedIframeService extends StoreExtension implements EmbedIframeProvider diff --git a/blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/index.ts b/blocksuite/affine/shared/src/services/embed-iframe/index.ts similarity index 100% rename from blocksuite/affine/blocks/block-embed/src/embed-iframe-block/extension/index.ts rename to blocksuite/affine/shared/src/services/embed-iframe/index.ts diff --git a/blocksuite/affine/shared/src/services/index.ts b/blocksuite/affine/shared/src/services/index.ts index c89e3ab47f..9941152723 100644 --- a/blocksuite/affine/shared/src/services/index.ts +++ b/blocksuite/affine/shared/src/services/index.ts @@ -4,6 +4,7 @@ export * from './doc-mode-service'; export * from './drag-handle-config'; export * from './edit-props-store'; export * from './editor-setting-service'; +export * from './embed-iframe'; export * from './embed-option-service'; export * from './feature-flag-service'; export * from './file-size-limit-service';