mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-01 06:10:16 +08:00
b8dcb85007
### TL;DR Moved outline functionality into a dedicated fragment package and updated vanilla-extract CSS dependency. ### What changed? - Created new `@blocksuite/affine-fragment-outline` package - Relocated outline-related code from presets to the new fragment package - Updated imports across affected files to reference the new package location - Upgraded `@vanilla-extract/css` dependency from 1.14.0/1.16.1 to 1.17.0 - Added necessary package configuration and TypeScript setup for the new fragment ### How to test? 1. Verify outline functionality works as expected in both desktop and mobile views 2. Check that outline panel, viewer, and mobile menu components render correctly 3. Ensure outline navigation and interactions continue to work 4. Confirm no regressions in outline-related features ### Why make this change? This change improves code organization by isolating outline functionality into a dedicated package, following the modular architecture pattern. This makes the codebase more maintainable and allows for better separation of concerns. The vanilla-extract CSS upgrade ensures consistency across packages and provides access to the latest features and fixes.
178 lines
5.5 KiB
TypeScript
178 lines
5.5 KiB
TypeScript
/* oxlint-disable @typescript-eslint/triple-slash-reference */
|
|
/// <reference path="./effects.ts" />
|
|
import { matchModels } from '@blocksuite/affine-shared/utils';
|
|
import { deserializeXYWH, Point } from '@blocksuite/global/utils';
|
|
|
|
import { splitElements } from './root-block/edgeless/utils/clipboard-utils.js';
|
|
import { isCanvasElement } from './root-block/edgeless/utils/query.js';
|
|
|
|
export * from './_common/adapters/index.js';
|
|
export * from './_common/transformers/index.js';
|
|
export * from './_specs/index.js';
|
|
export { EdgelessTemplatePanel } from './root-block/edgeless/components/toolbar/template/template-panel.js';
|
|
export type {
|
|
Template,
|
|
TemplateCategory,
|
|
TemplateManager,
|
|
} from './root-block/edgeless/components/toolbar/template/template-type.js';
|
|
export { CopilotTool } from './root-block/edgeless/gfx-tool/copilot-tool.js';
|
|
export * from './root-block/edgeless/gfx-tool/index.js';
|
|
export { EditPropsMiddlewareBuilder } from './root-block/edgeless/middlewares/base.js';
|
|
export { EdgelessSnapManager } from './root-block/edgeless/utils/snap-manager.js';
|
|
export * from './root-block/index.js';
|
|
export * from './schemas.js';
|
|
export * from '@blocksuite/affine-block-attachment';
|
|
export * from '@blocksuite/affine-block-bookmark';
|
|
export * from '@blocksuite/affine-block-code';
|
|
export * from '@blocksuite/affine-block-data-view';
|
|
export * from '@blocksuite/affine-block-database';
|
|
export * from '@blocksuite/affine-block-divider';
|
|
export * from '@blocksuite/affine-block-edgeless-text';
|
|
export * from '@blocksuite/affine-block-embed';
|
|
export * from '@blocksuite/affine-block-frame';
|
|
export * from '@blocksuite/affine-block-image';
|
|
export * from '@blocksuite/affine-block-latex';
|
|
export * from '@blocksuite/affine-block-list';
|
|
export * from '@blocksuite/affine-block-note';
|
|
export * from '@blocksuite/affine-block-paragraph';
|
|
export * from '@blocksuite/affine-block-surface';
|
|
export * from '@blocksuite/affine-block-surface-ref';
|
|
export * from '@blocksuite/affine-block-table';
|
|
export {
|
|
type AIError,
|
|
type AIItemConfig,
|
|
type AIItemGroupConfig,
|
|
AIItemList,
|
|
type AISubItemConfig,
|
|
GeneralNetworkError,
|
|
PaymentRequiredError,
|
|
UnauthorizedError,
|
|
} from '@blocksuite/affine-components/ai-item';
|
|
export {
|
|
menu,
|
|
type MenuOptions,
|
|
onMenuOpen,
|
|
} from '@blocksuite/affine-components/context-menu';
|
|
export {
|
|
DocTitle,
|
|
getDocTitleByEditorHost,
|
|
} from '@blocksuite/affine-components/doc-title';
|
|
export {
|
|
HoverController,
|
|
whenHover,
|
|
} from '@blocksuite/affine-components/hover';
|
|
export {
|
|
ArrowDownSmallIcon,
|
|
CloseIcon,
|
|
DocIcon,
|
|
DualLinkIcon16,
|
|
LinkedDocIcon,
|
|
TagsIcon,
|
|
} from '@blocksuite/affine-components/icons';
|
|
export * from '@blocksuite/affine-components/icons';
|
|
export * from '@blocksuite/affine-components/peek';
|
|
export {
|
|
createLitPortal,
|
|
createSimplePortal,
|
|
} from '@blocksuite/affine-components/portal';
|
|
export * from '@blocksuite/affine-components/rich-text';
|
|
export { toast } from '@blocksuite/affine-components/toast';
|
|
export {
|
|
type AdvancedMenuItem,
|
|
type FatMenuItems,
|
|
groupsToActions,
|
|
MenuContext,
|
|
type MenuItem,
|
|
type MenuItemGroup,
|
|
renderActions,
|
|
renderGroups,
|
|
renderToolbarSeparator,
|
|
ToolbarMoreMenuConfigExtension,
|
|
Tooltip,
|
|
} from '@blocksuite/affine-components/toolbar';
|
|
export * from '@blocksuite/affine-fragment-frame-panel';
|
|
export * from '@blocksuite/affine-fragment-outline';
|
|
export * from '@blocksuite/affine-model';
|
|
export {
|
|
AttachmentAdapter,
|
|
AttachmentAdapterFactoryExtension,
|
|
AttachmentAdapterFactoryIdentifier,
|
|
codeBlockWrapMiddleware,
|
|
FetchUtils,
|
|
HtmlAdapter,
|
|
HtmlAdapterFactoryExtension,
|
|
HtmlAdapterFactoryIdentifier,
|
|
ImageAdapter,
|
|
ImageAdapterFactoryExtension,
|
|
ImageAdapterFactoryIdentifier,
|
|
MarkdownAdapter,
|
|
MarkdownAdapterFactoryExtension,
|
|
MarkdownAdapterFactoryIdentifier,
|
|
MixTextAdapter,
|
|
MixTextAdapterFactoryExtension,
|
|
MixTextAdapterFactoryIdentifier,
|
|
NotionTextAdapter,
|
|
NotionTextAdapterFactoryExtension,
|
|
NotionTextAdapterFactoryIdentifier,
|
|
PlainTextAdapter,
|
|
PlainTextAdapterFactoryExtension,
|
|
PlainTextAdapterFactoryIdentifier,
|
|
} from '@blocksuite/affine-shared/adapters';
|
|
export * from '@blocksuite/affine-shared/commands';
|
|
export { HighlightSelection } from '@blocksuite/affine-shared/selection';
|
|
export * from '@blocksuite/affine-shared/services';
|
|
export { scrollbarStyle } from '@blocksuite/affine-shared/styles';
|
|
export {
|
|
ColorVariables,
|
|
FontFamilyVariables,
|
|
SizeVariables,
|
|
StyleVariables,
|
|
unsafeCSSVarV2,
|
|
} from '@blocksuite/affine-shared/theme';
|
|
export { type AffineTextAttributes } from '@blocksuite/affine-shared/types';
|
|
export {
|
|
createButtonPopper,
|
|
createDefaultDoc,
|
|
createSignalFromObservable,
|
|
findNoteBlockModel,
|
|
getLastNoteBlock,
|
|
isInsideEdgelessEditor,
|
|
isInsidePageEditor,
|
|
matchModels,
|
|
on,
|
|
once,
|
|
openFileOrFiles,
|
|
printToPdf,
|
|
referenceToNode,
|
|
type Signal,
|
|
SpecProvider,
|
|
} from '@blocksuite/affine-shared/utils';
|
|
export type { DragBlockPayload } from '@blocksuite/affine-widget-drag-handle';
|
|
|
|
export const BlocksUtils = {
|
|
splitElements,
|
|
matchModels,
|
|
deserializeXYWH,
|
|
isCanvasElement,
|
|
Point,
|
|
};
|
|
|
|
const env: Record<string, unknown> =
|
|
typeof globalThis !== 'undefined'
|
|
? globalThis
|
|
: typeof window !== 'undefined'
|
|
? window
|
|
: typeof global !== 'undefined'
|
|
? global
|
|
: {};
|
|
const importIdentifier = '__ $BLOCKSUITE_BLOCKS$ __';
|
|
|
|
if (env[importIdentifier] === true) {
|
|
// https://github.com/yjs/yjs/issues/438
|
|
console.error(
|
|
'@blocksuite/blocks was already imported. This breaks constructor checks and will lead to issues!'
|
|
);
|
|
}
|
|
|
|
env[importIdentifier] = true;
|