chore: bump bs (#8227)

This commit is contained in:
Saul-Mirone
2024-09-13 02:10:16 +00:00
parent 39a5d8e64f
commit 445acfa323
27 changed files with 457 additions and 455 deletions
+2 -2
View File
@@ -3,8 +3,8 @@
"private": true, "private": true,
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {
"@blocksuite/global": "0.17.8", "@blocksuite/global": "0.17.9",
"@blocksuite/store": "0.17.8", "@blocksuite/store": "0.17.9",
"react": "18.3.1", "react": "18.3.1",
"react-dom": "18.3.1", "react-dom": "18.3.1",
"vitest": "2.0.5" "vitest": "2.0.5"
+6 -6
View File
@@ -14,10 +14,10 @@
"@affine/debug": "workspace:*", "@affine/debug": "workspace:*",
"@affine/env": "workspace:*", "@affine/env": "workspace:*",
"@affine/templates": "workspace:*", "@affine/templates": "workspace:*",
"@blocksuite/blocks": "0.17.8", "@blocksuite/blocks": "0.17.9",
"@blocksuite/global": "0.17.8", "@blocksuite/global": "0.17.9",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@blocksuite/store": "0.17.8", "@blocksuite/store": "0.17.9",
"@datastructures-js/binary-search-tree": "^5.3.2", "@datastructures-js/binary-search-tree": "^5.3.2",
"foxact": "^0.2.33", "foxact": "^0.2.33",
"fuse.js": "^7.0.0", "fuse.js": "^7.0.0",
@@ -34,8 +34,8 @@
"devDependencies": { "devDependencies": {
"@affine-test/fixtures": "workspace:*", "@affine-test/fixtures": "workspace:*",
"@affine/templates": "workspace:*", "@affine/templates": "workspace:*",
"@blocksuite/block-std": "0.17.8", "@blocksuite/block-std": "0.17.9",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@testing-library/react": "^16.0.0", "@testing-library/react": "^16.0.0",
"async-call-rpc": "^6.4.0", "async-call-rpc": "^6.4.0",
"fake-indexeddb": "^6.0.0", "fake-indexeddb": "^6.0.0",
+4 -4
View File
@@ -29,10 +29,10 @@
"@affine/env": "workspace:*", "@affine/env": "workspace:*",
"@affine/i18n": "workspace:*", "@affine/i18n": "workspace:*",
"@affine/native": "workspace:*", "@affine/native": "workspace:*",
"@blocksuite/block-std": "0.17.8", "@blocksuite/block-std": "0.17.9",
"@blocksuite/blocks": "0.17.8", "@blocksuite/blocks": "0.17.9",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@blocksuite/store": "0.17.8", "@blocksuite/store": "0.17.9",
"@electron-forge/cli": "^7.3.0", "@electron-forge/cli": "^7.3.0",
"@electron-forge/core": "^7.3.0", "@electron-forge/core": "^7.3.0",
"@electron-forge/core-utils": "^7.3.0", "@electron-forge/core-utils": "^7.3.0",
+1 -1
View File
@@ -15,7 +15,7 @@
"@affine/env": "workspace:*", "@affine/env": "workspace:*",
"@affine/graphql": "workspace:*", "@affine/graphql": "workspace:*",
"@affine/i18n": "workspace:*", "@affine/i18n": "workspace:*",
"@blocksuite/blocks": "^0.17.6", "@blocksuite/blocks": "0.17.9",
"@blocksuite/icons": "^2.1.66", "@blocksuite/icons": "^2.1.66",
"@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-collapsible": "^1.0.3",
"@sentry/react": "^8.0.0", "@sentry/react": "^8.0.0",
@@ -11,7 +11,6 @@ import { EditorService } from '@affine/core/modules/editor';
import { WorkbenchService } from '@affine/core/modules/workbench'; import { WorkbenchService } from '@affine/core/modules/workbench';
import { ViewService } from '@affine/core/modules/workbench/services/view'; import { ViewService } from '@affine/core/modules/workbench/services/view';
import { DetailPageWrapper } from '@affine/core/pages/workspace/detail-page/detail-page-wrapper'; import { DetailPageWrapper } from '@affine/core/pages/workspace/detail-page/detail-page-wrapper';
import type { PageRootService } from '@blocksuite/blocks';
import { import {
BookmarkBlockService, BookmarkBlockService,
customImageProxyMiddleware, customImageProxyMiddleware,
@@ -19,6 +18,7 @@ import {
EmbedLoomBlockService, EmbedLoomBlockService,
EmbedYoutubeBlockService, EmbedYoutubeBlockService,
ImageBlockService, ImageBlockService,
RefNodeSlotsProvider,
} from '@blocksuite/blocks'; } from '@blocksuite/blocks';
import { DisposableGroup } from '@blocksuite/global/utils'; import { DisposableGroup } from '@blocksuite/global/utils';
import { type AffineEditorContainer } from '@blocksuite/presets'; import { type AffineEditorContainer } from '@blocksuite/presets';
@@ -59,7 +59,7 @@ const DetailPageImpl = () => {
const mode = useLiveData(editor.mode$); const mode = useLiveData(editor.mode$);
const isInTrash = useLiveData(doc.meta$.map(meta => meta.trash)); const isInTrash = useLiveData(doc.meta$.map(meta => meta.trash));
const { openPage, jumpToPageBlock, jumpToTag } = useNavigateHelper(); const { openPage, jumpToPageBlock } = useNavigateHelper();
const editorContainer = useLiveData(editor.editorContainer$); const editorContainer = useLiveData(editor.editorContainer$);
const { setDocReadonly } = useDocMetaHelper(); const { setDocReadonly } = useDocMetaHelper();
@@ -129,12 +129,11 @@ const DetailPageImpl = () => {
); );
// provide page mode and updated date to blocksuite // provide page mode and updated date to blocksuite
const pageService = const refNodeService = editorHost?.std.getOptional(RefNodeSlotsProvider);
editorHost?.std.getService<PageRootService>('affine:page');
const disposable = new DisposableGroup(); const disposable = new DisposableGroup();
if (pageService) { if (refNodeService) {
disposable.add( disposable.add(
pageService.slots.docLinkClicked.on(({ pageId, params }) => { refNodeService.docLinkClicked.on(({ pageId, params }) => {
if (params) { if (params) {
const { mode, blockIds, elementIds } = params; const { mode, blockIds, elementIds } = params;
return jumpToPageBlock( return jumpToPageBlock(
@@ -149,11 +148,6 @@ const DetailPageImpl = () => {
return openPage(docCollection.id, pageId); return openPage(docCollection.id, pageId);
}) })
); );
disposable.add(
pageService.slots.tagClicked.on(({ tagId }) => {
jumpToTag(workspace.id, tagId);
})
);
} }
editor.setEditorContainer(editorContainer); editor.setEditorContainer(editorContainer);
@@ -162,14 +156,7 @@ const DetailPageImpl = () => {
disposable.dispose(); disposable.dispose();
}; };
}, },
[ [docCollection.id, editor, jumpToPageBlock, openPage]
editor,
jumpToPageBlock,
docCollection.id,
openPage,
jumpToTag,
workspace.id,
]
); );
return ( return (
+5 -5
View File
@@ -81,12 +81,12 @@
"zod": "^3.22.4" "zod": "^3.22.4"
}, },
"devDependencies": { "devDependencies": {
"@blocksuite/block-std": "0.17.8", "@blocksuite/block-std": "0.17.9",
"@blocksuite/blocks": "0.17.8", "@blocksuite/blocks": "0.17.9",
"@blocksuite/global": "0.17.8", "@blocksuite/global": "0.17.9",
"@blocksuite/icons": "2.1.67", "@blocksuite/icons": "2.1.67",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@blocksuite/store": "0.17.8", "@blocksuite/store": "0.17.9",
"@chromatic-com/storybook": "^1", "@chromatic-com/storybook": "^1",
"@storybook/addon-actions": "^8.2.9", "@storybook/addon-actions": "^8.2.9",
"@storybook/addon-essentials": "^8.2.9", "@storybook/addon-essentials": "^8.2.9",
+7 -7
View File
@@ -15,14 +15,14 @@
"@affine/graphql": "workspace:*", "@affine/graphql": "workspace:*",
"@affine/i18n": "workspace:*", "@affine/i18n": "workspace:*",
"@affine/templates": "workspace:*", "@affine/templates": "workspace:*",
"@blocksuite/affine-block-surface": "0.17.8", "@blocksuite/affine-block-surface": "0.17.9",
"@blocksuite/block-std": "0.17.8", "@blocksuite/block-std": "0.17.9",
"@blocksuite/blocks": "0.17.8", "@blocksuite/blocks": "0.17.9",
"@blocksuite/global": "0.17.8", "@blocksuite/global": "0.17.9",
"@blocksuite/icons": "2.1.67", "@blocksuite/icons": "2.1.67",
"@blocksuite/inline": "0.17.8", "@blocksuite/inline": "0.17.9",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@blocksuite/store": "0.17.8", "@blocksuite/store": "0.17.9",
"@dnd-kit/core": "^6.1.0", "@dnd-kit/core": "^6.1.0",
"@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/modifiers": "^7.0.0",
"@dnd-kit/sortable": "^8.0.0", "@dnd-kit/sortable": "^8.0.0",
@@ -4,17 +4,21 @@ import type {
EditorHost, EditorHost,
TextSelection, TextSelection,
} from '@blocksuite/block-std'; } from '@blocksuite/block-std';
import type {
DocMode,
EdgelessRootService,
ImageSelection,
RootService,
} from '@blocksuite/blocks';
import { import {
type DocMode, BlocksUtils,
DocModeProvider, DocModeProvider,
type EdgelessRootService,
EditPropsStore, EditPropsStore,
type ImageSelection, NoteDisplayMode,
NotificationProvider, NotificationProvider,
type PageRootService, RefNodeSlotsProvider,
TelemetryProvider, TelemetryProvider,
} from '@blocksuite/blocks'; } from '@blocksuite/blocks';
import { BlocksUtils, NoteDisplayMode } from '@blocksuite/blocks';
import { import {
Bound, Bound,
getElementsBound, getElementsBound,
@@ -110,10 +114,7 @@ export async function constructRootChatBlockMessages(
return constructUserInfoWithMessages(forkMessages, userInfo); return constructUserInfoWithMessages(forkMessages, userInfo);
} }
function getViewportCenter( function getViewportCenter(mode: DocMode, rootService: RootService) {
mode: DocMode,
rootService: PageRootService | EdgelessRootService
) {
const center = { x: 400, y: 50 }; const center = { x: 400, y: 50 };
if (mode === 'page') { if (mode === 'page') {
const viewport = rootService.std.get(EditPropsStore).getStorage('viewport'); const viewport = rootService.std.get(EditPropsStore).getStorage('viewport');
@@ -310,7 +311,7 @@ const SAVE_CHAT_TO_BLOCK_ACTION: ChatAction = {
const curMode = docModeService.getEditorMode() || 'page'; const curMode = docModeService.getEditorMode() || 'page';
const viewportCenter = getViewportCenter( const viewportCenter = getViewportCenter(
curMode, curMode,
rootService as PageRootService rootService as RootService
); );
const newBlockIndex = layer.generateIndex('affine:embed-ai-chat'); const newBlockIndex = layer.generateIndex('affine:embed-ai-chat');
// If current mode is not edgeless, switch to edgeless mode first // If current mode is not edgeless, switch to edgeless mode first
@@ -430,7 +431,7 @@ const CREATE_AS_DOC = {
newDoc.addBlock('affine:surface', {}, rootId); newDoc.addBlock('affine:surface', {}, rootId);
const noteId = newDoc.addBlock('affine:note', {}, rootId); const noteId = newDoc.addBlock('affine:note', {}, rootId);
host.std.getService('affine:page')?.slots.docLinkClicked.emit({ host.std.getOptional(RefNodeSlotsProvider)?.docLinkClicked.emit({
pageId: newDoc.id, pageId: newDoc.id,
}); });
let complete = false; let complete = false;
@@ -42,7 +42,7 @@ const processTypeToPromptName = new Map(
}) })
); );
function setupAIProvider() { export function setupAIProvider() {
// a single workspace should have only a single chat session // a single workspace should have only a single chat session
// user-id:workspace-id:doc-id -> chat session id // user-id:workspace-id:doc-id -> chat session id
const chatSessions = new Map<string, Promise<string>>(); const chatSessions = new Map<string, Promise<string>>();
@@ -490,5 +490,3 @@ Could you make a new website based on these notes and send back just the html fi
setupTracker(); setupTracker();
} }
setupAIProvider();
@@ -1,4 +1,3 @@
import type { ReferenceInfo } from '@blocksuite/affine-model';
import type { DocMode } from '@blocksuite/blocks'; import type { DocMode } from '@blocksuite/blocks';
import type { import type {
AffineEditorContainer, AffineEditorContainer,
@@ -21,21 +20,6 @@ import {
import { BlocksuiteDocEditor, BlocksuiteEdgelessEditor } from './lit-adaper'; import { BlocksuiteDocEditor, BlocksuiteEdgelessEditor } from './lit-adaper';
import * as styles from './styles.css'; import * as styles from './styles.css';
// copy forwardSlot from blocksuite, but it seems we need to dispose the pipe
// after the component is unmounted right?
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function forwardSlot<T extends Record<string, Slot<any>>>(
from: T,
to: Partial<T>
) {
Object.entries(from).forEach(([key, slot]) => {
const target = to[key];
if (target) {
slot.pipe(target);
}
});
}
interface BlocksuiteEditorContainerProps { interface BlocksuiteEditorContainerProps {
page: Doc; page: Doc;
mode: DocMode; mode: DocMode;
@@ -65,38 +49,15 @@ export const BlocksuiteEditorContainer = forwardRef<
const slots: BlocksuiteEditorContainerRef['slots'] = useMemo(() => { const slots: BlocksuiteEditorContainerRef['slots'] = useMemo(() => {
return { return {
docLinkClicked: new Slot<ReferenceInfo>(),
editorModeSwitched: new Slot(), editorModeSwitched: new Slot(),
docUpdated: new Slot(), docUpdated: new Slot(),
tagClicked: new Slot(),
}; };
}, []); }, []);
// forward the slot to the webcomponent
useLayoutEffect(() => {
requestAnimationFrame(() => {
const docPage = rootRef.current?.querySelector('affine-page-root');
const edgelessPage = rootRef.current?.querySelector(
'affine-edgeless-root'
);
if (docPage) {
forwardSlot(docPage.slots, slots);
}
if (edgelessPage) {
forwardSlot(edgelessPage.slots, slots);
}
});
}, [page, slots]);
useLayoutEffect(() => { useLayoutEffect(() => {
slots.docUpdated.emit({ newDocId: page.id }); slots.docUpdated.emit({ newDocId: page.id });
}, [page, slots.docUpdated]); }, [page, slots.docUpdated]);
useLayoutEffect(() => {
slots.editorModeSwitched.emit(mode);
}, [mode, slots.editorModeSwitched]);
/** /**
* mimic an AffineEditorContainer using proxy * mimic an AffineEditorContainer using proxy
*/ */
@@ -1,5 +1,13 @@
export * from './blocksuite-editor'; export * from './blocksuite-editor';
export { getFontConfigExtension } from './specs/font-extension'; export { getFontConfigExtension } from './specs/font-extension';
import './ai/setup-provider'; import { effects as blocksEffects } from '@blocksuite/blocks/effects';
import './specs/preview'; import { effects as presetsEffects } from '@blocksuite/presets/effects';
import { setupAIProvider } from './ai/setup-provider';
import { effects as patchEffects } from './specs/preview';
blocksEffects();
presetsEffects();
patchEffects();
setupAIProvider();
@@ -38,6 +38,7 @@ import {
patchEdgelessClipboard, patchEdgelessClipboard,
patchForSharedPage, patchForSharedPage,
patchNotificationService, patchNotificationService,
patchParseDocUrlExtension,
patchPeekViewService, patchPeekViewService,
patchQuickSearchService, patchQuickSearchService,
patchReferenceRenderer, patchReferenceRenderer,
@@ -118,9 +119,8 @@ const usePatchSpecs = (page: Doc, shared: boolean, mode: DocMode) => {
patched = patched.concat(patchNotificationService(confirmModal)); patched = patched.concat(patchNotificationService(confirmModal));
patched = patched.concat(patchPeekViewService(peekViewService)); patched = patched.concat(patchPeekViewService(peekViewService));
patched = patched.concat(patchEdgelessClipboard()); patched = patched.concat(patchEdgelessClipboard());
if (!page.readonly) { patched = patched.concat(patchParseDocUrlExtension(framework));
patched = patched.concat(patchQuickSearchService(framework)); patched = patched.concat(patchQuickSearchService(framework));
}
if (shared) { if (shared) {
patched = patched.concat(patchForSharedPage()); patched = patched.concat(patchForSharedPage());
} }
@@ -134,7 +134,6 @@ const usePatchSpecs = (page: Doc, shared: boolean, mode: DocMode) => {
docsService, docsService,
editorService, editorService,
framework, framework,
page.readonly,
peekViewService, peekViewService,
reactToLit, reactToLit,
referenceRenderer, referenceRenderer,
@@ -22,6 +22,7 @@ import {
LatexBlockSpec, LatexBlockSpec,
ListBlockSpec, ListBlockSpec,
ParagraphBlockSpec, ParagraphBlockSpec,
RefNodeSlotsExtension,
RichTextExtensions, RichTextExtensions,
} from '@blocksuite/blocks'; } from '@blocksuite/blocks';
import { AIChatBlockSpec } from '@blocksuite/presets'; import { AIChatBlockSpec } from '@blocksuite/presets';
@@ -29,6 +30,7 @@ import { AIChatBlockSpec } from '@blocksuite/presets';
import { CustomAttachmentBlockSpec } from './custom/attachment-block'; import { CustomAttachmentBlockSpec } from './custom/attachment-block';
const CommonBlockSpecs: ExtensionType[] = [ const CommonBlockSpecs: ExtensionType[] = [
RefNodeSlotsExtension(),
EditPropsStore, EditPropsStore,
RichTextExtensions, RichTextExtensions,
LatexBlockSpec, LatexBlockSpec,
@@ -8,7 +8,6 @@ import {
type useConfirmModal, type useConfirmModal,
} from '@affine/component'; } from '@affine/component';
import { track } from '@affine/core/mixpanel'; import { track } from '@affine/core/mixpanel';
import { DocsSearchService } from '@affine/core/modules/docs-search';
import type { EditorService } from '@affine/core/modules/editor'; import type { EditorService } from '@affine/core/modules/editor';
import { resolveLinkToDoc } from '@affine/core/modules/navigation'; import { resolveLinkToDoc } from '@affine/core/modules/navigation';
import type { PeekViewService } from '@affine/core/modules/peek-view'; import type { PeekViewService } from '@affine/core/modules/peek-view';
@@ -20,6 +19,7 @@ import {
QuickSearchService, QuickSearchService,
RecentDocsQuickSearchSession, RecentDocsQuickSearchSession,
} from '@affine/core/modules/quicksearch'; } from '@affine/core/modules/quicksearch';
import { ExternalLinksQuickSearchSession } from '@affine/core/modules/quicksearch/impls/external-links';
import { DebugLogger } from '@affine/debug'; import { DebugLogger } from '@affine/debug';
import { import {
type BlockService, type BlockService,
@@ -43,6 +43,7 @@ import {
EmbedLinkedDocBlockComponent, EmbedLinkedDocBlockComponent,
EmbedOptionProvider, EmbedOptionProvider,
NotificationExtension, NotificationExtension,
ParseDocUrlExtension,
PeekViewExtension, PeekViewExtension,
QuickSearchExtension, QuickSearchExtension,
QuickSearchProvider, QuickSearchProvider,
@@ -54,6 +55,7 @@ import {
type DocService, type DocService,
DocsService, DocsService,
type FrameworkProvider, type FrameworkProvider,
WorkspaceService,
} from '@toeverything/infra'; } from '@toeverything/infra';
import { type TemplateResult } from 'lit'; import { type TemplateResult } from 'lit';
import { customElement } from 'lit/decorators.js'; import { customElement } from 'lit/decorators.js';
@@ -282,109 +284,84 @@ export function patchDocModeService(
export function patchQuickSearchService(framework: FrameworkProvider) { export function patchQuickSearchService(framework: FrameworkProvider) {
const QuickSearch = QuickSearchExtension({ const QuickSearch = QuickSearchExtension({
async searchDoc(options) { async openQuickSearch() {
let searchResult: QuickSearchResult = null; let searchResult: QuickSearchResult = null;
if (options.skipSelection) { searchResult = await new Promise(resolve =>
const query = options.userInput; framework.get(QuickSearchService).quickSearch.show(
if (!query) { [
logger.error('No user input provided'); framework.get(RecentDocsQuickSearchSession),
} else { framework.get(CreationQuickSearchSession),
const resolvedDoc = resolveLinkToDoc(query); framework.get(DocsQuickSearchSession),
if (resolvedDoc) { framework.get(LinksQuickSearchSession),
searchResult = { framework.get(ExternalLinksQuickSearchSession),
docId: resolvedDoc.docId, ],
}; result => {
} else if ( if (result === null) {
query.startsWith('http://') || resolve(null);
query.startsWith('https://') return;
) {
searchResult = {
userInput: query,
};
} else {
const searchedDoc = (
await framework.get(DocsSearchService).search(query)
).at(0);
if (searchedDoc) {
searchResult = {
docId: searchedDoc.docId,
};
} }
}
}
} else {
searchResult = await new Promise(resolve =>
framework.get(QuickSearchService).quickSearch.show(
[
framework.get(RecentDocsQuickSearchSession),
framework.get(CreationQuickSearchSession),
framework.get(DocsQuickSearchSession),
framework.get(LinksQuickSearchSession),
],
result => {
if (result === null) {
resolve(null);
return;
}
if (result.source === 'docs') { if (result.source === 'docs') {
resolve({ resolve({
docId: result.payload.docId, docId: result.payload.docId,
}); });
return; return;
} }
if (result.source === 'recent-doc') { if (result.source === 'recent-doc') {
resolve({ resolve({
docId: result.payload.docId, docId: result.payload.docId,
}); });
return; return;
} }
if (result.source === 'link') { if (result.source === 'link') {
if (result.payload.external) { const { docId, blockIds, elementIds, mode } = result.payload;
const userInput = result.payload.external.url; resolve({
resolve({ userInput }); docId,
return; params: {
} blockIds,
elementIds,
mode,
},
});
return;
}
if (result.payload.internal) { if (result.source === 'external-link') {
const { docId, params } = result.payload.internal; const externalUrl = result.payload.url;
resolve({ docId, params }); resolve({ externalUrl });
} return;
return; }
}
if (result.source === 'creation') { if (result.source === 'creation') {
const docsService = framework.get(DocsService); const docsService = framework.get(DocsService);
const mode = const mode =
result.id === 'creation:create-edgeless' result.id === 'creation:create-edgeless' ? 'edgeless' : 'page';
? 'edgeless' const newDoc = docsService.createDoc({
: 'page'; primaryMode: mode,
const newDoc = docsService.createDoc({ title: result.payload.title,
primaryMode: mode, });
title: result.payload.title, track.doc.editor.quickSearch.createDoc({
}); mode,
});
resolve({ resolve({
docId: newDoc.id, docId: newDoc.id,
isNewDoc: true, });
}); return;
return; }
} },
{
label: {
key: 'com.affine.cmdk.insert-links',
}, },
{ placeholder: {
defaultQuery: options.userInput, key: 'com.affine.cmdk.docs.placeholder',
label: { },
key: 'com.affine.cmdk.insert-links', }
}, )
placeholder: { );
key: 'com.affine.cmdk.docs.placeholder',
},
}
)
);
}
return searchResult; return searchResult;
}, },
@@ -408,7 +385,7 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
if (!quickSearchService) if (!quickSearchService)
return oldAction({ model, rootComponent }); return oldAction({ model, rootComponent });
const result = await quickSearchService.searchDoc({}); const result = await quickSearchService.openQuickSearch();
if (result === null) return; if (result === null) return;
if ('docId' in result) { if ('docId' in result) {
@@ -424,28 +401,23 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
pageId: linkedDoc.id, pageId: linkedDoc.id,
}; };
if (!result.isNewDoc && result.params) { if (result.params) {
props.params = result.params; props.params = result.params;
} }
host.doc.addSiblingBlocks(model, [props]); host.doc.addSiblingBlocks(model, [props]);
if (result.isNewDoc) { track.doc.editor.slashMenu.linkDoc({ control: 'linkDoc' });
track.doc.editor.slashMenu.createDoc({ control: 'linkDoc' }); } else if (result.externalUrl) {
track.doc.editor.slashMenu.linkDoc({ control: 'createDoc' });
} else {
track.doc.editor.slashMenu.linkDoc({ control: 'linkDoc' });
}
} else if ('userInput' in result) {
const embedOptions = std const embedOptions = std
.get(EmbedOptionProvider) .get(EmbedOptionProvider)
.getEmbedBlockOptions(result.userInput); .getEmbedBlockOptions(result.externalUrl);
if (!embedOptions) return; if (!embedOptions) return;
host.doc.addSiblingBlocks(model, [ host.doc.addSiblingBlocks(model, [
{ {
flavour: embedOptions.flavour, flavour: embedOptions.flavour,
url: result.userInput, url: result.externalUrl,
}, },
]); ]);
} }
@@ -458,6 +430,25 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
return [QuickSearch, SlashMenuQuickSearchExtension]; return [QuickSearch, SlashMenuQuickSearchExtension];
} }
export function patchParseDocUrlExtension(framework: FrameworkProvider) {
const workspaceService = framework.get(WorkspaceService);
const ParseDocUrl = ParseDocUrlExtension({
parseDocUrl(url) {
const info = resolveLinkToDoc(url);
if (!info || info.workspaceId !== workspaceService.workspace.id) return;
return {
docId: info.docId,
blockIds: info.blockIds,
elementIds: info.elementIds,
mode: info.mode,
};
},
});
return [ParseDocUrl];
}
export function patchEdgelessClipboard() { export function patchEdgelessClipboard() {
class EdgelessClipboardWatcher extends BlockServiceWatcher { class EdgelessClipboardWatcher extends BlockServiceWatcher {
static override readonly flavour = 'affine:page'; static override readonly flavour = 'affine:page';
@@ -9,5 +9,7 @@ function patchPreviewSpec(id: string, specs: ExtensionType[]) {
specProvider.extendSpec(id, specs); specProvider.extendSpec(id, specs);
} }
// Patch edgeless preview spec for blocksuite surface-ref and embed-synced-doc export function effects() {
patchPreviewSpec('edgeless:preview', CustomSpecs); // Patch edgeless preview spec for blocksuite surface-ref and embed-synced-doc
patchPreviewSpec('edgeless:preview', CustomSpecs);
}
@@ -6,8 +6,8 @@ import {
import { track } from '@affine/core/mixpanel'; import { track } from '@affine/core/mixpanel';
import { EditorService } from '@affine/core/modules/editor'; import { EditorService } from '@affine/core/modules/editor';
import { useI18n } from '@affine/i18n'; import { useI18n } from '@affine/i18n';
import type { PageRootService } from '@blocksuite/blocks';
import { import {
ExportManager,
HtmlTransformer, HtmlTransformer,
MarkdownTransformer, MarkdownTransformer,
printToPdf, printToPdf,
@@ -34,27 +34,22 @@ async function exportHandler({
editorContainer, editorContainer,
}: ExportHandlerOptions) { }: ExportHandlerOptions) {
const editorRoot = document.querySelector('editor-host'); const editorRoot = document.querySelector('editor-host');
let pageService: PageRootService | null = null;
if (editorRoot) {
pageService = editorRoot.std.getService<PageRootService>('affine:page');
}
track.$.sharePanel.$.export({ track.$.sharePanel.$.export({
type, type,
}); });
switch (type) { switch (type) {
case 'html': case 'html':
await HtmlTransformer.exportDoc(page); await HtmlTransformer.exportDoc(page);
break; return;
case 'markdown': case 'markdown':
await MarkdownTransformer.exportDoc(page); await MarkdownTransformer.exportDoc(page);
break; return;
case 'pdf': case 'pdf':
await printToPdf(editorContainer); await printToPdf(editorContainer);
return; return;
case 'png': { case 'png': {
if (!pageService) return; await editorRoot?.std.get(ExportManager).exportPng();
await pageService.exportManager.exportPng(); return;
break;
} }
} }
} }
@@ -264,6 +264,7 @@ const PageEvents = {
editor: { editor: {
slashMenu: ['linkDoc', 'createDoc'], slashMenu: ['linkDoc', 'createDoc'],
atMenu: ['linkDoc'], atMenu: ['linkDoc'],
quickSearch: ['createDoc'],
formatToolbar: ['bold'], formatToolbar: ['bold'],
pageRef: ['navigate'], pageRef: ['navigate'],
toolbar: ['copyBlockToLink'], toolbar: ['copyBlockToLink'],
@@ -1,5 +1,5 @@
import type { DocMode, EdgelessRootService } from '@blocksuite/blocks'; import type { DocMode, EdgelessRootService } from '@blocksuite/blocks';
import type { InlineEditor } from '@blocksuite/inline/inline-editor'; import type { InlineEditor } from '@blocksuite/inline';
import type { AffineEditorContainer, DocTitle } from '@blocksuite/presets'; import type { AffineEditorContainer, DocTitle } from '@blocksuite/presets';
import type { DocService, WorkspaceService } from '@toeverything/infra'; import type { DocService, WorkspaceService } from '@toeverything/infra';
import { Entity, LiveData } from '@toeverything/infra'; import { Entity, LiveData } from '@toeverything/infra';
@@ -7,7 +7,11 @@ import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-
import { EditorService } from '@affine/core/modules/editor'; import { EditorService } from '@affine/core/modules/editor';
import { PageNotFound } from '@affine/core/pages/404'; import { PageNotFound } from '@affine/core/pages/404';
import { DebugLogger } from '@affine/debug'; import { DebugLogger } from '@affine/debug';
import type { DocMode, EdgelessRootService } from '@blocksuite/blocks'; import {
type DocMode,
type EdgelessRootService,
RefNodeSlotsProvider,
} from '@blocksuite/blocks';
import { Bound, DisposableGroup } from '@blocksuite/global/utils'; import { Bound, DisposableGroup } from '@blocksuite/global/utils';
import type { AffineEditorContainer } from '@blocksuite/presets'; import type { AffineEditorContainer } from '@blocksuite/presets';
import { import {
@@ -87,13 +91,12 @@ function DocPeekPreviewEditor({
return; return;
} }
const disposableGroup = new DisposableGroup(); const disposableGroup = new DisposableGroup();
const rootService = editorContainer.host.std.getService('affine:page'); const refNodeSlots =
if (!rootService) { editorContainer.host.std.getOptional(RefNodeSlotsProvider);
return; if (!refNodeSlots) return;
}
// doc change event inside peek view should be handled by peek view // doc change event inside peek view should be handled by peek view
disposableGroup.add( disposableGroup.add(
rootService.slots.docLinkClicked.on(options => { refNodeSlots.docLinkClicked.on(options => {
peekView peekView
.open({ .open({
type: 'doc', type: 'doc',
@@ -0,0 +1,55 @@
import { LinkIcon } from '@blocksuite/icons/rc';
import type { WorkspaceService } from '@toeverything/infra';
import { Entity, LiveData } from '@toeverything/infra';
import { resolveLinkToDoc } from '../../navigation';
import type { QuickSearchSession } from '../providers/quick-search-provider';
import type { QuickSearchItem } from '../types/item';
type ExternalLinkPayload = {
url: string;
};
export class ExternalLinksQuickSearchSession
extends Entity
implements QuickSearchSession<'external-link', ExternalLinkPayload>
{
constructor(private readonly workspaceService: WorkspaceService) {
super();
}
query$ = new LiveData('');
items$ = LiveData.computed(get => {
const query = get(this.query$);
if (!query) return [];
const isLink = query.startsWith('http://') || query.startsWith('https://');
if (!isLink) return [];
const resolvedDoc = resolveLinkToDoc(query);
if (
resolvedDoc &&
resolvedDoc.workspaceId === this.workspaceService.workspace.id
) {
// is doc url
return [];
}
return [
{
id: 'external-link:' + query,
source: 'external-link',
icon: LinkIcon,
label: {
key: 'com.affine.cmdk.affine.insert-link',
},
payload: { url: query },
} as QuickSearchItem<'external-link', ExternalLinkPayload>,
];
});
query(query: string) {
this.query$.next(query);
}
}
@@ -1,8 +1,8 @@
import type { ReferenceParams } from '@blocksuite/blocks'; import type { DocMode } from '@blocksuite/blocks';
import { BlockLinkIcon, LinkIcon } from '@blocksuite/icons/rc'; import { BlockLinkIcon, EdgelessIcon, PageIcon } from '@blocksuite/icons/rc';
import type { DocsService } from '@toeverything/infra'; import type { DocsService, WorkspaceService } from '@toeverything/infra';
import { Entity, LiveData } from '@toeverything/infra'; import { Entity, LiveData } from '@toeverything/infra';
import { isEmpty, pick, truncate } from 'lodash-es'; import { truncate } from 'lodash-es';
import { resolveLinkToDoc } from '../../navigation'; import { resolveLinkToDoc } from '../../navigation';
import type { QuickSearchSession } from '../providers/quick-search-provider'; import type { QuickSearchSession } from '../providers/quick-search-provider';
@@ -10,16 +10,10 @@ import type { DocDisplayMetaService } from '../services/doc-display-meta';
import type { QuickSearchItem } from '../types/item'; import type { QuickSearchItem } from '../types/item';
type LinkPayload = { type LinkPayload = {
internal?: { docId: string;
docId: string; blockIds?: string[];
title?: string; elementIds?: string[];
blockId?: string; mode?: DocMode;
blockContent?: string;
params?: ReferenceParams;
};
external?: {
url: string;
};
}; };
export class LinksQuickSearchSession export class LinksQuickSearchSession
@@ -27,6 +21,7 @@ export class LinksQuickSearchSession
implements QuickSearchSession<'link', LinkPayload> implements QuickSearchSession<'link', LinkPayload>
{ {
constructor( constructor(
private readonly workspaceService: WorkspaceService,
private readonly docsService: DocsService, private readonly docsService: DocsService,
private readonly docDisplayMetaService: DocDisplayMetaService private readonly docDisplayMetaService: DocDisplayMetaService
) { ) {
@@ -43,44 +38,25 @@ export class LinksQuickSearchSession
if (!isLink) return []; if (!isLink) return [];
const resolvedDoc = resolveLinkToDoc(query); const resolvedDoc = resolveLinkToDoc(query);
if (!resolvedDoc) { if (
return [ !resolvedDoc ||
{ resolvedDoc.workspaceId !== this.workspaceService.workspace.id
id: 'link', ) {
source: 'link', return [];
icon: LinkIcon,
label: {
key: 'com.affine.cmdk.affine.insert-link',
},
payload: { external: { url: query } },
} as QuickSearchItem<'link', LinkPayload>,
];
} }
const docId = resolvedDoc.docId; const docId = resolvedDoc.docId;
const doc = this.docsService.list.doc$(docId).value; const doc = this.docsService.list.doc$(docId).value;
if (!doc || get(doc.trash$)) return []; if (!doc || get(doc.trash$)) return [];
const params = pick(resolvedDoc, ['mode', 'blockIds', 'elementIds']);
const { title, icon, updatedDate } = const { title, icon, updatedDate } =
this.docDisplayMetaService.getDocDisplayMeta(doc); this.docDisplayMetaService.getDocDisplayMeta(doc);
const blockId = params?.blockIds?.[0]; const linkToNode = resolvedDoc.blockIds || resolvedDoc.elementIds;
const linkToNode = Boolean(blockId);
const score = 100; const score = 100;
const internal = {
docId,
score,
blockId,
blockContent: '',
};
if (linkToNode && !isEmpty(params)) {
Object.assign(internal, { params });
}
return [ return [
{ {
id: ['doc', doc.id, linkToNode ? blockId : ''].join(':'), id: 'links:doc:' + doc.id,
source: 'link', source: 'link',
group: { group: {
id: 'docs', id: 'docs',
@@ -94,9 +70,20 @@ export class LinksQuickSearchSession
title: title, title: title,
}, },
score, score,
icon: linkToNode ? BlockLinkIcon : icon, icon: linkToNode
? BlockLinkIcon
: resolvedDoc.mode === 'page'
? PageIcon
: resolvedDoc.mode === 'edgeless'
? EdgelessIcon
: icon,
timestamp: updatedDate, timestamp: updatedDate,
payload: { internal }, payload: {
docId,
blockIds: resolvedDoc.blockIds,
elementIds: resolvedDoc.elementIds,
mode: resolvedDoc.mode,
},
} as QuickSearchItem<'link', LinkPayload>, } as QuickSearchItem<'link', LinkPayload>,
]; ];
}); });
@@ -4,6 +4,7 @@ import {
GlobalContextService, GlobalContextService,
WorkspaceLocalState, WorkspaceLocalState,
WorkspaceScope, WorkspaceScope,
WorkspaceService,
} from '@toeverything/infra'; } from '@toeverything/infra';
import { CollectionService } from '../collection'; import { CollectionService } from '../collection';
@@ -16,6 +17,7 @@ import { CollectionsQuickSearchSession } from './impls/collections';
import { CommandsQuickSearchSession } from './impls/commands'; import { CommandsQuickSearchSession } from './impls/commands';
import { CreationQuickSearchSession } from './impls/creation'; import { CreationQuickSearchSession } from './impls/creation';
import { DocsQuickSearchSession } from './impls/docs'; import { DocsQuickSearchSession } from './impls/docs';
import { ExternalLinksQuickSearchSession } from './impls/external-links';
import { LinksQuickSearchSession } from './impls/links'; import { LinksQuickSearchSession } from './impls/links';
import { RecentDocsQuickSearchSession } from './impls/recent-docs'; import { RecentDocsQuickSearchSession } from './impls/recent-docs';
import { TagsQuickSearchSession } from './impls/tags'; import { TagsQuickSearchSession } from './impls/tags';
@@ -30,6 +32,7 @@ export { CollectionsQuickSearchSession } from './impls/collections';
export { CommandsQuickSearchSession } from './impls/commands'; export { CommandsQuickSearchSession } from './impls/commands';
export { CreationQuickSearchSession } from './impls/creation'; export { CreationQuickSearchSession } from './impls/creation';
export { DocsQuickSearchSession } from './impls/docs'; export { DocsQuickSearchSession } from './impls/docs';
export { ExternalLinksQuickSearchSession } from './impls/external-links';
export { LinksQuickSearchSession } from './impls/links'; export { LinksQuickSearchSession } from './impls/links';
export { RecentDocsQuickSearchSession } from './impls/recent-docs'; export { RecentDocsQuickSearchSession } from './impls/recent-docs';
export { TagsQuickSearchSession } from './impls/tags'; export { TagsQuickSearchSession } from './impls/tags';
@@ -55,7 +58,12 @@ export function configureQuickSearchModule(framework: Framework) {
DocsService, DocsService,
DocDisplayMetaService, DocDisplayMetaService,
]) ])
.entity(LinksQuickSearchSession, [DocsService, DocDisplayMetaService]) .entity(LinksQuickSearchSession, [
WorkspaceService,
DocsService,
DocDisplayMetaService,
])
.entity(ExternalLinksQuickSearchSession, [WorkspaceService])
.entity(CreationQuickSearchSession) .entity(CreationQuickSearchSession)
.entity(CollectionsQuickSearchSession, [CollectionService]) .entity(CollectionsQuickSearchSession, [CollectionService])
.entity(TagsQuickSearchSession, [TagService]) .entity(TagsQuickSearchSession, [TagService])
@@ -48,13 +48,13 @@ export class CMDKQuickSearchService extends Service {
} }
if (result.source === 'link') { if (result.source === 'link') {
if (result.payload.internal) { const { docId, blockIds, elementIds, mode } = result.payload;
const { docId, params } = result.payload.internal; this.workbenchService.workbench.openDoc({
this.workbenchService.workbench.openDoc({ docId,
docId, blockIds,
...params, elementIds,
}); mode,
} });
return; return;
} }
@@ -9,7 +9,7 @@ import { useDocMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta';
import { EditorService } from '@affine/core/modules/editor'; import { EditorService } from '@affine/core/modules/editor';
import { RecentDocsService } from '@affine/core/modules/quicksearch'; import { RecentDocsService } from '@affine/core/modules/quicksearch';
import { ViewService } from '@affine/core/modules/workbench/services/view'; import { ViewService } from '@affine/core/modules/workbench/services/view';
import type { PageRootService } from '@blocksuite/blocks'; import { RefNodeSlotsProvider } from '@blocksuite/blocks';
import { DisposableGroup } from '@blocksuite/global/utils'; import { DisposableGroup } from '@blocksuite/global/utils';
import { AiIcon, FrameIcon, TocIcon, TodayIcon } from '@blocksuite/icons/rc'; import { AiIcon, FrameIcon, TocIcon, TodayIcon } from '@blocksuite/icons/rc';
import { type AffineEditorContainer } from '@blocksuite/presets'; import { type AffineEditorContainer } from '@blocksuite/presets';
@@ -164,26 +164,28 @@ const DetailPageImpl = memo(function DetailPageImpl() {
// blocksuite editor host // blocksuite editor host
const editorHost = editorContainer.host; const editorHost = editorContainer.host;
const pageService = const std = editorHost?.std;
editorHost?.std.getService<PageRootService>('affine:page');
const disposable = new DisposableGroup(); const disposable = new DisposableGroup();
if (pageService) { if (std) {
disposable.add( const refNodeSlots = std.getOptional(RefNodeSlotsProvider);
pageService.slots.docLinkClicked.on(({ pageId, params }) => { if (refNodeSlots) {
if (params) { disposable.add(
const { mode, blockIds, elementIds } = params; refNodeSlots.docLinkClicked.on(({ pageId, params }) => {
return jumpToPageBlock( if (params) {
docCollection.id, const { mode, blockIds, elementIds } = params;
pageId, return jumpToPageBlock(
mode, docCollection.id,
blockIds, pageId,
elementIds mode,
); blockIds,
} elementIds
);
}
return openPage(docCollection.id, pageId); return openPage(docCollection.id, pageId);
}) })
); );
}
} }
editor.setEditorContainer(editorContainer); editor.setEditorContainer(editorContainer);
@@ -1,5 +1,5 @@
import { ChatPanel } from '@affine/core/blocksuite/presets/ai'; import { ChatPanel } from '@affine/core/blocksuite/presets/ai';
import { DocModeProvider } from '@blocksuite/blocks'; import { DocModeProvider, RefNodeSlotsProvider } from '@blocksuite/blocks';
import { assertExists } from '@blocksuite/global/utils'; import { assertExists } from '@blocksuite/global/utils';
import type { AffineEditorContainer } from '@blocksuite/presets'; import type { AffineEditorContainer } from '@blocksuite/presets';
import { forwardRef, useCallback, useEffect, useRef } from 'react'; import { forwardRef, useCallback, useEffect, useRef } from 'react';
@@ -46,19 +46,21 @@ export const EditorChatPanel = forwardRef(function EditorChatPanel(
const pageService = editor.host?.std.getService('affine:page'); const pageService = editor.host?.std.getService('affine:page');
if (!pageService) return; if (!pageService) return;
const docModeService = editor.host?.std.get(DocModeProvider); const docModeService = editor.host?.std.get(DocModeProvider);
if (!docModeService) return; const refNodeService = editor.host?.std.getOptional(RefNodeSlotsProvider);
const disposable = [ const disposable = [
pageService.slots.docLinkClicked.on(() => { refNodeService &&
(chatPanelRef.current as ChatPanel).doc = editor.doc; refNodeService.docLinkClicked.on(() => {
}), (chatPanelRef.current as ChatPanel).doc = editor.doc;
docModeService.onPrimaryModeChange(() => { }),
if (!editor.host) return; docModeService &&
(chatPanelRef.current as ChatPanel).host = editor.host; docModeService.onPrimaryModeChange(() => {
}, editor.doc.id), if (!editor.host) return;
(chatPanelRef.current as ChatPanel).host = editor.host;
}, editor.doc.id),
]; ];
return () => disposable.forEach(d => d.dispose()); return () => disposable.forEach(d => d?.dispose());
}, [editor]); }, [editor]);
if (!editor) { if (!editor) {
+1 -1
View File
@@ -6,7 +6,7 @@
"@affine/env": "workspace:*", "@affine/env": "workspace:*",
"@affine/templates": "workspace:*", "@affine/templates": "workspace:*",
"@aws-sdk/client-s3": "^3.620.0", "@aws-sdk/client-s3": "^3.620.0",
"@blocksuite/presets": "0.17.8", "@blocksuite/presets": "0.17.9",
"@clack/core": "^0.3.4", "@clack/core": "^0.3.4",
"@clack/prompts": "^0.7.0", "@clack/prompts": "^0.7.0",
"@magic-works/i18n-codegen": "^0.6.0", "@magic-works/i18n-codegen": "^0.6.0",
+147 -147
View File
@@ -253,7 +253,7 @@ __metadata:
"@affine/env": "workspace:*" "@affine/env": "workspace:*"
"@affine/templates": "workspace:*" "@affine/templates": "workspace:*"
"@aws-sdk/client-s3": "npm:^3.620.0" "@aws-sdk/client-s3": "npm:^3.620.0"
"@blocksuite/presets": "npm:0.17.8" "@blocksuite/presets": "npm:0.17.9"
"@clack/core": "npm:^0.3.4" "@clack/core": "npm:^0.3.4"
"@clack/prompts": "npm:^0.7.0" "@clack/prompts": "npm:^0.7.0"
"@magic-works/i18n-codegen": "npm:^0.6.0" "@magic-works/i18n-codegen": "npm:^0.6.0"
@@ -312,12 +312,12 @@ __metadata:
"@affine/i18n": "workspace:*" "@affine/i18n": "workspace:*"
"@atlaskit/pragmatic-drag-and-drop": "npm:^1.2.1" "@atlaskit/pragmatic-drag-and-drop": "npm:^1.2.1"
"@atlaskit/pragmatic-drag-and-drop-hitbox": "npm:^1.0.3" "@atlaskit/pragmatic-drag-and-drop-hitbox": "npm:^1.0.3"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/blocks": "npm:0.17.8" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/icons": "npm:2.1.67" "@blocksuite/icons": "npm:2.1.67"
"@blocksuite/presets": "npm:0.17.8" "@blocksuite/presets": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@chromatic-com/storybook": "npm:^1" "@chromatic-com/storybook": "npm:^1"
"@dnd-kit/core": "npm:^6.1.0" "@dnd-kit/core": "npm:^6.1.0"
"@dnd-kit/modifiers": "npm:^7.0.0" "@dnd-kit/modifiers": "npm:^7.0.0"
@@ -413,14 +413,14 @@ __metadata:
"@affine/graphql": "workspace:*" "@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*" "@affine/i18n": "workspace:*"
"@affine/templates": "workspace:*" "@affine/templates": "workspace:*"
"@blocksuite/affine-block-surface": "npm:0.17.8" "@blocksuite/affine-block-surface": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/blocks": "npm:0.17.8" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/icons": "npm:2.1.67" "@blocksuite/icons": "npm:2.1.67"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/presets": "npm:0.17.8" "@blocksuite/presets": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@dnd-kit/core": "npm:^6.1.0" "@dnd-kit/core": "npm:^6.1.0"
"@dnd-kit/modifiers": "npm:^7.0.0" "@dnd-kit/modifiers": "npm:^7.0.0"
"@dnd-kit/sortable": "npm:^8.0.0" "@dnd-kit/sortable": "npm:^8.0.0"
@@ -553,10 +553,10 @@ __metadata:
"@affine/env": "workspace:*" "@affine/env": "workspace:*"
"@affine/i18n": "workspace:*" "@affine/i18n": "workspace:*"
"@affine/native": "workspace:*" "@affine/native": "workspace:*"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/blocks": "npm:0.17.8" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/presets": "npm:0.17.8" "@blocksuite/presets": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@electron-forge/cli": "npm:^7.3.0" "@electron-forge/cli": "npm:^7.3.0"
"@electron-forge/core": "npm:^7.3.0" "@electron-forge/core": "npm:^7.3.0"
"@electron-forge/core-utils": "npm:^7.3.0" "@electron-forge/core-utils": "npm:^7.3.0"
@@ -612,8 +612,8 @@ __metadata:
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@affine/env@workspace:packages/common/env" resolution: "@affine/env@workspace:packages/common/env"
dependencies: dependencies:
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
lit: "npm:^3.1.2" lit: "npm:^3.1.2"
react: "npm:18.3.1" react: "npm:18.3.1"
react-dom: "npm:18.3.1" react-dom: "npm:18.3.1"
@@ -672,7 +672,7 @@ __metadata:
"@affine/env": "workspace:*" "@affine/env": "workspace:*"
"@affine/graphql": "workspace:*" "@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*" "@affine/i18n": "workspace:*"
"@blocksuite/blocks": "npm:^0.17.6" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/icons": "npm:^2.1.66" "@blocksuite/icons": "npm:^2.1.66"
"@radix-ui/react-collapsible": "npm:^1.0.3" "@radix-ui/react-collapsible": "npm:^1.0.3"
"@sentry/react": "npm:^8.0.0" "@sentry/react": "npm:^8.0.0"
@@ -3459,17 +3459,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-block-list@npm:0.17.8": "@blocksuite/affine-block-list@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-block-list@npm:0.17.8" resolution: "@blocksuite/affine-block-list@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-components": "npm:0.17.8" "@blocksuite/affine-components": "npm:0.17.9"
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3477,21 +3477,21 @@ __metadata:
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
minimatch: "npm:^10.0.1" minimatch: "npm:^10.0.1"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/68f4c62ec562d21c206e54fb6113e2aba54986844e6b146c8a77f3b91a92ae22ad80ac0f54c9d1454d25e115164c3db796fd69abd8b204d4cb5a4d53dbcb9a40 checksum: 10/c6b701aa8a29208166ced47d8584ab059280a3bed6bed12e5839bb0e08975c0aa0e82e848c009dfa031bcde8a7c99ce32696ac7fcc3586a292a79536582f8e13
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-block-paragraph@npm:0.17.8": "@blocksuite/affine-block-paragraph@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-block-paragraph@npm:0.17.8" resolution: "@blocksuite/affine-block-paragraph@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-components": "npm:0.17.8" "@blocksuite/affine-components": "npm:0.17.9"
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3499,20 +3499,20 @@ __metadata:
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
minimatch: "npm:^10.0.1" minimatch: "npm:^10.0.1"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/b0bd8eea9e267478d2fddbd0eb22908e110a322fa77144cdfa68db884dfa8d60b29834d2a637050c96823c3916692a1008c0da225113b82c239778f3da3fb659 checksum: 10/f541305d56addd4327f0e8575bf0d325c8477e432e8c1a308a7cc0f807f4e8500859d085f08acec2285c04e8d808bff33224dc16d4876f12e646f15b903aa814
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-block-surface@npm:0.17.8": "@blocksuite/affine-block-surface@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-block-surface@npm:0.17.8" resolution: "@blocksuite/affine-block-surface@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-components": "npm:0.17.8" "@blocksuite/affine-components": "npm:0.17.9"
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
"@toeverything/theme": "npm:^1.0.8" "@toeverything/theme": "npm:^1.0.8"
@@ -3522,21 +3522,21 @@ __metadata:
lodash.merge: "npm:^4.6.2" lodash.merge: "npm:^4.6.2"
nanoid: "npm:^5.0.7" nanoid: "npm:^5.0.7"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/94d8992df283977aa3a43ef7a0c7c4d1b9c318a8d892b1c50d9d0313b469df3390846e276811a097dea5afaa30636e7da7e4656c73b9f42d780a61f05c274d43 checksum: 10/81aab96baf0b3594d4221e61311a4ddc31f2a21a118f625de0f8f68a9b8d5061d667c6c95eb5b9eaefc65dd79a8099871a84284f11044b82a3f23b6ffe7349df
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-components@npm:0.17.8": "@blocksuite/affine-components@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-components@npm:0.17.8" resolution: "@blocksuite/affine-components@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/icons": "npm:^2.1.67" "@blocksuite/icons": "npm:^2.1.67"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3547,32 +3547,32 @@ __metadata:
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
shiki: "npm:^1.12.0" shiki: "npm:^1.12.0"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/646c7724388bdd0dc5b8529cb8a54d0252517cbd9ce4ee07ac0a2f3bc35c1bafbf00f38574242f5a86069927faf017091745a08a41042aae9da6c4fd553d2210 checksum: 10/feab7d2d96e100f71d3dcf431ec12fc1cc69348fa180859fb153281f345a3ffd375b54e8f163dbffecd637b88c1458cc76dc341b7529a29e2583ad713f295d42
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-model@npm:0.17.8": "@blocksuite/affine-model@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-model@npm:0.17.8" resolution: "@blocksuite/affine-model@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/9061af4e24aca2d88ddd3e659cf3d720dacd2b71f89e93b0ea15869b07e01d4574063910dc49e33aace97281c723abe9dc4dbc0a3cd20708403a06b9c0cbc2b1 checksum: 10/85cb13308938e594e25380d922b7f63188132aae755c905a25f43509c66fe98ddc69e3e7af0e56caf24e71d9febe80235686d0f1fe71d4c12747793147a7b79e
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/affine-shared@npm:0.17.8": "@blocksuite/affine-shared@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/affine-shared@npm:0.17.8" resolution: "@blocksuite/affine-shared@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3580,17 +3580,17 @@ __metadata:
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
minimatch: "npm:^10.0.1" minimatch: "npm:^10.0.1"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/3d23ccf99515ec986943fb99c12bdb17056fa9dae8606d0928ddde22159afd79581257a05b260b91dda9fb38a9b8ab5228607e50105bafaa02f0e0203662c58e checksum: 10/ca033985da018d13c52ba045e96579894541222fe8a1bb630a7803df97bc04f56c25da65c115e0c4363aa09ce8b7fb7582af1eacf9ed77551d7cdcc9578745d7
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/block-std@npm:0.17.8": "@blocksuite/block-std@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/block-std@npm:0.17.8" resolution: "@blocksuite/block-std@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
"@types/hast": "npm:^3.0.4" "@types/hast": "npm:^3.0.4"
@@ -3602,26 +3602,26 @@ __metadata:
unified: "npm:^11.0.5" unified: "npm:^11.0.5"
w3c-keyname: "npm:^2.2.8" w3c-keyname: "npm:^2.2.8"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/b58cd1a66117f2685258d49132544c413d2e8ff3857195a9f8f230945b4890e394f69d731945c81c31ff8a2365754c708100cf7d594f9d9637288ee1450440ff checksum: 10/732b5e97adcc0ae5110f7dfb9baa39950d27e1be1c9ce875c1e2789be6a9467f7af08379e2c542dd4f07c936621fe1a8e893bef938e68665cbfea00c69153174
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/blocks@npm:0.17.8, @blocksuite/blocks@npm:^0.17.6": "@blocksuite/blocks@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/blocks@npm:0.17.8" resolution: "@blocksuite/blocks@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-block-list": "npm:0.17.8" "@blocksuite/affine-block-list": "npm:0.17.9"
"@blocksuite/affine-block-paragraph": "npm:0.17.8" "@blocksuite/affine-block-paragraph": "npm:0.17.9"
"@blocksuite/affine-block-surface": "npm:0.17.8" "@blocksuite/affine-block-surface": "npm:0.17.9"
"@blocksuite/affine-components": "npm:0.17.8" "@blocksuite/affine-components": "npm:0.17.9"
"@blocksuite/affine-model": "npm:0.17.8" "@blocksuite/affine-model": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/data-view": "npm:0.17.8" "@blocksuite/data-view": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/icons": "npm:^2.1.67" "@blocksuite/icons": "npm:^2.1.67"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3662,20 +3662,20 @@ __metadata:
sortablejs: "npm:^1.15.2" sortablejs: "npm:^1.15.2"
unified: "npm:^11.0.5" unified: "npm:^11.0.5"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/4484968250f30e6ecf03e59c924471dbced9b8bb1520086a067997cbf66a8f3901772794a6c139e9aa65174046748e3369bd6dbfeeb9d3f85c6db7b19b30aab3 checksum: 10/7e8fc2c5a7374cd03f291ecbdd3ca6c93917024d6ad052e65f3b75d30d7a1268ce583a53ec4482d8af5958999469bf3c009e8fa9485a8ef8b094e938fba66dae
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/data-view@npm:0.17.8": "@blocksuite/data-view@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/data-view@npm:0.17.8" resolution: "@blocksuite/data-view@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-components": "npm:0.17.8" "@blocksuite/affine-components": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/icons": "npm:^2.1.67" "@blocksuite/icons": "npm:^2.1.67"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lit/context": "npm:^1.1.2" "@lit/context": "npm:^1.1.2"
@@ -3684,17 +3684,17 @@ __metadata:
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
sortablejs: "npm:^1.15.2" sortablejs: "npm:^1.15.2"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/21efbf665fbd46dd4a694fd848e9e2e30b2e8099bd5edab13c047b54cfa0977720357a41754fb7af0c5312e409da2388dc70696b632f255d2faf09c5f6e049ba checksum: 10/7fa5f4efb076e3cc6ce146f674d5999d3a0d8cfbf578f2219fb0b197bdd38f0786395757c172ae1b2eef6fc4e43428197f87dc65c85c925a726d4b49cc386992
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/global@npm:0.17.8": "@blocksuite/global@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/global@npm:0.17.8" resolution: "@blocksuite/global@npm:0.17.9"
dependencies: dependencies:
lib0: "npm:^0.2.97" lib0: "npm:^0.2.97"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/0659b46eb7464d677a75482fc836f4335dbbb390f9d05fc9f27510640c9cea0dd2b3628f166ba5050bfaf08d105835c2ed08bb9511ad6c924443125f4dac7904 checksum: 10/3a7ddfd571639ff4c59798f2ff1e05e8a78e78ce5756ca7043e949632c1cb7b8d3a0a973c01f33fe0e4e6b6156e7a1ecf5fea42f8a3a4b3b3317ec14a85899fb
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3714,47 +3714,47 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/inline@npm:0.17.8": "@blocksuite/inline@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/inline@npm:0.17.8" resolution: "@blocksuite/inline@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
peerDependencies: peerDependencies:
lit: ^3.2.0 lit: ^3.2.0
yjs: ^13.6.18 yjs: ^13.6.18
checksum: 10/f37ed31a600e83bf687d61f2fd7330916164813339949a63454f7b1cc1418d7b47ffd938c030b99527231315cd27576c3d4cb055cbdc40265336cc5afc482f27 checksum: 10/9e38c030c484e076890a3fccb61320f8919d3b6eb39d08c5408878487a8a0529661c99f6c369c449152fe5d39b89b4c9865144b5ad984a5f5d2ca0b85962a442
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/presets@npm:0.17.8": "@blocksuite/presets@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/presets@npm:0.17.8" resolution: "@blocksuite/presets@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/affine-block-surface": "npm:0.17.8" "@blocksuite/affine-block-surface": "npm:0.17.9"
"@blocksuite/affine-shared": "npm:0.17.8" "@blocksuite/affine-shared": "npm:0.17.9"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/blocks": "npm:0.17.8" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@floating-ui/dom": "npm:^1.6.10" "@floating-ui/dom": "npm:^1.6.10"
"@lit-labs/preact-signals": "npm:^1.0.2" "@lit-labs/preact-signals": "npm:^1.0.2"
"@lottiefiles/dotlottie-wc": "npm:^0.2.16" "@lottiefiles/dotlottie-wc": "npm:^0.2.16"
"@toeverything/theme": "npm:^1.0.8" "@toeverything/theme": "npm:^1.0.8"
lit: "npm:^3.2.0" lit: "npm:^3.2.0"
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
checksum: 10/97ef7c0b47634acf042a333b1b7ca0282796d58489c31e24f04b8fb56f70811ba61ea05fa85bc066a117af4b815c308e4d983756bd64348262e59307a3c83d4b checksum: 10/d4c48c4a7a5108cc9364a215d92d35134ca7b9180b768d766b5e7ca30aa8ae3e2e64ec964d85c9be901d7328d6e2c9dc37842a57ee894972997cbeb0719fdaf8
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/store@npm:0.17.8": "@blocksuite/store@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/store@npm:0.17.8" resolution: "@blocksuite/store@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/inline": "npm:0.17.8" "@blocksuite/inline": "npm:0.17.9"
"@blocksuite/sync": "npm:0.17.8" "@blocksuite/sync": "npm:0.17.9"
"@preact/signals-core": "npm:^1.8.0" "@preact/signals-core": "npm:^1.8.0"
"@types/flexsearch": "npm:^0.7.6" "@types/flexsearch": "npm:^0.7.6"
"@types/lodash.ismatch": "npm:^4.4.9" "@types/lodash.ismatch": "npm:^4.4.9"
@@ -3769,21 +3769,21 @@ __metadata:
zod: "npm:^3.23.8" zod: "npm:^3.23.8"
peerDependencies: peerDependencies:
yjs: ^13.6.18 yjs: ^13.6.18
checksum: 10/f6e96d4d85b8b0ce4ff476b42c8d9cfd7b42fdda37228e0c41156b04d2c72f83ab83bf600c48a17ee56b6e26389ad9c465620f9ef78c239198708da8d518c0ca checksum: 10/a8ec135ee0f67316867f8215e99af278a55f8b3e59cff2fd0840315f7e3e9185dc3843854c53002e8a03ca248bca985d84cf178a0cc01aa5f474df2622cc2b7e
languageName: node languageName: node
linkType: hard linkType: hard
"@blocksuite/sync@npm:0.17.8": "@blocksuite/sync@npm:0.17.9":
version: 0.17.8 version: 0.17.9
resolution: "@blocksuite/sync@npm:0.17.8" resolution: "@blocksuite/sync@npm:0.17.9"
dependencies: dependencies:
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
idb: "npm:^8.0.0" idb: "npm:^8.0.0"
idb-keyval: "npm:^6.2.1" idb-keyval: "npm:^6.2.1"
y-protocols: "npm:^1.0.6" y-protocols: "npm:^1.0.6"
peerDependencies: peerDependencies:
yjs: ^13.6.15 yjs: ^13.6.15
checksum: 10/1eef8465eef48d8b18082458cecd37747bcb1759c5a57a473b06b2d2fb9d403a8d9b31fb0f2e035cdb97ddd7f1d466a9367de01c9c88ba004e8c3cae77b76b2c checksum: 10/a727ebbfeaa8ec4976219d463b5c6fdf3201abb089ebc10f0c841e4b3230f5d2297076b36123a02bafdfb238b7593ca5016296fa336d95c2d842d5bb188960fb
languageName: node languageName: node
linkType: hard linkType: hard
@@ -14216,11 +14216,11 @@ __metadata:
"@affine/debug": "workspace:*" "@affine/debug": "workspace:*"
"@affine/env": "workspace:*" "@affine/env": "workspace:*"
"@affine/templates": "workspace:*" "@affine/templates": "workspace:*"
"@blocksuite/block-std": "npm:0.17.8" "@blocksuite/block-std": "npm:0.17.9"
"@blocksuite/blocks": "npm:0.17.8" "@blocksuite/blocks": "npm:0.17.9"
"@blocksuite/global": "npm:0.17.8" "@blocksuite/global": "npm:0.17.9"
"@blocksuite/presets": "npm:0.17.8" "@blocksuite/presets": "npm:0.17.9"
"@blocksuite/store": "npm:0.17.8" "@blocksuite/store": "npm:0.17.9"
"@datastructures-js/binary-search-tree": "npm:^5.3.2" "@datastructures-js/binary-search-tree": "npm:^5.3.2"
"@testing-library/react": "npm:^16.0.0" "@testing-library/react": "npm:^16.0.0"
async-call-rpc: "npm:^6.4.0" async-call-rpc: "npm:^6.4.0"