@liveblocks/react-blocknote 0.0.1 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BlockNoteLiveblocksExtension.cjs +19 -0
- package/dist/BlockNoteLiveblocksExtension.cjs.map +1 -0
- package/dist/BlockNoteLiveblocksExtension.js +17 -0
- package/dist/BlockNoteLiveblocksExtension.js.map +1 -0
- package/dist/comments/AnchoredThreads.cjs +14 -0
- package/dist/comments/AnchoredThreads.cjs.map +1 -0
- package/dist/comments/AnchoredThreads.js +12 -0
- package/dist/comments/AnchoredThreads.js.map +1 -0
- package/dist/comments/FloatingComposer.cjs +14 -0
- package/dist/comments/FloatingComposer.cjs.map +1 -0
- package/dist/comments/FloatingComposer.js +12 -0
- package/dist/comments/FloatingComposer.js.map +1 -0
- package/dist/comments/FloatingThreads.cjs +14 -0
- package/dist/comments/FloatingThreads.cjs.map +1 -0
- package/dist/comments/FloatingThreads.js +12 -0
- package/dist/comments/FloatingThreads.js.map +1 -0
- package/dist/index.cjs +29 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1066 -0
- package/dist/index.d.ts +1066 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/initialization/liveblocksEditorOptions.cjs +12 -0
- package/dist/initialization/liveblocksEditorOptions.cjs.map +1 -0
- package/dist/initialization/liveblocksEditorOptions.js +10 -0
- package/dist/initialization/liveblocksEditorOptions.js.map +1 -0
- package/dist/initialization/schema.cjs +30 -0
- package/dist/initialization/schema.cjs.map +1 -0
- package/dist/initialization/schema.js +28 -0
- package/dist/initialization/schema.js.map +1 -0
- package/dist/initialization/useCreateBlockNoteWithLiveblocks.cjs +20 -0
- package/dist/initialization/useCreateBlockNoteWithLiveblocks.cjs.map +1 -0
- package/dist/initialization/useCreateBlockNoteWithLiveblocks.js +18 -0
- package/dist/initialization/useCreateBlockNoteWithLiveblocks.js.map +1 -0
- package/dist/version-history/HistoryVersionPreview.cjs +14 -0
- package/dist/version-history/HistoryVersionPreview.cjs.map +1 -0
- package/dist/version-history/HistoryVersionPreview.js +12 -0
- package/dist/version-history/HistoryVersionPreview.js.map +1 -0
- package/dist/version.cjs +10 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +97 -2
- package/src/styles/index.css +8 -0
- package/styles.css +1 -0
- package/styles.css.d.cts +1 -0
- package/styles.css.d.ts +1 -0
- package/styles.css.map +1 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { detectDupes } from '@liveblocks/core';
|
|
2
|
+
import { PKG_NAME, PKG_VERSION, PKG_FORMAT } from './version.js';
|
|
3
|
+
export { useLiveblocksExtension } from './BlockNoteLiveblocksExtension.js';
|
|
4
|
+
export { AnchoredThreads } from './comments/AnchoredThreads.js';
|
|
5
|
+
export { FloatingComposer } from './comments/FloatingComposer.js';
|
|
6
|
+
export { FloatingThreads } from './comments/FloatingThreads.js';
|
|
7
|
+
export { withLiveblocksEditorOptions } from './initialization/liveblocksEditorOptions.js';
|
|
8
|
+
export { withLiveblocksSchema } from './initialization/schema.js';
|
|
9
|
+
export { useCreateBlockNoteWithLiveblocks } from './initialization/useCreateBlockNoteWithLiveblocks.js';
|
|
10
|
+
export { HistoryVersionPreview } from './version-history/HistoryVersionPreview.js';
|
|
11
|
+
export { useIsEditorReady } from '@liveblocks/react-tiptap';
|
|
12
|
+
|
|
13
|
+
detectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\n\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { useLiveblocksExtension } from \"./BlockNoteLiveblocksExtension\";\nexport { AnchoredThreads } from \"./comments/AnchoredThreads\";\nexport { FloatingComposer } from \"./comments/FloatingComposer\";\nexport { FloatingThreads } from \"./comments/FloatingThreads\";\nexport { withLiveblocksEditorOptions } from \"./initialization/liveblocksEditorOptions\";\nexport { withLiveblocksSchema } from \"./initialization/schema\";\nexport { useCreateBlockNoteWithLiveblocks } from \"./initialization/useCreateBlockNoteWithLiveblocks\";\nexport { HistoryVersionPreview } from \"./version-history/HistoryVersionPreview\";\nexport { useIsEditorReady } from \"@liveblocks/react-tiptap\";\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,WAAY,CAAA,QAAA,EAAU,aAAa,UAAU,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var schema = require('./schema.cjs');
|
|
4
|
+
|
|
5
|
+
const withLiveblocksEditorOptions = (liveblocksExtension, blocknoteOptions = {}, liveblocksOptions = {}) => ({
|
|
6
|
+
schema: schema.withLiveblocksSchema(blocknoteOptions.schema, liveblocksOptions),
|
|
7
|
+
_extensions: { liveblocksExtension, ...blocknoteOptions._extensions },
|
|
8
|
+
disableExtensions: ["history", ...blocknoteOptions.disableExtensions || []]
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.withLiveblocksEditorOptions = withLiveblocksEditorOptions;
|
|
12
|
+
//# sourceMappingURL=liveblocksEditorOptions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveblocksEditorOptions.cjs","sources":["../../src/initialization/liveblocksEditorOptions.ts"],"sourcesContent":["import type {\n BlockNoteEditorOptions,\n BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport type { Extension } from \"@tiptap/core\";\n\nimport { withLiveblocksSchema } from \"./schema\";\n/**\n * Helper funcction to add Liveblocks support to BlockNoteEditorOptions\n */\nexport const withLiveblocksEditorOptions = <\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n>(\n liveblocksExtension: Extension,\n blocknoteOptions: Partial<BlockNoteEditorOptions<B, I, S>> = {},\n liveblocksOptions: Partial<{ mentions: boolean }> = {}\n): Partial<BlockNoteEditorOptions<B, I, S>> => ({\n // add the liveblocks schema (i.e.: add the mention node to the schema)\n schema: withLiveblocksSchema(blocknoteOptions.schema, liveblocksOptions),\n\n // add the liveblocks extension\n _extensions: { liveblocksExtension, ...blocknoteOptions._extensions },\n\n // disable the history extension\n disableExtensions: [\"history\", ...(blocknoteOptions.disableExtensions || [])],\n});\n"],"names":["withLiveblocksSchema"],"mappings":";;;;AAea,MAAA,2BAAA,GAA8B,CAKzC,mBACA,EAAA,gBAAA,GAA6D,EAC7D,EAAA,iBAAA,GAAoD,EACN,MAAA;AAAA,EAE9C,MAAQ,EAAAA,2BAAA,CAAqB,gBAAiB,CAAA,MAAA,EAAQ,iBAAiB,CAAA;AAAA,EAGvE,WAAa,EAAA,EAAE,mBAAqB,EAAA,GAAG,iBAAiB,WAAY,EAAA;AAAA,EAGpE,mBAAmB,CAAC,SAAA,EAAW,GAAI,gBAAiB,CAAA,iBAAA,IAAqB,EAAG,CAAA;AAC9E,CAAA;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { withLiveblocksSchema } from './schema.js';
|
|
2
|
+
|
|
3
|
+
const withLiveblocksEditorOptions = (liveblocksExtension, blocknoteOptions = {}, liveblocksOptions = {}) => ({
|
|
4
|
+
schema: withLiveblocksSchema(blocknoteOptions.schema, liveblocksOptions),
|
|
5
|
+
_extensions: { liveblocksExtension, ...blocknoteOptions._extensions },
|
|
6
|
+
disableExtensions: ["history", ...blocknoteOptions.disableExtensions || []]
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export { withLiveblocksEditorOptions };
|
|
10
|
+
//# sourceMappingURL=liveblocksEditorOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveblocksEditorOptions.js","sources":["../../src/initialization/liveblocksEditorOptions.ts"],"sourcesContent":["import type {\n BlockNoteEditorOptions,\n BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport type { Extension } from \"@tiptap/core\";\n\nimport { withLiveblocksSchema } from \"./schema\";\n/**\n * Helper funcction to add Liveblocks support to BlockNoteEditorOptions\n */\nexport const withLiveblocksEditorOptions = <\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n>(\n liveblocksExtension: Extension,\n blocknoteOptions: Partial<BlockNoteEditorOptions<B, I, S>> = {},\n liveblocksOptions: Partial<{ mentions: boolean }> = {}\n): Partial<BlockNoteEditorOptions<B, I, S>> => ({\n // add the liveblocks schema (i.e.: add the mention node to the schema)\n schema: withLiveblocksSchema(blocknoteOptions.schema, liveblocksOptions),\n\n // add the liveblocks extension\n _extensions: { liveblocksExtension, ...blocknoteOptions._extensions },\n\n // disable the history extension\n disableExtensions: [\"history\", ...(blocknoteOptions.disableExtensions || [])],\n});\n"],"names":[],"mappings":";;AAea,MAAA,2BAAA,GAA8B,CAKzC,mBACA,EAAA,gBAAA,GAA6D,EAC7D,EAAA,iBAAA,GAAoD,EACN,MAAA;AAAA,EAE9C,MAAQ,EAAA,oBAAA,CAAqB,gBAAiB,CAAA,MAAA,EAAQ,iBAAiB,CAAA;AAAA,EAGvE,WAAa,EAAA,EAAE,mBAAqB,EAAA,GAAG,iBAAiB,WAAY,EAAA;AAAA,EAGpE,mBAAmB,CAAC,SAAA,EAAW,GAAI,gBAAiB,CAAA,iBAAA,IAAqB,EAAG,CAAA;AAC9E,CAAA;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@blocknote/core');
|
|
4
|
+
var reactTiptap = require('@liveblocks/react-tiptap');
|
|
5
|
+
|
|
6
|
+
const mentionSpec = core.createInlineContentSpecFromTipTapNode(reactTiptap.MentionNode, {
|
|
7
|
+
id: {
|
|
8
|
+
default: ""
|
|
9
|
+
},
|
|
10
|
+
notificationId: {
|
|
11
|
+
default: ""
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const withLiveblocksSchema = (schema, liveblocksOptions = {}) => {
|
|
15
|
+
const optionalSchema = schema || core.BlockNoteSchema.create();
|
|
16
|
+
if (!liveblocksOptions.mentions) {
|
|
17
|
+
return optionalSchema;
|
|
18
|
+
}
|
|
19
|
+
return core.BlockNoteSchema.create({
|
|
20
|
+
blockSpecs: optionalSchema.blockSpecs,
|
|
21
|
+
inlineContentSpecs: {
|
|
22
|
+
...optionalSchema.inlineContentSpecs,
|
|
23
|
+
liveblocksMention: mentionSpec
|
|
24
|
+
},
|
|
25
|
+
styleSpecs: optionalSchema.styleSpecs
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.withLiveblocksSchema = withLiveblocksSchema;
|
|
30
|
+
//# sourceMappingURL=schema.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.cjs","sources":["../../src/initialization/schema.ts"],"sourcesContent":["import type {\n BlockSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteSchema,\n createInlineContentSpecFromTipTapNode,\n} from \"@blocknote/core\";\nimport { MentionNode } from \"@liveblocks/react-tiptap\";\n\nconst mentionSpec = createInlineContentSpecFromTipTapNode(MentionNode, {\n id: {\n default: \"\",\n },\n notificationId: {\n default: \"\",\n },\n});\n/**\n * Adds the Liveblocks Mention Node as inline content to the BlockNote schema\n *\n * This makes sure BlockNote knows about Liveblocks mentions and that you can read/write mentions via the BlockNote API\n */\nexport const withLiveblocksSchema = <\n B extends BlockSchema,\n I extends InlineContentSchema,\n S extends StyleSchema,\n>(\n schema?: BlockNoteSchema<B, I, S>,\n liveblocksOptions: Partial<{ mentions: boolean }> = {}\n): BlockNoteSchema<B, I, S> => {\n const optionalSchema = schema || BlockNoteSchema.create();\n if (!liveblocksOptions.mentions) {\n return optionalSchema as BlockNoteSchema<B, I, S>;\n }\n return BlockNoteSchema.create({\n blockSpecs: optionalSchema.blockSpecs,\n inlineContentSpecs: {\n ...optionalSchema.inlineContentSpecs,\n liveblocksMention: mentionSpec,\n },\n styleSpecs: optionalSchema.styleSpecs,\n }) as any as BlockNoteSchema<\n // typescript needs some help here\n B,\n I & {\n liveblocksMention: typeof mentionSpec.config;\n },\n S\n >;\n};\n"],"names":["createInlineContentSpecFromTipTapNode","MentionNode","BlockNoteSchema"],"mappings":";;;;;AAWA,MAAM,WAAA,GAAcA,2CAAsCC,uBAAa,EAAA;AAAA,EACrE,EAAI,EAAA;AAAA,IACF,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAC,CAAA,CAAA;AAMM,MAAM,oBAAuB,GAAA,CAKlC,MACA,EAAA,iBAAA,GAAoD,EACvB,KAAA;AAC7B,EAAM,MAAA,cAAA,GAAiB,MAAU,IAAAC,oBAAA,CAAgB,MAAO,EAAA,CAAA;AACxD,EAAI,IAAA,CAAC,kBAAkB,QAAU,EAAA;AAC/B,IAAO,OAAA,cAAA,CAAA;AAAA,GACT;AACA,EAAA,OAAOA,qBAAgB,MAAO,CAAA;AAAA,IAC5B,YAAY,cAAe,CAAA,UAAA;AAAA,IAC3B,kBAAoB,EAAA;AAAA,MAClB,GAAG,cAAe,CAAA,kBAAA;AAAA,MAClB,iBAAmB,EAAA,WAAA;AAAA,KACrB;AAAA,IACA,YAAY,cAAe,CAAA,UAAA;AAAA,GAC5B,CAAA,CAAA;AAQH;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createInlineContentSpecFromTipTapNode, BlockNoteSchema } from '@blocknote/core';
|
|
2
|
+
import { MentionNode } from '@liveblocks/react-tiptap';
|
|
3
|
+
|
|
4
|
+
const mentionSpec = createInlineContentSpecFromTipTapNode(MentionNode, {
|
|
5
|
+
id: {
|
|
6
|
+
default: ""
|
|
7
|
+
},
|
|
8
|
+
notificationId: {
|
|
9
|
+
default: ""
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const withLiveblocksSchema = (schema, liveblocksOptions = {}) => {
|
|
13
|
+
const optionalSchema = schema || BlockNoteSchema.create();
|
|
14
|
+
if (!liveblocksOptions.mentions) {
|
|
15
|
+
return optionalSchema;
|
|
16
|
+
}
|
|
17
|
+
return BlockNoteSchema.create({
|
|
18
|
+
blockSpecs: optionalSchema.blockSpecs,
|
|
19
|
+
inlineContentSpecs: {
|
|
20
|
+
...optionalSchema.inlineContentSpecs,
|
|
21
|
+
liveblocksMention: mentionSpec
|
|
22
|
+
},
|
|
23
|
+
styleSpecs: optionalSchema.styleSpecs
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { withLiveblocksSchema };
|
|
28
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../src/initialization/schema.ts"],"sourcesContent":["import type {\n BlockSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteSchema,\n createInlineContentSpecFromTipTapNode,\n} from \"@blocknote/core\";\nimport { MentionNode } from \"@liveblocks/react-tiptap\";\n\nconst mentionSpec = createInlineContentSpecFromTipTapNode(MentionNode, {\n id: {\n default: \"\",\n },\n notificationId: {\n default: \"\",\n },\n});\n/**\n * Adds the Liveblocks Mention Node as inline content to the BlockNote schema\n *\n * This makes sure BlockNote knows about Liveblocks mentions and that you can read/write mentions via the BlockNote API\n */\nexport const withLiveblocksSchema = <\n B extends BlockSchema,\n I extends InlineContentSchema,\n S extends StyleSchema,\n>(\n schema?: BlockNoteSchema<B, I, S>,\n liveblocksOptions: Partial<{ mentions: boolean }> = {}\n): BlockNoteSchema<B, I, S> => {\n const optionalSchema = schema || BlockNoteSchema.create();\n if (!liveblocksOptions.mentions) {\n return optionalSchema as BlockNoteSchema<B, I, S>;\n }\n return BlockNoteSchema.create({\n blockSpecs: optionalSchema.blockSpecs,\n inlineContentSpecs: {\n ...optionalSchema.inlineContentSpecs,\n liveblocksMention: mentionSpec,\n },\n styleSpecs: optionalSchema.styleSpecs,\n }) as any as BlockNoteSchema<\n // typescript needs some help here\n B,\n I & {\n liveblocksMention: typeof mentionSpec.config;\n },\n S\n >;\n};\n"],"names":[],"mappings":";;;AAWA,MAAM,WAAA,GAAc,sCAAsC,WAAa,EAAA;AAAA,EACrE,EAAI,EAAA;AAAA,IACF,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAC,CAAA,CAAA;AAMM,MAAM,oBAAuB,GAAA,CAKlC,MACA,EAAA,iBAAA,GAAoD,EACvB,KAAA;AAC7B,EAAM,MAAA,cAAA,GAAiB,MAAU,IAAA,eAAA,CAAgB,MAAO,EAAA,CAAA;AACxD,EAAI,IAAA,CAAC,kBAAkB,QAAU,EAAA;AAC/B,IAAO,OAAA,cAAA,CAAA;AAAA,GACT;AACA,EAAA,OAAO,gBAAgB,MAAO,CAAA;AAAA,IAC5B,YAAY,cAAe,CAAA,UAAA;AAAA,IAC3B,kBAAoB,EAAA;AAAA,MAClB,GAAG,cAAe,CAAA,kBAAA;AAAA,MAClB,iBAAmB,EAAA,WAAA;AAAA,KACrB;AAAA,IACA,YAAY,cAAe,CAAA,UAAA;AAAA,GAC5B,CAAA,CAAA;AAQH;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('@blocknote/react');
|
|
4
|
+
var BlockNoteLiveblocksExtension = require('../BlockNoteLiveblocksExtension.cjs');
|
|
5
|
+
var liveblocksEditorOptions = require('./liveblocksEditorOptions.cjs');
|
|
6
|
+
|
|
7
|
+
const useCreateBlockNoteWithLiveblocks = (blocknoteOptions = {}, liveblocksOptions = void 0, deps = []) => {
|
|
8
|
+
const liveblocksExtension = BlockNoteLiveblocksExtension.useLiveblocksExtension(liveblocksOptions);
|
|
9
|
+
return react.useCreateBlockNote(
|
|
10
|
+
liveblocksEditorOptions.withLiveblocksEditorOptions(
|
|
11
|
+
liveblocksExtension,
|
|
12
|
+
blocknoteOptions,
|
|
13
|
+
liveblocksOptions
|
|
14
|
+
),
|
|
15
|
+
[liveblocksExtension, ...deps]
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.useCreateBlockNoteWithLiveblocks = useCreateBlockNoteWithLiveblocks;
|
|
20
|
+
//# sourceMappingURL=useCreateBlockNoteWithLiveblocks.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateBlockNoteWithLiveblocks.cjs","sources":["../../src/initialization/useCreateBlockNoteWithLiveblocks.ts"],"sourcesContent":["import type {\n BlockNoteEditorOptions,\n BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { useCreateBlockNote } from \"@blocknote/react\";\nimport type { DependencyList } from \"react\";\n\nimport type { LiveblocksExtensionOptions } from \"../BlockNoteLiveblocksExtension\";\nimport { useLiveblocksExtension } from \"../BlockNoteLiveblocksExtension\";\nimport { withLiveblocksEditorOptions } from \"./liveblocksEditorOptions\";\n\n/**\n * Function that can be used instead of standard useCreateBlockNote to add Liveblocks support\n */\nexport const useCreateBlockNoteWithLiveblocks = <\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n>(\n blocknoteOptions: Partial<BlockNoteEditorOptions<B, I, S>> = {},\n liveblocksOptions: LiveblocksExtensionOptions = undefined,\n deps: DependencyList = []\n) => {\n const liveblocksExtension = useLiveblocksExtension(liveblocksOptions);\n return useCreateBlockNote(\n withLiveblocksEditorOptions(\n liveblocksExtension,\n blocknoteOptions,\n liveblocksOptions\n ),\n [liveblocksExtension, ...deps]\n );\n};\n"],"names":["useLiveblocksExtension","useCreateBlockNote","withLiveblocksEditorOptions"],"mappings":";;;;;;AAmBa,MAAA,gCAAA,GAAmC,CAK9C,gBAA6D,GAAA,IAC7D,iBAAgD,GAAA,KAAA,CAAA,EAChD,IAAuB,GAAA,EACpB,KAAA;AACH,EAAM,MAAA,mBAAA,GAAsBA,oDAAuB,iBAAiB,CAAA,CAAA;AACpE,EAAO,OAAAC,wBAAA;AAAA,IACLC,mDAAA;AAAA,MACE,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,KACF;AAAA,IACA,CAAC,mBAAqB,EAAA,GAAG,IAAI,CAAA;AAAA,GAC/B,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useCreateBlockNote } from '@blocknote/react';
|
|
2
|
+
import { useLiveblocksExtension } from '../BlockNoteLiveblocksExtension.js';
|
|
3
|
+
import { withLiveblocksEditorOptions } from './liveblocksEditorOptions.js';
|
|
4
|
+
|
|
5
|
+
const useCreateBlockNoteWithLiveblocks = (blocknoteOptions = {}, liveblocksOptions = void 0, deps = []) => {
|
|
6
|
+
const liveblocksExtension = useLiveblocksExtension(liveblocksOptions);
|
|
7
|
+
return useCreateBlockNote(
|
|
8
|
+
withLiveblocksEditorOptions(
|
|
9
|
+
liveblocksExtension,
|
|
10
|
+
blocknoteOptions,
|
|
11
|
+
liveblocksOptions
|
|
12
|
+
),
|
|
13
|
+
[liveblocksExtension, ...deps]
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { useCreateBlockNoteWithLiveblocks };
|
|
18
|
+
//# sourceMappingURL=useCreateBlockNoteWithLiveblocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateBlockNoteWithLiveblocks.js","sources":["../../src/initialization/useCreateBlockNoteWithLiveblocks.ts"],"sourcesContent":["import type {\n BlockNoteEditorOptions,\n BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { useCreateBlockNote } from \"@blocknote/react\";\nimport type { DependencyList } from \"react\";\n\nimport type { LiveblocksExtensionOptions } from \"../BlockNoteLiveblocksExtension\";\nimport { useLiveblocksExtension } from \"../BlockNoteLiveblocksExtension\";\nimport { withLiveblocksEditorOptions } from \"./liveblocksEditorOptions\";\n\n/**\n * Function that can be used instead of standard useCreateBlockNote to add Liveblocks support\n */\nexport const useCreateBlockNoteWithLiveblocks = <\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n>(\n blocknoteOptions: Partial<BlockNoteEditorOptions<B, I, S>> = {},\n liveblocksOptions: LiveblocksExtensionOptions = undefined,\n deps: DependencyList = []\n) => {\n const liveblocksExtension = useLiveblocksExtension(liveblocksOptions);\n return useCreateBlockNote(\n withLiveblocksEditorOptions(\n liveblocksExtension,\n blocknoteOptions,\n liveblocksOptions\n ),\n [liveblocksExtension, ...deps]\n );\n};\n"],"names":[],"mappings":";;;;AAmBa,MAAA,gCAAA,GAAmC,CAK9C,gBAA6D,GAAA,IAC7D,iBAAgD,GAAA,KAAA,CAAA,EAChD,IAAuB,GAAA,EACpB,KAAA;AACH,EAAM,MAAA,mBAAA,GAAsB,uBAAuB,iBAAiB,CAAA,CAAA;AACpE,EAAO,OAAA,kBAAA;AAAA,IACL,2BAAA;AAAA,MACE,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,KACF;AAAA,IACA,CAAC,mBAAqB,EAAA,GAAG,IAAI,CAAA;AAAA,GAC/B,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactTiptap = require('@liveblocks/react-tiptap');
|
|
5
|
+
|
|
6
|
+
function HistoryVersionPreview(props) {
|
|
7
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactTiptap.HistoryVersionPreview, {
|
|
8
|
+
...props,
|
|
9
|
+
editor: props.editor._tiptapEditor
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.HistoryVersionPreview = HistoryVersionPreview;
|
|
14
|
+
//# sourceMappingURL=HistoryVersionPreview.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HistoryVersionPreview.cjs","sources":["../../src/version-history/HistoryVersionPreview.tsx"],"sourcesContent":["import type {\n BlockNoteEditor, BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { HistoryVersionPreview as TipTapHistoryVersionPreview } from \"@liveblocks/react-tiptap\";\nimport type { Editor } from \"@tiptap/core\";\n\ntype HistoryVersionPreviewProps<\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n> = Omit<\n Parameters<typeof TipTapHistoryVersionPreview>[0],\n \"editor\"\n> & {\n editor: BlockNoteEditor<B, I, S>;\n};\n\nexport function HistoryVersionPreview(props: HistoryVersionPreviewProps) {\n return (\n <TipTapHistoryVersionPreview\n {...props}\n editor={props.editor._tiptapEditor as unknown as Editor}\n />\n );\n}\n"],"names":["jsx","TipTapHistoryVersionPreview"],"mappings":";;;;;AAsBO,SAAS,sBAAsB,KAAmC,EAAA;AACvE,EAAA,uBACGA,cAAA,CAAAC,iCAAA,EAAA;AAAA,IACE,GAAG,KAAA;AAAA,IACJ,MAAA,EAAQ,MAAM,MAAO,CAAA,aAAA;AAAA,GACvB,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { HistoryVersionPreview as HistoryVersionPreview$1 } from '@liveblocks/react-tiptap';
|
|
3
|
+
|
|
4
|
+
function HistoryVersionPreview(props) {
|
|
5
|
+
return /* @__PURE__ */ jsx(HistoryVersionPreview$1, {
|
|
6
|
+
...props,
|
|
7
|
+
editor: props.editor._tiptapEditor
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { HistoryVersionPreview };
|
|
12
|
+
//# sourceMappingURL=HistoryVersionPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HistoryVersionPreview.js","sources":["../../src/version-history/HistoryVersionPreview.tsx"],"sourcesContent":["import type {\n BlockNoteEditor, BlockSchema,\n DefaultBlockSchema,\n DefaultInlineContentSchema,\n DefaultStyleSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { HistoryVersionPreview as TipTapHistoryVersionPreview } from \"@liveblocks/react-tiptap\";\nimport type { Editor } from \"@tiptap/core\";\n\ntype HistoryVersionPreviewProps<\n B extends BlockSchema = DefaultBlockSchema,\n I extends InlineContentSchema = DefaultInlineContentSchema,\n S extends StyleSchema = DefaultStyleSchema,\n> = Omit<\n Parameters<typeof TipTapHistoryVersionPreview>[0],\n \"editor\"\n> & {\n editor: BlockNoteEditor<B, I, S>;\n};\n\nexport function HistoryVersionPreview(props: HistoryVersionPreviewProps) {\n return (\n <TipTapHistoryVersionPreview\n {...props}\n editor={props.editor._tiptapEditor as unknown as Editor}\n />\n );\n}\n"],"names":["TipTapHistoryVersionPreview"],"mappings":";;;AAsBO,SAAS,sBAAsB,KAAmC,EAAA;AACvE,EAAA,uBACG,GAAA,CAAAA,uBAAA,EAAA;AAAA,IACE,GAAG,KAAA;AAAA,IACJ,MAAA,EAAQ,MAAM,MAAO,CAAA,aAAA;AAAA,GACvB,CAAA,CAAA;AAEJ;;;;"}
|
package/dist/version.cjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const PKG_NAME = "@liveblocks/react-blocknote";
|
|
4
|
+
const PKG_VERSION = typeof "2.21.0" === "string" && "2.21.0";
|
|
5
|
+
const PKG_FORMAT = typeof "cjs" === "string" && "cjs";
|
|
6
|
+
|
|
7
|
+
exports.PKG_FORMAT = PKG_FORMAT;
|
|
8
|
+
exports.PKG_NAME = PKG_NAME;
|
|
9
|
+
exports.PKG_VERSION = PKG_VERSION;
|
|
10
|
+
//# sourceMappingURL=version.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-blocknote\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,8BAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-blocknote\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,8BAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,105 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liveblocks/react-blocknote",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.21.0",
|
|
4
|
+
"description": "An integration of BlockNote + React to enable collaboration, comments, live cursors, and more with Liveblocks.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"main": "./dist/index.cjs",
|
|
8
|
+
"types": "./dist/index.d.cts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"module": "./dist/index.js",
|
|
18
|
+
"default": "./dist/index.cjs"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"./styles.css": {
|
|
22
|
+
"types": "./styles.css.d.cts",
|
|
23
|
+
"default": "./styles.css"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
7
26
|
"files": [
|
|
27
|
+
"dist/**",
|
|
28
|
+
"**/*.css",
|
|
29
|
+
"**/*.css.d.ts",
|
|
30
|
+
"**/*.css.d.cts",
|
|
31
|
+
"**/*.css.map",
|
|
8
32
|
"README.md"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"dev": "rollup --config rollup.config.js --watch",
|
|
36
|
+
"build": "rollup --config rollup.config.js",
|
|
37
|
+
"format": "eslint --fix src/; stylelint --fix src/styles/; prettier --write src/",
|
|
38
|
+
"lint": "eslint src/; stylelint src/styles/",
|
|
39
|
+
"lint:package": "publint --strict && attw --pack",
|
|
40
|
+
"start": "npm run dev",
|
|
41
|
+
"test": "vitest run",
|
|
42
|
+
"test:watch": "vitest"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@liveblocks/client": "2.21.0",
|
|
46
|
+
"@liveblocks/core": "2.21.0",
|
|
47
|
+
"@liveblocks/react": "2.21.0",
|
|
48
|
+
"@liveblocks/react-tiptap": "2.21.0",
|
|
49
|
+
"@liveblocks/react-ui": "2.21.0",
|
|
50
|
+
"@liveblocks/yjs": "2.21.0",
|
|
51
|
+
"@tiptap/core": "^2.7.2",
|
|
52
|
+
"vitest-tsconfig-paths": "^3.4.1"
|
|
53
|
+
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@blocknote/core": "^0.25.1",
|
|
56
|
+
"@blocknote/react": "^0.25.1",
|
|
57
|
+
"@tiptap/core": "^2.7.2",
|
|
58
|
+
"react": "^18 || ^19 || ^19.0.0-rc",
|
|
59
|
+
"react-dom": "^18 || ^19 || ^19.0.0-rc"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@liveblocks/eslint-config": "*",
|
|
63
|
+
"@liveblocks/jest-config": "*",
|
|
64
|
+
"@liveblocks/rollup-config": "*",
|
|
65
|
+
"@testing-library/jest-dom": "^5.16.5",
|
|
66
|
+
"eslint-plugin-react": "^7.33.2",
|
|
67
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
68
|
+
"msw": "^1.3.5",
|
|
69
|
+
"stylelint": "^15.10.2",
|
|
70
|
+
"stylelint-config-standard": "^34.0.0",
|
|
71
|
+
"stylelint-order": "^6.0.3",
|
|
72
|
+
"stylelint-plugin-logical-css": "^0.13.2"
|
|
73
|
+
},
|
|
74
|
+
"sideEffects": false,
|
|
75
|
+
"bugs": {
|
|
76
|
+
"url": "https://github.com/liveblocks/liveblocks/issues"
|
|
77
|
+
},
|
|
78
|
+
"repository": {
|
|
79
|
+
"type": "git",
|
|
80
|
+
"url": "git+https://github.com/liveblocks/liveblocks.git",
|
|
81
|
+
"directory": "packages/liveblocks-react-blocknote"
|
|
82
|
+
},
|
|
83
|
+
"homepage": "https://liveblocks.io",
|
|
84
|
+
"keywords": [
|
|
85
|
+
"blocknote",
|
|
86
|
+
"prosemirror",
|
|
87
|
+
"tiptap",
|
|
88
|
+
"react",
|
|
89
|
+
"comments",
|
|
90
|
+
"threads",
|
|
91
|
+
"liveblocks",
|
|
92
|
+
"real-time",
|
|
93
|
+
"toolkit",
|
|
94
|
+
"multiplayer",
|
|
95
|
+
"websockets",
|
|
96
|
+
"collaboration",
|
|
97
|
+
"collaborative",
|
|
98
|
+
"presence",
|
|
99
|
+
"crdts",
|
|
100
|
+
"synchronize",
|
|
101
|
+
"rooms",
|
|
102
|
+
"documents",
|
|
103
|
+
"conflict resolution"
|
|
9
104
|
]
|
|
10
105
|
}
|
package/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.lb-tiptap-suggestions-list{margin:0;padding:0;list-style:none}.lb-tiptap-mention-suggestions{--lb-tiptap-mention-suggestion-avatar-size:1.25rem}.lb-tiptap-mention-suggestion{padding:calc(.375*var(--lb-spacing))calc(.625*var(--lb-spacing))}.lb-tiptap-mention-suggestion-avatar{inline-size:var(--lb-tiptap-mention-suggestion-avatar-size);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.5*var(--lb-spacing));margin-block:calc(.125*var(--lb-spacing));background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate)}.lb-tiptap-suggestions{animation-duration:var(--lb-transition-duration);animation-timing-function:var(--lb-transition-easing);will-change:transform,opacity;padding:4px}.lb-tiptap-suggestions-list-item{padding:calc(.25*var(--lb-spacing))calc(.5*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .75*4px);color:var(--lb-foreground-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;scroll-margin-block:4px;font-size:.875rem;transition-property:background,color,opacity;display:flex}.lb-tiptap-suggestions-list-item:where([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false])){background:var(--lb-foreground-subtle);transition-duration:calc(var(--lb-transition-duration)/2)}.lb-tiptap-suggestions-list-item:where(:disabled,[data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}.lb-tiptap-suggestions:where([data-side=top]){animation-name:lb-animation-slide-up}.lb-tiptap-suggestions:where([data-side=bottom]){animation-name:lb-animation-slide-down}.lb-tiptap-suggestions:where([data-state=closed]){animation-name:lb-animation-disappear}.lb-tiptap-mention{border-radius:calc(.675*var(--lb-radius));background:var(--lb-accent-subtle);color:var(--lb-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1em .3em;font-weight:500}.lb-tiptap-mention::selection{background:0 0}.lb-tiptap-mention ::selection{background:0 0}.lb-mention-selected{background:var(--lb-accent);color:var(--lb-accent-foreground)}:where(.lb-tiptap-thread-mark:not([data-orphan=true])){background:var(--lb-accent-subtle);color:var(--lb-foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-foreground-moderate);-webkit-text-decoration-color:var(--lb-foreground-moderate);text-decoration-color:var(--lb-foreground-moderate);text-underline-offset:2px;outline:none;font-weight:500;transition-property:color,text-decoration-color}:where(.lb-tiptap-thread-mark:not([data-orphan=true]) .lb-tiptap-thread-mark-selected){color:var(--lb-accent);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-accent-moderate);-webkit-text-decoration-color:var(--lb-accent-moderate);text-decoration-color:var(--lb-accent-moderate);text-underline-offset:2px}.lb-tiptap-anchored-threads{--lb-tiptap-anchored-threads-gap:1.25rem;--lb-tiptap-anchored-threads-active-thread-offset:-.75rem}.lb-tiptap-anchored-threads-thread-container{transition-duration:calc(var(--lb-transition-duration)*2);transition-property:transform}.lb-tiptap-anchored-threads-thread{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);transition-property:background,box-shadow;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000a,0 2px 6px #0000000a,0 6px 20px #0000000f}.lb-tiptap-anchored-threads-thread:after{content:"";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-tiptap-anchored-threads-thread:where([data-state=active]){box-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f}.lb-tiptap-floating{--lb-tiptap-floating-size:350px}.lb-tiptap-floating-threads-thread{inline-size:var(--lb-tiptap-floating-size)}.lb-tiptap-floating-threads-thread:where(:not(:last-of-type)){border-block-end:1px solid var(--lb-foreground-subtle)}.lb-tiptap-floating-composer{inline-size:var(--lb-tiptap-floating-size)}.lb-tiptap-active-selection{background:var(--lb-selection,#00f3);pointer-events:none}.lb-tiptap-toolbar{--lb-tiptap-toolbar-spacing:calc(.25*var(--lb-spacing));gap:var(--lb-tiptap-toolbar-spacing);padding:var(--lb-tiptap-toolbar-spacing);background:var(--lb-background);-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;align-items:center;display:flex;position:relative;overflow-x:auto}.lb-tiptap-toolbar::-webkit-scrollbar{display:none}.lb-tiptap-toolbar>*{flex:none}.lb-tiptap-floating-toolbar{--lb-tiptap-toolbar-spacing:4px}.lb-tiptap-toolbar-separator{pointer-events:none;align-self:stretch;inline-size:1px;margin-inline:1px;position:relative}.lb-tiptap-toolbar-separator:before{content:"";background:var(--lb-foreground-subtle);position:absolute;inset:10% 0}.lb-tiptap-ai-selection{background:var(--lb-selection,#00f3);pointer-events:none}.lb-tiptap-ai-toolbar-portal{inline-size:var(--lb-tiptap-editor-width);pointer-events:none;outline:none;flex-direction:column;gap:8px;display:flex}.lb-tiptap-ai-toolbar-portal:where([data-liveblocks-ai-toolbar-flip]){flex-direction:column-reverse}.lb-tiptap-ai-toolbar-container{--lb-tiptap-ai-toolbar-padding:calc(.5*var(--lb-spacing));--lb-tiptap-ai-toolbar-height:calc(calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) + 2*var(--lb-tiptap-ai-toolbar-padding));min-block-size:var(--lb-tiptap-ai-toolbar-height);position:relative}.lb-tiptap-ai-toolbar{color:var(--lb-foreground);pointer-events:auto;flex-direction:column;display:flex}.lb-tiptap-ai-toolbar-response-container,.lb-tiptap-ai-toolbar-content{max-block-size:calc(6lh + 2*var(--lb-tiptap-ai-toolbar-padding));overflow-y:auto}.lb-tiptap-ai-toolbar-content{padding:var(--lb-tiptap-ai-toolbar-padding);outline:none;grid-template-columns:auto 1fr auto;inline-size:100%;min-inline-size:0;display:grid}.lb-tiptap-ai-toolbar-response-container{--lb-line-height-crop:calc(1lh - 1em)/-2;padding:calc(var(--lb-spacing) + var(--lb-line-height-crop))var(--lb-spacing);border-block-end:1px solid var(--lb-foreground-subtle);flex-direction:column;display:flex}.lb-tiptap-ai-toolbar-response{white-space:pre-wrap}.lb-tiptap-ai-toolbar-response:before{content:"";vertical-align:middle;-webkit-user-select:none;user-select:none;display:inline-block}.lb-tiptap-ai-toolbar-icon-container,.lb-tiptap-ai-toolbar-actions{block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));flex:none;display:flex}.lb-tiptap-ai-toolbar-icon-container{color:var(--lb-foreground-moderate);align-self:start;align-items:center;position:sticky;inset-block-start:0}.lb-tiptap-ai-toolbar-actions{gap:var(--lb-tiptap-ai-toolbar-padding);align-self:end;position:sticky;inset-block-end:0}.lb-tiptap-ai-toolbar-custom-prompt{all:unset;color:var(--lb-foreground);resize:none;background:0 0;outline:none}.lb-tiptap-ai-toolbar-custom-prompt::placeholder{color:var(--lb-foreground-moderate)}.lb-tiptap-ai-toolbar-custom-prompt-container{z-index:auto;margin-block:calc(-1*var(--lb-tiptap-ai-toolbar-padding));display:grid;position:relative}.lb-tiptap-ai-toolbar-custom-prompt-container:before{content:attr(data-value)" ";visibility:hidden}.lb-tiptap-ai-toolbar-custom-prompt,.lb-tiptap-ai-toolbar-custom-prompt-container:before{box-sizing:inherit;padding:calc(var(--lb-tiptap-ai-toolbar-padding) + (calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) - 1lh)/2)var(--lb-tiptap-ai-toolbar-padding);font:inherit;letter-spacing:inherit;white-space:pre-wrap;grid-area:1/1/2/2;inline-size:100%;min-inline-size:0}.lb-tiptap-ai-toolbar-error{--lb-dynamic-background:var(--lb-background-destructive-subtle);gap:calc(.5*var(--lb-spacing));padding:var(--lb-tiptap-ai-toolbar-padding);background:var(--lb-dynamic-background);color:var(--lb-destructive);text-wrap:balance;align-items:center;font-size:.875em;display:flex;position:relative}.lb-tiptap-ai-toolbar-error:after{content:"";border-block-start:1px solid var(--lb-destructive-moderate);opacity:.35;pointer-events:none;position:absolute;inset:0}.lb-tiptap-ai-toolbar-error :where(.lb-icon-container){color:var(--lb-destructive-secondary)}.lb-tiptap-ai-toolbar-halo{--lb-tiptap-ai-toolbar-halo-blur:16px;--lb-tiptap-ai-toolbar-halo-outset:8px;inset:calc(-1*var(--lb-tiptap-ai-toolbar-halo-outset));z-index:-1;border-radius:calc(var(--lb-radius) + var(--lb-tiptap-ai-toolbar-halo-outset));filter:blur(var(--lb-tiptap-ai-toolbar-halo-blur));pointer-events:none;transition-property:opacity;transition-duration:1s;animation:1s cubic-bezier(.165,.84,.44,1) both lb-animation-ai-toolbar-halo-scale-in;position:absolute;overflow:hidden}.lb-tiptap-ai-toolbar-halo:where(:not([data-active])){opacity:.5}:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical){position:absolute;inset:0}:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical):before,:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical):after{content:"";opacity:.175;animation-timing-function:cubic-bezier(.455,.03,.515,.955);animation-iteration-count:infinite;position:absolute;inset:0}.lb-tiptap-ai-toolbar-halo-horizontal:before{background:linear-gradient(30deg,transparent 20%,var(--lb-accent)50%,transparent 80%);background-position:0 0;background-size:50% 100%;block-size:100%;inline-size:200%;animation-name:lb-animation-ai-toolbar-halo-horizontal;animation-duration:8s;animation-direction:alternate}.lb-tiptap-ai-toolbar-halo-horizontal:after{background:linear-gradient(90deg,transparent 20%,var(--lb-accent)50%,transparent 80%);background-position:0 0;background-size:75% 100%;block-size:100%;inline-size:400%;animation-name:lb-animation-ai-toolbar-halo-horizontal;animation-duration:6s;animation-direction:alternate-reverse;animation-delay:-2s;inset-inline-start:-50%}.lb-tiptap-ai-toolbar-halo-vertical:before{background:linear-gradient(1deg,transparent 40%,var(--lb-accent)50%,transparent 60%);background-position:0 0;background-repeat:round;background-size:100% 600px;block-size:400%;inline-size:100%;animation-name:lb-animation-ai-toolbar-halo-vertical;animation-duration:4s;animation-direction:alternate-reverse;animation-delay:-2s;inset-block-start:-50%}.lb-tiptap-ai-toolbar-halo-vertical:after{background:linear-gradient(-2deg,transparent 40%,var(--lb-accent)50%,transparent 60%);background-position:0 0;background-repeat:round;background-size:100% 400px;block-size:400%;inline-size:100%;animation-name:lb-animation-ai-toolbar-halo-vertical;animation-duration:3s;animation-direction:alternate;animation-delay:-1s;inset-block-start:-50%}.lb-tiptap-ai-toolbar-thinking{text-overflow:ellipsis;white-space:nowrap;padding-inline:var(--lb-tiptap-ai-toolbar-padding);color:var(--lb-foreground-tertiary);-webkit-user-select:none;user-select:none;align-self:center;min-inline-size:0;max-inline-size:-moz-fit-content;max-inline-size:fit-content;animation:8s linear infinite lb-animation-ai-toolbar-shimmer;overflow:hidden}.lb-tiptap-ai-toolbar-dropdown{pointer-events:auto;inline-size:min(250px,100%)}.lb-tiptap-change-removed{color:color-mix(in srgb,currentcolor 40%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.lb-tiptap-change-added{background:color-mix(in srgb,var(--lb-accent)calc(var(--lb-accent-contrast)*1.5),transparent);color:var(--lb-accent)}.collaboration-cursor__caret{word-break:normal;pointer-events:none;border-inline:1px solid #0d0d0d;margin-inline:-1px;position:relative}.collaboration-cursor__label{color:#fff;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:6px;border-end-start-radius:0;padding:2px 6px;font-size:14px;font-style:normal;font-weight:600;line-height:normal;position:absolute;inset-block-start:-1.4em;inset-inline-start:-1px}@keyframes lb-animation-ai-toolbar-shimmer{0%,to{-webkit-mask-image:linear-gradient(90deg,#000 8%,#00000080 20% 80%,#000 92%);mask-image:linear-gradient(90deg,#000 8%,#00000080 20% 80%,#000 92%);-webkit-mask-size:400% 100%;mask-size:400% 100%}0%{-webkit-mask-position:200% 0;mask-position:200% 0}to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes lb-animation-ai-toolbar-halo-scale-in{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes lb-animation-ai-toolbar-halo-horizontal{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes lb-animation-ai-toolbar-halo-vertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.lb-portal{z-index:1001!important}@media (prefers-reduced-motion){.lb-tiptap-suggestions:where(:not([data-state=closed])){animation-name:lb-animation-appear}.lb-tiptap-anchored-threads-thread-container{transition-duration:0s}}
|
package/styles.css.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module "@liveblocks/react-blocknote/styles.css";
|
package/styles.css.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module "@liveblocks/react-blocknote/styles.css";
|
package/styles.css.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/liveblocks-react-tiptap/styles.css","src/styles/src/styles/index.css"],"names":[],"mappings":"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","file":"styles.css","sourcesContent":[".lb-tiptap-suggestions-list{margin:0;padding:0;list-style:none}.lb-tiptap-mention-suggestions{--lb-tiptap-mention-suggestion-avatar-size:1.25rem}.lb-tiptap-mention-suggestion{padding:calc(.375*var(--lb-spacing))calc(.625*var(--lb-spacing))}.lb-tiptap-mention-suggestion-avatar{inline-size:var(--lb-tiptap-mention-suggestion-avatar-size);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.5*var(--lb-spacing));margin-block:calc(.125*var(--lb-spacing));background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate)}.lb-tiptap-suggestions{animation-duration:var(--lb-transition-duration);animation-timing-function:var(--lb-transition-easing);will-change:transform,opacity;padding:4px}.lb-tiptap-suggestions-list-item{padding:calc(.25*var(--lb-spacing))calc(.5*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .75*4px);color:var(--lb-foreground-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;scroll-margin-block:4px;font-size:.875rem;transition-property:background,color,opacity;display:flex}.lb-tiptap-suggestions-list-item:where([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false])){background:var(--lb-foreground-subtle);transition-duration:calc(var(--lb-transition-duration)/2)}.lb-tiptap-suggestions-list-item:where(:disabled,[data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}.lb-tiptap-suggestions:where([data-side=top]){animation-name:lb-animation-slide-up}.lb-tiptap-suggestions:where([data-side=bottom]){animation-name:lb-animation-slide-down}.lb-tiptap-suggestions:where([data-state=closed]){animation-name:lb-animation-disappear}.lb-tiptap-mention{border-radius:calc(.675*var(--lb-radius));background:var(--lb-accent-subtle);color:var(--lb-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1em .3em;font-weight:500}.lb-tiptap-mention::selection{background:0 0}.lb-tiptap-mention ::selection{background:0 0}.lb-mention-selected{background:var(--lb-accent);color:var(--lb-accent-foreground)}:where(.lb-tiptap-thread-mark:not([data-orphan=true])){background:var(--lb-accent-subtle);color:var(--lb-foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-foreground-moderate);text-decoration-color:var(--lb-foreground-moderate);text-underline-offset:2px;outline:none;font-weight:500;transition-property:color,text-decoration-color}:where(.lb-tiptap-thread-mark:not([data-orphan=true]) .lb-tiptap-thread-mark-selected){color:var(--lb-accent);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-accent-moderate);text-decoration-color:var(--lb-accent-moderate);text-underline-offset:2px}.lb-tiptap-anchored-threads{--lb-tiptap-anchored-threads-gap:1.25rem;--lb-tiptap-anchored-threads-active-thread-offset:-.75rem}.lb-tiptap-anchored-threads-thread-container{transition-duration:calc(var(--lb-transition-duration)*2);transition-property:transform}.lb-tiptap-anchored-threads-thread{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);transition-property:background,box-shadow;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000a,0 2px 6px #0000000a,0 6px 20px #0000000f}.lb-tiptap-anchored-threads-thread:after{content:\"\";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-tiptap-anchored-threads-thread:where([data-state=active]){box-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f}.lb-tiptap-floating{--lb-tiptap-floating-size:350px}.lb-tiptap-floating-threads-thread{inline-size:var(--lb-tiptap-floating-size)}.lb-tiptap-floating-threads-thread:where(:not(:last-of-type)){border-block-end:1px solid var(--lb-foreground-subtle)}.lb-tiptap-floating-composer{inline-size:var(--lb-tiptap-floating-size)}.lb-tiptap-active-selection{background:var(--lb-selection,#00f3);pointer-events:none}.lb-tiptap-toolbar{--lb-tiptap-toolbar-spacing:calc(.25*var(--lb-spacing));gap:var(--lb-tiptap-toolbar-spacing);padding:var(--lb-tiptap-toolbar-spacing);background:var(--lb-background);-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;align-items:center;display:flex;position:relative;overflow-x:auto}.lb-tiptap-toolbar::-webkit-scrollbar{display:none}.lb-tiptap-toolbar>*{flex:none}.lb-tiptap-floating-toolbar{--lb-tiptap-toolbar-spacing:4px}.lb-tiptap-toolbar-separator{pointer-events:none;align-self:stretch;inline-size:1px;margin-inline:1px;position:relative}.lb-tiptap-toolbar-separator:before{content:\"\";background:var(--lb-foreground-subtle);position:absolute;inset:10% 0}.lb-tiptap-ai-selection{background:var(--lb-selection,#00f3);pointer-events:none}.lb-tiptap-ai-toolbar-portal{inline-size:var(--lb-tiptap-editor-width);pointer-events:none;outline:none;flex-direction:column;gap:8px;display:flex}.lb-tiptap-ai-toolbar-portal:where([data-liveblocks-ai-toolbar-flip]){flex-direction:column-reverse}.lb-tiptap-ai-toolbar-container{--lb-tiptap-ai-toolbar-padding:calc(.5*var(--lb-spacing));--lb-tiptap-ai-toolbar-height:calc(calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) + 2*var(--lb-tiptap-ai-toolbar-padding));min-block-size:var(--lb-tiptap-ai-toolbar-height);position:relative}.lb-tiptap-ai-toolbar{color:var(--lb-foreground);pointer-events:auto;flex-direction:column;display:flex}.lb-tiptap-ai-toolbar-response-container,.lb-tiptap-ai-toolbar-content{max-block-size:calc(6lh + 2*var(--lb-tiptap-ai-toolbar-padding));overflow-y:auto}.lb-tiptap-ai-toolbar-content{padding:var(--lb-tiptap-ai-toolbar-padding);outline:none;grid-template-columns:auto 1fr auto;inline-size:100%;min-inline-size:0;display:grid}.lb-tiptap-ai-toolbar-response-container{--lb-line-height-crop:calc(1lh - 1em)/-2;padding:calc(var(--lb-spacing) + var(--lb-line-height-crop))var(--lb-spacing);border-block-end:1px solid var(--lb-foreground-subtle);flex-direction:column;display:flex}.lb-tiptap-ai-toolbar-response{white-space:pre-wrap}.lb-tiptap-ai-toolbar-response:before{content:\"\";vertical-align:middle;-webkit-user-select:none;user-select:none;display:inline-block}.lb-tiptap-ai-toolbar-icon-container,.lb-tiptap-ai-toolbar-actions{block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));flex:none;display:flex}.lb-tiptap-ai-toolbar-icon-container{color:var(--lb-foreground-moderate);align-self:start;align-items:center;position:sticky;inset-block-start:0}.lb-tiptap-ai-toolbar-actions{gap:var(--lb-tiptap-ai-toolbar-padding);align-self:end;position:sticky;inset-block-end:0}.lb-tiptap-ai-toolbar-custom-prompt{all:unset;color:var(--lb-foreground);resize:none;background:0 0;outline:none}.lb-tiptap-ai-toolbar-custom-prompt::placeholder{color:var(--lb-foreground-moderate)}.lb-tiptap-ai-toolbar-custom-prompt-container{z-index:auto;margin-block:calc(-1*var(--lb-tiptap-ai-toolbar-padding));display:grid;position:relative}.lb-tiptap-ai-toolbar-custom-prompt-container:before{content:attr(data-value)\" \";visibility:hidden}.lb-tiptap-ai-toolbar-custom-prompt,.lb-tiptap-ai-toolbar-custom-prompt-container:before{box-sizing:inherit;padding:calc(var(--lb-tiptap-ai-toolbar-padding) + (calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) - 1lh)/2)var(--lb-tiptap-ai-toolbar-padding);font:inherit;letter-spacing:inherit;white-space:pre-wrap;grid-area:1/1/2/2;inline-size:100%;min-inline-size:0}.lb-tiptap-ai-toolbar-error{--lb-dynamic-background:var(--lb-background-destructive-subtle);gap:calc(.5*var(--lb-spacing));padding:var(--lb-tiptap-ai-toolbar-padding);background:var(--lb-dynamic-background);color:var(--lb-destructive);text-wrap:balance;align-items:center;font-size:.875em;display:flex;position:relative}.lb-tiptap-ai-toolbar-error:after{content:\"\";border-block-start:1px solid var(--lb-destructive-moderate);opacity:.35;pointer-events:none;position:absolute;inset:0}.lb-tiptap-ai-toolbar-error :where(.lb-icon-container){color:var(--lb-destructive-secondary)}.lb-tiptap-ai-toolbar-halo{--lb-tiptap-ai-toolbar-halo-blur:16px;--lb-tiptap-ai-toolbar-halo-outset:8px;inset:calc(-1*var(--lb-tiptap-ai-toolbar-halo-outset));z-index:-1;border-radius:calc(var(--lb-radius) + var(--lb-tiptap-ai-toolbar-halo-outset));filter:blur(var(--lb-tiptap-ai-toolbar-halo-blur));pointer-events:none;transition-property:opacity;transition-duration:1s;animation:1s cubic-bezier(.165,.84,.44,1) both lb-animation-ai-toolbar-halo-scale-in;position:absolute;overflow:hidden}.lb-tiptap-ai-toolbar-halo:where(:not([data-active])){opacity:.5}:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical){position:absolute;inset:0}:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical):before,:is(.lb-tiptap-ai-toolbar-halo-horizontal,.lb-tiptap-ai-toolbar-halo-vertical):after{content:\"\";opacity:.175;animation-timing-function:cubic-bezier(.455,.03,.515,.955);animation-iteration-count:infinite;position:absolute;inset:0}.lb-tiptap-ai-toolbar-halo-horizontal:before{background:linear-gradient(30deg,transparent 20%,var(--lb-accent)50%,transparent 80%);background-position:0 0;background-size:50% 100%;block-size:100%;inline-size:200%;animation-name:lb-animation-ai-toolbar-halo-horizontal;animation-duration:8s;animation-direction:alternate}.lb-tiptap-ai-toolbar-halo-horizontal:after{background:linear-gradient(90deg,transparent 20%,var(--lb-accent)50%,transparent 80%);background-position:0 0;background-size:75% 100%;block-size:100%;inline-size:400%;animation-name:lb-animation-ai-toolbar-halo-horizontal;animation-duration:6s;animation-direction:alternate-reverse;animation-delay:-2s;inset-inline-start:-50%}.lb-tiptap-ai-toolbar-halo-vertical:before{background:linear-gradient(1deg,transparent 40%,var(--lb-accent)50%,transparent 60%);background-position:0 0;background-repeat:round;background-size:100% 600px;block-size:400%;inline-size:100%;animation-name:lb-animation-ai-toolbar-halo-vertical;animation-duration:4s;animation-direction:alternate-reverse;animation-delay:-2s;inset-block-start:-50%}.lb-tiptap-ai-toolbar-halo-vertical:after{background:linear-gradient(-2deg,transparent 40%,var(--lb-accent)50%,transparent 60%);background-position:0 0;background-repeat:round;background-size:100% 400px;block-size:400%;inline-size:100%;animation-name:lb-animation-ai-toolbar-halo-vertical;animation-duration:3s;animation-direction:alternate;animation-delay:-1s;inset-block-start:-50%}.lb-tiptap-ai-toolbar-thinking{text-overflow:ellipsis;white-space:nowrap;padding-inline:var(--lb-tiptap-ai-toolbar-padding);color:var(--lb-foreground-tertiary);-webkit-user-select:none;user-select:none;align-self:center;min-inline-size:0;max-inline-size:-moz-fit-content;max-inline-size:fit-content;animation:8s linear infinite lb-animation-ai-toolbar-shimmer;overflow:hidden}.lb-tiptap-ai-toolbar-dropdown{pointer-events:auto;inline-size:min(250px,100%)}.lb-tiptap-change-removed{color:color-mix(in srgb,currentcolor 40%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.lb-tiptap-change-added{background:color-mix(in srgb,var(--lb-accent)calc(var(--lb-accent-contrast)*1.5),transparent);color:var(--lb-accent)}.collaboration-cursor__caret{word-break:normal;pointer-events:none;border-inline:1px solid #0d0d0d;margin-inline:-1px;position:relative}.collaboration-cursor__label{border-radius:6px;color:#fff;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;border-end-start-radius:0;padding:2px 6px;font-size:14px;font-style:normal;font-weight:600;line-height:normal;position:absolute;inset-block-start:-1.4em;inset-inline-start:-1px}@keyframes lb-animation-ai-toolbar-shimmer{0%,to{-webkit-mask-image:linear-gradient(90deg,#000 8%,#00000080 20% 80%,#000 92%);mask-image:linear-gradient(90deg,#000 8%,#00000080 20% 80%,#000 92%);-webkit-mask-size:400% 100%;mask-size:400% 100%}0%{-webkit-mask-position:200% 0;mask-position:200% 0}to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes lb-animation-ai-toolbar-halo-scale-in{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes lb-animation-ai-toolbar-halo-horizontal{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes lb-animation-ai-toolbar-halo-vertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion){.lb-tiptap-suggestions:where(:not([data-state=closed])){animation-name:lb-animation-appear}.lb-tiptap-anchored-threads-thread-container{transition-duration:0s}}","@import \"@liveblocks/react-tiptap/styles.css\";\n\n/*\n* blocknote uses z-index of 1000, so we must use 1001.\n*/\n.lb-portal {\n z-index: 1001 !important;\n}\n"]}
|