@edifice.io/tiptap-extensions 2.0.0-develop-rc.8 → 2.0.0-develop-rc.13

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 (100) hide show
  1. package/README.md +1 -1
  2. package/dist/abbr/abbr.cjs +32 -1
  3. package/dist/abbr/abbr.cjs.map +1 -1
  4. package/dist/abbr/abbr.d.ts +12 -12
  5. package/dist/abbr/abbr.js +20 -16
  6. package/dist/abbr/abbr.js.map +1 -1
  7. package/dist/alert/alert.cjs +32 -1
  8. package/dist/alert/alert.cjs.map +1 -1
  9. package/dist/alert/alert.js +22 -24
  10. package/dist/alert/alert.js.map +1 -1
  11. package/dist/attachment/attachment.cjs +73 -1
  12. package/dist/attachment/attachment.cjs.map +1 -1
  13. package/dist/attachment/attachment.d.ts +6 -6
  14. package/dist/attachment/attachment.js +58 -47
  15. package/dist/attachment/attachment.js.map +1 -1
  16. package/dist/audio/audio.cjs +53 -3
  17. package/dist/audio/audio.cjs.map +1 -1
  18. package/dist/audio/audio.d.ts +17 -13
  19. package/dist/audio/audio.js +33 -30
  20. package/dist/audio/audio.js.map +1 -1
  21. package/dist/font-size/font-size.cjs +48 -1
  22. package/dist/font-size/font-size.cjs.map +1 -1
  23. package/dist/font-size/font-size.d.ts +13 -13
  24. package/dist/font-size/font-size.js +32 -20
  25. package/dist/font-size/font-size.js.map +1 -1
  26. package/dist/heading/heading.cjs +61 -1
  27. package/dist/heading/heading.cjs.map +1 -1
  28. package/dist/heading/heading.d.ts +10 -12
  29. package/dist/heading/heading.js +45 -31
  30. package/dist/heading/heading.js.map +1 -1
  31. package/dist/highlight/highlight.cjs +25 -1
  32. package/dist/highlight/highlight.cjs.map +1 -1
  33. package/dist/highlight/highlight.d.ts +4 -1
  34. package/dist/highlight/highlight.js +15 -17
  35. package/dist/highlight/highlight.js.map +1 -1
  36. package/dist/hyperlink/hyperlink.cjs +47 -1
  37. package/dist/hyperlink/hyperlink.cjs.map +1 -1
  38. package/dist/hyperlink/hyperlink.d.ts +27 -24
  39. package/dist/hyperlink/hyperlink.js +26 -24
  40. package/dist/hyperlink/hyperlink.js.map +1 -1
  41. package/dist/iframe/iframe.cjs +69 -1
  42. package/dist/iframe/iframe.cjs.map +1 -1
  43. package/dist/iframe/iframe.d.ts +12 -14
  44. package/dist/iframe/iframe.js +50 -34
  45. package/dist/iframe/iframe.js.map +1 -1
  46. package/dist/image/custom-image.cjs +162 -1
  47. package/dist/image/custom-image.cjs.map +1 -1
  48. package/dist/image/custom-image.d.ts +19 -16
  49. package/dist/image/custom-image.js +179 -130
  50. package/dist/image/custom-image.js.map +1 -1
  51. package/dist/index.cjs +43 -1
  52. package/dist/index.js +41 -41
  53. package/dist/line-height/line-height.cjs +33 -1
  54. package/dist/line-height/line-height.cjs.map +1 -1
  55. package/dist/line-height/line-height.js +21 -18
  56. package/dist/line-height/line-height.js.map +1 -1
  57. package/dist/linker/linker.cjs +95 -1
  58. package/dist/linker/linker.cjs.map +1 -1
  59. package/dist/linker/linker.d.ts +17 -17
  60. package/dist/linker/linker.js +60 -52
  61. package/dist/linker/linker.js.map +1 -1
  62. package/dist/mathjax/mathjax.cjs +47 -1
  63. package/dist/mathjax/mathjax.cjs.map +1 -1
  64. package/dist/mathjax/mathjax.js +33 -23
  65. package/dist/mathjax/mathjax.js.map +1 -1
  66. package/dist/paragraph/paragraph.cjs +13 -1
  67. package/dist/paragraph/paragraph.cjs.map +1 -1
  68. package/dist/paragraph/paragraph.d.ts +4 -1
  69. package/dist/paragraph/paragraph.js +8 -10
  70. package/dist/paragraph/paragraph.js.map +1 -1
  71. package/dist/speech-recognition/speech-recognition.cjs +76 -1
  72. package/dist/speech-recognition/speech-recognition.cjs.map +1 -1
  73. package/dist/speech-recognition/speech-recognition.d.ts +12 -12
  74. package/dist/speech-recognition/speech-recognition.js +61 -45
  75. package/dist/speech-recognition/speech-recognition.js.map +1 -1
  76. package/dist/speech-synthesis/speech-synthesis.cjs +32 -1
  77. package/dist/speech-synthesis/speech-synthesis.cjs.map +1 -1
  78. package/dist/speech-synthesis/speech-synthesis.d.ts +9 -9
  79. package/dist/speech-synthesis/speech-synthesis.js +23 -14
  80. package/dist/speech-synthesis/speech-synthesis.js.map +1 -1
  81. package/dist/table-cell/table-cell.cjs +27 -1
  82. package/dist/table-cell/table-cell.cjs.map +1 -1
  83. package/dist/table-cell/table-cell.d.ts +4 -1
  84. package/dist/table-cell/table-cell.js +21 -16
  85. package/dist/table-cell/table-cell.js.map +1 -1
  86. package/dist/transform/html-to-json/html-to-json.cjs +4 -1
  87. package/dist/transform/html-to-json/html-to-json.cjs.map +1 -1
  88. package/dist/transform/html-to-json/html-to-json.d.ts +4 -1
  89. package/dist/transform/html-to-json/html-to-json.js +3 -5
  90. package/dist/transform/html-to-json/html-to-json.js.map +1 -1
  91. package/dist/transform/json-to-html/json-to-html.cjs +4 -1
  92. package/dist/transform/json-to-html/json-to-html.cjs.map +1 -1
  93. package/dist/transform/json-to-html/json-to-html.js +3 -5
  94. package/dist/transform/json-to-html/json-to-html.js.map +1 -1
  95. package/dist/video/video.cjs +118 -9
  96. package/dist/video/video.cjs.map +1 -1
  97. package/dist/video/video.d.ts +28 -19
  98. package/dist/video/video.js +121 -97
  99. package/dist/video/video.js.map +1 -1
  100. package/package.json +36 -47
@@ -1,99 +1,123 @@
1
- import { Node as c, mergeAttributes as l, nodeInputRule as p } from "@tiptap/core";
2
- const g = /!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\)/, b = c.create({
3
- name: "video",
4
- group: "block",
5
- draggable: !0,
6
- selectable: !0,
7
- addAttributes() {
8
- return {
9
- src: {
10
- default: null,
11
- parseHTML: (t) => t.getAttribute("src"),
12
- renderHTML: (t) => ({ src: t.src })
13
- },
14
- controls: {
15
- default: !0,
16
- parseHTML: (t) => t.getAttribute("controls") ? t.getAttribute("controls") : !!t.hasAttribute("controls"),
17
- renderHTML: (t) => ({ controls: t.controls })
18
- },
19
- documentId: {
20
- default: "",
21
- renderHTML: (t) => ({ "data-document-id": t.documentId }),
22
- parseHTML: (t) => t.getAttribute("data-document-id")
23
- },
24
- isCaptation: {
25
- default: !1,
26
- renderHTML: (t) => ({ "data-document-is-captation": t.isCaptation }),
27
- parseHTML: (t) => t.getAttribute("data-document-is-captation")
28
- },
29
- videoResolution: {
30
- default: "404x720",
31
- renderHTML: (t) => ({ "data-video-resolution": t.videoResolution }),
32
- parseHTML: (t) => t.getAttribute("data-video-resolution")
33
- },
34
- width: {
35
- renderHTML: (t) => ({
36
- width: parseInt(t.width)
1
+ import { Node, mergeAttributes, nodeInputRule } from '@tiptap/core';
2
+ const VIDEO_INPUT_REGEX = /!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\)/,
3
+ Video = Node.create({
4
+ name: 'video',
5
+ group: 'block',
6
+ draggable: !0,
7
+ selectable: !0,
8
+ addAttributes() {
9
+ return {
10
+ src: {
11
+ default: null,
12
+ parseHTML: (el) => el.getAttribute('src'),
13
+ renderHTML: (attrs) => ({ src: attrs.src }),
14
+ },
15
+ controls: {
16
+ default: !0,
17
+ parseHTML: (el) =>
18
+ el.getAttribute('controls')
19
+ ? el.getAttribute('controls')
20
+ : !!el.hasAttribute('controls'),
21
+ renderHTML: (attrs) => ({ controls: attrs.controls }),
22
+ },
23
+ documentId: {
24
+ default: '',
25
+ renderHTML: (attributes) => ({
26
+ 'data-document-id': attributes.documentId,
27
+ }),
28
+ parseHTML: (element) => element.getAttribute('data-document-id'),
29
+ },
30
+ isCaptation: {
31
+ default: !1,
32
+ renderHTML: (attributes) => ({
33
+ 'data-document-is-captation': attributes.isCaptation,
34
+ }),
35
+ parseHTML: (element) =>
36
+ element.getAttribute('data-document-is-captation'),
37
+ },
38
+ videoResolution: {
39
+ default: '404x720',
40
+ renderHTML: (attributes) => ({
41
+ 'data-video-resolution': attributes.videoResolution,
42
+ }),
43
+ parseHTML: (element) => element.getAttribute('data-video-resolution'),
44
+ },
45
+ width: {
46
+ renderHTML: (attributes) => ({
47
+ width: parseInt(attributes.width),
48
+ }),
49
+ parseHTML: (element) => element.getAttribute('width'),
50
+ },
51
+ height: {
52
+ renderHTML: (attributes) => ({
53
+ height: parseInt(attributes.height),
54
+ }),
55
+ parseHTML: (element) => element.getAttribute('height'),
56
+ },
57
+ };
58
+ },
59
+ parseHTML() {
60
+ return [
61
+ {
62
+ tag: 'div.video-wrapper>video,video',
63
+ getAttrs: (el) => ({
64
+ src: el.getAttribute('src'),
65
+ }),
66
+ },
67
+ ];
68
+ },
69
+ renderHTML({ HTMLAttributes }) {
70
+ return [
71
+ 'div',
72
+ { class: 'video-wrapper' },
73
+ ['video', mergeAttributes(HTMLAttributes)],
74
+ ];
75
+ },
76
+ addCommands() {
77
+ return {
78
+ setVideo:
79
+ (
80
+ id,
81
+ src,
82
+ isCaptation,
83
+ width = 350,
84
+ height = 197,
85
+ controls = !0,
86
+ controlslist = 'nodownload',
87
+ options,
88
+ ) =>
89
+ ({ commands, state }) =>
90
+ commands.insertContentAt(
91
+ state.selection,
92
+ `<video
93
+ controls="${controls}"
94
+ controlslist="${controlslist}"
95
+ src="${src}"
96
+ width="${width}"
97
+ height="${height}"
98
+ data-document-id="${id}"
99
+ data-document-is-captation="${isCaptation}"
100
+ data-video-resolution="${width}x${height}" />`,
101
+ options,
102
+ ),
103
+ toggleVideo:
104
+ () =>
105
+ ({ commands }) =>
106
+ commands.toggleNode(this.name, 'paragraph'),
107
+ };
108
+ },
109
+ addInputRules() {
110
+ return [
111
+ nodeInputRule({
112
+ find: VIDEO_INPUT_REGEX,
113
+ type: this.type,
114
+ getAttributes: (match) => {
115
+ const [, , src] = match;
116
+ return { src };
117
+ },
37
118
  }),
38
- parseHTML: (t) => t.getAttribute("width")
39
- },
40
- height: {
41
- renderHTML: (t) => ({
42
- height: parseInt(t.height)
43
- }),
44
- parseHTML: (t) => t.getAttribute("height")
45
- }
46
- };
47
- },
48
- parseHTML() {
49
- return [
50
- {
51
- tag: "div.video-wrapper>video,video",
52
- getAttrs: (t) => ({
53
- src: t.getAttribute("src")
54
- })
55
- }
56
- ];
57
- },
58
- renderHTML({ HTMLAttributes: t }) {
59
- return [
60
- "div",
61
- { class: "video-wrapper" },
62
- ["video", l(t)]
63
- ];
64
- },
65
- addCommands() {
66
- return {
67
- setVideo: (t, e, d, r = 350, o = 197, n = !0, i = "nodownload", a) => ({ commands: s, state: u }) => s.insertContentAt(
68
- u.selection,
69
- `<video
70
- controls="${n}"
71
- controlslist="${i}"
72
- src="${e}"
73
- width="${r}"
74
- height="${o}"
75
- data-document-id="${t}"
76
- data-document-is-captation="${d}"
77
- data-video-resolution="${r}x${o}" />`,
78
- a
79
- ),
80
- toggleVideo: () => ({ commands: t }) => t.toggleNode(this.name, "paragraph")
81
- };
82
- },
83
- addInputRules() {
84
- return [
85
- p({
86
- find: g,
87
- type: this.type,
88
- getAttributes: (t) => {
89
- const [, , e] = t;
90
- return { src: e };
91
- }
92
- })
93
- ];
94
- }
95
- });
96
- export {
97
- b as Video
98
- };
119
+ ];
120
+ },
121
+ });
122
+ export { Video };
99
123
  //# sourceMappingURL=video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sources":["../../src/video/video.ts"],"sourcesContent":["import { mergeAttributes, Node, nodeInputRule } from '@tiptap/core';\n\nexport interface VideoOptions {\n url: string;\n width: number;\n height: number;\n HTMLAttributes: Record<string, any>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n video: {\n /**\n * Set a video node\n * @param options.updateSelection set to true will select the newly inserted content\n */\n setVideo: (\n id: string,\n src: string,\n isCaptation: boolean,\n width?: number,\n height?: number,\n controls?: boolean,\n controlslist?: string,\n options?: { updateSelection: boolean },\n ) => ReturnType;\n /**\n * Toggle a video\n */\n toggleVideo: (src: string) => ReturnType;\n };\n }\n}\n\nconst VIDEO_INPUT_REGEX = /!\\[(.+|:?)]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\)/;\n\nexport const Video = Node.create({\n name: 'video',\n group: 'block',\n draggable: true,\n selectable: true,\n\n addAttributes() {\n return {\n src: {\n default: null,\n parseHTML: (el: any) => (el as HTMLSpanElement).getAttribute('src'),\n renderHTML: (attrs: any) => ({ src: attrs.src }),\n },\n controls: {\n default: true,\n parseHTML: (el: any) => {\n if ((el as HTMLSpanElement).getAttribute('controls')) {\n return (el as HTMLSpanElement).getAttribute('controls');\n } else if ((el as HTMLSpanElement).hasAttribute('controls')) {\n return true;\n } else {\n return false;\n }\n },\n renderHTML: (attrs: any) => ({ controls: attrs.controls }),\n },\n documentId: {\n default: '',\n renderHTML: (attributes: any) => {\n return { 'data-document-id': attributes.documentId };\n },\n parseHTML: (element: any) => element.getAttribute('data-document-id'),\n },\n isCaptation: {\n default: false,\n renderHTML: (attributes: any) => {\n return { 'data-document-is-captation': attributes.isCaptation };\n },\n parseHTML: (element: any) =>\n element.getAttribute('data-document-is-captation'),\n },\n videoResolution: {\n default: '404x720',\n renderHTML: (attributes: any) => {\n return { 'data-video-resolution': attributes.videoResolution };\n },\n parseHTML: (element: any) =>\n element.getAttribute('data-video-resolution'),\n },\n width: {\n renderHTML: (attributes: any) => {\n return {\n width: parseInt(attributes.width),\n };\n },\n parseHTML: (element) => element.getAttribute('width'),\n },\n height: {\n renderHTML: (attributes: any) => {\n return {\n height: parseInt(attributes.height),\n };\n },\n parseHTML: (element) => element.getAttribute('height'),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div.video-wrapper>video,video',\n getAttrs: (el: any) => ({\n src: (el as HTMLVideoElement).getAttribute('src'),\n }),\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div',\n { class: 'video-wrapper' },\n ['video', mergeAttributes(HTMLAttributes)],\n ];\n },\n\n addCommands() {\n return {\n setVideo:\n (\n id: string,\n src: string,\n isCaptation: boolean,\n width = 350,\n height = 197,\n controls = true,\n controlslist = 'nodownload',\n options,\n ) =>\n ({ commands, state }) => {\n return commands.insertContentAt(\n state.selection,\n `<video \n controls=\"${controls}\" \n controlslist=\"${controlslist}\"\n src=\"${src}\" \n width=\"${width}\"\n height=\"${height}\"\n data-document-id=\"${id}\" \n data-document-is-captation=\"${isCaptation}\"\n data-video-resolution=\"${width}x${height}\" />`,\n options,\n );\n },\n\n toggleVideo:\n () =>\n ({ commands }) =>\n commands.toggleNode(this.name, 'paragraph'),\n };\n },\n\n addInputRules() {\n return [\n nodeInputRule({\n find: VIDEO_INPUT_REGEX,\n type: this.type,\n getAttributes: (match) => {\n const [, , src] = match;\n\n return { src };\n },\n }),\n ];\n },\n});\n"],"names":["VIDEO_INPUT_REGEX","Video","Node","el","attrs","attributes","element","HTMLAttributes","mergeAttributes","id","src","isCaptation","width","height","controls","controlslist","options","commands","state","nodeInputRule","match"],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sources":["../../src/video/video.ts"],"sourcesContent":["import { mergeAttributes, Node, nodeInputRule } from '@tiptap/core';\n\nexport interface VideoOptions {\n url: string;\n width: number;\n height: number;\n HTMLAttributes: Record<string, any>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n video: {\n /**\n * Set a video node\n * @param options.updateSelection set to true will select the newly inserted content\n */\n setVideo: (\n id: string,\n src: string,\n isCaptation: boolean,\n width?: number,\n height?: number,\n controls?: boolean,\n controlslist?: string,\n options?: { updateSelection: boolean },\n ) => ReturnType;\n /**\n * Toggle a video\n */\n toggleVideo: (src: string) => ReturnType;\n };\n }\n}\n\nconst VIDEO_INPUT_REGEX = /!\\[(.+|:?)]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\)/;\n\nexport const Video = Node.create({\n name: 'video',\n group: 'block',\n draggable: true,\n selectable: true,\n\n addAttributes() {\n return {\n src: {\n default: null,\n parseHTML: (el: any) => (el as HTMLSpanElement).getAttribute('src'),\n renderHTML: (attrs: any) => ({ src: attrs.src }),\n },\n controls: {\n default: true,\n parseHTML: (el: any) => {\n if ((el as HTMLSpanElement).getAttribute('controls')) {\n return (el as HTMLSpanElement).getAttribute('controls');\n } else if ((el as HTMLSpanElement).hasAttribute('controls')) {\n return true;\n } else {\n return false;\n }\n },\n renderHTML: (attrs: any) => ({ controls: attrs.controls }),\n },\n documentId: {\n default: '',\n renderHTML: (attributes: any) => {\n return { 'data-document-id': attributes.documentId };\n },\n parseHTML: (element: any) => element.getAttribute('data-document-id'),\n },\n isCaptation: {\n default: false,\n renderHTML: (attributes: any) => {\n return { 'data-document-is-captation': attributes.isCaptation };\n },\n parseHTML: (element: any) =>\n element.getAttribute('data-document-is-captation'),\n },\n videoResolution: {\n default: '404x720',\n renderHTML: (attributes: any) => {\n return { 'data-video-resolution': attributes.videoResolution };\n },\n parseHTML: (element: any) =>\n element.getAttribute('data-video-resolution'),\n },\n width: {\n renderHTML: (attributes: any) => {\n return {\n width: parseInt(attributes.width),\n };\n },\n parseHTML: (element) => element.getAttribute('width'),\n },\n height: {\n renderHTML: (attributes: any) => {\n return {\n height: parseInt(attributes.height),\n };\n },\n parseHTML: (element) => element.getAttribute('height'),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div.video-wrapper>video,video',\n getAttrs: (el: any) => ({\n src: (el as HTMLVideoElement).getAttribute('src'),\n }),\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div',\n { class: 'video-wrapper' },\n ['video', mergeAttributes(HTMLAttributes)],\n ];\n },\n\n addCommands() {\n return {\n setVideo:\n (\n id: string,\n src: string,\n isCaptation: boolean,\n width = 350,\n height = 197,\n controls = true,\n controlslist = 'nodownload',\n options,\n ) =>\n ({ commands, state }) => {\n return commands.insertContentAt(\n state.selection,\n `<video \n controls=\"${controls}\" \n controlslist=\"${controlslist}\"\n src=\"${src}\" \n width=\"${width}\"\n height=\"${height}\"\n data-document-id=\"${id}\" \n data-document-is-captation=\"${isCaptation}\"\n data-video-resolution=\"${width}x${height}\" />`,\n options,\n );\n },\n\n toggleVideo:\n () =>\n ({ commands }) =>\n commands.toggleNode(this.name, 'paragraph'),\n };\n },\n\n addInputRules() {\n return [\n nodeInputRule({\n find: VIDEO_INPUT_REGEX,\n type: this.type,\n getAttributes: (match) => {\n const [, , src] = match;\n\n return { src };\n },\n }),\n ];\n },\n});\n"],"names":[],"mappings":";AAkCA,MAAM,oBAAoB,iDAEb,QAAQ,KAAK,OAAO;AAAA,EAC/B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EAEZ,gBAAgB;AACP,WAAA;AAAA,MACL,KAAK;AAAA,QACH,SAAS;AAAA,QACT,WAAW,CAAC,OAAa,GAAuB,aAAa,KAAK;AAAA,QAClE,YAAY,CAAC,WAAgB,EAAE,KAAK,MAAM,IAAI;AAAA,MAChD;AAAA,MACA,UAAU;AAAA,QACR,SAAS;AAAA,QACT,WAAW,CAAC,OACL,GAAuB,aAAa,UAAU,IACzC,GAAuB,aAAa,UAAU,IAC5C,KAAuB,aAAa,UAAU;AAAA,QAM5D,YAAY,CAAC,WAAgB,EAAE,UAAU,MAAM,SAAS;AAAA,MAC1D;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,YAAY,CAAC,gBACJ,EAAE,oBAAoB,WAAW;QAE1C,WAAW,CAAC,YAAiB,QAAQ,aAAa,kBAAkB;AAAA,MACtE;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,YAAY,CAAC,gBACJ,EAAE,8BAA8B,WAAW;QAEpD,WAAW,CAAC,YACV,QAAQ,aAAa,4BAA4B;AAAA,MACrD;AAAA,MACA,iBAAiB;AAAA,QACf,SAAS;AAAA,QACT,YAAY,CAAC,gBACJ,EAAE,yBAAyB,WAAW;QAE/C,WAAW,CAAC,YACV,QAAQ,aAAa,uBAAuB;AAAA,MAChD;AAAA,MACA,OAAO;AAAA,QACL,YAAY,CAAC,gBACJ;AAAA,UACL,OAAO,SAAS,WAAW,KAAK;AAAA,QAAA;AAAA,QAGpC,WAAW,CAAC,YAAY,QAAQ,aAAa,OAAO;AAAA,MACtD;AAAA,MACA,QAAQ;AAAA,QACN,YAAY,CAAC,gBACJ;AAAA,UACL,QAAQ,SAAS,WAAW,MAAM;AAAA,QAAA;AAAA,QAGtC,WAAW,CAAC,YAAY,QAAQ,aAAa,QAAQ;AAAA,MACvD;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,KAAK;AAAA,QACL,UAAU,CAAC,QAAa;AAAA,UACtB,KAAM,GAAwB,aAAa,KAAK;AAAA,QAAA;AAAA,MAEpD;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,WAAW,EAAE,kBAAkB;AACtB,WAAA;AAAA,MACL;AAAA,MACA,EAAE,OAAO,gBAAgB;AAAA,MACzB,CAAC,SAAS,gBAAgB,cAAc,CAAC;AAAA,IAAA;AAAA,EAE7C;AAAA,EAEA,cAAc;AACL,WAAA;AAAA,MACL,UACE,CACE,IACA,KACA,aACA,QAAQ,KACR,SAAS,KACT,WAAW,IACX,eAAe,cACf,YAEF,CAAC,EAAE,UAAU,YACJ,SAAS;AAAA,QACd,MAAM;AAAA,QACN;AAAA,0BACc,QAAQ;AAAA,8BACJ,YAAY;AAAA,qBACrB,GAAG;AAAA,uBACD,KAAK;AAAA,wBACJ,MAAM;AAAA,kCACI,EAAE;AAAA,4CACQ,WAAW;AAAA,uCAChB,KAAK,IAAI,MAAM;AAAA,QAC1C;AAAA,MAAA;AAAA,MAIN,aACE,MACA,CAAC,EAAE,eACD,SAAS,WAAW,KAAK,MAAM,WAAW;AAAA,IAAA;AAAA,EAElD;AAAA,EAEA,gBAAgB;AACP,WAAA;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,eAAe,CAAC,UAAU;AACxB,gBAAM,CAAK,EAAA,EAAA,GAAG,IAAI;AAElB,iBAAO,EAAE,IAAI;AAAA,QACf;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF,CAAC;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/tiptap-extensions",
3
- "version": "2.0.0-develop-rc.8",
3
+ "version": "2.0.0-develop-rc.13",
4
4
  "description": "Edifice Rich Text Editor Extensions",
5
5
  "homepage": "https://github.com/edificeio/edifice-ui/tree/main/packages/tiptap/extensions#readme",
6
6
  "bugs": {
@@ -21,98 +21,79 @@
21
21
  },
22
22
  "./abbr": {
23
23
  "import": "./dist/abbr/abbr.js",
24
- "require": "./dist/abbr/abbr.cjs",
25
- "types": "./dist/abbr/index.d.ts"
24
+ "require": "./dist/abbr/abbr.cjs"
26
25
  },
27
26
  "./alert": {
28
27
  "import": "./dist/alert/alert.js",
29
- "require": "./dist/alert/alert.cjs",
30
- "types": "./dist/alert/index.d.ts"
28
+ "require": "./dist/alert/alert.cjs"
31
29
  },
32
30
  "./attachment": {
33
31
  "import": "./dist/attachment/attachment.js",
34
- "require": "./dist/attachment/attachment.cjs",
35
- "types": "./dist/attachment/index.d.ts"
32
+ "require": "./dist/attachment/attachment.cjs"
36
33
  },
37
34
  "./audio": {
38
35
  "import": "./dist/audio/audio.js",
39
- "require": "./dist/audio/audio.cjs",
40
- "types": "./dist/audio/index.d.ts"
36
+ "require": "./dist/audio/audio.cjs"
41
37
  },
42
38
  "./font-size": {
43
39
  "import": "./dist/font-size/font-size.js",
44
- "require": "./dist/font-size/font-size.cjs",
45
- "types": "./dist/font-size/index.d.ts"
40
+ "require": "./dist/font-size/font-size.cjs"
46
41
  },
47
42
  "./heading": {
48
43
  "import": "./dist/heading/heading.js",
49
- "require": "./dist/heading/heading.cjs",
50
- "types": "./dist/heading/index.d.ts"
44
+ "require": "./dist/heading/heading.cjs"
51
45
  },
52
46
  "./highlight": {
53
47
  "import": "./dist/highlight/highlight.js",
54
- "require": "./dist/highlight/highlight.cjs",
55
- "types": "./dist/highlight/index.d.ts"
48
+ "require": "./dist/highlight/highlight.cjs"
56
49
  },
57
50
  "./hyperlink": {
58
51
  "import": "./dist/hyperlink/hyperlink.js",
59
- "require": "./dist/hyperlink/hyperlink.cjs",
60
- "types": "./dist/hyperlink/index.d.ts"
52
+ "require": "./dist/hyperlink/hyperlink.cjs"
61
53
  },
62
54
  "./iframe": {
63
55
  "import": "./dist/iframe/iframe.js",
64
- "require": "./dist/iframe/iframe.cjs",
65
- "types": "./dist/iframe/index.d.ts"
56
+ "require": "./dist/iframe/iframe.cjs"
66
57
  },
67
58
  "./image": {
68
59
  "import": "./dist/image/image.js",
69
- "require": "./dist/image/image.cjs",
70
- "types": "./dist/image/index.d.ts"
60
+ "require": "./dist/image/image.cjs"
71
61
  },
72
62
  "./line-height": {
73
63
  "import": "./dist/line-height/line-height.js",
74
- "require": "./dist/line-height/line-height.cjs",
75
- "types": "./dist/line-height/index.d.ts"
64
+ "require": "./dist/line-height/line-height.cjs"
76
65
  },
77
66
  "./linker": {
78
67
  "import": "./dist/linker/linker.js",
79
- "require": "./dist/linker/linker.cjs",
80
- "types": "./dist/linker/index.d.ts"
68
+ "require": "./dist/linker/linker.cjs"
81
69
  },
82
70
  "./mathjax": {
83
71
  "import": "./dist/mathjax/mathjax.js",
84
- "require": "./dist/mathjax/mathjax.cjs",
85
- "types": "./dist/mathjax/index.d.ts"
72
+ "require": "./dist/mathjax/mathjax.cjs"
86
73
  },
87
74
  "./paragraph": {
88
75
  "import": "./dist/paragraph/paragraph.js",
89
- "require": "./dist/paragraph/paragraph.cjs",
90
- "types": "./dist/paragraph/index.d.ts"
76
+ "require": "./dist/paragraph/paragraph.cjs"
91
77
  },
92
78
  "./speech-recognition": {
93
79
  "import": "./dist/speech-recognition/speech-recognition.js",
94
- "require": "./dist/speech-recognition/speech-recognition.cjs",
95
- "types": "./dist/speech-recognition/index.d.ts"
80
+ "require": "./dist/speech-recognition/speech-recognition.cjs"
96
81
  },
97
82
  "./speech-synthesis": {
98
83
  "import": "./dist/speech-synthesis/speech-synthesis.js",
99
- "require": "./dist/speech-synthesis/speech-synthesis.cjs",
100
- "types": "./dist/speech-synthesis/index.d.ts"
84
+ "require": "./dist/speech-synthesis/speech-synthesis.cjs"
101
85
  },
102
86
  "./table-cell": {
103
87
  "import": "./dist/table-cell/table-cell.js",
104
- "require": "./dist/table-cell/table-cell.cjs",
105
- "types": "./dist/table-cell/index.d.ts"
88
+ "require": "./dist/table-cell/table-cell.cjs"
106
89
  },
107
90
  "./transform": {
108
91
  "import": "./dist/transform/transform.js",
109
- "require": "./dist/transform/transform.cjs",
110
- "types": "./dist/transform/index.d.ts"
92
+ "require": "./dist/transform/transform.cjs"
111
93
  },
112
94
  "./video": {
113
95
  "import": "./dist/video/video.js",
114
- "require": "./dist/video/video.cjs",
115
- "types": "./dist/video/index.d.ts"
96
+ "require": "./dist/video/video.cjs"
116
97
  }
117
98
  },
118
99
  "main": "dist/index.cjs",
@@ -121,16 +102,29 @@
121
102
  "files": [
122
103
  "dist"
123
104
  ],
105
+ "scripts": {
106
+ "build": "vite build",
107
+ "fix": "eslint . --ext ts --report-unused-disable-directives --max-warnings 0",
108
+ "format": "pnpm run format:write && pnpm run format:check",
109
+ "format:check": "npx prettier --check .",
110
+ "format:write": "npx prettier --write .",
111
+ "lint": "eslint \"**/*.ts\""
112
+ },
124
113
  "dependencies": {
125
114
  "@tiptap/core": "2.3.0",
115
+ "@tiptap/extension-bold": "2.3.0",
116
+ "@tiptap/extension-document": "2.3.0",
126
117
  "@tiptap/extension-heading": "2.3.0",
127
118
  "@tiptap/extension-highlight": "2.3.0",
128
119
  "@tiptap/extension-image": "2.3.0",
129
120
  "@tiptap/extension-link": "2.3.0",
130
121
  "@tiptap/extension-paragraph": "2.3.0",
131
122
  "@tiptap/extension-table-cell": "2.3.0",
123
+ "@tiptap/extension-text": "2.3.0",
132
124
  "@tiptap/extension-text-style": "2.3.0",
133
- "@tiptap/pm": "2.3.0"
125
+ "@tiptap/html": "2.3.0",
126
+ "@tiptap/pm": "2.3.0",
127
+ "@tiptap/starter-kit": "2.3.0"
134
128
  },
135
129
  "devDependencies": {
136
130
  "@types/dom-speech-recognition": "^0.0.1"
@@ -138,10 +132,5 @@
138
132
  "publishConfig": {
139
133
  "access": "public"
140
134
  },
141
- "scripts": {
142
- "build": "vite build",
143
- "format": "pnpm run format:write && pnpm run format:check",
144
- "format:check": "npx prettier --check .",
145
- "format:write": "npx prettier --write ."
146
- }
147
- }
135
+ "gitHead": "0139116ce0d4be358d1e6ca110bb7cd403f3a581"
136
+ }