@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.
Files changed (99) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +145 -0
  3. package/dist/blocks/registry.d.ts +17 -0
  4. package/dist/blocks/registry.d.ts.map +1 -0
  5. package/dist/blocks/registry.js +65 -0
  6. package/dist/blocks/registry.js.map +1 -0
  7. package/dist/blocks/schemas.d.ts +137 -0
  8. package/dist/blocks/schemas.d.ts.map +1 -0
  9. package/dist/blocks/schemas.js +113 -0
  10. package/dist/blocks/schemas.js.map +1 -0
  11. package/dist/blocks/types.d.ts +16 -0
  12. package/dist/blocks/types.d.ts.map +1 -0
  13. package/dist/blocks/types.js +2 -0
  14. package/dist/blocks/types.js.map +1 -0
  15. package/dist/editorKit.d.ts +12 -0
  16. package/dist/editorKit.d.ts.map +1 -0
  17. package/dist/editorKit.js +94 -0
  18. package/dist/editorKit.js.map +1 -0
  19. package/dist/extensions/buildStep.d.ts +16 -0
  20. package/dist/extensions/buildStep.d.ts.map +1 -0
  21. package/dist/extensions/buildStep.js +45 -0
  22. package/dist/extensions/buildStep.js.map +1 -0
  23. package/dist/extensions/callout.d.ts +19 -0
  24. package/dist/extensions/callout.d.ts.map +1 -0
  25. package/dist/extensions/callout.js +52 -0
  26. package/dist/extensions/callout.js.map +1 -0
  27. package/dist/extensions/checkpoint.d.ts +12 -0
  28. package/dist/extensions/checkpoint.d.ts.map +1 -0
  29. package/dist/extensions/checkpoint.js +27 -0
  30. package/dist/extensions/checkpoint.js.map +1 -0
  31. package/dist/extensions/code.d.ts +18 -0
  32. package/dist/extensions/code.d.ts.map +1 -0
  33. package/dist/extensions/code.js +75 -0
  34. package/dist/extensions/code.js.map +1 -0
  35. package/dist/extensions/downloads.d.ts +17 -0
  36. package/dist/extensions/downloads.d.ts.map +1 -0
  37. package/dist/extensions/downloads.js +38 -0
  38. package/dist/extensions/downloads.js.map +1 -0
  39. package/dist/extensions/embed.d.ts +14 -0
  40. package/dist/extensions/embed.d.ts.map +1 -0
  41. package/dist/extensions/embed.js +27 -0
  42. package/dist/extensions/embed.js.map +1 -0
  43. package/dist/extensions/gallery.d.ts +19 -0
  44. package/dist/extensions/gallery.d.ts.map +1 -0
  45. package/dist/extensions/gallery.js +43 -0
  46. package/dist/extensions/gallery.js.map +1 -0
  47. package/dist/extensions/heading.d.ts +18 -0
  48. package/dist/extensions/heading.d.ts.map +1 -0
  49. package/dist/extensions/heading.js +57 -0
  50. package/dist/extensions/heading.js.map +1 -0
  51. package/dist/extensions/image.d.ts +17 -0
  52. package/dist/extensions/image.d.ts.map +1 -0
  53. package/dist/extensions/image.js +49 -0
  54. package/dist/extensions/image.js.map +1 -0
  55. package/dist/extensions/interactiveSlider.d.ts +21 -0
  56. package/dist/extensions/interactiveSlider.d.ts.map +1 -0
  57. package/dist/extensions/interactiveSlider.js +45 -0
  58. package/dist/extensions/interactiveSlider.js.map +1 -0
  59. package/dist/extensions/markdown.d.ts +12 -0
  60. package/dist/extensions/markdown.d.ts.map +1 -0
  61. package/dist/extensions/markdown.js +25 -0
  62. package/dist/extensions/markdown.js.map +1 -0
  63. package/dist/extensions/mathNotation.d.ts +13 -0
  64. package/dist/extensions/mathNotation.d.ts.map +1 -0
  65. package/dist/extensions/mathNotation.js +28 -0
  66. package/dist/extensions/mathNotation.js.map +1 -0
  67. package/dist/extensions/partsList.d.ts +19 -0
  68. package/dist/extensions/partsList.d.ts.map +1 -0
  69. package/dist/extensions/partsList.js +38 -0
  70. package/dist/extensions/partsList.js.map +1 -0
  71. package/dist/extensions/quiz.d.ts +17 -0
  72. package/dist/extensions/quiz.d.ts.map +1 -0
  73. package/dist/extensions/quiz.js +42 -0
  74. package/dist/extensions/quiz.js.map +1 -0
  75. package/dist/extensions/quote.d.ts +11 -0
  76. package/dist/extensions/quote.d.ts.map +1 -0
  77. package/dist/extensions/quote.js +42 -0
  78. package/dist/extensions/quote.js.map +1 -0
  79. package/dist/extensions/text.d.ts +3 -0
  80. package/dist/extensions/text.d.ts.map +1 -0
  81. package/dist/extensions/text.js +13 -0
  82. package/dist/extensions/text.js.map +1 -0
  83. package/dist/extensions/toolList.d.ts +16 -0
  84. package/dist/extensions/toolList.d.ts.map +1 -0
  85. package/dist/extensions/toolList.js +38 -0
  86. package/dist/extensions/toolList.js.map +1 -0
  87. package/dist/extensions/video.d.ts +17 -0
  88. package/dist/extensions/video.d.ts.map +1 -0
  89. package/dist/extensions/video.js +32 -0
  90. package/dist/extensions/video.js.map +1 -0
  91. package/dist/index.d.ts +26 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +27 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/serialization.d.ts +16 -0
  96. package/dist/serialization.d.ts.map +1 -0
  97. package/dist/serialization.js +530 -0
  98. package/dist/serialization.js.map +1 -0
  99. 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,3 @@
1
+ import { Node } from '@tiptap/core';
2
+ export declare const CommonPubText: Node<any, any>;
3
+ //# sourceMappingURL=text.d.ts.map
@@ -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"}
@@ -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"}