@edifice.io/tiptap-extensions 1.5.16-develop-rc.2 → 1.7.4-develop-pedago.20241211160712

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 (154) hide show
  1. package/README.md +66 -0
  2. package/dist/abbr/abbr.cjs +1 -32
  3. package/dist/abbr/abbr.cjs.map +1 -1
  4. package/dist/abbr/abbr.d.ts +12 -12
  5. package/dist/abbr/abbr.js +13 -17
  6. package/dist/abbr/abbr.js.map +1 -1
  7. package/dist/alert/alert.cjs +1 -32
  8. package/dist/alert/alert.cjs.map +1 -1
  9. package/dist/alert/alert.js +22 -20
  10. package/dist/alert/alert.js.map +1 -1
  11. package/dist/attachment/attachment-transformer.cjs +2 -0
  12. package/dist/attachment/attachment-transformer.cjs.map +1 -0
  13. package/dist/attachment/attachment-transformer.d.ts +12 -0
  14. package/dist/attachment/attachment-transformer.js +76 -0
  15. package/dist/attachment/attachment-transformer.js.map +1 -0
  16. package/dist/attachment/attachment.cjs +1 -73
  17. package/dist/attachment/attachment.cjs.map +1 -1
  18. package/dist/attachment/attachment.d.ts +6 -6
  19. package/dist/attachment/attachment.js +29 -40
  20. package/dist/attachment/attachment.js.map +1 -1
  21. package/dist/attachment/index.d.ts +1 -0
  22. package/dist/audio/audio.cjs +2 -52
  23. package/dist/audio/audio.cjs.map +1 -1
  24. package/dist/audio/audio.d.ts +13 -17
  25. package/dist/audio/audio.js +25 -28
  26. package/dist/audio/audio.js.map +1 -1
  27. package/dist/font-size/font-size.cjs +1 -48
  28. package/dist/font-size/font-size.cjs.map +1 -1
  29. package/dist/font-size/font-size.d.ts +13 -13
  30. package/dist/font-size/font-size.js +17 -29
  31. package/dist/font-size/font-size.js.map +1 -1
  32. package/dist/heading/heading.cjs +1 -61
  33. package/dist/heading/heading.cjs.map +1 -1
  34. package/dist/heading/heading.d.ts +12 -10
  35. package/dist/heading/heading.js +25 -39
  36. package/dist/heading/heading.js.map +1 -1
  37. package/dist/highlight/highlight.cjs +1 -25
  38. package/dist/highlight/highlight.cjs.map +1 -1
  39. package/dist/highlight/highlight.d.ts +1 -4
  40. package/dist/highlight/highlight.js +13 -11
  41. package/dist/highlight/highlight.js.map +1 -1
  42. package/dist/hyperlink/hyperlink.cjs +1 -47
  43. package/dist/hyperlink/hyperlink.cjs.map +1 -1
  44. package/dist/hyperlink/hyperlink.d.ts +24 -27
  45. package/dist/hyperlink/hyperlink.js +19 -21
  46. package/dist/hyperlink/hyperlink.js.map +1 -1
  47. package/dist/iframe/iframe.cjs +1 -69
  48. package/dist/iframe/iframe.cjs.map +1 -1
  49. package/dist/iframe/iframe.d.ts +14 -12
  50. package/dist/iframe/iframe.js +32 -48
  51. package/dist/iframe/iframe.js.map +1 -1
  52. package/dist/image/image.cjs +2 -0
  53. package/dist/image/image.cjs.map +1 -0
  54. package/dist/image/image.d.ts +26 -0
  55. package/dist/image/image.js +178 -0
  56. package/dist/image/image.js.map +1 -0
  57. package/dist/image/index.d.ts +3 -3
  58. package/dist/index.cjs +1 -43
  59. package/dist/index.js +24 -22
  60. package/dist/index.js.map +1 -1
  61. package/dist/line-height/line-height.cjs +1 -33
  62. package/dist/line-height/line-height.cjs.map +1 -1
  63. package/dist/line-height/line-height.js +15 -18
  64. package/dist/line-height/line-height.js.map +1 -1
  65. package/dist/linker/linker.cjs +1 -95
  66. package/dist/linker/linker.cjs.map +1 -1
  67. package/dist/linker/linker.d.ts +17 -17
  68. package/dist/linker/linker.js +49 -57
  69. package/dist/linker/linker.js.map +1 -1
  70. package/dist/mathjax/mathjax.cjs +1 -47
  71. package/dist/mathjax/mathjax.cjs.map +1 -1
  72. package/dist/mathjax/mathjax.js +20 -30
  73. package/dist/mathjax/mathjax.js.map +1 -1
  74. package/dist/paragraph/paragraph.cjs +1 -13
  75. package/dist/paragraph/paragraph.cjs.map +1 -1
  76. package/dist/paragraph/paragraph.d.ts +1 -4
  77. package/dist/paragraph/paragraph.js +8 -6
  78. package/dist/paragraph/paragraph.js.map +1 -1
  79. package/dist/speech-recognition/speech-recognition.cjs +1 -76
  80. package/dist/speech-recognition/speech-recognition.cjs.map +1 -1
  81. package/dist/speech-recognition/speech-recognition.d.ts +12 -12
  82. package/dist/speech-recognition/speech-recognition.js +36 -57
  83. package/dist/speech-recognition/speech-recognition.js.map +1 -1
  84. package/dist/speech-synthesis/speech-synthesis.cjs +1 -32
  85. package/dist/speech-synthesis/speech-synthesis.cjs.map +1 -1
  86. package/dist/speech-synthesis/speech-synthesis.d.ts +9 -9
  87. package/dist/speech-synthesis/speech-synthesis.js +10 -19
  88. package/dist/speech-synthesis/speech-synthesis.js.map +1 -1
  89. package/dist/table-cell/table-cell.cjs +1 -27
  90. package/dist/table-cell/table-cell.cjs.map +1 -1
  91. package/dist/table-cell/table-cell.d.ts +1 -4
  92. package/dist/table-cell/table-cell.js +12 -17
  93. package/dist/table-cell/table-cell.js.map +1 -1
  94. package/dist/transform/html-to-json/html-to-json.cjs +1 -4
  95. package/dist/transform/html-to-json/html-to-json.d.ts +1 -4
  96. package/dist/transform/html-to-json/html-to-json.js +4 -2
  97. package/dist/transform/json-to-html/json-to-html.cjs +1 -4
  98. package/dist/transform/json-to-html/json-to-html.js +4 -2
  99. package/dist/video/video.cjs +2 -111
  100. package/dist/video/video.cjs.map +1 -1
  101. package/dist/video/video.d.ts +19 -28
  102. package/dist/video/video.js +90 -114
  103. package/dist/video/video.js.map +1 -1
  104. package/package.json +27 -16
  105. package/.turbo/turbo-build.log +0 -58
  106. package/.turbo/turbo-format.log +0 -142
  107. package/.turbo/turbo-lint.log +0 -5
  108. package/dist/image/custom-image.cjs +0 -163
  109. package/dist/image/custom-image.cjs.map +0 -1
  110. package/dist/image/custom-image.d.ts +0 -27
  111. package/dist/image/custom-image.js +0 -181
  112. package/dist/image/custom-image.js.map +0 -1
  113. package/src/abbr/abbr.ts +0 -57
  114. package/src/abbr/index.ts +0 -5
  115. package/src/alert/alert.ts +0 -46
  116. package/src/alert/index.ts +0 -5
  117. package/src/attachment/attachment.ts +0 -113
  118. package/src/attachment/index.ts +0 -5
  119. package/src/audio/audio.ts +0 -81
  120. package/src/audio/index.ts +0 -5
  121. package/src/font-size/font-size.ts +0 -74
  122. package/src/font-size/index.ts +0 -5
  123. package/src/heading/heading.ts +0 -90
  124. package/src/heading/index.ts +0 -5
  125. package/src/highlight/highlight.ts +0 -27
  126. package/src/highlight/index.ts +0 -5
  127. package/src/hyperlink/hyperlink.ts +0 -92
  128. package/src/hyperlink/index.ts +0 -5
  129. package/src/iframe/iframe.ts +0 -112
  130. package/src/iframe/index.ts +0 -5
  131. package/src/image/custom-image.ts +0 -226
  132. package/src/image/index.ts +0 -5
  133. package/src/index.ts +0 -19
  134. package/src/line-height/index.ts +0 -5
  135. package/src/line-height/line-height.ts +0 -37
  136. package/src/linker/index.ts +0 -5
  137. package/src/linker/linker.ts +0 -153
  138. package/src/mathjax/index.ts +0 -5
  139. package/src/mathjax/mathjax.ts +0 -55
  140. package/src/paragraph/index.ts +0 -5
  141. package/src/paragraph/paragraph.ts +0 -25
  142. package/src/speech-recognition/index.ts +0 -5
  143. package/src/speech-recognition/speech-recognition.ts +0 -123
  144. package/src/speech-synthesis/index.ts +0 -5
  145. package/src/speech-synthesis/speech-synthesis.ts +0 -52
  146. package/src/table-cell/index.ts +0 -5
  147. package/src/table-cell/table-cell.ts +0 -28
  148. package/src/transform/html-to-json/html-to-json.ts +0 -5
  149. package/src/transform/index.ts +0 -4
  150. package/src/transform/json-to-html/json-to-html.ts +0 -5
  151. package/src/video/index.ts +0 -5
  152. package/src/video/video.ts +0 -173
  153. package/tsconfig.json +0 -20
  154. package/vite.config.ts +0 -46
@@ -1,142 +0,0 @@
1
-  WARN  Issue while reading "/home/runner/work/edifice-ui/edifice-ui/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
2
-
3
- > @edifice.io/tiptap-extensions@1.5.16-develop-rc.2 format /home/runner/work/edifice-ui/edifice-ui/packages/tiptap/extensions
4
- > pnpm run format:write && pnpm run format:check
5
-
6
-  WARN  Issue while reading "/home/runner/work/edifice-ui/edifice-ui/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
7
-
8
- > @edifice.io/tiptap-extensions@1.5.16-develop-rc.2 format:write /home/runner/work/edifice-ui/edifice-ui/packages/tiptap/extensions
9
- > npx prettier --write .
10
-
11
- dist/abbr/abbr.cjs 178ms
12
- dist/abbr/abbr.d.ts 596ms
13
- dist/abbr/abbr.js 29ms
14
- dist/abbr/index.d.ts 9ms (unchanged)
15
- dist/alert/alert.cjs 23ms
16
- dist/alert/alert.d.ts 29ms (unchanged)
17
- dist/alert/alert.js 35ms
18
- dist/alert/index.d.ts 3ms (unchanged)
19
- dist/attachment/attachment.cjs 79ms
20
- dist/attachment/attachment.d.ts 47ms
21
- dist/attachment/attachment.js 70ms
22
- dist/attachment/index.d.ts 2ms (unchanged)
23
- dist/audio/audio.cjs 45ms
24
- dist/audio/audio.d.ts 74ms
25
- dist/audio/audio.js 35ms
26
- dist/audio/index.d.ts 17ms (unchanged)
27
- dist/font-size/font-size.cjs 56ms
28
- dist/font-size/font-size.d.ts 21ms
29
- dist/font-size/font-size.js 22ms
30
- dist/font-size/index.d.ts 3ms (unchanged)
31
- dist/heading/heading.cjs 21ms
32
- dist/heading/heading.d.ts 41ms
33
- dist/heading/heading.js 18ms
34
- dist/heading/index.d.ts 2ms (unchanged)
35
- dist/highlight/highlight.cjs 5ms
36
- dist/highlight/highlight.d.ts 4ms
37
- dist/highlight/highlight.js 5ms
38
- dist/highlight/index.d.ts 2ms (unchanged)
39
- dist/hyperlink/hyperlink.cjs 11ms
40
- dist/hyperlink/hyperlink.d.ts 9ms
41
- dist/hyperlink/hyperlink.js 12ms
42
- dist/hyperlink/index.d.ts 2ms (unchanged)
43
- dist/iframe/iframe.cjs 52ms
44
- dist/iframe/iframe.d.ts 5ms
45
- dist/iframe/iframe.js 21ms
46
- dist/iframe/index.d.ts 2ms (unchanged)
47
- dist/image/custom-image.cjs 39ms
48
- dist/image/custom-image.d.ts 6ms
49
- dist/image/custom-image.js 35ms
50
- dist/image/index.d.ts 2ms (unchanged)
51
- dist/index.cjs 9ms
52
- dist/index.d.ts 3ms (unchanged)
53
- dist/index.js 4ms
54
- dist/line-height/index.d.ts 2ms (unchanged)
55
- dist/line-height/line-height.cjs 4ms
56
- dist/line-height/line-height.d.ts 3ms (unchanged)
57
- dist/line-height/line-height.js 9ms
58
- dist/linker/index.d.ts 5ms (unchanged)
59
- dist/linker/linker.cjs 20ms
60
- dist/linker/linker.d.ts 10ms
61
- dist/linker/linker.js 9ms
62
- dist/mathjax/index.d.ts 2ms (unchanged)
63
- dist/mathjax/mathjax.cjs 8ms
64
- dist/mathjax/mathjax.d.ts 4ms (unchanged)
65
- dist/mathjax/mathjax.js 6ms
66
- dist/paragraph/index.d.ts 2ms (unchanged)
67
- dist/paragraph/paragraph.cjs 3ms
68
- dist/paragraph/paragraph.d.ts 3ms
69
- dist/paragraph/paragraph.js 3ms
70
- dist/speech-recognition/index.d.ts 1ms (unchanged)
71
- dist/speech-recognition/speech-recognition.cjs 24ms
72
- dist/speech-recognition/speech-recognition.d.ts 18ms
73
- dist/speech-recognition/speech-recognition.js 24ms
74
- dist/speech-synthesis/index.d.ts 1ms (unchanged)
75
- dist/speech-synthesis/speech-synthesis.cjs 6ms
76
- dist/speech-synthesis/speech-synthesis.d.ts 5ms
77
- dist/speech-synthesis/speech-synthesis.js 5ms
78
- dist/table-cell/index.d.ts 2ms (unchanged)
79
- dist/table-cell/table-cell.cjs 5ms
80
- dist/table-cell/table-cell.d.ts 7ms
81
- dist/table-cell/table-cell.js 4ms
82
- dist/transform/html-to-json/html-to-json.cjs 2ms
83
- dist/transform/html-to-json/html-to-json.d.ts 2ms
84
- dist/transform/html-to-json/html-to-json.js 2ms
85
- dist/transform/index.d.ts 1ms (unchanged)
86
- dist/transform/json-to-html/json-to-html.cjs 2ms
87
- dist/transform/json-to-html/json-to-html.d.ts 7ms (unchanged)
88
- dist/transform/json-to-html/json-to-html.js 2ms
89
- dist/video/index.d.ts 9ms (unchanged)
90
- dist/video/video.cjs 19ms
91
- dist/video/video.d.ts 5ms
92
- dist/video/video.js 21ms
93
- package.json 10ms (unchanged)
94
- src/abbr/abbr.ts 38ms (unchanged)
95
- src/abbr/index.ts 3ms (unchanged)
96
- src/alert/alert.ts 7ms (unchanged)
97
- src/alert/index.ts 1ms (unchanged)
98
- src/attachment/attachment.ts 61ms (unchanged)
99
- src/attachment/index.ts 2ms (unchanged)
100
- src/audio/audio.ts 26ms (unchanged)
101
- src/audio/index.ts 13ms (unchanged)
102
- src/font-size/font-size.ts 22ms (unchanged)
103
- src/font-size/index.ts 11ms (unchanged)
104
- src/heading/heading.ts 43ms (unchanged)
105
- src/heading/index.ts 1ms (unchanged)
106
- src/highlight/highlight.ts 4ms (unchanged)
107
- src/highlight/index.ts 2ms (unchanged)
108
- src/hyperlink/hyperlink.ts 13ms (unchanged)
109
- src/hyperlink/index.ts 2ms (unchanged)
110
- src/iframe/iframe.ts 37ms (unchanged)
111
- src/iframe/index.ts 7ms (unchanged)
112
- src/image/custom-image.ts 99ms (unchanged)
113
- src/image/index.ts 2ms (unchanged)
114
- src/index.ts 6ms (unchanged)
115
- src/line-height/index.ts 2ms (unchanged)
116
- src/line-height/line-height.ts 5ms (unchanged)
117
- src/linker/index.ts 1ms (unchanged)
118
- src/linker/linker.ts 22ms (unchanged)
119
- src/mathjax/index.ts 1ms (unchanged)
120
- src/mathjax/mathjax.ts 25ms (unchanged)
121
- src/paragraph/index.ts 1ms (unchanged)
122
- src/paragraph/paragraph.ts 4ms (unchanged)
123
- src/speech-recognition/index.ts 2ms (unchanged)
124
- src/speech-recognition/speech-recognition.ts 38ms (unchanged)
125
- src/speech-synthesis/index.ts 1ms (unchanged)
126
- src/speech-synthesis/speech-synthesis.ts 16ms (unchanged)
127
- src/table-cell/index.ts 2ms (unchanged)
128
- src/table-cell/table-cell.ts 7ms (unchanged)
129
- src/transform/html-to-json/html-to-json.ts 2ms (unchanged)
130
- src/transform/index.ts 1ms (unchanged)
131
- src/transform/json-to-html/json-to-html.ts 2ms (unchanged)
132
- src/video/index.ts 1ms (unchanged)
133
- src/video/video.ts 41ms (unchanged)
134
- tsconfig.json 4ms (unchanged)
135
- vite.config.ts 46ms (unchanged)
136
-  WARN  Issue while reading "/home/runner/work/edifice-ui/edifice-ui/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
137
-
138
- > @edifice.io/tiptap-extensions@1.5.16-develop-rc.2 format:check /home/runner/work/edifice-ui/edifice-ui/packages/tiptap/extensions
139
- > npx prettier --check .
140
-
141
- Checking formatting...
142
- All matched files use Prettier code style!
@@ -1,5 +0,0 @@
1
-  WARN  Issue while reading "/home/runner/work/edifice-ui/edifice-ui/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
2
-
3
- > @edifice.io/tiptap-extensions@1.5.16-develop-rc.2 lint /home/runner/work/edifice-ui/edifice-ui/packages/tiptap/extensions
4
- > eslint "**/*.ts"
5
-
@@ -1,163 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const core = require('@tiptap/core'),
4
- Image = require('@tiptap/extension-image'),
5
- IMAGE_INPUT_REGEX =
6
- /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,
7
- CustomImage = Image.extend({
8
- name: 'custom-image',
9
- draggable: !0,
10
- selectable: !0,
11
- addOptions() {
12
- var _a;
13
- return {
14
- ...((_a = this.parent) == null ? void 0 : _a.call(this)),
15
- inline: !0,
16
- content: 'inline*',
17
- sizes: ['small', 'medium', 'large'],
18
- HTMLAttributes: { class: 'custom-image' },
19
- };
20
- },
21
- addAttributes() {
22
- var _a;
23
- return {
24
- ...((_a = this.parent) == null ? void 0 : _a.call(this)),
25
- size: { default: 'medium', rendered: !1 },
26
- alt: {
27
- renderHTML: (attributes) => ({ alt: attributes.alt }),
28
- parseHTML: (element) => element.getAttribute('alt'),
29
- },
30
- title: {
31
- renderHTML: (attributes) => ({ title: attributes.title }),
32
- parseHTML: (element) => element.getAttribute('title'),
33
- },
34
- width: {
35
- default: '350',
36
- renderHTML: (attributes) =>
37
- attributes.width !== null &&
38
- attributes.width !== void 0 &&
39
- !Number.isNaN(attributes.width)
40
- ? { width: parseInt(attributes.width) }
41
- : {},
42
- parseHTML: (element) => element.getAttribute('width'),
43
- },
44
- height: {
45
- renderHTML: (attributes) =>
46
- attributes.height !== null &&
47
- attributes.height !== void 0 &&
48
- !Number.isNaN(attributes.height)
49
- ? { height: parseInt(attributes.height) }
50
- : {},
51
- parseHTML: (element) => element.getAttribute('height'),
52
- },
53
- style: {
54
- renderHTML: (attributes) =>
55
- attributes.style ? { style: attributes.style } : {},
56
- parseHTML: (element) => {
57
- const style = element.getAttribute('style');
58
- return style && typeof style == 'string' && style.length > 0
59
- ? {}
60
- : null;
61
- },
62
- },
63
- };
64
- },
65
- parseHTML() {
66
- return [
67
- {
68
- tag: 'img[src]:not([src^="data:"])',
69
- getAttrs: (el) => {
70
- var _a, _b, _c, _d, _e;
71
- const attr = { src: el.getAttribute('src') };
72
- return (
73
- (_a = el.parentElement) != null &&
74
- _a.className.includes('image-container') &&
75
- (_b = el.parentElement.style) != null &&
76
- _b.width &&
77
- (attr.width = el.parentElement.style.width),
78
- (_c = el.style) != null &&
79
- _c.width &&
80
- (attr.width = el.style.width),
81
- [
82
- 'happy',
83
- 'proud',
84
- 'dreamy',
85
- 'love',
86
- 'tired',
87
- 'angry',
88
- 'worried',
89
- 'sick',
90
- 'joker',
91
- 'sad',
92
- ].filter((smiley) => attr.src.includes(smiley + '.png')).length >
93
- 0 &&
94
- ((attr.style = {
95
- width: '1.5em',
96
- height: '1.5em',
97
- fontSize:
98
- (_e =
99
- (_d = el.parentElement) == null ? void 0 : _d.style) ==
100
- null
101
- ? void 0
102
- : _e.fontSize,
103
- }),
104
- (attr.width = 'null'),
105
- (attr.height = 'null')),
106
- attr
107
- );
108
- },
109
- },
110
- ];
111
- },
112
- renderHTML({ HTMLAttributes }) {
113
- return [
114
- 'img',
115
- core.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
116
- ];
117
- },
118
- addInputRules() {
119
- return [
120
- core.nodeInputRule({
121
- find: IMAGE_INPUT_REGEX,
122
- type: this.type,
123
- getAttributes: (match) => {
124
- const [, , alt, src, title] = match;
125
- return { src, alt, title };
126
- },
127
- }),
128
- ];
129
- },
130
- addCommands() {
131
- return {
132
- setNewImage:
133
- (attrs) =>
134
- ({ tr, dispatch }) => {
135
- const { selection } = tr,
136
- node = this.type.create(attrs);
137
- return (
138
- dispatch &&
139
- tr.replaceRangeWith(selection.from, selection.to, node),
140
- !0
141
- );
142
- },
143
- setAttributes:
144
- (attributes) =>
145
- ({ tr, dispatch }) => {
146
- const { selection } = tr,
147
- options = {
148
- ...tr.doc.nodeAt(tr.selection.from).attrs,
149
- ...attributes,
150
- },
151
- node = this.type.create(options);
152
- return (
153
- dispatch &&
154
- tr.replaceRangeWith(selection.from, selection.to, node),
155
- !0
156
- );
157
- },
158
- };
159
- },
160
- });
161
- exports.CustomImage = CustomImage;
162
- exports.IMAGE_INPUT_REGEX = IMAGE_INPUT_REGEX;
163
- //# sourceMappingURL=custom-image.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-image.cjs","sources":["../../src/image/custom-image.ts"],"sourcesContent":["import { mergeAttributes, nodeInputRule } from '@tiptap/core';\nimport Image from '@tiptap/extension-image';\n\nexport const IMAGE_INPUT_REGEX =\n /(?:^|\\s)(!\\[(.+|:?)]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\))$/;\n\nexport interface CustomImageOptions {\n HTMLAttributes: Record<string, string>;\n sizes: string[];\n}\n\ninterface AttributesProps {\n width: number | string;\n height: number | string;\n size: string;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n customImage: {\n setAttributes: (options: AttributesProps) => ReturnType;\n setNewImage: (options: {\n src: string;\n alt?: string;\n title?: string;\n }) => ReturnType;\n };\n }\n}\n\nexport const CustomImage = Image.extend<CustomImageOptions>({\n name: 'custom-image',\n draggable: true,\n selectable: true,\n\n addOptions() {\n return {\n ...this.parent?.(),\n inline: true,\n content: 'inline*',\n sizes: ['small', 'medium', 'large'],\n HTMLAttributes: {\n class: 'custom-image',\n },\n };\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n size: {\n default: 'medium',\n rendered: false,\n },\n alt: {\n renderHTML: (attributes) => {\n return {\n alt: attributes.alt,\n };\n },\n parseHTML: (element) => element.getAttribute('alt'),\n },\n title: {\n renderHTML: (attributes) => {\n return {\n title: attributes.title,\n };\n },\n parseHTML: (element) => element.getAttribute('title'),\n },\n width: {\n default: '350',\n renderHTML: (attributes) => {\n if (\n attributes.width !== null &&\n attributes.width !== undefined &&\n !Number.isNaN(attributes.width)\n ) {\n return {\n width: parseInt(attributes.width),\n };\n }\n return {};\n },\n parseHTML: (element) => element.getAttribute('width'),\n },\n height: {\n renderHTML: (attributes) => {\n if (\n attributes.height !== null &&\n attributes.height !== undefined &&\n !Number.isNaN(attributes.height)\n ) {\n return {\n height: parseInt(attributes.height),\n };\n }\n return {};\n },\n parseHTML: (element) => element.getAttribute('height'),\n },\n style: {\n renderHTML: (attributes) => {\n return attributes.style\n ? {\n style: attributes.style,\n }\n : {};\n },\n parseHTML: (element) => {\n const style = element.getAttribute('style');\n return style && typeof style === 'string' && style.length > 0\n ? {}\n : null;\n },\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'img[src]:not([src^=\"data:\"])',\n getAttrs: (el: HTMLImageElement) => {\n const attr = { src: el.getAttribute('src') };\n // Check old content format and get the width from the parent element\n if (el.parentElement?.className.includes('image-container')) {\n if (el.parentElement.style?.width) {\n attr['width'] = el.parentElement.style.width;\n }\n }\n if (el.style?.width) {\n attr['width'] = el.style.width;\n }\n\n // Check old content smiley\n const oldSmileyList = [\n 'happy',\n 'proud',\n 'dreamy',\n 'love',\n 'tired',\n 'angry',\n 'worried',\n 'sick',\n 'joker',\n 'sad',\n ];\n if (\n oldSmileyList.filter((smiley) => attr.src.includes(smiley + '.png'))\n .length > 0\n ) {\n attr['style'] = {\n width: '1.5em',\n height: '1.5em',\n fontSize: el.parentElement?.style?.fontSize,\n };\n attr['width'] = 'null';\n attr['height'] = 'null';\n }\n return attr;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'img',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n\n addInputRules() {\n return [\n nodeInputRule({\n find: IMAGE_INPUT_REGEX,\n type: this.type,\n getAttributes: (match) => {\n const [, , alt, src, title] = match;\n\n return {\n src,\n alt,\n title,\n };\n },\n }),\n ];\n },\n\n addCommands() {\n return {\n setNewImage:\n (attrs) =>\n ({ tr, dispatch }) => {\n const { selection } = tr;\n const node = this.type.create(attrs);\n\n if (dispatch) {\n tr.replaceRangeWith(selection.from, selection.to, node);\n }\n\n return true;\n },\n setAttributes:\n (attributes) =>\n ({ tr, dispatch }) => {\n const { selection } = tr;\n\n const nodeAttrs = tr.doc.nodeAt(tr.selection.from);\n const options = {\n ...nodeAttrs.attrs,\n ...attributes,\n };\n const node = this.type.create(options);\n\n if (dispatch) {\n tr.replaceRangeWith(selection.from, selection.to, node);\n }\n\n return true;\n },\n };\n },\n});\n"],"names":["mergeAttributes","nodeInputRule"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- export declare const IMAGE_INPUT_REGEX: RegExp;
2
- export interface CustomImageOptions {
3
- HTMLAttributes: Record<string, string>;
4
- sizes: string[];
5
- }
6
- interface AttributesProps {
7
- width: number | string;
8
- height: number | string;
9
- size: string;
10
- }
11
- declare module '@tiptap/core' {
12
- interface Commands<ReturnType> {
13
- customImage: {
14
- setAttributes: (options: AttributesProps) => ReturnType;
15
- setNewImage: (options: {
16
- src: string;
17
- alt?: string;
18
- title?: string;
19
- }) => ReturnType;
20
- };
21
- }
22
- }
23
- export declare const CustomImage: import('@tiptap/core').Node<
24
- CustomImageOptions,
25
- any
26
- >;
27
- export {};
@@ -1,181 +0,0 @@
1
- import { mergeAttributes, nodeInputRule } from '@tiptap/core';
2
- import Image from '@tiptap/extension-image';
3
- const IMAGE_INPUT_REGEX =
4
- /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,
5
- CustomImage = Image.extend({
6
- name: 'custom-image',
7
- draggable: !0,
8
- selectable: !0,
9
- addOptions() {
10
- var _a;
11
- return {
12
- ...((_a = this.parent) == null ? void 0 : _a.call(this)),
13
- inline: !0,
14
- content: 'inline*',
15
- sizes: ['small', 'medium', 'large'],
16
- HTMLAttributes: {
17
- class: 'custom-image',
18
- },
19
- };
20
- },
21
- addAttributes() {
22
- var _a;
23
- return {
24
- ...((_a = this.parent) == null ? void 0 : _a.call(this)),
25
- size: {
26
- default: 'medium',
27
- rendered: !1,
28
- },
29
- alt: {
30
- renderHTML: (attributes) => ({
31
- alt: attributes.alt,
32
- }),
33
- parseHTML: (element) => element.getAttribute('alt'),
34
- },
35
- title: {
36
- renderHTML: (attributes) => ({
37
- title: attributes.title,
38
- }),
39
- parseHTML: (element) => element.getAttribute('title'),
40
- },
41
- width: {
42
- default: '350',
43
- renderHTML: (attributes) =>
44
- attributes.width !== null &&
45
- attributes.width !== void 0 &&
46
- !Number.isNaN(attributes.width)
47
- ? {
48
- width: parseInt(attributes.width),
49
- }
50
- : {},
51
- parseHTML: (element) => element.getAttribute('width'),
52
- },
53
- height: {
54
- renderHTML: (attributes) =>
55
- attributes.height !== null &&
56
- attributes.height !== void 0 &&
57
- !Number.isNaN(attributes.height)
58
- ? {
59
- height: parseInt(attributes.height),
60
- }
61
- : {},
62
- parseHTML: (element) => element.getAttribute('height'),
63
- },
64
- style: {
65
- renderHTML: (attributes) =>
66
- attributes.style
67
- ? {
68
- style: attributes.style,
69
- }
70
- : {},
71
- parseHTML: (element) => {
72
- const style = element.getAttribute('style');
73
- return style && typeof style == 'string' && style.length > 0
74
- ? {}
75
- : null;
76
- },
77
- },
78
- };
79
- },
80
- parseHTML() {
81
- return [
82
- {
83
- tag: 'img[src]:not([src^="data:"])',
84
- getAttrs: (el) => {
85
- var _a, _b, _c, _d, _e;
86
- const attr = { src: el.getAttribute('src') };
87
- return (
88
- (_a = el.parentElement) != null &&
89
- _a.className.includes('image-container') &&
90
- (_b = el.parentElement.style) != null &&
91
- _b.width &&
92
- (attr.width = el.parentElement.style.width),
93
- (_c = el.style) != null &&
94
- _c.width &&
95
- (attr.width = el.style.width),
96
- [
97
- 'happy',
98
- 'proud',
99
- 'dreamy',
100
- 'love',
101
- 'tired',
102
- 'angry',
103
- 'worried',
104
- 'sick',
105
- 'joker',
106
- 'sad',
107
- ].filter((smiley) => attr.src.includes(smiley + '.png')).length >
108
- 0 &&
109
- ((attr.style = {
110
- width: '1.5em',
111
- height: '1.5em',
112
- fontSize:
113
- (_e =
114
- (_d = el.parentElement) == null ? void 0 : _d.style) ==
115
- null
116
- ? void 0
117
- : _e.fontSize,
118
- }),
119
- (attr.width = 'null'),
120
- (attr.height = 'null')),
121
- attr
122
- );
123
- },
124
- },
125
- ];
126
- },
127
- renderHTML({ HTMLAttributes }) {
128
- return [
129
- 'img',
130
- mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
131
- ];
132
- },
133
- addInputRules() {
134
- return [
135
- nodeInputRule({
136
- find: IMAGE_INPUT_REGEX,
137
- type: this.type,
138
- getAttributes: (match) => {
139
- const [, , alt, src, title] = match;
140
- return {
141
- src,
142
- alt,
143
- title,
144
- };
145
- },
146
- }),
147
- ];
148
- },
149
- addCommands() {
150
- return {
151
- setNewImage:
152
- (attrs) =>
153
- ({ tr, dispatch }) => {
154
- const { selection } = tr,
155
- node = this.type.create(attrs);
156
- return (
157
- dispatch &&
158
- tr.replaceRangeWith(selection.from, selection.to, node),
159
- !0
160
- );
161
- },
162
- setAttributes:
163
- (attributes) =>
164
- ({ tr, dispatch }) => {
165
- const { selection } = tr,
166
- options = {
167
- ...tr.doc.nodeAt(tr.selection.from).attrs,
168
- ...attributes,
169
- },
170
- node = this.type.create(options);
171
- return (
172
- dispatch &&
173
- tr.replaceRangeWith(selection.from, selection.to, node),
174
- !0
175
- );
176
- },
177
- };
178
- },
179
- });
180
- export { CustomImage, IMAGE_INPUT_REGEX };
181
- //# sourceMappingURL=custom-image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-image.js","sources":["../../src/image/custom-image.ts"],"sourcesContent":["import { mergeAttributes, nodeInputRule } from '@tiptap/core';\nimport Image from '@tiptap/extension-image';\n\nexport const IMAGE_INPUT_REGEX =\n /(?:^|\\s)(!\\[(.+|:?)]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\))$/;\n\nexport interface CustomImageOptions {\n HTMLAttributes: Record<string, string>;\n sizes: string[];\n}\n\ninterface AttributesProps {\n width: number | string;\n height: number | string;\n size: string;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n customImage: {\n setAttributes: (options: AttributesProps) => ReturnType;\n setNewImage: (options: {\n src: string;\n alt?: string;\n title?: string;\n }) => ReturnType;\n };\n }\n}\n\nexport const CustomImage = Image.extend<CustomImageOptions>({\n name: 'custom-image',\n draggable: true,\n selectable: true,\n\n addOptions() {\n return {\n ...this.parent?.(),\n inline: true,\n content: 'inline*',\n sizes: ['small', 'medium', 'large'],\n HTMLAttributes: {\n class: 'custom-image',\n },\n };\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n size: {\n default: 'medium',\n rendered: false,\n },\n alt: {\n renderHTML: (attributes) => {\n return {\n alt: attributes.alt,\n };\n },\n parseHTML: (element) => element.getAttribute('alt'),\n },\n title: {\n renderHTML: (attributes) => {\n return {\n title: attributes.title,\n };\n },\n parseHTML: (element) => element.getAttribute('title'),\n },\n width: {\n default: '350',\n renderHTML: (attributes) => {\n if (\n attributes.width !== null &&\n attributes.width !== undefined &&\n !Number.isNaN(attributes.width)\n ) {\n return {\n width: parseInt(attributes.width),\n };\n }\n return {};\n },\n parseHTML: (element) => element.getAttribute('width'),\n },\n height: {\n renderHTML: (attributes) => {\n if (\n attributes.height !== null &&\n attributes.height !== undefined &&\n !Number.isNaN(attributes.height)\n ) {\n return {\n height: parseInt(attributes.height),\n };\n }\n return {};\n },\n parseHTML: (element) => element.getAttribute('height'),\n },\n style: {\n renderHTML: (attributes) => {\n return attributes.style\n ? {\n style: attributes.style,\n }\n : {};\n },\n parseHTML: (element) => {\n const style = element.getAttribute('style');\n return style && typeof style === 'string' && style.length > 0\n ? {}\n : null;\n },\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'img[src]:not([src^=\"data:\"])',\n getAttrs: (el: HTMLImageElement) => {\n const attr = { src: el.getAttribute('src') };\n // Check old content format and get the width from the parent element\n if (el.parentElement?.className.includes('image-container')) {\n if (el.parentElement.style?.width) {\n attr['width'] = el.parentElement.style.width;\n }\n }\n if (el.style?.width) {\n attr['width'] = el.style.width;\n }\n\n // Check old content smiley\n const oldSmileyList = [\n 'happy',\n 'proud',\n 'dreamy',\n 'love',\n 'tired',\n 'angry',\n 'worried',\n 'sick',\n 'joker',\n 'sad',\n ];\n if (\n oldSmileyList.filter((smiley) => attr.src.includes(smiley + '.png'))\n .length > 0\n ) {\n attr['style'] = {\n width: '1.5em',\n height: '1.5em',\n fontSize: el.parentElement?.style?.fontSize,\n };\n attr['width'] = 'null';\n attr['height'] = 'null';\n }\n return attr;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'img',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n\n addInputRules() {\n return [\n nodeInputRule({\n find: IMAGE_INPUT_REGEX,\n type: this.type,\n getAttributes: (match) => {\n const [, , alt, src, title] = match;\n\n return {\n src,\n alt,\n title,\n };\n },\n }),\n ];\n },\n\n addCommands() {\n return {\n setNewImage:\n (attrs) =>\n ({ tr, dispatch }) => {\n const { selection } = tr;\n const node = this.type.create(attrs);\n\n if (dispatch) {\n tr.replaceRangeWith(selection.from, selection.to, node);\n }\n\n return true;\n },\n setAttributes:\n (attributes) =>\n ({ tr, dispatch }) => {\n const { selection } = tr;\n\n const nodeAttrs = tr.doc.nodeAt(tr.selection.from);\n const options = {\n ...nodeAttrs.attrs,\n ...attributes,\n };\n const node = this.type.create(options);\n\n if (dispatch) {\n tr.replaceRangeWith(selection.from, selection.to, node);\n }\n\n return true;\n },\n };\n },\n});\n"],"names":[],"mappings":"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"}
package/src/abbr/abbr.ts DELETED
@@ -1,57 +0,0 @@
1
- import { Mark, mergeAttributes } from '@tiptap/core';
2
-
3
- declare module '@tiptap/core' {
4
- interface Commands<ReturnType> {
5
- abbr: {
6
- /**
7
- * Set an abbr mark
8
- */
9
- setAbbr: (src: string) => ReturnType;
10
- /**
11
- * Toggle an abbr mark
12
- */
13
- toggleAbbr: (src: string) => ReturnType;
14
- };
15
- }
16
- }
17
-
18
- export const Abbr = Mark.create({
19
- name: 'abbr',
20
-
21
- addOptions() {
22
- return {
23
- HTMLAttributes: {},
24
- };
25
- },
26
-
27
- parseHTML() {
28
- return [
29
- {
30
- tag: 'abbr',
31
- },
32
- ];
33
- },
34
-
35
- renderHTML({ HTMLAttributes }) {
36
- return [
37
- 'abbr',
38
- mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
39
- 0,
40
- ];
41
- },
42
-
43
- addCommands() {
44
- return {
45
- setAbbr:
46
- () =>
47
- ({ commands }) => {
48
- return commands.setMark(this.name);
49
- },
50
- toggleAbbr:
51
- () =>
52
- ({ commands }) => {
53
- return commands.toggleMark(this.name);
54
- },
55
- };
56
- },
57
- });
package/src/abbr/index.ts DELETED
@@ -1,5 +0,0 @@
1
- import { Abbr } from './abbr';
2
-
3
- export * from './abbr';
4
-
5
- export default Abbr;
@@ -1,46 +0,0 @@
1
- import { Node } from '@tiptap/core';
2
-
3
- export const Alert = Node.create({
4
- name: 'alert',
5
- content: 'inline+',
6
- marks: '',
7
- group: 'block',
8
-
9
- inline: false,
10
- selectable: true,
11
- draggable: true,
12
-
13
- parseHTML() {
14
- return [
15
- {
16
- tag: 'p.info',
17
- priority: 60,
18
- },
19
- {
20
- tag: 'p.warning',
21
- priority: 60,
22
- },
23
- {
24
- tag: 'div.info',
25
- priority: 60,
26
- },
27
- {
28
- tag: 'div.warning',
29
- priority: 60,
30
- },
31
- ];
32
- },
33
- addAttributes() {
34
- return {
35
- class: {
36
- default: 'info',
37
- parseHTML: (element) => {
38
- return element.getAttribute('class');
39
- },
40
- },
41
- };
42
- },
43
- renderHTML({ HTMLAttributes }) {
44
- return ['div', HTMLAttributes, 0];
45
- },
46
- });
@@ -1,5 +0,0 @@
1
- import { Alert } from './alert';
2
-
3
- export * from './alert';
4
-
5
- export default Alert;