mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-10 05:29:08 +08:00
feat(core): block diff ui
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"file-type": "^21.0.0",
|
"file-type": "^21.0.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.10",
|
"@floating-ui/dom": "^1.6.10",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"emoji-mart": "^5.6.0",
|
"emoji-mart": "^5.6.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import { computed, signal } from '@preact/signals-core';
|
|||||||
import { css, nothing, unsafeCSS } from 'lit';
|
import { css, nothing, unsafeCSS } from 'lit';
|
||||||
import { html } from 'lit/static-html.js';
|
import { html } from 'lit/static-html.js';
|
||||||
|
|
||||||
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
import { BlockQueryDataSource } from './data-source.js';
|
import { BlockQueryDataSource } from './data-source.js';
|
||||||
import type { DataViewBlockModel } from './data-view-model.js';
|
import type { DataViewBlockModel } from './data-view-model.js';
|
||||||
|
|
||||||
@@ -303,9 +304,16 @@ export class DataViewBlockComponent extends CaptionedBlockComponent<DataViewBloc
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
override renderBlock() {
|
override renderBlock() {
|
||||||
|
const widgets = html`${repeat(
|
||||||
|
Object.entries(this.widgets),
|
||||||
|
([id]) => id,
|
||||||
|
([_, widget]) => widget
|
||||||
|
)}`;
|
||||||
|
|
||||||
return html`
|
return html`
|
||||||
<div contenteditable="false" style="position: relative">
|
<div contenteditable="false" style="position: relative">
|
||||||
${this.dataViewRootLogic.render()}
|
${this.dataViewRootLogic.render()}
|
||||||
|
${widgets}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import { autoUpdate } from '@floating-ui/dom';
|
|||||||
import { computed, signal } from '@preact/signals-core';
|
import { computed, signal } from '@preact/signals-core';
|
||||||
import { html, nothing } from 'lit';
|
import { html, nothing } from 'lit';
|
||||||
|
|
||||||
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
import { popSideDetail } from './components/layout.js';
|
import { popSideDetail } from './components/layout.js';
|
||||||
import { DatabaseConfigExtension } from './config.js';
|
import { DatabaseConfigExtension } from './config.js';
|
||||||
import { EditorHostKey } from './context/host-context.js';
|
import { EditorHostKey } from './context/host-context.js';
|
||||||
@@ -428,9 +429,15 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent<DatabaseBloc
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
override renderBlock() {
|
override renderBlock() {
|
||||||
|
const widgets = html`${repeat(
|
||||||
|
Object.entries(this.widgets),
|
||||||
|
([id]) => id,
|
||||||
|
([_, widget]) => widget
|
||||||
|
)}`;
|
||||||
|
|
||||||
return html`
|
return html`
|
||||||
<div contenteditable="false" class="${databaseContentStyles}">
|
<div contenteditable="false" class="${databaseContentStyles}">
|
||||||
${this.dataViewRootLogic.value.render()}
|
${this.dataViewRootLogic.value.render()} ${widgets}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"file-type": "^21.0.0",
|
"file-type": "^21.0.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/katex": "^0.16.7",
|
"@types/katex": "^0.16.7",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"katex": "^0.16.11",
|
"katex": "^0.16.11",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import { effect } from '@preact/signals-core';
|
|||||||
import { html, nothing, type TemplateResult } from 'lit';
|
import { html, nothing, type TemplateResult } from 'lit';
|
||||||
import { query, state } from 'lit/decorators.js';
|
import { query, state } from 'lit/decorators.js';
|
||||||
import { classMap } from 'lit/directives/class-map.js';
|
import { classMap } from 'lit/directives/class-map.js';
|
||||||
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
import { styleMap } from 'lit/directives/style-map.js';
|
import { styleMap } from 'lit/directives/style-map.js';
|
||||||
|
|
||||||
import { correctNumberedListsOrderToPrev } from './commands/utils.js';
|
import { correctNumberedListsOrderToPrev } from './commands/utils.js';
|
||||||
@@ -138,6 +139,11 @@ export class ListBlockComponent extends CaptionedBlockComponent<ListBlockModel>
|
|||||||
|
|
||||||
override renderBlock(): TemplateResult<1> {
|
override renderBlock(): TemplateResult<1> {
|
||||||
const { model, _onClickIcon } = this;
|
const { model, _onClickIcon } = this;
|
||||||
|
const widgets = html`${repeat(
|
||||||
|
Object.entries(this.widgets),
|
||||||
|
([id]) => id,
|
||||||
|
([_, widget]) => widget
|
||||||
|
)}`;
|
||||||
const collapsed = this.store.readonly
|
const collapsed = this.store.readonly
|
||||||
? this._readonlyCollapsed
|
? this._readonlyCollapsed
|
||||||
: model.props.collapsed;
|
: model.props.collapsed;
|
||||||
@@ -199,7 +205,7 @@ export class ListBlockComponent extends CaptionedBlockComponent<ListBlockModel>
|
|||||||
></rich-text>
|
></rich-text>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${children}
|
${children} ${widgets}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"@vanilla-extract/css": "^1.17.0",
|
"@vanilla-extract/css": "^1.17.0",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/mdast": "^4.0.4",
|
"@types/mdast": "^4.0.4",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import { computed, effect, signal } from '@preact/signals-core';
|
|||||||
import { html, nothing, type TemplateResult } from 'lit';
|
import { html, nothing, type TemplateResult } from 'lit';
|
||||||
import { query, state } from 'lit/decorators.js';
|
import { query, state } from 'lit/decorators.js';
|
||||||
import { classMap } from 'lit/directives/class-map.js';
|
import { classMap } from 'lit/directives/class-map.js';
|
||||||
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
import { styleMap } from 'lit/directives/style-map.js';
|
import { styleMap } from 'lit/directives/style-map.js';
|
||||||
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
||||||
|
|
||||||
@@ -227,6 +228,12 @@ export class ParagraphBlockComponent extends CaptionedBlockComponent<ParagraphBl
|
|||||||
}
|
}
|
||||||
|
|
||||||
override renderBlock(): TemplateResult<1> {
|
override renderBlock(): TemplateResult<1> {
|
||||||
|
const widgets = html`${repeat(
|
||||||
|
Object.entries(this.widgets),
|
||||||
|
([id]) => id,
|
||||||
|
([_, widget]) => widget
|
||||||
|
)}`;
|
||||||
|
|
||||||
const { type$ } = this.model.props;
|
const { type$ } = this.model.props;
|
||||||
const collapsed = this.store.readonly
|
const collapsed = this.store.readonly
|
||||||
? this._readonlyCollapsed
|
? this._readonlyCollapsed
|
||||||
@@ -340,7 +347,7 @@ export class ParagraphBlockComponent extends CaptionedBlockComponent<ParagraphBl
|
|||||||
`}
|
`}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${children}
|
${children} ${widgets}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"dompurify": "^3.2.4",
|
"dompurify": "^3.2.4",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fractional-indexing": "^3.2.0",
|
"fractional-indexing": "^3.2.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fractional-indexing": "^3.2.0",
|
"fractional-indexing": "^3.2.0",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@lottiefiles/dotlottie-wc": "^0.5.0",
|
"@lottiefiles/dotlottie-wc": "^0.5.0",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/hast": "^3.0.4",
|
"@types/hast": "^3.0.4",
|
||||||
"@types/katex": "^0.16.7",
|
"@types/katex": "^0.16.7",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1"
|
"rxjs": "^7.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@vanilla-extract/css": "^1.17.0",
|
"@vanilla-extract/css": "^1.17.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"minimatch": "^10.0.1",
|
"minimatch": "^10.0.1",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"collapse-white-space": "^2.1.0",
|
"collapse-white-space": "^2.1.0",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/hast": "^3.0.4",
|
"@types/hast": "^3.0.4",
|
||||||
"@types/katex": "^0.16.7",
|
"@types/katex": "^0.16.7",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"collapse-white-space": "^2.1.0",
|
"collapse-white-space": "^2.1.0",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"collapse-white-space": "^2.1.0",
|
"collapse-white-space": "^2.1.0",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/hast": "^3.0.4",
|
"@types/hast": "^3.0.4",
|
||||||
"@types/katex": "^0.16.7",
|
"@types/katex": "^0.16.7",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"collapse-white-space": "^2.1.0",
|
"collapse-white-space": "^2.1.0",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"@blocksuite/global": "workspace:*",
|
"@blocksuite/global": "workspace:*",
|
||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fractional-indexing": "^3.2.0",
|
"fractional-indexing": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"collapse-white-space": "^2.1.0",
|
"collapse-white-space": "^2.1.0",
|
||||||
"date-fns": "^4.0.0",
|
"date-fns": "^4.0.0",
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/bytes": "^3.1.5",
|
"@types/bytes": "^3.1.5",
|
||||||
"@types/hast": "^3.0.4",
|
"@types/hast": "^3.0.4",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/icons": "^2.2.12",
|
"@blocksuite/icons": "^2.2.12",
|
||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1"
|
"rxjs": "^7.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
"yjs": "^13.6.21"
|
"yjs": "^13.6.21"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
"yjs": "^13.6.21"
|
"yjs": "^13.6.21"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1"
|
"rxjs": "^7.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fflate": "^0.8.2",
|
"fflate": "^0.8.2",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fflate": "^0.8.2",
|
"fflate": "^0.8.2",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
"yjs": "^13.6.21"
|
"yjs": "^13.6.21"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@lit/context": "^1.1.2",
|
"@lit/context": "^1.1.2",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"fflate": "^0.8.2",
|
"fflate": "^0.8.2",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"@blocksuite/icons": "^2.2.12",
|
"@blocksuite/icons": "^2.2.12",
|
||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"@blocksuite/global": "workspace:*",
|
"@blocksuite/global": "workspace:*",
|
||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1"
|
"rxjs": "^7.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@blocksuite/store": "workspace:*",
|
"@blocksuite/store": "workspace:*",
|
||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@floating-ui/dom": "^1.6.13",
|
"@floating-ui/dom": "^1.6.13",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
@@ -28,6 +28,21 @@ import { ShadowlessElement } from './shadowless-element.js';
|
|||||||
export const storeContext = createContext<Store>('store');
|
export const storeContext = createContext<Store>('store');
|
||||||
export const stdContext = createContext<BlockStdScope>('std');
|
export const stdContext = createContext<BlockStdScope>('std');
|
||||||
|
|
||||||
|
function isMatchFlavour(widgetFlavour: string, block: BlockModel) {
|
||||||
|
if (widgetFlavour.endsWith('/*')) {
|
||||||
|
const path = widgetFlavour.slice(0, -2).split('/');
|
||||||
|
let current: BlockModel | null = block.parent;
|
||||||
|
for (let i = path.length - 1; i >= 0; i--) {
|
||||||
|
if (!current || current.flavour !== path[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
current = current.parent;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return block.flavour === widgetFlavour;
|
||||||
|
}
|
||||||
|
|
||||||
@requiredProperties({
|
@requiredProperties({
|
||||||
store: PropTypes.instanceOf(Store),
|
store: PropTypes.instanceOf(Store),
|
||||||
std: PropTypes.object,
|
std: PropTypes.object,
|
||||||
@@ -61,7 +76,7 @@ export class EditorHost extends SignalWatcher(
|
|||||||
const widgets = Array.from(widgetViews.entries()).reduce(
|
const widgets = Array.from(widgetViews.entries()).reduce(
|
||||||
(mapping, [key, tag]) => {
|
(mapping, [key, tag]) => {
|
||||||
const [widgetFlavour, id] = key.split('|');
|
const [widgetFlavour, id] = key.split('|');
|
||||||
if (widgetFlavour === flavour) {
|
if (isMatchFlavour(widgetFlavour, model)) {
|
||||||
const template = html`<${tag} ${unsafeStatic(WIDGET_ID_ATTR)}=${id}></${tag}>`;
|
const template = html`<${tag} ${unsafeStatic(WIDGET_ID_ATTR)}=${id}></${tag}>`;
|
||||||
mapping[id] = template;
|
mapping[id] = template;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"@lit/context": "^1.1.3",
|
"@lit/context": "^1.1.3",
|
||||||
"@lottiefiles/dotlottie-wc": "^0.5.0",
|
"@lottiefiles/dotlottie-wc": "^0.5.0",
|
||||||
"@preact/signals-core": "^1.8.0",
|
"@preact/signals-core": "^1.8.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@vanilla-extract/css": "^1.17.0",
|
"@vanilla-extract/css": "^1.17.0",
|
||||||
"lit": "^3.2.0",
|
"lit": "^3.2.0",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
"@sentry/react": "^9.2.0",
|
"@sentry/react": "^9.2.0",
|
||||||
"@tanstack/react-table": "^8.20.5",
|
"@tanstack/react-table": "^8.20.5",
|
||||||
"@toeverything/infra": "workspace:*",
|
"@toeverything/infra": "workspace:*",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"cmdk": "^1.0.4",
|
"cmdk": "^1.0.4",
|
||||||
"embla-carousel-react": "^8.5.1",
|
"embla-carousel-react": "^8.5.1",
|
||||||
"input-otp": "^1.4.1",
|
"input-otp": "^1.4.1",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"@emotion/react": "^11.14.0",
|
"@emotion/react": "^11.14.0",
|
||||||
"@sentry/react": "^9.2.0",
|
"@sentry/react": "^9.2.0",
|
||||||
"@toeverything/infra": "workspace:*",
|
"@toeverything/infra": "workspace:*",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@vanilla-extract/css": "^1.17.0",
|
"@vanilla-extract/css": "^1.17.0",
|
||||||
"async-call-rpc": "^6.4.2",
|
"async-call-rpc": "^6.4.2",
|
||||||
"next-themes": "^0.4.4",
|
"next-themes": "^0.4.4",
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
"@radix-ui/react-toast": "^1.2.3",
|
"@radix-ui/react-toast": "^1.2.3",
|
||||||
"@radix-ui/react-tooltip": "^1.1.5",
|
"@radix-ui/react-tooltip": "^1.1.5",
|
||||||
"@radix-ui/react-visually-hidden": "^1.1.1",
|
"@radix-ui/react-visually-hidden": "^1.1.1",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@vanilla-extract/dynamic": "^2.1.2",
|
"@vanilla-extract/dynamic": "^2.1.2",
|
||||||
"bytes": "^3.1.2",
|
"bytes": "^3.1.2",
|
||||||
"check-password-strength": "^3.0.0",
|
"check-password-strength": "^3.0.0",
|
||||||
|
|||||||
@@ -306,3 +306,15 @@ math {
|
|||||||
'STIX Two Math' /* mac */,
|
'STIX Two Math' /* mac */,
|
||||||
math;
|
math;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* AI Block Diff */
|
||||||
|
.ai-block-diff-deleted {
|
||||||
|
background-color: var(--aI-applyDeleteHighlight, #ffeaea) !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
padding: 8px 0px !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-deleted .affine-block-component {
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
@@ -19,7 +19,9 @@
|
|||||||
"@affine/templates": "workspace:*",
|
"@affine/templates": "workspace:*",
|
||||||
"@affine/track": "workspace:*",
|
"@affine/track": "workspace:*",
|
||||||
"@blocksuite/affine": "workspace:*",
|
"@blocksuite/affine": "workspace:*",
|
||||||
|
"@blocksuite/affine-components": "workspace:*",
|
||||||
"@blocksuite/affine-shared": "workspace:*",
|
"@blocksuite/affine-shared": "workspace:*",
|
||||||
|
"@blocksuite/global": "workspace:*",
|
||||||
"@blocksuite/icons": "^2.2.13",
|
"@blocksuite/icons": "^2.2.13",
|
||||||
"@blocksuite/std": "workspace:*",
|
"@blocksuite/std": "workspace:*",
|
||||||
"@dotlottie/player-component": "^2.7.12",
|
"@dotlottie/player-component": "^2.7.12",
|
||||||
@@ -40,7 +42,7 @@
|
|||||||
"@sentry/react": "^9.2.0",
|
"@sentry/react": "^9.2.0",
|
||||||
"@toeverything/infra": "workspace:*",
|
"@toeverything/infra": "workspace:*",
|
||||||
"@toeverything/pdf-viewer": "^0.1.1",
|
"@toeverything/pdf-viewer": "^0.1.1",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"@vanilla-extract/dynamic": "^2.1.2",
|
"@vanilla-extract/dynamic": "^2.1.2",
|
||||||
"@webcontainer/api": "^1.6.1",
|
"@webcontainer/api": "^1.6.1",
|
||||||
"animejs": "^4.0.0",
|
"animejs": "^4.0.0",
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import {
|
||||||
|
BlockMarkdownAdapterExtension,
|
||||||
|
type BlockMarkdownAdapterMatcher,
|
||||||
|
} from '@blocksuite/affine-shared/adapters';
|
||||||
|
|
||||||
|
export const blockTagMarkdownAdapterMatcher: BlockMarkdownAdapterMatcher = {
|
||||||
|
flavour: 'affine:page/affine:note/*',
|
||||||
|
toMatch: () => false,
|
||||||
|
fromMatch: o => {
|
||||||
|
const block = o.node;
|
||||||
|
const parent = o.parent;
|
||||||
|
if (block.type === 'block' && parent?.node.flavour === 'affine:note') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
toBlockSnapshot: {},
|
||||||
|
fromBlockSnapshot: {
|
||||||
|
async enter(block, adapterContext) {
|
||||||
|
adapterContext.walkerContext
|
||||||
|
.openNode({
|
||||||
|
type: 'html',
|
||||||
|
value: `<!-- block_id=${block.node.id} flavour=${block.node.flavour} -->`,
|
||||||
|
})
|
||||||
|
.closeNode();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const BlockTagMarkdownAdapterExtension = BlockMarkdownAdapterExtension(
|
||||||
|
blockTagMarkdownAdapterMatcher
|
||||||
|
);
|
||||||
@@ -77,6 +77,21 @@ import {
|
|||||||
} from './widgets/ai-panel/components';
|
} from './widgets/ai-panel/components';
|
||||||
import { AIFinishTip } from './widgets/ai-panel/components/finish-tip';
|
import { AIFinishTip } from './widgets/ai-panel/components/finish-tip';
|
||||||
import { GeneratingPlaceholder } from './widgets/ai-panel/components/generating-placeholder';
|
import { GeneratingPlaceholder } from './widgets/ai-panel/components/generating-placeholder';
|
||||||
|
import {
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_BLOCK,
|
||||||
|
AffineBlockDiffWidgetForBlock,
|
||||||
|
} from './widgets/block-diff/block';
|
||||||
|
import { BlockDiffOptions } from './widgets/block-diff/options';
|
||||||
|
import {
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_PAGE,
|
||||||
|
AffineBlockDiffWidgetForPage,
|
||||||
|
} from './widgets/block-diff/page';
|
||||||
|
import {
|
||||||
|
AFFINE_BLOCK_DIFF_PLAYGROUND,
|
||||||
|
AFFINE_BLOCK_DIFF_PLAYGROUND_MODAL,
|
||||||
|
BlockDiffPlayground,
|
||||||
|
BlockDiffPlaygroundModal,
|
||||||
|
} from './widgets/block-diff/playground';
|
||||||
import {
|
import {
|
||||||
AFFINE_EDGELESS_COPILOT_WIDGET,
|
AFFINE_EDGELESS_COPILOT_WIDGET,
|
||||||
EdgelessCopilotWidget,
|
EdgelessCopilotWidget,
|
||||||
@@ -165,6 +180,12 @@ export function registerAIEffects() {
|
|||||||
customElements.define('chat-message-action', ChatMessageAction);
|
customElements.define('chat-message-action', ChatMessageAction);
|
||||||
customElements.define('chat-message-assistant', ChatMessageAssistant);
|
customElements.define('chat-message-assistant', ChatMessageAssistant);
|
||||||
customElements.define('chat-message-user', ChatMessageUser);
|
customElements.define('chat-message-user', ChatMessageUser);
|
||||||
|
customElements.define('ai-block-diff-options', BlockDiffOptions);
|
||||||
|
customElements.define(AFFINE_BLOCK_DIFF_PLAYGROUND, BlockDiffPlayground);
|
||||||
|
customElements.define(
|
||||||
|
AFFINE_BLOCK_DIFF_PLAYGROUND_MODAL,
|
||||||
|
BlockDiffPlaygroundModal
|
||||||
|
);
|
||||||
|
|
||||||
customElements.define('tool-call-card', ToolCallCard);
|
customElements.define('tool-call-card', ToolCallCard);
|
||||||
customElements.define('tool-result-card', ToolResultCard);
|
customElements.define('tool-result-card', ToolResultCard);
|
||||||
@@ -174,6 +195,14 @@ export function registerAIEffects() {
|
|||||||
|
|
||||||
customElements.define(AFFINE_AI_PANEL_WIDGET, AffineAIPanelWidget);
|
customElements.define(AFFINE_AI_PANEL_WIDGET, AffineAIPanelWidget);
|
||||||
customElements.define(AFFINE_EDGELESS_COPILOT_WIDGET, EdgelessCopilotWidget);
|
customElements.define(AFFINE_EDGELESS_COPILOT_WIDGET, EdgelessCopilotWidget);
|
||||||
|
customElements.define(
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_BLOCK,
|
||||||
|
AffineBlockDiffWidgetForBlock
|
||||||
|
);
|
||||||
|
customElements.define(
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_PAGE,
|
||||||
|
AffineBlockDiffWidgetForPage
|
||||||
|
);
|
||||||
|
|
||||||
customElements.define('edgeless-copilot-panel', EdgelessCopilotPanel);
|
customElements.define('edgeless-copilot-panel', EdgelessCopilotPanel);
|
||||||
customElements.define(
|
customElements.define(
|
||||||
|
|||||||
@@ -0,0 +1,435 @@
|
|||||||
|
import { LifeCycleWatcher } from '@blocksuite/affine/std';
|
||||||
|
import { Extension, type Store } from '@blocksuite/affine/store';
|
||||||
|
import {
|
||||||
|
BlockMarkdownAdapterMatcherIdentifier,
|
||||||
|
MarkdownAdapter,
|
||||||
|
} from '@blocksuite/affine-shared/adapters';
|
||||||
|
import {
|
||||||
|
type Container,
|
||||||
|
createIdentifier,
|
||||||
|
type ServiceProvider,
|
||||||
|
} from '@blocksuite/global/di';
|
||||||
|
import { LiveData } from '@toeverything/infra';
|
||||||
|
import type { Subscription } from 'rxjs';
|
||||||
|
|
||||||
|
import { blockTagMarkdownAdapterMatcher } from '../adapters/block-tag';
|
||||||
|
import { applyPatchToDoc } from '../utils/apply-model/apply-patch-to-doc';
|
||||||
|
import {
|
||||||
|
generateRenderDiff,
|
||||||
|
type RenderDiffs,
|
||||||
|
} from '../utils/apply-model/generate-render-diff';
|
||||||
|
|
||||||
|
interface RejectMap {
|
||||||
|
deletes: string[];
|
||||||
|
inserts: string[];
|
||||||
|
updates: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
type AcceptDelete = {
|
||||||
|
type: 'delete';
|
||||||
|
payload: {
|
||||||
|
id: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type AcceptUpdate = {
|
||||||
|
type: 'update';
|
||||||
|
payload: {
|
||||||
|
id: string;
|
||||||
|
content: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type AcceptInsert = {
|
||||||
|
type: 'insert';
|
||||||
|
payload: {
|
||||||
|
from: string;
|
||||||
|
offset: number;
|
||||||
|
content: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type Accept = AcceptDelete | AcceptUpdate | AcceptInsert;
|
||||||
|
|
||||||
|
type RejectDelete = {
|
||||||
|
type: 'delete';
|
||||||
|
payload: {
|
||||||
|
id: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type RejectUpdate = {
|
||||||
|
type: 'update';
|
||||||
|
payload: {
|
||||||
|
id: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type RejectInsert = {
|
||||||
|
type: 'insert';
|
||||||
|
payload: {
|
||||||
|
from: string;
|
||||||
|
offset: number;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
type Reject = RejectDelete | RejectUpdate | RejectInsert;
|
||||||
|
|
||||||
|
export interface BlockDiffProvider {
|
||||||
|
diffMap$: LiveData<RenderDiffs>;
|
||||||
|
rejects$: LiveData<RejectMap>;
|
||||||
|
isBatchingApply: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the original markdown
|
||||||
|
* @param originalMarkdown - The original markdown
|
||||||
|
*/
|
||||||
|
setOriginalMarkdown(originalMarkdown: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the changed markdown
|
||||||
|
* @param changedMarkdown - The changed markdown
|
||||||
|
*/
|
||||||
|
setChangedMarkdown(changedMarkdown: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the diff map
|
||||||
|
*/
|
||||||
|
clearDiff(): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the diff map
|
||||||
|
*/
|
||||||
|
getDiff(): RenderDiffs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if there is any diff
|
||||||
|
*/
|
||||||
|
hasDiff(): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Accept all the diffs
|
||||||
|
*/
|
||||||
|
acceptAll(doc: Store): Promise<void>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Accept a diff
|
||||||
|
*/
|
||||||
|
accept(accept: Accept, doc: Store): Promise<void>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reject all the diffs
|
||||||
|
*/
|
||||||
|
rejectAll(): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reject a diff
|
||||||
|
*/
|
||||||
|
reject(reject: Reject): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a diff is rejected
|
||||||
|
*/
|
||||||
|
isRejected(type: 'delete' | 'update' | 'insert', index: string): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total number of diffs
|
||||||
|
*/
|
||||||
|
getTotalDiffs(): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the markdown from the doc
|
||||||
|
* @param doc - The doc
|
||||||
|
* @param provider - The provider
|
||||||
|
*/
|
||||||
|
getMarkdownFromDoc(doc: Store, provider: ServiceProvider): Promise<string>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index of a block in the doc
|
||||||
|
* @param doc - The doc
|
||||||
|
* @param blockId - The id of the block
|
||||||
|
*/
|
||||||
|
getBlockIndexById(doc: Store, blockId: string): number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const BlockDiffProvider = createIdentifier<BlockDiffProvider>(
|
||||||
|
'AffineBlockDiffService'
|
||||||
|
);
|
||||||
|
|
||||||
|
export class BlockDiffService extends Extension implements BlockDiffProvider {
|
||||||
|
rejects$ = new LiveData<RejectMap>({
|
||||||
|
deletes: [],
|
||||||
|
inserts: [],
|
||||||
|
updates: [],
|
||||||
|
});
|
||||||
|
|
||||||
|
diffMap$ = new LiveData<RenderDiffs>({
|
||||||
|
deletes: [],
|
||||||
|
inserts: {},
|
||||||
|
updates: {},
|
||||||
|
});
|
||||||
|
|
||||||
|
private originalMarkdown: string | null = null;
|
||||||
|
private changedMarkdown: string | null = null;
|
||||||
|
|
||||||
|
isBatchingApply = false;
|
||||||
|
|
||||||
|
static override setup(di: Container) {
|
||||||
|
di.addImpl(BlockDiffProvider, BlockDiffService);
|
||||||
|
}
|
||||||
|
|
||||||
|
getBlockIndexById(doc: Store, blockId: string): number {
|
||||||
|
const notes = doc.getBlocksByFlavour('affine:note');
|
||||||
|
if (notes.length === 0) return 0;
|
||||||
|
const note = notes[0].model;
|
||||||
|
return note.children.findIndex(child => child.id === blockId);
|
||||||
|
}
|
||||||
|
|
||||||
|
hasDiff(): boolean {
|
||||||
|
const { deletes, updates, inserts } = this.diffMap$.value;
|
||||||
|
if (
|
||||||
|
deletes.length > 0 ||
|
||||||
|
Object.keys(updates).length > 0 ||
|
||||||
|
Object.keys(inserts).length > 0
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
setOriginalMarkdown(originalMarkdown: string) {
|
||||||
|
this.originalMarkdown = originalMarkdown;
|
||||||
|
this._refreshDiff();
|
||||||
|
}
|
||||||
|
|
||||||
|
setChangedMarkdown(changedMarkdown: string) {
|
||||||
|
this.changedMarkdown = changedMarkdown;
|
||||||
|
this.clearRejects();
|
||||||
|
this._refreshDiff();
|
||||||
|
}
|
||||||
|
|
||||||
|
private _refreshDiff(): void {
|
||||||
|
if (!this.originalMarkdown || !this.changedMarkdown) {
|
||||||
|
this.clearDiff();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const diffMap = generateRenderDiff(
|
||||||
|
this.originalMarkdown,
|
||||||
|
this.changedMarkdown
|
||||||
|
);
|
||||||
|
this.diffMap$.next(diffMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
getDiff(): RenderDiffs {
|
||||||
|
return this.diffMap$.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearDiff(): void {
|
||||||
|
this.diffMap$.next({
|
||||||
|
deletes: [],
|
||||||
|
inserts: {},
|
||||||
|
updates: {},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
clearRejects(): void {
|
||||||
|
this.rejects$.next({
|
||||||
|
deletes: [],
|
||||||
|
inserts: [],
|
||||||
|
updates: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async acceptAll(doc: Store): Promise<void> {
|
||||||
|
this.isBatchingApply = true;
|
||||||
|
const { deletes, updates, inserts } = this.diffMap$.value;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (const [id, content] of Object.entries(updates)) {
|
||||||
|
await applyPatchToDoc(doc, [{ op: 'replace', id, content }]);
|
||||||
|
}
|
||||||
|
for (const [from, blocks] of Object.entries(inserts)) {
|
||||||
|
let baseIndex = 0;
|
||||||
|
if (from !== 'HEAD') {
|
||||||
|
baseIndex = this.getBlockIndexById(doc, from) + 1;
|
||||||
|
}
|
||||||
|
for (const [offset, block] of blocks.entries()) {
|
||||||
|
await applyPatchToDoc(doc, [
|
||||||
|
{ op: 'insert', index: baseIndex + offset, block },
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const id of deletes) {
|
||||||
|
await applyPatchToDoc(doc, [{ op: 'delete', id }]);
|
||||||
|
}
|
||||||
|
this.diffMap$.next({
|
||||||
|
deletes: [],
|
||||||
|
inserts: {},
|
||||||
|
updates: {},
|
||||||
|
});
|
||||||
|
} finally {
|
||||||
|
this.isBatchingApply = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async accept(accept: Accept, doc: Store) {
|
||||||
|
const { type, payload } = accept;
|
||||||
|
switch (type) {
|
||||||
|
case 'delete': {
|
||||||
|
await applyPatchToDoc(doc, [{ op: 'delete', id: payload.id }]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'update': {
|
||||||
|
await applyPatchToDoc(doc, [
|
||||||
|
{ op: 'replace', id: payload.id, content: payload.content },
|
||||||
|
]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'insert': {
|
||||||
|
const block = this.diffMap$.value.inserts[payload.from][payload.offset];
|
||||||
|
let baseIndex = 0;
|
||||||
|
if (payload.from !== 'HEAD') {
|
||||||
|
baseIndex = this.getBlockIndexById(doc, payload.from) + 1;
|
||||||
|
}
|
||||||
|
await applyPatchToDoc(doc, [
|
||||||
|
{ op: 'insert', index: baseIndex + payload.offset, block },
|
||||||
|
]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rejectAll(): void {
|
||||||
|
this.clearDiff();
|
||||||
|
this.clearRejects();
|
||||||
|
this.changedMarkdown = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
reject(reject: Reject): void {
|
||||||
|
const rejects = this.rejects$.value;
|
||||||
|
switch (reject.type) {
|
||||||
|
case 'delete':
|
||||||
|
this.rejects$.next({
|
||||||
|
...rejects,
|
||||||
|
deletes: [...rejects.deletes, reject.payload.id],
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'update':
|
||||||
|
this.rejects$.next({
|
||||||
|
...rejects,
|
||||||
|
updates: [...rejects.updates, reject.payload.id],
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'insert':
|
||||||
|
this.rejects$.next({
|
||||||
|
...rejects,
|
||||||
|
inserts: [
|
||||||
|
...rejects.inserts,
|
||||||
|
`${reject.payload.from}:${reject.payload.offset}`,
|
||||||
|
],
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
isRejected(type: 'delete' | 'update' | 'insert', index: string): boolean {
|
||||||
|
const rejects = this.rejects$.value;
|
||||||
|
if (type === 'delete') {
|
||||||
|
return rejects.deletes.includes(index);
|
||||||
|
}
|
||||||
|
if (type === 'update') {
|
||||||
|
return rejects.updates.includes(index);
|
||||||
|
}
|
||||||
|
if (type === 'insert') {
|
||||||
|
return rejects.inserts.includes(index);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
getTotalDiffs(): number {
|
||||||
|
const rejects = this.rejects$.value;
|
||||||
|
const { deletes, updates, inserts } = this.diffMap$.value;
|
||||||
|
const insertCount = Object.values(inserts).reduce(
|
||||||
|
(sum, arr) => sum + arr.length,
|
||||||
|
0
|
||||||
|
);
|
||||||
|
const rejectDeleteCount = rejects.deletes.length;
|
||||||
|
const rejectUpdateCount = rejects.updates.length;
|
||||||
|
const rejectInsertCount = rejects.inserts.length;
|
||||||
|
return (
|
||||||
|
deletes.length +
|
||||||
|
Object.keys(updates).length +
|
||||||
|
insertCount -
|
||||||
|
rejectDeleteCount -
|
||||||
|
rejectUpdateCount -
|
||||||
|
rejectInsertCount
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
getMarkdownFromDoc = async (doc: Store, provider: ServiceProvider) => {
|
||||||
|
const job = doc.getTransformer();
|
||||||
|
const snapshot = job.docToSnapshot(doc);
|
||||||
|
const adapter = new MarkdownAdapter(job, provider);
|
||||||
|
if (!snapshot) {
|
||||||
|
return 'Failed to get markdown from doc';
|
||||||
|
}
|
||||||
|
// FIXME: reverse the block matchers to make the block tag adapter the first one
|
||||||
|
adapter.blockMatchers.reverse();
|
||||||
|
const markdown = await adapter.fromDocSnapshot({
|
||||||
|
snapshot,
|
||||||
|
assets: job.assetsManager,
|
||||||
|
});
|
||||||
|
return markdown.file;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export class BlockDiffWatcher extends LifeCycleWatcher {
|
||||||
|
static override key = 'block-diff-watcher';
|
||||||
|
|
||||||
|
private _blockUpdatedSubscription: Subscription | null = null;
|
||||||
|
|
||||||
|
private _provider: ServiceProvider | null = null;
|
||||||
|
|
||||||
|
override created() {
|
||||||
|
super.created();
|
||||||
|
const cloned = this.std.store.provider.container.clone();
|
||||||
|
cloned.addImpl(
|
||||||
|
BlockMarkdownAdapterMatcherIdentifier,
|
||||||
|
blockTagMarkdownAdapterMatcher
|
||||||
|
);
|
||||||
|
this._provider = cloned.provider();
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly _refreshOriginalMarkdown = async () => {
|
||||||
|
const diffService = this.std.get(BlockDiffProvider);
|
||||||
|
if (
|
||||||
|
!diffService.hasDiff() ||
|
||||||
|
!this._provider ||
|
||||||
|
diffService.isBatchingApply
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const markdown = await diffService.getMarkdownFromDoc(
|
||||||
|
this.std.store,
|
||||||
|
this._provider
|
||||||
|
);
|
||||||
|
if (markdown) {
|
||||||
|
diffService.setOriginalMarkdown(markdown);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
override mounted() {
|
||||||
|
super.mounted();
|
||||||
|
this._blockUpdatedSubscription =
|
||||||
|
this.std.store.slots.blockUpdated.subscribe(() => {
|
||||||
|
this._refreshOriginalMarkdown().catch(err => {
|
||||||
|
console.error('Failed to refresh original markdown', err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
override unmounted() {
|
||||||
|
super.unmounted();
|
||||||
|
this._blockUpdatedSubscription?.unsubscribe();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,219 @@
|
|||||||
|
import { WidgetComponent, WidgetViewExtension } from '@blocksuite/affine/std';
|
||||||
|
import { unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme';
|
||||||
|
import { css, html, nothing, type TemplateResult } from 'lit';
|
||||||
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
||||||
|
|
||||||
|
import { BlockDiffProvider } from '../../services/block-diff';
|
||||||
|
import type { Block } from '../../utils/apply-model/markdown-diff';
|
||||||
|
import { blockDiffWidgetForPage } from './page';
|
||||||
|
|
||||||
|
export const AFFINE_BLOCK_DIFF_WIDGET_FOR_BLOCK =
|
||||||
|
'affine-block-diff-widget-for-block';
|
||||||
|
|
||||||
|
export class AffineBlockDiffWidgetForBlock extends WidgetComponent {
|
||||||
|
static override styles = css`
|
||||||
|
.ai-block-diff {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 8px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
pointer-events: none;
|
||||||
|
background-color: ${unsafeCSSVarV2('aI/applyTextHighlightBackground')};
|
||||||
|
padding: 8px 0px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff.delete {
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
left: 4px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
private _setDeletedStyle(blockId: string) {
|
||||||
|
const deleted = document.querySelector<HTMLDivElement>(
|
||||||
|
`[data-block-id="${blockId}"]`
|
||||||
|
);
|
||||||
|
if (!deleted) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
deleted.classList.add('ai-block-diff-deleted');
|
||||||
|
}
|
||||||
|
|
||||||
|
private _clearDeletedStyle(blockId: string) {
|
||||||
|
const block = document.querySelector<HTMLDivElement>(
|
||||||
|
`[data-block-id="${blockId}"]`
|
||||||
|
);
|
||||||
|
if (!block) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
block.classList.remove('ai-block-diff-deleted');
|
||||||
|
}
|
||||||
|
|
||||||
|
private _renderDelete(blockId: string) {
|
||||||
|
if (this.diffService.isRejected('delete', blockId)) {
|
||||||
|
return nothing;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._setDeletedStyle(blockId);
|
||||||
|
|
||||||
|
return html`<div
|
||||||
|
class="ai-block-diff delete"
|
||||||
|
data-diff-id=${`delete-${blockId}`}
|
||||||
|
>
|
||||||
|
<ai-block-diff-options
|
||||||
|
.onAccept=${() =>
|
||||||
|
this.diffService.accept(
|
||||||
|
{ type: 'delete', payload: { id: blockId } },
|
||||||
|
this.std.store
|
||||||
|
)}
|
||||||
|
.onReject=${() =>
|
||||||
|
this.diffService.reject({ type: 'delete', payload: { id: blockId } })}
|
||||||
|
></ai-block-diff-options>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
private _renderInsert(from: string, blocks: Block[]) {
|
||||||
|
return blocks
|
||||||
|
.map((block, offset) => {
|
||||||
|
return this.diffService.isRejected('insert', `${from}:${offset}`)
|
||||||
|
? null
|
||||||
|
: html`<div
|
||||||
|
class="ai-block-diff insert"
|
||||||
|
data-diff-id=${`insert-${block.id}-${offset}`}
|
||||||
|
>
|
||||||
|
<chat-content-rich-text
|
||||||
|
.text=${block.content}
|
||||||
|
.host=${this.host}
|
||||||
|
.state="finished"
|
||||||
|
.extensions=${this.userExtensions}
|
||||||
|
></chat-content-rich-text>
|
||||||
|
<ai-block-diff-options
|
||||||
|
.onAccept=${() =>
|
||||||
|
this.diffService.accept(
|
||||||
|
{
|
||||||
|
type: 'insert',
|
||||||
|
payload: { from, offset, content: block.content },
|
||||||
|
},
|
||||||
|
this.std.store
|
||||||
|
)}
|
||||||
|
.onReject=${() =>
|
||||||
|
this.diffService.reject({
|
||||||
|
type: 'insert',
|
||||||
|
payload: { from, offset },
|
||||||
|
})}
|
||||||
|
></ai-block-diff-options>
|
||||||
|
</div>`;
|
||||||
|
})
|
||||||
|
.filter(Boolean) as TemplateResult[];
|
||||||
|
}
|
||||||
|
|
||||||
|
private _renderUpdate(blockId: string, content: string) {
|
||||||
|
if (this.diffService.isRejected('update', blockId)) {
|
||||||
|
return nothing;
|
||||||
|
}
|
||||||
|
|
||||||
|
return html`
|
||||||
|
<div class="ai-block-diff update" data-diff-id=${`update-${blockId}`}>
|
||||||
|
<chat-content-rich-text
|
||||||
|
.text=${content}
|
||||||
|
.host=${this.host}
|
||||||
|
.state="finished"
|
||||||
|
.extensions=${this.userExtensions}
|
||||||
|
></chat-content-rich-text>
|
||||||
|
<ai-block-diff-options
|
||||||
|
.onAccept=${() =>
|
||||||
|
this.diffService.accept(
|
||||||
|
{
|
||||||
|
type: 'update',
|
||||||
|
payload: { id: blockId, content },
|
||||||
|
},
|
||||||
|
this.std.store
|
||||||
|
)}
|
||||||
|
.onReject=${() =>
|
||||||
|
this.diffService.reject({
|
||||||
|
type: 'update',
|
||||||
|
payload: { id: blockId },
|
||||||
|
})}
|
||||||
|
></ai-block-diff-options>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
get diffService() {
|
||||||
|
return this.std.get(BlockDiffProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
get userExtensions() {
|
||||||
|
return this.std.userExtensions.filter(
|
||||||
|
extension => extension !== blockDiffWidgetForPage
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
get blockIndex(): number {
|
||||||
|
const attached = this.block?.blockId;
|
||||||
|
if (!attached) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.diffService.getBlockIndexById(this.std.store, attached);
|
||||||
|
}
|
||||||
|
|
||||||
|
override render() {
|
||||||
|
const attached = this.block?.blockId;
|
||||||
|
const service = this.std.get(BlockDiffProvider);
|
||||||
|
const blockIndex = this.blockIndex;
|
||||||
|
|
||||||
|
if (attached) {
|
||||||
|
this._clearDeletedStyle(attached);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!attached || blockIndex < 0 || !service.hasDiff()) {
|
||||||
|
return nothing;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { deletes, inserts, updates } = service.getDiff();
|
||||||
|
|
||||||
|
let deleteDiff: TemplateResult | symbol = nothing;
|
||||||
|
let updateDiff: TemplateResult | symbol = nothing;
|
||||||
|
let insertDiff: TemplateResult[] | symbol = nothing;
|
||||||
|
|
||||||
|
if (deletes.includes(attached)) {
|
||||||
|
deleteDiff = this._renderDelete(attached);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updates[attached]) {
|
||||||
|
updateDiff = this._renderUpdate(attached, updates[attached]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inserts[attached]) {
|
||||||
|
const blocks = inserts[attached];
|
||||||
|
insertDiff = this._renderInsert(attached, blocks);
|
||||||
|
}
|
||||||
|
|
||||||
|
return html`${deleteDiff} ${updateDiff} ${insertDiff}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
override connectedCallback() {
|
||||||
|
super.connectedCallback();
|
||||||
|
this.disposables.add(
|
||||||
|
this.diffService.diffMap$.subscribe(() => {
|
||||||
|
this.requestUpdate();
|
||||||
|
})
|
||||||
|
);
|
||||||
|
this.disposables.add(
|
||||||
|
this.diffService.rejects$.subscribe(() => {
|
||||||
|
this.requestUpdate();
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const blockDiffWidgetForBlock = WidgetViewExtension(
|
||||||
|
'affine:note/*',
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_BLOCK,
|
||||||
|
literal`${unsafeStatic(AFFINE_BLOCK_DIFF_WIDGET_FOR_BLOCK)}`
|
||||||
|
);
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
import { WithDisposable } from '@blocksuite/affine/global/lit';
|
||||||
|
import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
|
||||||
|
import { CloseIcon, DoneIcon } from '@blocksuite/icons/lit';
|
||||||
|
import { css, html, LitElement } from 'lit';
|
||||||
|
import { property } from 'lit/decorators.js';
|
||||||
|
|
||||||
|
import type { PatchOp } from '../../utils/apply-model/markdown-diff';
|
||||||
|
|
||||||
|
export class BlockDiffOptions extends WithDisposable(LitElement) {
|
||||||
|
static override styles = css`
|
||||||
|
:host {
|
||||||
|
position: absolute;
|
||||||
|
right: -20px;
|
||||||
|
top: 0;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-option {
|
||||||
|
padding: 2px;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: ${unsafeCSSVar('shadow1')};
|
||||||
|
display: flex;
|
||||||
|
background-color: ${unsafeCSSVarV2('layer/background/overlayPanel')};
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-option.accept {
|
||||||
|
color: ${unsafeCSSVarV2('icon/activated')};
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-option.reject {
|
||||||
|
color: ${unsafeCSSVarV2('icon/secondary')};
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor onAccept!: (op: PatchOp) => void;
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor op!: PatchOp;
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor onReject!: (op: PatchOp) => void;
|
||||||
|
|
||||||
|
private readonly _handleAcceptClick = () => {
|
||||||
|
console.log('accept', this.op);
|
||||||
|
this.onAccept(this.op);
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly _handleRejectClick = () => {
|
||||||
|
console.log('reject', this.op);
|
||||||
|
this.onReject(this.op);
|
||||||
|
};
|
||||||
|
|
||||||
|
override render() {
|
||||||
|
return html`
|
||||||
|
<div
|
||||||
|
class="ai-block-diff-option accept"
|
||||||
|
@click=${this._handleAcceptClick}
|
||||||
|
>
|
||||||
|
${DoneIcon()}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="ai-block-diff-option reject"
|
||||||
|
@click=${this._handleRejectClick}
|
||||||
|
>
|
||||||
|
${CloseIcon()}
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
interface HTMLElementTagNameMap {
|
||||||
|
'ai-block-diff-options': BlockDiffOptions;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
import { WidgetComponent, WidgetViewExtension } from '@blocksuite/affine/std';
|
||||||
|
import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme';
|
||||||
|
import {
|
||||||
|
ArrowDownSmallIcon,
|
||||||
|
ArrowUpSmallIcon,
|
||||||
|
CloseIcon,
|
||||||
|
DoneIcon,
|
||||||
|
} from '@blocksuite/icons/lit';
|
||||||
|
import { css, html, nothing } from 'lit';
|
||||||
|
import { property } from 'lit/decorators.js';
|
||||||
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
||||||
|
|
||||||
|
import { BlockDiffProvider } from '../../services/block-diff';
|
||||||
|
|
||||||
|
export const AFFINE_BLOCK_DIFF_WIDGET_FOR_PAGE =
|
||||||
|
'affine-block-diff-widget-for-page';
|
||||||
|
|
||||||
|
export class AffineBlockDiffWidgetForPage extends WidgetComponent {
|
||||||
|
static override styles = css`
|
||||||
|
.ai-block-diff-scroller-container {
|
||||||
|
margin: auto;
|
||||||
|
display: flex;
|
||||||
|
gap: 4px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: ${unsafeCSSVarV2('layer/background/overlayPanel')};
|
||||||
|
box-shadow: ${unsafeCSSVar('shadow1')};
|
||||||
|
border-radius: 8px;
|
||||||
|
width: 350px;
|
||||||
|
padding: 8px 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-scroller {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-scroller span {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-scroller svg {
|
||||||
|
color: ${unsafeCSSVarV2('icon/primary')};
|
||||||
|
}
|
||||||
|
|
||||||
|
.ai-block-diff-all-option {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
@property({ type: Number })
|
||||||
|
accessor currentIndex = 0;
|
||||||
|
|
||||||
|
_handleScroll(dir: 'prev' | 'next') {
|
||||||
|
const total = this.diffService.getTotalDiffs();
|
||||||
|
|
||||||
|
const diffWidgets = Array.from(
|
||||||
|
this.std.host.querySelectorAll('affine-block-diff-widget-for-block')
|
||||||
|
);
|
||||||
|
const diffs = diffWidgets.reduce<Element[]>((acc, widget) => {
|
||||||
|
const aiDiffs = widget.shadowRoot?.querySelectorAll('.ai-block-diff');
|
||||||
|
if (aiDiffs && aiDiffs.length > 0) {
|
||||||
|
acc.push(...aiDiffs);
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, []);
|
||||||
|
if (dir === 'prev') {
|
||||||
|
this.currentIndex = Math.max(0, this.currentIndex - 1);
|
||||||
|
} else {
|
||||||
|
this.currentIndex = Math.min(total - 1, this.currentIndex + 1);
|
||||||
|
}
|
||||||
|
diffs[this.currentIndex].scrollIntoView({ behavior: 'smooth' });
|
||||||
|
}
|
||||||
|
|
||||||
|
get diffService() {
|
||||||
|
return this.std.get(BlockDiffProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
override render() {
|
||||||
|
if (!this.diffService.hasDiff()) {
|
||||||
|
return nothing;
|
||||||
|
}
|
||||||
|
|
||||||
|
const total = this.diffService.getTotalDiffs();
|
||||||
|
|
||||||
|
return total === 0
|
||||||
|
? null
|
||||||
|
: html`
|
||||||
|
<div class="ai-block-diff-scroller-container">
|
||||||
|
<div class="ai-block-diff-scroller">
|
||||||
|
<span @click=${() => this._handleScroll('next')}
|
||||||
|
>${ArrowDownSmallIcon()}</span
|
||||||
|
>
|
||||||
|
<span class="ai-block-diff-scroller-current"
|
||||||
|
>${Math.min(this.currentIndex + 1, total)}</span
|
||||||
|
>
|
||||||
|
<span>/</span>
|
||||||
|
<span class="ai-block-diff-scroller-total">${total}</span>
|
||||||
|
<span @click=${() => this._handleScroll('prev')}
|
||||||
|
>${ArrowUpSmallIcon()}</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="ai-block-diff-all-option"
|
||||||
|
@click=${() => this.diffService.rejectAll()}
|
||||||
|
>
|
||||||
|
${CloseIcon({
|
||||||
|
style: `color: ${unsafeCSSVarV2('icon/secondary')}`,
|
||||||
|
})}
|
||||||
|
Reject all
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="ai-block-diff-all-option"
|
||||||
|
@click=${() => this.diffService.acceptAll(this.std.store)}
|
||||||
|
>
|
||||||
|
${DoneIcon({
|
||||||
|
style: `color: ${unsafeCSSVarV2('icon/activated')}`,
|
||||||
|
})}
|
||||||
|
Accept all
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
override connectedCallback() {
|
||||||
|
super.connectedCallback();
|
||||||
|
|
||||||
|
this.disposables.add(
|
||||||
|
this.diffService.diffMap$.subscribe(() => {
|
||||||
|
this.requestUpdate();
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
this.disposables.add(
|
||||||
|
this.diffService.rejects$.subscribe(() => {
|
||||||
|
this.requestUpdate();
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const blockDiffWidgetForPage = WidgetViewExtension(
|
||||||
|
'affine:page',
|
||||||
|
AFFINE_BLOCK_DIFF_WIDGET_FOR_PAGE,
|
||||||
|
literal`${unsafeStatic(AFFINE_BLOCK_DIFF_WIDGET_FOR_PAGE)}`
|
||||||
|
);
|
||||||
@@ -0,0 +1,241 @@
|
|||||||
|
import { WithDisposable } from '@blocksuite/affine/global/lit';
|
||||||
|
import { WidgetComponent, WidgetViewExtension } from '@blocksuite/affine/std';
|
||||||
|
import type { Store } from '@blocksuite/affine/store';
|
||||||
|
import { createLitPortal } from '@blocksuite/affine-components/portal';
|
||||||
|
import { BlockMarkdownAdapterMatcherIdentifier } from '@blocksuite/affine-shared/adapters';
|
||||||
|
import { css, html, LitElement } from 'lit';
|
||||||
|
import { property, query, state } from 'lit/decorators.js';
|
||||||
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
||||||
|
|
||||||
|
import { blockTagMarkdownAdapterMatcher } from '../../adapters/block-tag';
|
||||||
|
import { BlockDiffProvider } from '../../services/block-diff';
|
||||||
|
|
||||||
|
export const AFFINE_BLOCK_DIFF_PLAYGROUND = 'affine-block-diff-playground';
|
||||||
|
export const AFFINE_BLOCK_DIFF_PLAYGROUND_MODAL =
|
||||||
|
'affine-block-diff-playground-modal';
|
||||||
|
|
||||||
|
export class BlockDiffPlaygroundModal extends WithDisposable(LitElement) {
|
||||||
|
static override styles = css`
|
||||||
|
.playground-modal {
|
||||||
|
z-index: 10000;
|
||||||
|
width: 600px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 12px;
|
||||||
|
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
|
||||||
|
padding: 24px 20px 16px 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
.playground-textarea {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 300px;
|
||||||
|
resize: vertical;
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid #e0e0e0;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 8px;
|
||||||
|
outline: none;
|
||||||
|
font-family: inherit;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.playground-actions {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 12px;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
.playground-btn {
|
||||||
|
padding: 6px 18px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 15px;
|
||||||
|
cursor: pointer;
|
||||||
|
background: #f5f5f5;
|
||||||
|
color: #333;
|
||||||
|
transition: background 0.2s;
|
||||||
|
}
|
||||||
|
.playground-btn.primary {
|
||||||
|
background: #1976d2;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.playground-btn.primary:hover {
|
||||||
|
background: #1565c0;
|
||||||
|
}
|
||||||
|
.playground-btn:hover {
|
||||||
|
background: #e0e0e0;
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
@state()
|
||||||
|
private accessor markdown = '';
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor diffService!: BlockDiffProvider;
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor store!: Store;
|
||||||
|
|
||||||
|
@property({ attribute: false })
|
||||||
|
accessor onClose!: () => void;
|
||||||
|
|
||||||
|
private readonly handleInput = (e: Event) => {
|
||||||
|
this.markdown = (e.target as HTMLTextAreaElement).value;
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly handleClear = () => {
|
||||||
|
this.markdown = '';
|
||||||
|
this.diffService.setChangedMarkdown('');
|
||||||
|
};
|
||||||
|
|
||||||
|
private async getOriginalMarkdown() {
|
||||||
|
const cloned = this.store.provider.container.clone();
|
||||||
|
cloned.addImpl(
|
||||||
|
BlockMarkdownAdapterMatcherIdentifier,
|
||||||
|
blockTagMarkdownAdapterMatcher
|
||||||
|
);
|
||||||
|
const provider = cloned.provider();
|
||||||
|
const markdown = await this.diffService.getMarkdownFromDoc(
|
||||||
|
this.store,
|
||||||
|
provider
|
||||||
|
);
|
||||||
|
return markdown;
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly handleConfirm = async () => {
|
||||||
|
const originalMarkdown = await this.getOriginalMarkdown();
|
||||||
|
this.diffService.setOriginalMarkdown(originalMarkdown);
|
||||||
|
this.diffService.setChangedMarkdown(this.markdown);
|
||||||
|
this.onClose();
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly handleInsertCurrentMarkdown = async () => {
|
||||||
|
this.markdown = await this.getOriginalMarkdown();
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly stopPropagation = (e: MouseEvent) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
};
|
||||||
|
|
||||||
|
override render() {
|
||||||
|
return html`
|
||||||
|
<div class="playground-modal">
|
||||||
|
<div class="playground-modal-title">Block Diff Playground</div>
|
||||||
|
<div class="playground-modal-content">
|
||||||
|
<textarea
|
||||||
|
class="playground-textarea"
|
||||||
|
placeholder="Please input the markdown you want to apply."
|
||||||
|
.value=${this.markdown}
|
||||||
|
@input=${this.handleInput}
|
||||||
|
@focus=${(e: FocusEvent) => e.stopPropagation()}
|
||||||
|
@pointerdown=${this.stopPropagation}
|
||||||
|
@mousedown=${this.stopPropagation}
|
||||||
|
@mouseup=${this.stopPropagation}
|
||||||
|
@click=${this.stopPropagation}
|
||||||
|
@keydown=${this.stopPropagation}
|
||||||
|
@keyup=${this.stopPropagation}
|
||||||
|
@copy=${this.stopPropagation}
|
||||||
|
@cut=${this.stopPropagation}
|
||||||
|
@paste=${this.stopPropagation}
|
||||||
|
@blur=${(e: FocusEvent) => e.stopPropagation()}
|
||||||
|
></textarea>
|
||||||
|
<div class="playground-actions">
|
||||||
|
<button
|
||||||
|
class="playground-btn"
|
||||||
|
@click=${this.handleInsertCurrentMarkdown}
|
||||||
|
>
|
||||||
|
Insert Current Doc MD
|
||||||
|
</button>
|
||||||
|
<button class="playground-btn" @click=${this.handleClear}>
|
||||||
|
Clear
|
||||||
|
</button>
|
||||||
|
<button class="playground-btn primary" @click=${this.handleConfirm}>
|
||||||
|
Confirm
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class BlockDiffPlayground extends WidgetComponent {
|
||||||
|
static override styles = css`
|
||||||
|
.playground-fab {
|
||||||
|
position: fixed;
|
||||||
|
right: 32px;
|
||||||
|
bottom: 32px;
|
||||||
|
z-index: 9999;
|
||||||
|
width: 56px;
|
||||||
|
height: 56px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #1976d2;
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 32px;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background 0.2s;
|
||||||
|
}
|
||||||
|
.playground-fab:hover {
|
||||||
|
background: #1565c0;
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
@query('.playground-fab')
|
||||||
|
accessor fab!: HTMLDivElement;
|
||||||
|
|
||||||
|
private _abortController: AbortController | null = null;
|
||||||
|
|
||||||
|
private get diffService() {
|
||||||
|
return this.std.get(BlockDiffProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly handleOpen = () => {
|
||||||
|
this._abortController?.abort();
|
||||||
|
this._abortController = new AbortController();
|
||||||
|
|
||||||
|
createLitPortal({
|
||||||
|
template: html`
|
||||||
|
<affine-block-diff-playground-modal
|
||||||
|
.diffService=${this.diffService}
|
||||||
|
.store=${this.std.store}
|
||||||
|
.onClose=${this.handleClose}
|
||||||
|
></affine-block-diff-playground-modal>
|
||||||
|
`,
|
||||||
|
container: this.host,
|
||||||
|
computePosition: {
|
||||||
|
referenceElement: this.fab,
|
||||||
|
placement: 'top-end',
|
||||||
|
},
|
||||||
|
closeOnClickAway: true,
|
||||||
|
abortController: this._abortController,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly handleClose = () => {
|
||||||
|
this._abortController?.abort();
|
||||||
|
};
|
||||||
|
|
||||||
|
override render() {
|
||||||
|
return html`
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="playground-fab"
|
||||||
|
@click=${this.handleOpen}
|
||||||
|
title="Block Diff Playground"
|
||||||
|
>
|
||||||
|
🧪
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const blockDiffPlayground = WidgetViewExtension(
|
||||||
|
'affine:page',
|
||||||
|
AFFINE_BLOCK_DIFF_PLAYGROUND,
|
||||||
|
literal`${unsafeStatic(AFFINE_BLOCK_DIFF_PLAYGROUND)}`
|
||||||
|
);
|
||||||
@@ -19,6 +19,13 @@ import { BlockFlavourIdentifier } from '@blocksuite/affine/std';
|
|||||||
import { FrameworkProvider } from '@toeverything/infra';
|
import { FrameworkProvider } from '@toeverything/infra';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
|
import {
|
||||||
|
BlockDiffService,
|
||||||
|
BlockDiffWatcher,
|
||||||
|
} from '../../ai/services/block-diff';
|
||||||
|
import { blockDiffWidgetForBlock } from '../../ai/widgets/block-diff/block';
|
||||||
|
import { blockDiffWidgetForPage } from '../../ai/widgets/block-diff/page';
|
||||||
|
import { blockDiffPlayground } from '../../ai/widgets/block-diff/playground';
|
||||||
import { EdgelessClipboardAIChatConfig } from './edgeless-clipboard';
|
import { EdgelessClipboardAIChatConfig } from './edgeless-clipboard';
|
||||||
|
|
||||||
const optionsSchema = z.object({
|
const optionsSchema = z.object({
|
||||||
@@ -50,6 +57,7 @@ export class AIViewExtension extends ViewExtensionProvider<AIViewOptions> {
|
|||||||
config: imageToolbarAIEntryConfig(),
|
config: imageToolbarAIEntryConfig(),
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
if (context.scope === 'edgeless' || context.scope === 'page') {
|
if (context.scope === 'edgeless' || context.scope === 'page') {
|
||||||
context.register([
|
context.register([
|
||||||
aiPanelWidget,
|
aiPanelWidget,
|
||||||
@@ -73,7 +81,17 @@ export class AIViewExtension extends ViewExtensionProvider<AIViewOptions> {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
if (context.scope === 'page') {
|
if (context.scope === 'page') {
|
||||||
context.register(getAIPageRootWatcher(framework));
|
context.register([
|
||||||
|
blockDiffWidgetForPage,
|
||||||
|
blockDiffWidgetForBlock,
|
||||||
|
getAIPageRootWatcher(framework),
|
||||||
|
BlockDiffService,
|
||||||
|
BlockDiffWatcher,
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV === 'development') {
|
||||||
|
context.register([blockDiffPlayground]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"@blocksuite/affine": "workspace:*",
|
"@blocksuite/affine": "workspace:*",
|
||||||
"@blocksuite/integration-test": "workspace:*",
|
"@blocksuite/integration-test": "workspace:*",
|
||||||
"@playwright/test": "=1.52.0",
|
"@playwright/test": "=1.52.0",
|
||||||
"@toeverything/theme": "^1.1.15",
|
"@toeverything/theme": "^1.1.16",
|
||||||
"json-stable-stringify": "^1.2.1",
|
"json-stable-stringify": "^1.2.1",
|
||||||
"rxjs": "^7.8.1"
|
"rxjs": "^7.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ __metadata:
|
|||||||
"@blocksuite/affine": "workspace:*"
|
"@blocksuite/affine": "workspace:*"
|
||||||
"@blocksuite/integration-test": "workspace:*"
|
"@blocksuite/integration-test": "workspace:*"
|
||||||
"@playwright/test": "npm:=1.52.0"
|
"@playwright/test": "npm:=1.52.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
json-stable-stringify: "npm:^1.2.1"
|
json-stable-stringify: "npm:^1.2.1"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -215,7 +215,7 @@ __metadata:
|
|||||||
"@sentry/react": "npm:^9.2.0"
|
"@sentry/react": "npm:^9.2.0"
|
||||||
"@tanstack/react-table": "npm:^8.20.5"
|
"@tanstack/react-table": "npm:^8.20.5"
|
||||||
"@toeverything/infra": "workspace:*"
|
"@toeverything/infra": "workspace:*"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
class-variance-authority: "npm:^0.7.1"
|
class-variance-authority: "npm:^0.7.1"
|
||||||
clsx: "npm:^2.1.1"
|
clsx: "npm:^2.1.1"
|
||||||
@@ -336,7 +336,7 @@ __metadata:
|
|||||||
"@storybook/react-vite": "npm:^9.0.0"
|
"@storybook/react-vite": "npm:^9.0.0"
|
||||||
"@testing-library/dom": "npm:^10.4.0"
|
"@testing-library/dom": "npm:^10.4.0"
|
||||||
"@testing-library/react": "npm:^16.1.0"
|
"@testing-library/react": "npm:^16.1.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/bytes": "npm:^3.1.5"
|
"@types/bytes": "npm:^3.1.5"
|
||||||
"@types/react": "npm:^19.0.1"
|
"@types/react": "npm:^19.0.1"
|
||||||
"@types/react-dom": "npm:^19.0.2"
|
"@types/react-dom": "npm:^19.0.2"
|
||||||
@@ -402,8 +402,10 @@ __metadata:
|
|||||||
"@affine/templates": "workspace:*"
|
"@affine/templates": "workspace:*"
|
||||||
"@affine/track": "workspace:*"
|
"@affine/track": "workspace:*"
|
||||||
"@blocksuite/affine": "workspace:*"
|
"@blocksuite/affine": "workspace:*"
|
||||||
|
"@blocksuite/affine-components": "workspace:*"
|
||||||
"@blocksuite/affine-ext-loader": "workspace:*"
|
"@blocksuite/affine-ext-loader": "workspace:*"
|
||||||
"@blocksuite/affine-shared": "workspace:*"
|
"@blocksuite/affine-shared": "workspace:*"
|
||||||
|
"@blocksuite/global": "workspace:*"
|
||||||
"@blocksuite/icons": "npm:^2.2.13"
|
"@blocksuite/icons": "npm:^2.2.13"
|
||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@dotlottie/player-component": "npm:^2.7.12"
|
"@dotlottie/player-component": "npm:^2.7.12"
|
||||||
@@ -426,7 +428,7 @@ __metadata:
|
|||||||
"@testing-library/react": "npm:^16.1.0"
|
"@testing-library/react": "npm:^16.1.0"
|
||||||
"@toeverything/infra": "workspace:*"
|
"@toeverything/infra": "workspace:*"
|
||||||
"@toeverything/pdf-viewer": "npm:^0.1.1"
|
"@toeverything/pdf-viewer": "npm:^0.1.1"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/animejs": "npm:^3.1.12"
|
"@types/animejs": "npm:^3.1.12"
|
||||||
"@types/bytes": "npm:^3.1.5"
|
"@types/bytes": "npm:^3.1.5"
|
||||||
"@types/image-blob-reduce": "npm:^4.1.4"
|
"@types/image-blob-reduce": "npm:^4.1.4"
|
||||||
@@ -528,7 +530,7 @@ __metadata:
|
|||||||
"@emotion/react": "npm:^11.14.0"
|
"@emotion/react": "npm:^11.14.0"
|
||||||
"@sentry/react": "npm:^9.2.0"
|
"@sentry/react": "npm:^9.2.0"
|
||||||
"@toeverything/infra": "workspace:*"
|
"@toeverything/infra": "workspace:*"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/react": "npm:^19.0.1"
|
"@types/react": "npm:^19.0.1"
|
||||||
"@types/react-dom": "npm:^19.0.2"
|
"@types/react-dom": "npm:^19.0.2"
|
||||||
"@vanilla-extract/css": "npm:^1.17.0"
|
"@vanilla-extract/css": "npm:^1.17.0"
|
||||||
@@ -2443,7 +2445,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
file-type: "npm:^21.0.0"
|
file-type: "npm:^21.0.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2470,7 +2472,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
@@ -2499,7 +2501,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.10"
|
"@floating-ui/dom": "npm:^1.6.10"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
emoji-mart: "npm:^5.6.0"
|
emoji-mart: "npm:^5.6.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -2530,7 +2532,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2558,7 +2560,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2589,7 +2591,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -2615,7 +2617,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2644,7 +2646,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
@@ -2672,7 +2674,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -2704,7 +2706,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -2735,7 +2737,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2764,7 +2766,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
file-type: "npm:^21.0.0"
|
file-type: "npm:^21.0.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2792,7 +2794,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/katex": "npm:^0.16.7"
|
"@types/katex": "npm:^0.16.7"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
katex: "npm:^0.16.11"
|
katex: "npm:^0.16.11"
|
||||||
@@ -2822,7 +2824,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2853,7 +2855,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
"@vanilla-extract/css": "npm:^1.17.0"
|
"@vanilla-extract/css": "npm:^1.17.0"
|
||||||
@@ -2882,7 +2884,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/mdast": "npm:^4.0.4"
|
"@types/mdast": "npm:^4.0.4"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -2929,7 +2931,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
dompurify: "npm:^3.2.4"
|
dompurify: "npm:^3.2.4"
|
||||||
html2canvas: "npm:^1.4.1"
|
html2canvas: "npm:^1.4.1"
|
||||||
@@ -2961,7 +2963,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fractional-indexing: "npm:^3.2.0"
|
fractional-indexing: "npm:^3.2.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -2986,7 +2988,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fractional-indexing: "npm:^3.2.0"
|
fractional-indexing: "npm:^3.2.0"
|
||||||
html2canvas: "npm:^1.4.1"
|
html2canvas: "npm:^1.4.1"
|
||||||
@@ -3043,7 +3045,7 @@ __metadata:
|
|||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@lottiefiles/dotlottie-wc": "npm:^0.5.0"
|
"@lottiefiles/dotlottie-wc": "npm:^0.5.0"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/hast": "npm:^3.0.4"
|
"@types/hast": "npm:^3.0.4"
|
||||||
"@types/katex": "npm:^0.16.7"
|
"@types/katex": "npm:^0.16.7"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
@@ -3089,7 +3091,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3114,7 +3116,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -3138,7 +3140,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
@@ -3164,7 +3166,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3192,7 +3194,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@vanilla-extract/css": "npm:^1.17.0"
|
"@vanilla-extract/css": "npm:^1.17.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
minimatch: "npm:^10.0.1"
|
minimatch: "npm:^10.0.1"
|
||||||
@@ -3218,7 +3220,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3247,7 +3249,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3276,7 +3278,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3307,7 +3309,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3342,7 +3344,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3374,7 +3376,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3402,7 +3404,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3431,7 +3433,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3461,7 +3463,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3489,7 +3491,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3527,7 +3529,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
collapse-white-space: "npm:^2.1.0"
|
collapse-white-space: "npm:^2.1.0"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -3558,7 +3560,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/hast": "npm:^3.0.4"
|
"@types/hast": "npm:^3.0.4"
|
||||||
"@types/katex": "npm:^0.16.7"
|
"@types/katex": "npm:^0.16.7"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
@@ -3592,7 +3594,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
collapse-white-space: "npm:^2.1.0"
|
collapse-white-space: "npm:^2.1.0"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -3620,7 +3622,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
collapse-white-space: "npm:^2.1.0"
|
collapse-white-space: "npm:^2.1.0"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -3654,7 +3656,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/hast": "npm:^3.0.4"
|
"@types/hast": "npm:^3.0.4"
|
||||||
"@types/katex": "npm:^0.16.7"
|
"@types/katex": "npm:^0.16.7"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
@@ -3688,7 +3690,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
collapse-white-space: "npm:^2.1.0"
|
collapse-white-space: "npm:^2.1.0"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -3708,7 +3710,7 @@ __metadata:
|
|||||||
"@blocksuite/global": "workspace:*"
|
"@blocksuite/global": "workspace:*"
|
||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fractional-indexing: "npm:^3.2.0"
|
fractional-indexing: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3732,7 +3734,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
collapse-white-space: "npm:^2.1.0"
|
collapse-white-space: "npm:^2.1.0"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -3757,7 +3759,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/bytes": "npm:^3.1.5"
|
"@types/bytes": "npm:^3.1.5"
|
||||||
"@types/hast": "npm:^3.0.4"
|
"@types/hast": "npm:^3.0.4"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
@@ -3816,7 +3818,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3840,7 +3842,7 @@ __metadata:
|
|||||||
"@blocksuite/icons": "npm:^2.2.12"
|
"@blocksuite/icons": "npm:^2.2.12"
|
||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -3861,7 +3863,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
yjs: "npm:^13.6.21"
|
yjs: "npm:^13.6.21"
|
||||||
@@ -3887,7 +3889,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
yjs: "npm:^13.6.21"
|
yjs: "npm:^13.6.21"
|
||||||
@@ -3910,7 +3912,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3932,7 +3934,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -3954,7 +3956,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -3991,7 +3993,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fflate: "npm:^0.8.2"
|
fflate: "npm:^0.8.2"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -4017,7 +4019,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fflate: "npm:^0.8.2"
|
fflate: "npm:^0.8.2"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -4043,7 +4045,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
yjs: "npm:^13.6.21"
|
yjs: "npm:^13.6.21"
|
||||||
@@ -4064,7 +4066,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
fflate: "npm:^0.8.2"
|
fflate: "npm:^0.8.2"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -4086,7 +4088,7 @@ __metadata:
|
|||||||
"@blocksuite/icons": "npm:^2.2.12"
|
"@blocksuite/icons": "npm:^2.2.12"
|
||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -4104,7 +4106,7 @@ __metadata:
|
|||||||
"@blocksuite/global": "workspace:*"
|
"@blocksuite/global": "workspace:*"
|
||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
rxjs: "npm:^7.8.1"
|
rxjs: "npm:^7.8.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -4124,7 +4126,7 @@ __metadata:
|
|||||||
"@blocksuite/store": "workspace:*"
|
"@blocksuite/store": "workspace:*"
|
||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -4148,7 +4150,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -4169,7 +4171,7 @@ __metadata:
|
|||||||
"@blocksuite/std": "workspace:*"
|
"@blocksuite/std": "workspace:*"
|
||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
@@ -4281,7 +4283,7 @@ __metadata:
|
|||||||
"@floating-ui/dom": "npm:^1.6.13"
|
"@floating-ui/dom": "npm:^1.6.13"
|
||||||
"@lit/context": "npm:^1.1.2"
|
"@lit/context": "npm:^1.1.2"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
clsx: "npm:^2.1.1"
|
clsx: "npm:^2.1.1"
|
||||||
date-fns: "npm:^4.0.0"
|
date-fns: "npm:^4.0.0"
|
||||||
@@ -4334,7 +4336,7 @@ __metadata:
|
|||||||
"@lit/context": "npm:^1.1.3"
|
"@lit/context": "npm:^1.1.3"
|
||||||
"@lottiefiles/dotlottie-wc": "npm:^0.5.0"
|
"@lottiefiles/dotlottie-wc": "npm:^0.5.0"
|
||||||
"@preact/signals-core": "npm:^1.8.0"
|
"@preact/signals-core": "npm:^1.8.0"
|
||||||
"@toeverything/theme": "npm:^1.1.15"
|
"@toeverything/theme": "npm:^1.1.16"
|
||||||
"@vanilla-extract/css": "npm:^1.17.0"
|
"@vanilla-extract/css": "npm:^1.17.0"
|
||||||
"@vanilla-extract/vite-plugin": "npm:^5.0.0"
|
"@vanilla-extract/vite-plugin": "npm:^5.0.0"
|
||||||
lit: "npm:^3.2.0"
|
lit: "npm:^3.2.0"
|
||||||
@@ -14359,10 +14361,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@toeverything/theme@npm:^1.1.15":
|
"@toeverything/theme@npm:^1.1.16":
|
||||||
version: 1.1.15
|
version: 1.1.16
|
||||||
resolution: "@toeverything/theme@npm:1.1.15"
|
resolution: "@toeverything/theme@npm:1.1.16"
|
||||||
checksum: 10/a77c73c255856b94c2df26b431b0b6901b15f18da2ea24d78b0a88d289a9b20e05b96e14e509322492c5e37b890df4d6f94ef11e63cce5465b3ac757b6f3b519
|
checksum: 10/6fc139f5b31d1d4051ae9897ec79f4fa50cdc81b865d188e441b812e211e7e1699b78e0e6f0a15ac268a5ebdad8c319c0db5a10f2cfa1dea8673eebb06b1bc67
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user