@commonpub/editor 0.1.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/LICENSE +661 -0
- package/README.md +145 -0
- package/dist/blocks/registry.d.ts +17 -0
- package/dist/blocks/registry.d.ts.map +1 -0
- package/dist/blocks/registry.js +65 -0
- package/dist/blocks/registry.js.map +1 -0
- package/dist/blocks/schemas.d.ts +137 -0
- package/dist/blocks/schemas.d.ts.map +1 -0
- package/dist/blocks/schemas.js +113 -0
- package/dist/blocks/schemas.js.map +1 -0
- package/dist/blocks/types.d.ts +16 -0
- package/dist/blocks/types.d.ts.map +1 -0
- package/dist/blocks/types.js +2 -0
- package/dist/blocks/types.js.map +1 -0
- package/dist/editorKit.d.ts +12 -0
- package/dist/editorKit.d.ts.map +1 -0
- package/dist/editorKit.js +94 -0
- package/dist/editorKit.js.map +1 -0
- package/dist/extensions/buildStep.d.ts +16 -0
- package/dist/extensions/buildStep.d.ts.map +1 -0
- package/dist/extensions/buildStep.js +45 -0
- package/dist/extensions/buildStep.js.map +1 -0
- package/dist/extensions/callout.d.ts +19 -0
- package/dist/extensions/callout.d.ts.map +1 -0
- package/dist/extensions/callout.js +52 -0
- package/dist/extensions/callout.js.map +1 -0
- package/dist/extensions/checkpoint.d.ts +12 -0
- package/dist/extensions/checkpoint.d.ts.map +1 -0
- package/dist/extensions/checkpoint.js +27 -0
- package/dist/extensions/checkpoint.js.map +1 -0
- package/dist/extensions/code.d.ts +18 -0
- package/dist/extensions/code.d.ts.map +1 -0
- package/dist/extensions/code.js +75 -0
- package/dist/extensions/code.js.map +1 -0
- package/dist/extensions/downloads.d.ts +17 -0
- package/dist/extensions/downloads.d.ts.map +1 -0
- package/dist/extensions/downloads.js +38 -0
- package/dist/extensions/downloads.js.map +1 -0
- package/dist/extensions/embed.d.ts +14 -0
- package/dist/extensions/embed.d.ts.map +1 -0
- package/dist/extensions/embed.js +27 -0
- package/dist/extensions/embed.js.map +1 -0
- package/dist/extensions/gallery.d.ts +19 -0
- package/dist/extensions/gallery.d.ts.map +1 -0
- package/dist/extensions/gallery.js +43 -0
- package/dist/extensions/gallery.js.map +1 -0
- package/dist/extensions/heading.d.ts +18 -0
- package/dist/extensions/heading.d.ts.map +1 -0
- package/dist/extensions/heading.js +57 -0
- package/dist/extensions/heading.js.map +1 -0
- package/dist/extensions/image.d.ts +17 -0
- package/dist/extensions/image.d.ts.map +1 -0
- package/dist/extensions/image.js +49 -0
- package/dist/extensions/image.js.map +1 -0
- package/dist/extensions/interactiveSlider.d.ts +21 -0
- package/dist/extensions/interactiveSlider.d.ts.map +1 -0
- package/dist/extensions/interactiveSlider.js +45 -0
- package/dist/extensions/interactiveSlider.js.map +1 -0
- package/dist/extensions/markdown.d.ts +12 -0
- package/dist/extensions/markdown.d.ts.map +1 -0
- package/dist/extensions/markdown.js +25 -0
- package/dist/extensions/markdown.js.map +1 -0
- package/dist/extensions/mathNotation.d.ts +13 -0
- package/dist/extensions/mathNotation.d.ts.map +1 -0
- package/dist/extensions/mathNotation.js +28 -0
- package/dist/extensions/mathNotation.js.map +1 -0
- package/dist/extensions/partsList.d.ts +19 -0
- package/dist/extensions/partsList.d.ts.map +1 -0
- package/dist/extensions/partsList.js +38 -0
- package/dist/extensions/partsList.js.map +1 -0
- package/dist/extensions/quiz.d.ts +17 -0
- package/dist/extensions/quiz.d.ts.map +1 -0
- package/dist/extensions/quiz.js +42 -0
- package/dist/extensions/quiz.js.map +1 -0
- package/dist/extensions/quote.d.ts +11 -0
- package/dist/extensions/quote.d.ts.map +1 -0
- package/dist/extensions/quote.js +42 -0
- package/dist/extensions/quote.js.map +1 -0
- package/dist/extensions/text.d.ts +3 -0
- package/dist/extensions/text.d.ts.map +1 -0
- package/dist/extensions/text.js +13 -0
- package/dist/extensions/text.js.map +1 -0
- package/dist/extensions/toolList.d.ts +16 -0
- package/dist/extensions/toolList.d.ts.map +1 -0
- package/dist/extensions/toolList.js +38 -0
- package/dist/extensions/toolList.js.map +1 -0
- package/dist/extensions/video.d.ts +17 -0
- package/dist/extensions/video.d.ts.map +1 -0
- package/dist/extensions/video.js +32 -0
- package/dist/extensions/video.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/serialization.d.ts +16 -0
- package/dist/serialization.d.ts.map +1 -0
- package/dist/serialization.js +530 -0
- package/dist/serialization.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubImage = Node.create({
|
|
3
|
+
name: 'image',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addOptions() {
|
|
7
|
+
return {
|
|
8
|
+
allowBase64: false,
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
addAttributes() {
|
|
12
|
+
return {
|
|
13
|
+
src: { default: '' },
|
|
14
|
+
alt: { default: '' },
|
|
15
|
+
caption: { default: null },
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
parseHTML() {
|
|
19
|
+
return [
|
|
20
|
+
{
|
|
21
|
+
tag: 'img[src]',
|
|
22
|
+
getAttrs: (dom) => {
|
|
23
|
+
const element = dom;
|
|
24
|
+
return {
|
|
25
|
+
src: element.getAttribute('src'),
|
|
26
|
+
alt: element.getAttribute('alt') || '',
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
},
|
|
32
|
+
renderHTML({ HTMLAttributes }) {
|
|
33
|
+
return [
|
|
34
|
+
'img',
|
|
35
|
+
mergeAttributes(HTMLAttributes, { src: HTMLAttributes.src, alt: HTMLAttributes.alt }),
|
|
36
|
+
];
|
|
37
|
+
},
|
|
38
|
+
addCommands() {
|
|
39
|
+
return {
|
|
40
|
+
setImage: (attributes) => ({ commands }) => {
|
|
41
|
+
return commands.insertContent({
|
|
42
|
+
type: this.name,
|
|
43
|
+
attrs: attributes,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/extensions/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAcrD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAe;IACtD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,UAAU;QACR,OAAO;YACL,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO;YACL;gBACE,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChB,MAAM,OAAO,GAAG,GAAkB,CAAC;oBACnC,OAAO;wBACL,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;wBAChC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;qBACvC,CAAC;gBACJ,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO;YACL,KAAK;YACL,eAAe,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO;YACL,QAAQ,EACN,CAAC,UAA2D,EAAE,EAAE,CAChE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC;oBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;YACL,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
interactiveSlider: {
|
|
5
|
+
setInteractiveSlider: (attributes: {
|
|
6
|
+
label: string;
|
|
7
|
+
min: number;
|
|
8
|
+
max: number;
|
|
9
|
+
step: number;
|
|
10
|
+
defaultValue: number;
|
|
11
|
+
states: {
|
|
12
|
+
range: [number, number];
|
|
13
|
+
label: string;
|
|
14
|
+
color?: string;
|
|
15
|
+
}[];
|
|
16
|
+
}) => ReturnType;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export declare const CommonPubInteractiveSlider: Node<any, any>;
|
|
21
|
+
//# sourceMappingURL=interactiveSlider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactiveSlider.d.ts","sourceRoot":"","sources":["../../src/extensions/interactiveSlider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,iBAAiB,EAAE;YACjB,oBAAoB,EAAE,CAAC,UAAU,EAAE;gBACjC,KAAK,EAAE,MAAM,CAAC;gBACd,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,YAAY,EAAE,MAAM,CAAC;gBACrB,MAAM,EAAE;oBAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAAC,KAAK,EAAE,MAAM,CAAC;oBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;iBAAE,EAAE,CAAC;aACtE,KAAK,UAAU,CAAC;SAClB,CAAC;KACH;CACF;AAED,eAAO,MAAM,0BAA0B,gBA+CrC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubInteractiveSlider = Node.create({
|
|
3
|
+
name: 'interactiveSlider',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
label: { default: '' },
|
|
9
|
+
min: { default: 0 },
|
|
10
|
+
max: { default: 100 },
|
|
11
|
+
step: { default: 1 },
|
|
12
|
+
defaultValue: { default: 50 },
|
|
13
|
+
states: {
|
|
14
|
+
default: [],
|
|
15
|
+
parseHTML: (element) => {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.parse(element.getAttribute('data-states') || '[]');
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
renderHTML: (attributes) => ({
|
|
24
|
+
'data-states': JSON.stringify(attributes.states),
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
parseHTML() {
|
|
30
|
+
return [{ tag: 'div.cpub-interactive-slider' }];
|
|
31
|
+
},
|
|
32
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
33
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-interactive-slider' }),
|
|
34
|
+
['span', {}, node.attrs.label],
|
|
35
|
+
];
|
|
36
|
+
},
|
|
37
|
+
addCommands() {
|
|
38
|
+
return {
|
|
39
|
+
setInteractiveSlider: (attributes) => ({ commands }) => {
|
|
40
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=interactiveSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactiveSlider.js","sourceRoot":"","sources":["../../src/extensions/interactiveSlider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAiBrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtB,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YACnB,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YACpB,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7B,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,OAAoB,EAAE,EAAE;oBAClC,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC;oBACjE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,UAAU,EAAE,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;oBACpD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;iBACjD,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;QACjC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;YAClF,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO;YACL,oBAAoB,EAClB,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
markdown: {
|
|
5
|
+
setMarkdown: (attributes: {
|
|
6
|
+
source: string;
|
|
7
|
+
}) => ReturnType;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare const CommonPubMarkdown: Node<any, any>;
|
|
12
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/extensions/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,QAAQ,EAAE;YACR,WAAW,EAAE,CAAC,UAAU,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;SAC7D,CAAC;KACH;CACF;AAED,eAAO,MAAM,iBAAiB,gBA4B5B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubMarkdown = Node.create({
|
|
3
|
+
name: 'markdown',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
source: { default: '' },
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
parseHTML() {
|
|
12
|
+
return [{ tag: 'div.cpub-markdown' }];
|
|
13
|
+
},
|
|
14
|
+
renderHTML({ HTMLAttributes }) {
|
|
15
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-markdown' }), ['pre', {}, HTMLAttributes.source || '']];
|
|
16
|
+
},
|
|
17
|
+
addCommands() {
|
|
18
|
+
return {
|
|
19
|
+
setMarkdown: (attributes) => ({ commands }) => {
|
|
20
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/extensions/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,WAAW;QACT,OAAO;YACL,WAAW,EACT,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
mathNotation: {
|
|
5
|
+
setMathNotation: (attributes: {
|
|
6
|
+
expression: string;
|
|
7
|
+
display?: boolean;
|
|
8
|
+
}) => ReturnType;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare const CommonPubMathNotation: Node<any, any>;
|
|
13
|
+
//# sourceMappingURL=mathNotation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathNotation.d.ts","sourceRoot":"","sources":["../../src/extensions/mathNotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,YAAY,EAAE;YACZ,eAAe,EAAE,CAAC,UAAU,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,OAAO,CAAA;aAAE,KAAK,UAAU,CAAC;SACxF,CAAC;KACH;CACF;AAED,eAAO,MAAM,qBAAqB,gBA+BhC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubMathNotation = Node.create({
|
|
3
|
+
name: 'mathNotation',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
expression: { default: '' },
|
|
9
|
+
display: { default: false },
|
|
10
|
+
};
|
|
11
|
+
},
|
|
12
|
+
parseHTML() {
|
|
13
|
+
return [{ tag: 'div.cpub-math' }];
|
|
14
|
+
},
|
|
15
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
16
|
+
return ['div', mergeAttributes(HTMLAttributes, {
|
|
17
|
+
class: `cpub-math ${node.attrs.display ? 'cpub-math-display' : 'cpub-math-inline'}`,
|
|
18
|
+
}), ['code', {}, node.attrs.expression]];
|
|
19
|
+
},
|
|
20
|
+
addCommands() {
|
|
21
|
+
return {
|
|
22
|
+
setMathNotation: (attributes) => ({ commands }) => {
|
|
23
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=mathNotation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathNotation.js","sourceRoot":"","sources":["../../src/extensions/mathNotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC3B,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;QACjC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE;gBAC7C,KAAK,EAAE,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,EAAE;aACpF,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO;YACL,eAAe,EACb,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
partsList: {
|
|
5
|
+
setPartsList: (attributes: {
|
|
6
|
+
parts: {
|
|
7
|
+
name: string;
|
|
8
|
+
qty: number;
|
|
9
|
+
price?: number;
|
|
10
|
+
url?: string;
|
|
11
|
+
category?: string;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
}[];
|
|
14
|
+
}) => ReturnType;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export declare const CommonPubPartsList: Node<any, any>;
|
|
19
|
+
//# sourceMappingURL=partsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partsList.d.ts","sourceRoot":"","sources":["../../src/extensions/partsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,SAAS,EAAE;YACT,YAAY,EAAE,CAAC,UAAU,EAAE;gBAAE,KAAK,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,GAAG,EAAE,MAAM,CAAC;oBAAC,KAAK,CAAC,EAAE,MAAM,CAAC;oBAAC,GAAG,CAAC,EAAE,MAAM,CAAC;oBAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;iBAAE,EAAE,CAAA;aAAE,KAAK,UAAU,CAAC;SAC3J,CAAC;KACH;CACF;AAED,eAAO,MAAM,kBAAkB,gBAwC7B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubPartsList = Node.create({
|
|
3
|
+
name: 'partsList',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
parts: {
|
|
9
|
+
default: [],
|
|
10
|
+
parseHTML: (element) => {
|
|
11
|
+
try {
|
|
12
|
+
return JSON.parse(element.getAttribute('data-parts') || '[]');
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
renderHTML: (attributes) => ({
|
|
19
|
+
'data-parts': JSON.stringify(attributes.parts),
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
parseHTML() {
|
|
25
|
+
return [{ tag: 'div.cpub-parts-list' }];
|
|
26
|
+
},
|
|
27
|
+
renderHTML({ HTMLAttributes }) {
|
|
28
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-parts-list' })];
|
|
29
|
+
},
|
|
30
|
+
addCommands() {
|
|
31
|
+
return {
|
|
32
|
+
setPartsList: (attributes) => ({ commands }) => {
|
|
33
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=partsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partsList.js","sourceRoot":"","sources":["../../src/extensions/partsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,OAAoB,EAAE,EAAE;oBAClC,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;oBAChE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,UAAU,EAAE,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;oBACpD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;iBAC/C,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,WAAW;QACT,OAAO;YACL,YAAY,EACV,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
quiz: {
|
|
5
|
+
setQuiz: (attributes: {
|
|
6
|
+
question: string;
|
|
7
|
+
options: {
|
|
8
|
+
text: string;
|
|
9
|
+
correct: boolean;
|
|
10
|
+
}[];
|
|
11
|
+
feedback?: string;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export declare const CommonPubQuiz: Node<any, any>;
|
|
17
|
+
//# sourceMappingURL=quiz.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quiz.d.ts","sourceRoot":"","sources":["../../src/extensions/quiz.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,UAAU,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,OAAO,CAAA;iBAAE,EAAE,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;SAC7H,CAAC;KACH;CACF;AAED,eAAO,MAAM,aAAa,gBA4CxB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubQuiz = Node.create({
|
|
3
|
+
name: 'quiz',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
question: { default: '' },
|
|
9
|
+
options: {
|
|
10
|
+
default: [],
|
|
11
|
+
parseHTML: (element) => {
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(element.getAttribute('data-options') || '[]');
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
renderHTML: (attributes) => ({
|
|
20
|
+
'data-options': JSON.stringify(attributes.options),
|
|
21
|
+
}),
|
|
22
|
+
},
|
|
23
|
+
feedback: { default: null },
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
parseHTML() {
|
|
27
|
+
return [{ tag: 'div.cpub-quiz' }];
|
|
28
|
+
},
|
|
29
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
30
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-quiz' }),
|
|
31
|
+
['p', { class: 'cpub-quiz-question' }, node.attrs.question],
|
|
32
|
+
];
|
|
33
|
+
},
|
|
34
|
+
addCommands() {
|
|
35
|
+
return {
|
|
36
|
+
setQuiz: (attributes) => ({ commands }) => {
|
|
37
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=quiz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quiz.js","sourceRoot":"","sources":["../../src/extensions/quiz.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACzB,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,OAAoB,EAAE,EAAE;oBAClC,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC;oBAClE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,UAAU,EAAE,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;oBACpD,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;iBACnD,CAAC;aACH;YACD,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;QACjC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YACpE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO;YACL,OAAO,EACL,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
blockquote: {
|
|
5
|
+
setBlockquote: () => ReturnType;
|
|
6
|
+
toggleBlockquote: () => ReturnType;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const CommonPubQuote: Node<any, any>;
|
|
11
|
+
//# sourceMappingURL=quote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../src/extensions/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,cAAc,CAAC;AAEvD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE;YACV,aAAa,EAAE,MAAM,UAAU,CAAC;YAChC,gBAAgB,EAAE,MAAM,UAAU,CAAC;SACpC,CAAC;KACH;CACF;AAED,eAAO,MAAM,cAAc,gBAiDzB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Node, wrappingInputRule } from '@tiptap/core';
|
|
2
|
+
export const CommonPubQuote = Node.create({
|
|
3
|
+
name: 'blockquote',
|
|
4
|
+
group: 'block',
|
|
5
|
+
content: 'block+',
|
|
6
|
+
defining: true,
|
|
7
|
+
addAttributes() {
|
|
8
|
+
return {
|
|
9
|
+
attribution: { default: null },
|
|
10
|
+
};
|
|
11
|
+
},
|
|
12
|
+
parseHTML() {
|
|
13
|
+
return [{ tag: 'blockquote' }];
|
|
14
|
+
},
|
|
15
|
+
renderHTML({ HTMLAttributes }) {
|
|
16
|
+
return ['blockquote', HTMLAttributes, 0];
|
|
17
|
+
},
|
|
18
|
+
addCommands() {
|
|
19
|
+
return {
|
|
20
|
+
setBlockquote: () => ({ commands }) => {
|
|
21
|
+
return commands.wrapIn(this.name);
|
|
22
|
+
},
|
|
23
|
+
toggleBlockquote: () => ({ commands }) => {
|
|
24
|
+
return commands.toggleWrap(this.name);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
addInputRules() {
|
|
29
|
+
return [
|
|
30
|
+
wrappingInputRule({
|
|
31
|
+
find: /^>\s$/,
|
|
32
|
+
type: this.type,
|
|
33
|
+
}),
|
|
34
|
+
];
|
|
35
|
+
},
|
|
36
|
+
addKeyboardShortcuts() {
|
|
37
|
+
return {
|
|
38
|
+
'Mod-Shift-b': () => this.editor.commands.toggleWrap(this.name),
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=quote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../src/extensions/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAWvD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,IAAI;IAEd,aAAa;QACX,OAAO;YACL,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO;YACL,aAAa,EACX,GAAG,EAAE,CACL,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACH,gBAAgB,EACd,GAAG,EAAE,CACL,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,iBAAiB,CAAC;gBAChB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO;YACL,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;SAChE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/extensions/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,eAAO,MAAM,aAAa,gBAYxB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
export const CommonPubText = Node.create({
|
|
3
|
+
name: 'paragraph',
|
|
4
|
+
group: 'block',
|
|
5
|
+
content: 'inline*',
|
|
6
|
+
parseHTML() {
|
|
7
|
+
return [{ tag: 'p' }];
|
|
8
|
+
},
|
|
9
|
+
renderHTML({ HTMLAttributes }) {
|
|
10
|
+
return ['p', HTMLAttributes, 0];
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extensions/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAElB,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
toolList: {
|
|
5
|
+
setToolList: (attributes: {
|
|
6
|
+
tools: {
|
|
7
|
+
name: string;
|
|
8
|
+
url?: string;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
}[];
|
|
11
|
+
}) => ReturnType;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export declare const CommonPubToolList: Node<any, any>;
|
|
16
|
+
//# sourceMappingURL=toolList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolList.d.ts","sourceRoot":"","sources":["../../src/extensions/toolList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,QAAQ,EAAE;YACR,WAAW,EAAE,CAAC,UAAU,EAAE;gBAAE,KAAK,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,GAAG,CAAC,EAAE,MAAM,CAAC;oBAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;iBAAE,EAAE,CAAA;aAAE,KAAK,UAAU,CAAC;SAC1G,CAAC;KACH;CACF;AAED,eAAO,MAAM,iBAAiB,gBAwC5B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubToolList = Node.create({
|
|
3
|
+
name: 'toolList',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addAttributes() {
|
|
7
|
+
return {
|
|
8
|
+
tools: {
|
|
9
|
+
default: [],
|
|
10
|
+
parseHTML: (element) => {
|
|
11
|
+
try {
|
|
12
|
+
return JSON.parse(element.getAttribute('data-tools') || '[]');
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
renderHTML: (attributes) => ({
|
|
19
|
+
'data-tools': JSON.stringify(attributes.tools),
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
parseHTML() {
|
|
25
|
+
return [{ tag: 'div.cpub-tool-list' }];
|
|
26
|
+
},
|
|
27
|
+
renderHTML({ HTMLAttributes }) {
|
|
28
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-tool-list' })];
|
|
29
|
+
},
|
|
30
|
+
addCommands() {
|
|
31
|
+
return {
|
|
32
|
+
setToolList: (attributes) => ({ commands }) => {
|
|
33
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=toolList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolList.js","sourceRoot":"","sources":["../../src/extensions/toolList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,OAAoB,EAAE,EAAE;oBAClC,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;oBAChE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,UAAU,EAAE,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;oBACpD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;iBAC/C,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW;QACT,OAAO;YACL,WAAW,EACT,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
export interface VideoOptions {
|
|
3
|
+
allowedPlatforms: string[];
|
|
4
|
+
}
|
|
5
|
+
declare module '@tiptap/core' {
|
|
6
|
+
interface Commands<ReturnType> {
|
|
7
|
+
video: {
|
|
8
|
+
setVideo: (attributes: {
|
|
9
|
+
url: string;
|
|
10
|
+
platform?: string;
|
|
11
|
+
caption?: string;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export declare const CommonPubVideo: Node<VideoOptions, any>;
|
|
17
|
+
//# sourceMappingURL=video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/extensions/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC,UAAU,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;SAC5F,CAAC;KACH;CACF;AAED,eAAO,MAAM,cAAc,yBAoCzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Node, mergeAttributes } from '@tiptap/core';
|
|
2
|
+
export const CommonPubVideo = Node.create({
|
|
3
|
+
name: 'video',
|
|
4
|
+
group: 'block',
|
|
5
|
+
atom: true,
|
|
6
|
+
addOptions() {
|
|
7
|
+
return {
|
|
8
|
+
allowedPlatforms: ['youtube', 'vimeo', 'twitch', 'other'],
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
addAttributes() {
|
|
12
|
+
return {
|
|
13
|
+
url: { default: '' },
|
|
14
|
+
platform: { default: 'other' },
|
|
15
|
+
caption: { default: null },
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
parseHTML() {
|
|
19
|
+
return [{ tag: 'div.cpub-video' }];
|
|
20
|
+
},
|
|
21
|
+
renderHTML({ HTMLAttributes }) {
|
|
22
|
+
return ['div', mergeAttributes(HTMLAttributes, { class: 'cpub-video' }), ['span', {}, HTMLAttributes.caption || '']];
|
|
23
|
+
},
|
|
24
|
+
addCommands() {
|
|
25
|
+
return {
|
|
26
|
+
setVideo: (attributes) => ({ commands }) => {
|
|
27
|
+
return commands.insertContent({ type: this.name, attrs: attributes });
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/extensions/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAcrD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAe;IACtD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IAEV,UAAU;QACR,OAAO;YACL,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;YAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,WAAW;QACT,OAAO;YACL,QAAQ,EACN,CAAC,UAAU,EAAE,EAAE,CACf,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type { BlockTuple, TypedBlockTuple, BlockDefinition } from './blocks/types.js';
|
|
2
|
+
export { textContentSchema, headingContentSchema, codeContentSchema, imageContentSchema, quoteContentSchema, calloutContentSchema, galleryContentSchema, videoContentSchema, embedContentSchema, markdownContentSchema, dividerContentSchema, partsListContentSchema, buildStepContentSchema, toolListContentSchema, downloadsContentSchema, quizContentSchema, interactiveSliderContentSchema, checkpointContentSchema, mathNotationContentSchema, sectionHeaderContentSchema, } from './blocks/schemas.js';
|
|
3
|
+
export type { TextContent, HeadingContent, CodeContent, ImageContent, QuoteContent, CalloutContent, GalleryContent, VideoContent, EmbedContent, MarkdownContent, DividerContent, PartsListContent, BuildStepContent, ToolListContent, DownloadsContent, QuizContent, InteractiveSliderContent, CheckpointContent, MathNotationContent, SectionHeaderContent, } from './blocks/schemas.js';
|
|
4
|
+
export { registerBlock, lookupBlock, listBlocks, validateBlock, clearRegistry, registerCoreBlocks, } from './blocks/registry.js';
|
|
5
|
+
export { blockTuplesToDoc, docToBlockTuples, validateBlockTuples, buildEditorSchema, } from './serialization.js';
|
|
6
|
+
export { CommonPubText } from './extensions/text.js';
|
|
7
|
+
export { CommonPubHeading } from './extensions/heading.js';
|
|
8
|
+
export { CommonPubCodeBlock } from './extensions/code.js';
|
|
9
|
+
export { CommonPubImage } from './extensions/image.js';
|
|
10
|
+
export { CommonPubQuote } from './extensions/quote.js';
|
|
11
|
+
export { CommonPubCallout } from './extensions/callout.js';
|
|
12
|
+
export { CommonPubGallery } from './extensions/gallery.js';
|
|
13
|
+
export { CommonPubVideo } from './extensions/video.js';
|
|
14
|
+
export { CommonPubEmbed } from './extensions/embed.js';
|
|
15
|
+
export { CommonPubMarkdown } from './extensions/markdown.js';
|
|
16
|
+
export { CommonPubPartsList } from './extensions/partsList.js';
|
|
17
|
+
export { CommonPubBuildStep } from './extensions/buildStep.js';
|
|
18
|
+
export { CommonPubToolList } from './extensions/toolList.js';
|
|
19
|
+
export { CommonPubDownloads } from './extensions/downloads.js';
|
|
20
|
+
export { CommonPubQuiz } from './extensions/quiz.js';
|
|
21
|
+
export { CommonPubInteractiveSlider } from './extensions/interactiveSlider.js';
|
|
22
|
+
export { CommonPubCheckpoint } from './extensions/checkpoint.js';
|
|
23
|
+
export { CommonPubMathNotation } from './extensions/mathNotation.js';
|
|
24
|
+
export { createCommonPubEditor } from './editorKit.js';
|
|
25
|
+
export type { CreateCommonPubEditorOptions } from './editorKit.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC"}
|