refactor(editor): separate lit and slot in global (#10666)

This commit is contained in:
Saul-Mirone
2025-03-06 10:24:59 +00:00
parent 56b842f2e1
commit 84e2dda3f8
322 changed files with 366 additions and 353 deletions

View File

@@ -57,7 +57,8 @@ import {
type SerializedXYWH,
Vec,
} from '@blocksuite/global/gfx';
import { assertType, DisposableGroup } from '@blocksuite/global/utils';
import { DisposableGroup } from '@blocksuite/global/slot';
import { assertType } from '@blocksuite/global/utils';
import {
type BlockSnapshot,
BlockSnapshotSchema,

View File

@@ -41,7 +41,7 @@ import {
toDegree,
Vec,
} from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { FrameIcon, PageIcon } from '@blocksuite/icons/lit';
import { consume } from '@lit/context';
import { baseTheme } from '@toeverything/theme';

View File

@@ -27,7 +27,8 @@ import { type BlockStdScope, stdContext } from '@blocksuite/block-std';
import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx';
import type { Bound, IVec } from '@blocksuite/global/gfx';
import { Vec } from '@blocksuite/global/gfx';
import { DisposableGroup, WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { DisposableGroup } from '@blocksuite/global/slot';
import {
ArrowUpBigIcon,
PlusIcon,

View File

@@ -10,7 +10,8 @@ import {
} from '@blocksuite/block-std';
import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx';
import { Vec } from '@blocksuite/global/gfx';
import { DisposableGroup, WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { DisposableGroup } from '@blocksuite/global/slot';
import type { Store } from '@blocksuite/store';
import { consume } from '@lit/context';
import { css, html, LitElement } from 'lit';

View File

@@ -8,7 +8,8 @@ import {
} from '@blocksuite/block-std';
import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx';
import { Bound, deserializeXYWH } from '@blocksuite/global/gfx';
import { DisposableGroup, WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { DisposableGroup } from '@blocksuite/global/slot';
import { type Query, type Store } from '@blocksuite/store';
import { css, html, nothing, type PropertyValues } from 'lit';
import { property, query, state } from 'lit/decorators.js';

View File

@@ -11,7 +11,7 @@ import { getRectByBlockComponent } from '@blocksuite/affine-shared/utils';
import { WidgetComponent } from '@blocksuite/block-std';
import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx';
import { deserializeXYWH, Point, serializeXYWH } from '@blocksuite/global/gfx';
import { DisposableGroup } from '@blocksuite/global/utils';
import { DisposableGroup } from '@blocksuite/global/slot';
import { ScissorsIcon } from '@blocksuite/icons/lit';
import { css, html, nothing, type PropertyValues } from 'lit';
import { state } from 'lit/decorators.js';

View File

@@ -1,5 +1,5 @@
import type { EmbedCardStyle } from '@blocksuite/affine-model';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, LitElement, nothing, type TemplateResult } from 'lit';
import { property } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';

View File

@@ -1,6 +1,6 @@
import { LINE_WIDTHS, LineWidth } from '@blocksuite/affine-model';
import { on, once } from '@blocksuite/affine-shared/utils';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, LitElement, nothing, type PropertyValues } from 'lit';
import { property, query } from 'lit/decorators.js';
import { repeat } from 'lit/directives/repeat.js';

View File

@@ -1,6 +1,6 @@
import { NoteDisplayMode } from '@blocksuite/affine-model';
import { stopPropagation } from '@blocksuite/affine-shared/utils';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { EdgelessIcon, PageIcon } from '@blocksuite/icons/lit';
import { css, html, LitElement } from 'lit';
import { property } from 'lit/decorators.js';

View File

@@ -1,5 +1,5 @@
import { ColorScheme, NoteShadow } from '@blocksuite/affine-model';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, LitElement } from 'lit';
import { property } from 'lit/decorators.js';
import { repeat } from 'lit/directives/repeat.js';

View File

@@ -1,5 +1,5 @@
import { ShapeStyle } from '@blocksuite/affine-model';
import { Slot } from '@blocksuite/global/utils';
import { Slot } from '@blocksuite/global/slot';
import { css, html, LitElement } from 'lit';
import { property } from 'lit/decorators.js';
import { repeat } from 'lit/directives/repeat.js';

View File

@@ -1,6 +1,6 @@
import { type ColorScheme, type StrokeStyle } from '@blocksuite/affine-model';
import type { ColorEvent } from '@blocksuite/affine-shared/utils';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, LitElement } from 'lit';
import { property } from 'lit/decorators.js';

View File

@@ -55,8 +55,8 @@ import {
deserializeXYWH,
normalizeDegAngle,
} from '@blocksuite/global/gfx';
import type { Disposable } from '@blocksuite/global/utils';
import { assertType, Slot } from '@blocksuite/global/utils';
import { type Disposable, Slot } from '@blocksuite/global/slot';
import { assertType } from '@blocksuite/global/utils';
import { css, html, nothing } from 'lit';
import { state } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';

View File

@@ -11,7 +11,7 @@ import {
ShadowlessElement,
} from '@blocksuite/block-std';
import { Bound, Vec } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, nothing } from 'lit';
import { property, query } from 'lit/decorators.js';
import { styleMap } from 'lit/directives/style-map.js';

View File

@@ -10,7 +10,7 @@ import {
ShadowlessElement,
} from '@blocksuite/block-std';
import { Bound } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { cssVarV2 } from '@toeverything/theme/v2';
import { css, html, nothing } from 'lit';
import { property, query } from 'lit/decorators.js';

View File

@@ -10,7 +10,7 @@ import {
ShadowlessElement,
} from '@blocksuite/block-std';
import { Bound } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { html, nothing } from 'lit';
import { property, query } from 'lit/decorators.js';
import { styleMap } from 'lit/directives/style-map.js';

View File

@@ -12,7 +12,7 @@ import {
ShadowlessElement,
} from '@blocksuite/block-std';
import { Bound, toRadian, Vec } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { html, nothing } from 'lit';
import { property, query } from 'lit/decorators.js';
import { styleMap } from 'lit/directives/style-map.js';

View File

@@ -11,7 +11,7 @@ import {
ShadowlessElement,
} from '@blocksuite/block-std';
import { Bound, toRadian, Vec } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { css, html, nothing } from 'lit';
import { property, query } from 'lit/decorators.js';
import { styleMap } from 'lit/directives/style-map.js';

View File

@@ -6,7 +6,7 @@ import {
} from '@blocksuite/affine-shared/services';
import type { ColorEvent } from '@blocksuite/affine-shared/utils';
import type { GfxToolsFullOptionValue } from '@blocksuite/block-std/gfx';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { computed } from '@preact/signals-core';
import { css, html, LitElement } from 'lit';
import { property } from 'lit/decorators.js';

View File

@@ -2,7 +2,7 @@ import {
EditPropsStore,
ThemeProvider,
} from '@blocksuite/affine-shared/services';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { computed } from '@preact/signals-core';
import { css, html, LitElement } from 'lit';
import { styleMap } from 'lit/directives/style-map.js';

View File

@@ -1,5 +1,5 @@
import type { Bound } from '@blocksuite/global/gfx';
import type { DisposableClass } from '@blocksuite/global/utils';
import type { DisposableClass } from '@blocksuite/global/lit';
import type { TemplateResult } from 'lit';
import type { EdgelessRootBlockComponent } from '../../../../edgeless-root-block.js';

View File

@@ -1,4 +1,4 @@
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { ArrowRightSmallIcon } from '@blocksuite/icons/lit';
import { consume } from '@lit/context';
import { css, html, LitElement } from 'lit';

View File

@@ -6,7 +6,7 @@ import {
} from '@blocksuite/affine-shared/services';
import type { ColorEvent } from '@blocksuite/affine-shared/utils';
import type { GfxToolsFullOptionValue } from '@blocksuite/block-std/gfx';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import {
ConnectorCIcon,
ConnectorEIcon,

View File

@@ -1,6 +1,6 @@
import { ConnectorMode, getConnectorModeName } from '@blocksuite/affine-model';
import { EditPropsStore } from '@blocksuite/affine-shared/services';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import {
ConnectorCIcon,
ConnectorEIcon,

View File

@@ -1,5 +1,5 @@
import type { ColorScheme } from '@blocksuite/affine-model';
import type { Slot } from '@blocksuite/global/utils';
import type { Slot } from '@blocksuite/global/slot';
import { createContext } from '@lit/context';
import type { EdgelessToolbarWidget } from './edgeless-toolbar.js';

View File

@@ -16,7 +16,7 @@ import {
import { stopPropagation } from '@blocksuite/affine-shared/utils';
import { WidgetComponent } from '@blocksuite/block-std';
import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx';
import { Slot } from '@blocksuite/global/utils';
import { Slot } from '@blocksuite/global/slot';
import {
ArrowLeftSmallIcon,
ArrowRightSmallIcon,

View File

@@ -1,5 +1,5 @@
import { LassoMode } from '@blocksuite/affine-shared/types';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { effect } from '@preact/signals-core';
import { css, html, LitElement } from 'lit';
import { query, state } from 'lit/decorators.js';

View File

@@ -9,7 +9,7 @@ import type { BlockStdScope } from '@blocksuite/block-std';
import { modelContext, stdContext } from '@blocksuite/block-std';
import { ErrorCode } from '@blocksuite/global/exceptions';
import type { Bound } from '@blocksuite/global/gfx';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import type { BlockModel } from '@blocksuite/store';
import { consume } from '@lit/context';
import { computed } from '@preact/signals-core';

View File

@@ -9,7 +9,7 @@ import {
} from '@blocksuite/affine-shared/services';
import type { GfxToolsFullOptionValue } from '@blocksuite/block-std/gfx';
import type { Bound } from '@blocksuite/global/gfx';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { computed } from '@preact/signals-core';
import { css, html, LitElement, nothing } from 'lit';
import { property, query, state } from 'lit/decorators.js';

View File

@@ -5,11 +5,11 @@ import type {
ToolController,
} from '@blocksuite/block-std/gfx';
import {
type Constructor,
// oxlint-disable-next-line no-unused-vars
type DisposableClass,
WithDisposable,
} from '@blocksuite/global/utils';
} from '@blocksuite/global/lit';
import type { Constructor } from '@blocksuite/global/utils';
import { consume } from '@lit/context';
import { effect } from '@preact/signals-core';
import { cssVar } from '@toeverything/theme';

View File

@@ -7,7 +7,7 @@ import {
EditPropsStore,
ThemeProvider,
} from '@blocksuite/affine-shared/services';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { computed } from '@preact/signals-core';
import { css, html, LitElement } from 'lit';
import { state } from 'lit/decorators.js';

View File

@@ -1,6 +1,6 @@
import type { FrameBlockModel } from '@blocksuite/affine-model';
import { createButtonPopper } from '@blocksuite/affine-shared/utils';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { LayerIcon } from '@blocksuite/icons/lit';
import { css, html, LitElement } from 'lit';
import { property, query } from 'lit/decorators.js';

View File

@@ -1,10 +1,7 @@
import { EdgelessCRUDIdentifier } from '@blocksuite/affine-block-surface';
import { generateKeyBetweenV2 } from '@blocksuite/block-std/gfx';
import {
DisposableGroup,
SignalWatcher,
WithDisposable,
} from '@blocksuite/global/utils';
import { SignalWatcher, WithDisposable } from '@blocksuite/global/lit';
import { DisposableGroup } from '@blocksuite/global/slot';
import { css, html, LitElement, nothing } from 'lit';
import { property, query, state } from 'lit/decorators.js';
import { repeat } from 'lit/directives/repeat.js';

View File

@@ -1,6 +1,6 @@
import { EditPropsStore } from '@blocksuite/affine-shared/services';
import { createButtonPopper } from '@blocksuite/affine-shared/utils';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { SettingsIcon } from '@blocksuite/icons/lit';
import { css, html, LitElement, nothing } from 'lit';
import { property, query, state } from 'lit/decorators.js';

View File

@@ -7,7 +7,7 @@ import type { FrameBlockModel } from '@blocksuite/affine-model';
import { EditPropsStore } from '@blocksuite/affine-shared/services';
import type { GfxToolsFullOptionValue } from '@blocksuite/block-std/gfx';
import { Bound, clamp } from '@blocksuite/global/gfx';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import {
EndPointArrowIcon,
ExpandCloseIcon,

View File

@@ -12,7 +12,7 @@ import {
TelemetryProvider,
ThemeProvider,
} from '@blocksuite/affine-shared/services';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { css, html, LitElement, nothing } from 'lit';
import { property, query, state } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';

View File

@@ -12,7 +12,7 @@ import {
ThemeProvider,
} from '@blocksuite/affine-shared/services';
import type { ColorEvent } from '@blocksuite/affine-shared/utils';
import { SignalWatcher, WithDisposable } from '@blocksuite/global/utils';
import { SignalWatcher, WithDisposable } from '@blocksuite/global/lit';
import { StyleGeneralIcon, StyleScribbleIcon } from '@blocksuite/icons/lit';
import { computed, effect, type Signal, signal } from '@preact/signals-core';
import { css, html, LitElement } from 'lit';

View File

@@ -1,5 +1,5 @@
import { type ShapeName, ShapeType } from '@blocksuite/affine-model';
import { SignalWatcher } from '@blocksuite/global/utils';
import { SignalWatcher } from '@blocksuite/global/lit';
import { css, html, LitElement } from 'lit';
import { ShapeTool } from '../../../gfx-tool/shape-tool.js';

View File

@@ -9,7 +9,8 @@ import {
type ShapeStyle,
} from '@blocksuite/affine-model';
import { Bound } from '@blocksuite/global/gfx';
import { sleep, WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { sleep } from '@blocksuite/global/utils';
import {
css,
html,

View File

@@ -3,7 +3,7 @@ import {
once,
requestConnectedFrame,
} from '@blocksuite/affine-shared/utils';
import { DisposableGroup } from '@blocksuite/global/utils';
import { DisposableGroup } from '@blocksuite/global/slot';
import { css, html, LitElement } from 'lit';
import { query } from 'lit/decorators.js';

View File

@@ -11,7 +11,7 @@ import {
stopPropagation,
} from '@blocksuite/affine-shared/utils';
import type { Bound } from '@blocksuite/global/gfx';
import { WithDisposable } from '@blocksuite/global/utils';
import { WithDisposable } from '@blocksuite/global/lit';
import { baseTheme } from '@toeverything/theme';
import { css, html, LitElement, nothing, unsafeCSS } from 'lit';
import { property, state } from 'lit/decorators.js';

View File

@@ -43,7 +43,8 @@ import {
} from '@blocksuite/block-std/gfx';
import type { IVec } from '@blocksuite/global/gfx';
import { Bound, getCommonBoundWithRotation, Vec } from '@blocksuite/global/gfx';
import { DisposableGroup, noop } from '@blocksuite/global/utils';
import { DisposableGroup } from '@blocksuite/global/slot';
import { noop } from '@blocksuite/global/utils';
import { effect } from '@preact/signals-core';
import clamp from 'lodash-es/clamp';
import last from 'lodash-es/last';

View File

@@ -4,7 +4,8 @@ import type {
} from '@blocksuite/affine-block-surface';
import type { ConnectorElementModel } from '@blocksuite/affine-model';
import { Bound, getCommonBound } from '@blocksuite/global/gfx';
import { assertType, Slot } from '@blocksuite/global/utils';
import { Slot } from '@blocksuite/global/slot';
import { assertType } from '@blocksuite/global/utils';
import {
type BlockModel,
type BlockSnapshot,

View File

@@ -14,12 +14,8 @@ import { ThemeProvider } from '@blocksuite/affine-shared/services';
import type { GfxController, GfxToolsMap } from '@blocksuite/block-std/gfx';
import type { XYWH } from '@blocksuite/global/gfx';
import { Bound } from '@blocksuite/global/gfx';
import {
assertType,
DisposableGroup,
noop,
Slot,
} from '@blocksuite/global/utils';
import { DisposableGroup, Slot } from '@blocksuite/global/slot';
import { assertType, noop } from '@blocksuite/global/utils';
import { effect } from '@preact/signals-core';
import type { ShapeTool } from '../gfx-tool/shape-tool.js';