Files
AFFiNE-Mirror/blocksuite/blocks/src/index.ts
donteatfriedrice fee86304ae refactor(editor): extract adapters to shared (#9344)
Extract AttachmentAdapter, ImageAdapter, NotionTextAdapter to shared.
2024-12-27 08:52:03 +00:00

166 lines
5.1 KiB
TypeScript

/* oxlint-disable @typescript-eslint/triple-slash-reference */
/// <reference path="./effects.ts" />
import { deserializeXYWH, Point } from '@blocksuite/global/utils';
import { matchFlavours } from './_common/utils/index.js';
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 { type NavigatorMode } from './_common/edgeless/frame/consts.js';
export {
ExportManager,
ExportManagerExtension,
} from './_common/export-manager/export-manager.js';
export * from './_common/test-utils/test-utils.js';
export * from './_common/transformers/index.js';
export { type AbstractEditor } from './_common/types.js';
export * from './_specs/index.js';
export * from './code-block/index.js';
export * from './data-view-block/index.js';
export * from './database-block/index.js';
export * from './divider-block/index.js';
export * from './edgeless-text-block/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 {
EdgelessFrameManager,
FrameOverlay,
} from './root-block/edgeless/frame-manager.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 * from './root-block/edgeless/utils/common.js';
export { EdgelessSnapManager } from './root-block/edgeless/utils/snap-manager.js';
export * from './root-block/index.js';
export * from './schemas.js';
export {
markdownToMindmap,
MindmapSurfaceBlock,
MiniMindmapPreview,
} from './surface-block/mini-mindmap/index.js';
export * from './surface-ref-block/index.js';
export * from '@blocksuite/affine-block-attachment';
export * from '@blocksuite/affine-block-bookmark';
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 {
type AIError,
type AIItemConfig,
type AIItemGroupConfig,
AIItemList,
type AISubItemConfig,
GeneralNetworkError,
PaymentRequiredError,
UnauthorizedError,
} from '@blocksuite/affine-components/ai-item';
export { type MenuOptions } from '@blocksuite/affine-components/context-menu';
export {
HoverController,
whenHover,
} from '@blocksuite/affine-components/hover';
export {
ArrowDownSmallIcon,
CloseIcon,
DocIcon,
DualLinkIcon16,
LinkedDocIcon,
PlusIcon,
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,
Tooltip,
} from '@blocksuite/affine-components/toolbar';
export * from '@blocksuite/affine-model';
export {
AttachmentAdapter,
AttachmentAdapterFactoryExtension,
AttachmentAdapterFactoryIdentifier,
HtmlAdapter,
HtmlAdapterFactoryExtension,
HtmlAdapterFactoryIdentifier,
ImageAdapter,
ImageAdapterFactoryExtension,
ImageAdapterFactoryIdentifier,
NotionTextAdapter,
NotionTextAdapterFactoryExtension,
NotionTextAdapterFactoryIdentifier,
PlainTextAdapter,
PlainTextAdapterFactoryExtension,
PlainTextAdapterFactoryIdentifier,
} from '@blocksuite/affine-shared/adapters';
export * from '@blocksuite/affine-shared/services';
export { scrollbarStyle } from '@blocksuite/affine-shared/styles';
export {
ColorVariables,
FontFamilyVariables,
SizeVariables,
StyleVariables,
} from '@blocksuite/affine-shared/theme';
export {
createButtonPopper,
createDefaultDoc,
findNoteBlockModel,
isInsideEdgelessEditor,
isInsidePageEditor,
matchFlavours,
on,
once,
openFileOrFiles,
printToPdf,
} from '@blocksuite/affine-shared/utils';
export const BlocksUtils = {
splitElements,
matchFlavours,
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;