@tiptap/extension-typography 2.5.0-beta.2 → 2.5.0-beta.3

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 (170) hide show
  1. package/dist/index.cjs +191 -191
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +190 -190
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.js +191 -191
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/packages/core/src/CommandManager.d.ts +20 -0
  8. package/dist/packages/core/src/Editor.d.ts +161 -0
  9. package/dist/packages/core/src/EventEmitter.d.ts +11 -0
  10. package/dist/packages/core/src/Extension.d.ts +343 -0
  11. package/dist/packages/core/src/ExtensionManager.d.ts +55 -0
  12. package/dist/packages/core/src/InputRule.d.ts +42 -0
  13. package/dist/packages/core/src/Mark.d.ts +451 -0
  14. package/dist/packages/core/src/Node.d.ts +611 -0
  15. package/dist/packages/core/src/NodePos.d.ts +44 -0
  16. package/dist/packages/core/src/NodeView.d.ts +31 -0
  17. package/dist/packages/core/src/PasteRule.d.ts +50 -0
  18. package/dist/packages/core/src/Tracker.d.ts +11 -0
  19. package/dist/packages/core/src/commands/blur.d.ts +13 -0
  20. package/dist/packages/core/src/commands/clearContent.d.ts +14 -0
  21. package/dist/packages/core/src/commands/clearNodes.d.ts +13 -0
  22. package/dist/packages/core/src/commands/command.d.ts +18 -0
  23. package/dist/packages/core/src/commands/createParagraphNear.d.ts +13 -0
  24. package/dist/packages/core/src/commands/cut.d.ts +20 -0
  25. package/dist/packages/core/src/commands/deleteCurrentNode.d.ts +13 -0
  26. package/dist/packages/core/src/commands/deleteNode.d.ts +15 -0
  27. package/dist/packages/core/src/commands/deleteRange.d.ts +14 -0
  28. package/dist/packages/core/src/commands/deleteSelection.d.ts +13 -0
  29. package/dist/packages/core/src/commands/enter.d.ts +13 -0
  30. package/dist/packages/core/src/commands/exitCode.d.ts +13 -0
  31. package/dist/packages/core/src/commands/extendMarkRange.d.ts +25 -0
  32. package/dist/packages/core/src/commands/first.d.ts +14 -0
  33. package/dist/packages/core/src/commands/focus.d.ts +27 -0
  34. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  35. package/dist/packages/core/src/commands/index.d.ts +55 -0
  36. package/dist/packages/core/src/commands/insertContent.d.ts +34 -0
  37. package/dist/packages/core/src/commands/insertContentAt.d.ts +47 -0
  38. package/dist/packages/core/src/commands/join.d.ts +41 -0
  39. package/dist/packages/core/src/commands/joinItemBackward.d.ts +13 -0
  40. package/dist/packages/core/src/commands/joinItemForward.d.ts +13 -0
  41. package/dist/packages/core/src/commands/joinTextblockBackward.d.ts +12 -0
  42. package/dist/packages/core/src/commands/joinTextblockForward.d.ts +12 -0
  43. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +14 -0
  44. package/dist/packages/core/src/commands/lift.d.ts +17 -0
  45. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +13 -0
  46. package/dist/packages/core/src/commands/liftListItem.d.ts +15 -0
  47. package/dist/packages/core/src/commands/newlineInCode.d.ts +13 -0
  48. package/dist/packages/core/src/commands/resetAttributes.d.ts +16 -0
  49. package/dist/packages/core/src/commands/scrollIntoView.d.ts +13 -0
  50. package/dist/packages/core/src/commands/selectAll.d.ts +13 -0
  51. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +13 -0
  52. package/dist/packages/core/src/commands/selectNodeForward.d.ts +13 -0
  53. package/dist/packages/core/src/commands/selectParentNode.d.ts +13 -0
  54. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +13 -0
  55. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +13 -0
  56. package/dist/packages/core/src/commands/setContent.d.ts +40 -0
  57. package/dist/packages/core/src/commands/setMark.d.ts +15 -0
  58. package/dist/packages/core/src/commands/setMeta.d.ts +15 -0
  59. package/dist/packages/core/src/commands/setNode.d.ts +16 -0
  60. package/dist/packages/core/src/commands/setNodeSelection.d.ts +14 -0
  61. package/dist/packages/core/src/commands/setTextSelection.d.ts +14 -0
  62. package/dist/packages/core/src/commands/sinkListItem.d.ts +15 -0
  63. package/dist/packages/core/src/commands/splitBlock.d.ts +17 -0
  64. package/dist/packages/core/src/commands/splitListItem.d.ts +15 -0
  65. package/dist/packages/core/src/commands/toggleList.d.ts +18 -0
  66. package/dist/packages/core/src/commands/toggleMark.d.ts +30 -0
  67. package/dist/packages/core/src/commands/toggleNode.d.ts +17 -0
  68. package/dist/packages/core/src/commands/toggleWrap.d.ts +16 -0
  69. package/dist/packages/core/src/commands/undoInputRule.d.ts +13 -0
  70. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +13 -0
  71. package/dist/packages/core/src/commands/unsetMark.d.ts +25 -0
  72. package/dist/packages/core/src/commands/updateAttributes.d.ts +24 -0
  73. package/dist/packages/core/src/commands/wrapIn.d.ts +16 -0
  74. package/dist/packages/core/src/commands/wrapInList.d.ts +16 -0
  75. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +5 -0
  76. package/dist/packages/core/src/extensions/commands.d.ts +3 -0
  77. package/dist/packages/core/src/extensions/editable.d.ts +2 -0
  78. package/dist/packages/core/src/extensions/focusEvents.d.ts +2 -0
  79. package/dist/packages/core/src/extensions/index.d.ts +6 -0
  80. package/dist/packages/core/src/extensions/keymap.d.ts +2 -0
  81. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  82. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +10 -0
  83. package/dist/packages/core/src/helpers/createChainableState.d.ts +10 -0
  84. package/dist/packages/core/src/helpers/createDocument.d.ts +12 -0
  85. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +15 -0
  86. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +7 -0
  87. package/dist/packages/core/src/helpers/findChildren.d.ts +9 -0
  88. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +10 -0
  89. package/dist/packages/core/src/helpers/findParentNode.d.ts +16 -0
  90. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +17 -0
  91. package/dist/packages/core/src/helpers/generateHTML.d.ts +8 -0
  92. package/dist/packages/core/src/helpers/generateJSON.d.ts +8 -0
  93. package/dist/packages/core/src/helpers/generateText.d.ts +12 -0
  94. package/dist/packages/core/src/helpers/getAttributes.d.ts +9 -0
  95. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +6 -0
  96. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  97. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  98. package/dist/packages/core/src/helpers/getExtensionField.d.ts +9 -0
  99. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -0
  100. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +3 -0
  101. package/dist/packages/core/src/helpers/getMarkRange.d.ts +3 -0
  102. package/dist/packages/core/src/helpers/getMarkType.d.ts +2 -0
  103. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +3 -0
  104. package/dist/packages/core/src/helpers/getNodeAtPosition.d.ts +11 -0
  105. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +3 -0
  106. package/dist/packages/core/src/helpers/getNodeType.d.ts +2 -0
  107. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -0
  108. package/dist/packages/core/src/helpers/getSchema.d.ts +4 -0
  109. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +10 -0
  110. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +8 -0
  111. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +8 -0
  112. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +9 -0
  113. package/dist/packages/core/src/helpers/getText.d.ts +15 -0
  114. package/dist/packages/core/src/helpers/getTextBetween.d.ts +14 -0
  115. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +8 -0
  116. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +8 -0
  117. package/dist/packages/core/src/helpers/index.d.ts +50 -0
  118. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +9 -0
  119. package/dist/packages/core/src/helpers/isActive.d.ts +2 -0
  120. package/dist/packages/core/src/helpers/isAtEndOfNode.d.ts +2 -0
  121. package/dist/packages/core/src/helpers/isAtStartOfNode.d.ts +2 -0
  122. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  123. package/dist/packages/core/src/helpers/isList.d.ts +2 -0
  124. package/dist/packages/core/src/helpers/isMarkActive.d.ts +3 -0
  125. package/dist/packages/core/src/helpers/isNodeActive.d.ts +3 -0
  126. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -0
  127. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +2 -0
  128. package/dist/packages/core/src/helpers/isTextSelection.d.ts +2 -0
  129. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  130. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  131. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +2 -0
  132. package/dist/packages/core/src/helpers/splitExtensions.d.ts +9 -0
  133. package/dist/packages/core/src/index.d.ts +24 -0
  134. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  135. package/dist/packages/core/src/inputRules/markInputRule.d.ts +13 -0
  136. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +23 -0
  137. package/dist/packages/core/src/inputRules/textInputRule.d.ts +10 -0
  138. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +15 -0
  139. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +28 -0
  140. package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
  141. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +13 -0
  142. package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +13 -0
  143. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +10 -0
  144. package/dist/packages/core/src/style.d.ts +1 -0
  145. package/dist/packages/core/src/types.d.ts +250 -0
  146. package/dist/packages/core/src/utilities/callOrReturn.d.ts +9 -0
  147. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -0
  148. package/dist/packages/core/src/utilities/deleteProps.d.ts +6 -0
  149. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -0
  150. package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
  151. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  152. package/dist/packages/core/src/utilities/fromString.d.ts +1 -0
  153. package/dist/packages/core/src/utilities/index.d.ts +20 -0
  154. package/dist/packages/core/src/utilities/isAndroid.d.ts +1 -0
  155. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -0
  156. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  157. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  158. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  159. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -0
  160. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  161. package/dist/packages/core/src/utilities/isString.d.ts +1 -0
  162. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  163. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -0
  164. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -0
  165. package/dist/packages/core/src/utilities/minMax.d.ts +1 -0
  166. package/dist/packages/core/src/utilities/objectIncludes.d.ts +8 -0
  167. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  168. package/dist/packages/extension-typography/src/index.d.ts +3 -3
  169. package/dist/packages/extension-typography/src/typography.d.ts +140 -140
  170. package/package.json +2 -2
package/dist/index.umd.js CHANGED
@@ -4,203 +4,203 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@tiptap/extension-typography"] = {}, global.core));
5
5
  })(this, (function (exports, core) { 'use strict';
6
6
 
7
- const emDash = (override) => core.textInputRule({
8
- find: /--$/,
9
- replace: override !== null && override !== void 0 ? override : '—',
10
- });
11
- const ellipsis = (override) => core.textInputRule({
12
- find: /\.\.\.$/,
13
- replace: override !== null && override !== void 0 ? override : '…',
14
- });
15
- const openDoubleQuote = (override) => core.textInputRule({
16
- find: /(?:^|[\s{[(<'"\u2018\u201C])(")$/,
17
- replace: override !== null && override !== void 0 ? override : '“',
18
- });
19
- const closeDoubleQuote = (override) => core.textInputRule({
20
- find: /"$/,
21
- replace: override !== null && override !== void 0 ? override : '”',
22
- });
23
- const openSingleQuote = (override) => core.textInputRule({
24
- find: /(?:^|[\s{[(<'"\u2018\u201C])(')$/,
25
- replace: override !== null && override !== void 0 ? override : '‘',
26
- });
27
- const closeSingleQuote = (override) => core.textInputRule({
28
- find: /'$/,
29
- replace: override !== null && override !== void 0 ? override : '’',
30
- });
31
- const leftArrow = (override) => core.textInputRule({
32
- find: /<-$/,
33
- replace: override !== null && override !== void 0 ? override : '←',
34
- });
35
- const rightArrow = (override) => core.textInputRule({
36
- find: /->$/,
37
- replace: override !== null && override !== void 0 ? override : '→',
38
- });
39
- const copyright = (override) => core.textInputRule({
40
- find: /\(c\)$/,
41
- replace: override !== null && override !== void 0 ? override : '©',
42
- });
43
- const trademark = (override) => core.textInputRule({
44
- find: /\(tm\)$/,
45
- replace: override !== null && override !== void 0 ? override : '™',
46
- });
47
- const servicemark = (override) => core.textInputRule({
48
- find: /\(sm\)$/,
49
- replace: override !== null && override !== void 0 ? override : '℠',
50
- });
51
- const registeredTrademark = (override) => core.textInputRule({
52
- find: /\(r\)$/,
53
- replace: override !== null && override !== void 0 ? override : '®',
54
- });
55
- const oneHalf = (override) => core.textInputRule({
56
- find: /(?:^|\s)(1\/2)\s$/,
57
- replace: override !== null && override !== void 0 ? override : '½',
58
- });
59
- const plusMinus = (override) => core.textInputRule({
60
- find: /\+\/-$/,
61
- replace: override !== null && override !== void 0 ? override : '±',
62
- });
63
- const notEqual = (override) => core.textInputRule({
64
- find: /!=$/,
65
- replace: override !== null && override !== void 0 ? override : '≠',
66
- });
67
- const laquo = (override) => core.textInputRule({
68
- find: /<<$/,
69
- replace: override !== null && override !== void 0 ? override : '«',
70
- });
71
- const raquo = (override) => core.textInputRule({
72
- find: />>$/,
73
- replace: override !== null && override !== void 0 ? override : '»',
74
- });
75
- const multiplication = (override) => core.textInputRule({
76
- find: /\d+\s?([*x])\s?\d+$/,
77
- replace: override !== null && override !== void 0 ? override : '×',
78
- });
79
- const superscriptTwo = (override) => core.textInputRule({
80
- find: /\^2$/,
81
- replace: override !== null && override !== void 0 ? override : '²',
82
- });
83
- const superscriptThree = (override) => core.textInputRule({
84
- find: /\^3$/,
85
- replace: override !== null && override !== void 0 ? override : '³',
86
- });
87
- const oneQuarter = (override) => core.textInputRule({
88
- find: /(?:^|\s)(1\/4)\s$/,
89
- replace: override !== null && override !== void 0 ? override : '¼',
90
- });
91
- const threeQuarters = (override) => core.textInputRule({
92
- find: /(?:^|\s)(3\/4)\s$/,
93
- replace: override !== null && override !== void 0 ? override : '¾',
94
- });
95
- /**
96
- * This extension allows you to add typography replacements for specific characters.
97
- * @see https://www.tiptap.dev/api/extensions/typography
98
- */
99
- const Typography = core.Extension.create({
100
- name: 'typography',
101
- addOptions() {
102
- return {
103
- closeDoubleQuote: '”',
104
- closeSingleQuote: '’',
105
- copyright: '©',
106
- ellipsis: '…',
107
- emDash: '—',
108
- laquo: '«',
109
- leftArrow: '←',
110
- multiplication: '×',
111
- notEqual: '≠',
112
- oneHalf: '½',
113
- oneQuarter: '¼',
114
- openDoubleQuote: '“',
115
- openSingleQuote: '‘',
116
- plusMinus: '±',
117
- raquo: '»',
118
- registeredTrademark: '®',
119
- rightArrow: '→',
120
- servicemark: '℠',
121
- superscriptThree: '³',
122
- superscriptTwo: '²',
123
- threeQuarters: '¾',
124
- trademark: '™',
125
- };
126
- },
127
- addInputRules() {
128
- const rules = [];
129
- if (this.options.emDash !== false) {
130
- rules.push(emDash(this.options.emDash));
131
- }
132
- if (this.options.ellipsis !== false) {
133
- rules.push(ellipsis(this.options.ellipsis));
134
- }
135
- if (this.options.openDoubleQuote !== false) {
136
- rules.push(openDoubleQuote(this.options.openDoubleQuote));
137
- }
138
- if (this.options.closeDoubleQuote !== false) {
139
- rules.push(closeDoubleQuote(this.options.closeDoubleQuote));
140
- }
141
- if (this.options.openSingleQuote !== false) {
142
- rules.push(openSingleQuote(this.options.openSingleQuote));
143
- }
144
- if (this.options.closeSingleQuote !== false) {
145
- rules.push(closeSingleQuote(this.options.closeSingleQuote));
146
- }
147
- if (this.options.leftArrow !== false) {
148
- rules.push(leftArrow(this.options.leftArrow));
149
- }
150
- if (this.options.rightArrow !== false) {
151
- rules.push(rightArrow(this.options.rightArrow));
152
- }
153
- if (this.options.copyright !== false) {
154
- rules.push(copyright(this.options.copyright));
155
- }
156
- if (this.options.trademark !== false) {
157
- rules.push(trademark(this.options.trademark));
158
- }
159
- if (this.options.servicemark !== false) {
160
- rules.push(servicemark(this.options.servicemark));
161
- }
162
- if (this.options.registeredTrademark !== false) {
163
- rules.push(registeredTrademark(this.options.registeredTrademark));
164
- }
165
- if (this.options.oneHalf !== false) {
166
- rules.push(oneHalf(this.options.oneHalf));
167
- }
168
- if (this.options.plusMinus !== false) {
169
- rules.push(plusMinus(this.options.plusMinus));
170
- }
171
- if (this.options.notEqual !== false) {
172
- rules.push(notEqual(this.options.notEqual));
173
- }
174
- if (this.options.laquo !== false) {
175
- rules.push(laquo(this.options.laquo));
176
- }
177
- if (this.options.raquo !== false) {
178
- rules.push(raquo(this.options.raquo));
179
- }
180
- if (this.options.multiplication !== false) {
181
- rules.push(multiplication(this.options.multiplication));
182
- }
183
- if (this.options.superscriptTwo !== false) {
184
- rules.push(superscriptTwo(this.options.superscriptTwo));
185
- }
186
- if (this.options.superscriptThree !== false) {
187
- rules.push(superscriptThree(this.options.superscriptThree));
188
- }
189
- if (this.options.oneQuarter !== false) {
190
- rules.push(oneQuarter(this.options.oneQuarter));
191
- }
192
- if (this.options.threeQuarters !== false) {
193
- rules.push(threeQuarters(this.options.threeQuarters));
194
- }
195
- return rules;
196
- },
7
+ const emDash = (override) => core.textInputRule({
8
+ find: /--$/,
9
+ replace: override !== null && override !== void 0 ? override : '—',
10
+ });
11
+ const ellipsis = (override) => core.textInputRule({
12
+ find: /\.\.\.$/,
13
+ replace: override !== null && override !== void 0 ? override : '…',
14
+ });
15
+ const openDoubleQuote = (override) => core.textInputRule({
16
+ find: /(?:^|[\s{[(<'"\u2018\u201C])(")$/,
17
+ replace: override !== null && override !== void 0 ? override : '“',
18
+ });
19
+ const closeDoubleQuote = (override) => core.textInputRule({
20
+ find: /"$/,
21
+ replace: override !== null && override !== void 0 ? override : '”',
22
+ });
23
+ const openSingleQuote = (override) => core.textInputRule({
24
+ find: /(?:^|[\s{[(<'"\u2018\u201C])(')$/,
25
+ replace: override !== null && override !== void 0 ? override : '‘',
26
+ });
27
+ const closeSingleQuote = (override) => core.textInputRule({
28
+ find: /'$/,
29
+ replace: override !== null && override !== void 0 ? override : '’',
30
+ });
31
+ const leftArrow = (override) => core.textInputRule({
32
+ find: /<-$/,
33
+ replace: override !== null && override !== void 0 ? override : '←',
34
+ });
35
+ const rightArrow = (override) => core.textInputRule({
36
+ find: /->$/,
37
+ replace: override !== null && override !== void 0 ? override : '→',
38
+ });
39
+ const copyright = (override) => core.textInputRule({
40
+ find: /\(c\)$/,
41
+ replace: override !== null && override !== void 0 ? override : '©',
42
+ });
43
+ const trademark = (override) => core.textInputRule({
44
+ find: /\(tm\)$/,
45
+ replace: override !== null && override !== void 0 ? override : '™',
46
+ });
47
+ const servicemark = (override) => core.textInputRule({
48
+ find: /\(sm\)$/,
49
+ replace: override !== null && override !== void 0 ? override : '℠',
50
+ });
51
+ const registeredTrademark = (override) => core.textInputRule({
52
+ find: /\(r\)$/,
53
+ replace: override !== null && override !== void 0 ? override : '®',
54
+ });
55
+ const oneHalf = (override) => core.textInputRule({
56
+ find: /(?:^|\s)(1\/2)\s$/,
57
+ replace: override !== null && override !== void 0 ? override : '½',
58
+ });
59
+ const plusMinus = (override) => core.textInputRule({
60
+ find: /\+\/-$/,
61
+ replace: override !== null && override !== void 0 ? override : '±',
62
+ });
63
+ const notEqual = (override) => core.textInputRule({
64
+ find: /!=$/,
65
+ replace: override !== null && override !== void 0 ? override : '≠',
66
+ });
67
+ const laquo = (override) => core.textInputRule({
68
+ find: /<<$/,
69
+ replace: override !== null && override !== void 0 ? override : '«',
70
+ });
71
+ const raquo = (override) => core.textInputRule({
72
+ find: />>$/,
73
+ replace: override !== null && override !== void 0 ? override : '»',
74
+ });
75
+ const multiplication = (override) => core.textInputRule({
76
+ find: /\d+\s?([*x])\s?\d+$/,
77
+ replace: override !== null && override !== void 0 ? override : '×',
78
+ });
79
+ const superscriptTwo = (override) => core.textInputRule({
80
+ find: /\^2$/,
81
+ replace: override !== null && override !== void 0 ? override : '²',
82
+ });
83
+ const superscriptThree = (override) => core.textInputRule({
84
+ find: /\^3$/,
85
+ replace: override !== null && override !== void 0 ? override : '³',
86
+ });
87
+ const oneQuarter = (override) => core.textInputRule({
88
+ find: /(?:^|\s)(1\/4)\s$/,
89
+ replace: override !== null && override !== void 0 ? override : '¼',
90
+ });
91
+ const threeQuarters = (override) => core.textInputRule({
92
+ find: /(?:^|\s)(3\/4)\s$/,
93
+ replace: override !== null && override !== void 0 ? override : '¾',
94
+ });
95
+ /**
96
+ * This extension allows you to add typography replacements for specific characters.
97
+ * @see https://www.tiptap.dev/api/extensions/typography
98
+ */
99
+ const Typography = core.Extension.create({
100
+ name: 'typography',
101
+ addOptions() {
102
+ return {
103
+ closeDoubleQuote: '”',
104
+ closeSingleQuote: '’',
105
+ copyright: '©',
106
+ ellipsis: '…',
107
+ emDash: '—',
108
+ laquo: '«',
109
+ leftArrow: '←',
110
+ multiplication: '×',
111
+ notEqual: '≠',
112
+ oneHalf: '½',
113
+ oneQuarter: '¼',
114
+ openDoubleQuote: '“',
115
+ openSingleQuote: '‘',
116
+ plusMinus: '±',
117
+ raquo: '»',
118
+ registeredTrademark: '®',
119
+ rightArrow: '→',
120
+ servicemark: '℠',
121
+ superscriptThree: '³',
122
+ superscriptTwo: '²',
123
+ threeQuarters: '¾',
124
+ trademark: '™',
125
+ };
126
+ },
127
+ addInputRules() {
128
+ const rules = [];
129
+ if (this.options.emDash !== false) {
130
+ rules.push(emDash(this.options.emDash));
131
+ }
132
+ if (this.options.ellipsis !== false) {
133
+ rules.push(ellipsis(this.options.ellipsis));
134
+ }
135
+ if (this.options.openDoubleQuote !== false) {
136
+ rules.push(openDoubleQuote(this.options.openDoubleQuote));
137
+ }
138
+ if (this.options.closeDoubleQuote !== false) {
139
+ rules.push(closeDoubleQuote(this.options.closeDoubleQuote));
140
+ }
141
+ if (this.options.openSingleQuote !== false) {
142
+ rules.push(openSingleQuote(this.options.openSingleQuote));
143
+ }
144
+ if (this.options.closeSingleQuote !== false) {
145
+ rules.push(closeSingleQuote(this.options.closeSingleQuote));
146
+ }
147
+ if (this.options.leftArrow !== false) {
148
+ rules.push(leftArrow(this.options.leftArrow));
149
+ }
150
+ if (this.options.rightArrow !== false) {
151
+ rules.push(rightArrow(this.options.rightArrow));
152
+ }
153
+ if (this.options.copyright !== false) {
154
+ rules.push(copyright(this.options.copyright));
155
+ }
156
+ if (this.options.trademark !== false) {
157
+ rules.push(trademark(this.options.trademark));
158
+ }
159
+ if (this.options.servicemark !== false) {
160
+ rules.push(servicemark(this.options.servicemark));
161
+ }
162
+ if (this.options.registeredTrademark !== false) {
163
+ rules.push(registeredTrademark(this.options.registeredTrademark));
164
+ }
165
+ if (this.options.oneHalf !== false) {
166
+ rules.push(oneHalf(this.options.oneHalf));
167
+ }
168
+ if (this.options.plusMinus !== false) {
169
+ rules.push(plusMinus(this.options.plusMinus));
170
+ }
171
+ if (this.options.notEqual !== false) {
172
+ rules.push(notEqual(this.options.notEqual));
173
+ }
174
+ if (this.options.laquo !== false) {
175
+ rules.push(laquo(this.options.laquo));
176
+ }
177
+ if (this.options.raquo !== false) {
178
+ rules.push(raquo(this.options.raquo));
179
+ }
180
+ if (this.options.multiplication !== false) {
181
+ rules.push(multiplication(this.options.multiplication));
182
+ }
183
+ if (this.options.superscriptTwo !== false) {
184
+ rules.push(superscriptTwo(this.options.superscriptTwo));
185
+ }
186
+ if (this.options.superscriptThree !== false) {
187
+ rules.push(superscriptThree(this.options.superscriptThree));
188
+ }
189
+ if (this.options.oneQuarter !== false) {
190
+ rules.push(oneQuarter(this.options.oneQuarter));
191
+ }
192
+ if (this.options.threeQuarters !== false) {
193
+ rules.push(threeQuarters(this.options.threeQuarters));
194
+ }
195
+ return rules;
196
+ },
197
197
  });
198
198
 
199
199
  exports.Typography = Typography;
200
200
  exports.closeDoubleQuote = closeDoubleQuote;
201
201
  exports.closeSingleQuote = closeSingleQuote;
202
202
  exports.copyright = copyright;
203
- exports["default"] = Typography;
203
+ exports.default = Typography;
204
204
  exports.ellipsis = ellipsis;
205
205
  exports.emDash = emDash;
206
206
  exports.laquo = laquo;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport interface TypographyOptions {\n /**\n * The em dash character.\n * @default '—'\n */\n emDash: false | string,\n\n /**\n * The ellipsis character.\n * @default '…'\n */\n ellipsis: false | string,\n\n /**\n * The open double quote character.\n * @default '“'\n */\n openDoubleQuote: false | string,\n\n /**\n * The close double quote character.\n * @default '”'\n */\n closeDoubleQuote: false | string,\n\n /**\n * The open single quote character.\n * @default '‘'\n */\n openSingleQuote: false | string,\n\n /**\n * The close single quote character.\n * @default '’'\n */\n closeSingleQuote: false | string,\n\n /**\n * The left arrow character.\n * @default '←'\n */\n leftArrow: false | string,\n\n /**\n * The right arrow character.\n * @default '→'\n */\n rightArrow: false | string,\n\n /**\n * The copyright character.\n * @default '©'\n */\n copyright: false | string,\n\n /**\n * The trademark character.\n * @default '™'\n */\n trademark: false | string,\n\n /**\n * The servicemark character.\n * @default '℠'\n */\n servicemark: false | string,\n\n /**\n * The registered trademark character.\n * @default '®'\n */\n registeredTrademark: false | string,\n\n /**\n * The one half character.\n * @default '½'\n */\n oneHalf: false | string,\n\n /**\n * The plus minus character.\n * @default '±'\n */\n plusMinus: false | string,\n\n /**\n * The not equal character.\n * @default '≠'\n */\n notEqual: false | string,\n\n /**\n * The laquo character.\n * @default '«'\n */\n laquo: false | string,\n\n /**\n * The raquo character.\n * @default '»'\n */\n raquo: false | string,\n\n /**\n * The multiplication character.\n * @default '×'\n */\n multiplication: false | string,\n\n /**\n * The superscript two character.\n * @default '²'\n */\n superscriptTwo: false | string,\n\n /**\n * The superscript three character.\n * @default '³'\n */\n superscriptThree: false | string,\n\n /**\n * The one quarter character.\n * @default '¼'\n */\n oneQuarter: false | string,\n\n /**\n * The three quarters character.\n * @default '¾'\n */\n threeQuarters: false | string,\n}\n\nexport const emDash = (override?: string) => textInputRule({\n find: /--$/,\n replace: override ?? '—',\n})\n\nexport const ellipsis = (override?: string) => textInputRule({\n find: /\\.\\.\\.$/,\n replace: override ?? '…',\n})\n\nexport const openDoubleQuote = (override?: string) => textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: override ?? '“',\n})\n\nexport const closeDoubleQuote = (override?: string) => textInputRule({\n find: /\"$/,\n replace: override ?? '”',\n})\n\nexport const openSingleQuote = (override?: string) => textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: override ?? '‘',\n})\n\nexport const closeSingleQuote = (override?: string) => textInputRule({\n find: /'$/,\n replace: override ?? '’',\n})\n\nexport const leftArrow = (override?: string) => textInputRule({\n find: /<-$/,\n replace: override ?? '←',\n})\n\nexport const rightArrow = (override?: string) => textInputRule({\n find: /->$/,\n replace: override ?? '→',\n})\n\nexport const copyright = (override?: string) => textInputRule({\n find: /\\(c\\)$/,\n replace: override ?? '©',\n})\n\nexport const trademark = (override?: string) => textInputRule({\n find: /\\(tm\\)$/,\n replace: override ?? '™',\n})\n\nexport const servicemark = (override?: string) => textInputRule({\n find: /\\(sm\\)$/,\n replace: override ?? '℠',\n})\n\nexport const registeredTrademark = (override?: string) => textInputRule({\n find: /\\(r\\)$/,\n replace: override ?? '®',\n})\n\nexport const oneHalf = (override?: string) => textInputRule({\n find: /(?:^|\\s)(1\\/2)\\s$/,\n replace: override ?? '½',\n})\n\nexport const plusMinus = (override?: string) => textInputRule({\n find: /\\+\\/-$/,\n replace: override ?? '±',\n})\n\nexport const notEqual = (override?: string) => textInputRule({\n find: /!=$/,\n replace: override ?? '≠',\n})\n\nexport const laquo = (override?: string) => textInputRule({\n find: /<<$/,\n replace: override ?? '«',\n})\n\nexport const raquo = (override?: string) => textInputRule({\n find: />>$/,\n replace: override ?? '»',\n})\n\nexport const multiplication = (override?: string) => textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: override ?? '×',\n})\n\nexport const superscriptTwo = (override?: string) => textInputRule({\n find: /\\^2$/,\n replace: override ?? '²',\n})\n\nexport const superscriptThree = (override?: string) => textInputRule({\n find: /\\^3$/,\n replace: override ?? '³',\n})\n\nexport const oneQuarter = (override?: string) => textInputRule({\n find: /(?:^|\\s)(1\\/4)\\s$/,\n replace: override ?? '¼',\n})\n\nexport const threeQuarters = (override?: string) => textInputRule({\n find: /(?:^|\\s)(3\\/4)\\s$/,\n replace: override ?? '¾',\n})\n\n/**\n * This extension allows you to add typography replacements for specific characters.\n * @see https://www.tiptap.dev/api/extensions/typography\n */\nexport const Typography = Extension.create<TypographyOptions>({\n name: 'typography',\n\n addOptions() {\n return {\n closeDoubleQuote: '”',\n closeSingleQuote: '’',\n copyright: '©',\n ellipsis: '…',\n emDash: '—',\n laquo: '«',\n leftArrow: '←',\n multiplication: '×',\n notEqual: '≠',\n oneHalf: '½',\n oneQuarter: '¼',\n openDoubleQuote: '“',\n openSingleQuote: '‘',\n plusMinus: '±',\n raquo: '»',\n registeredTrademark: '®',\n rightArrow: '→',\n servicemark: '℠',\n superscriptThree: '³',\n superscriptTwo: '²',\n threeQuarters: '¾',\n trademark: '™',\n }\n },\n\n addInputRules() {\n const rules = []\n\n if (this.options.emDash !== false) {\n rules.push(emDash(this.options.emDash))\n }\n\n if (this.options.ellipsis !== false) {\n rules.push(ellipsis(this.options.ellipsis))\n }\n\n if (this.options.openDoubleQuote !== false) {\n rules.push(openDoubleQuote(this.options.openDoubleQuote))\n }\n\n if (this.options.closeDoubleQuote !== false) {\n rules.push(closeDoubleQuote(this.options.closeDoubleQuote))\n }\n\n if (this.options.openSingleQuote !== false) {\n rules.push(openSingleQuote(this.options.openSingleQuote))\n }\n\n if (this.options.closeSingleQuote !== false) {\n rules.push(closeSingleQuote(this.options.closeSingleQuote))\n }\n\n if (this.options.leftArrow !== false) {\n rules.push(leftArrow(this.options.leftArrow))\n }\n\n if (this.options.rightArrow !== false) {\n rules.push(rightArrow(this.options.rightArrow))\n }\n\n if (this.options.copyright !== false) {\n rules.push(copyright(this.options.copyright))\n }\n\n if (this.options.trademark !== false) {\n rules.push(trademark(this.options.trademark))\n }\n\n if (this.options.servicemark !== false) {\n rules.push(servicemark(this.options.servicemark))\n }\n\n if (this.options.registeredTrademark !== false) {\n rules.push(registeredTrademark(this.options.registeredTrademark))\n }\n\n if (this.options.oneHalf !== false) {\n rules.push(oneHalf(this.options.oneHalf))\n }\n\n if (this.options.plusMinus !== false) {\n rules.push(plusMinus(this.options.plusMinus))\n }\n\n if (this.options.notEqual !== false) {\n rules.push(notEqual(this.options.notEqual))\n }\n\n if (this.options.laquo !== false) {\n rules.push(laquo(this.options.laquo))\n }\n\n if (this.options.raquo !== false) {\n rules.push(raquo(this.options.raquo))\n }\n\n if (this.options.multiplication !== false) {\n rules.push(multiplication(this.options.multiplication))\n }\n\n if (this.options.superscriptTwo !== false) {\n rules.push(superscriptTwo(this.options.superscriptTwo))\n }\n\n if (this.options.superscriptThree !== false) {\n rules.push(superscriptThree(this.options.superscriptThree))\n }\n\n if (this.options.oneQuarter !== false) {\n rules.push(oneQuarter(this.options.oneQuarter))\n }\n\n if (this.options.threeQuarters !== false) {\n rules.push(threeQuarters(this.options.threeQuarters))\n }\n\n return rules\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport interface TypographyOptions {\n /**\n * The em dash character.\n * @default '—'\n */\n emDash: false | string,\n\n /**\n * The ellipsis character.\n * @default '…'\n */\n ellipsis: false | string,\n\n /**\n * The open double quote character.\n * @default '“'\n */\n openDoubleQuote: false | string,\n\n /**\n * The close double quote character.\n * @default '”'\n */\n closeDoubleQuote: false | string,\n\n /**\n * The open single quote character.\n * @default '‘'\n */\n openSingleQuote: false | string,\n\n /**\n * The close single quote character.\n * @default '’'\n */\n closeSingleQuote: false | string,\n\n /**\n * The left arrow character.\n * @default '←'\n */\n leftArrow: false | string,\n\n /**\n * The right arrow character.\n * @default '→'\n */\n rightArrow: false | string,\n\n /**\n * The copyright character.\n * @default '©'\n */\n copyright: false | string,\n\n /**\n * The trademark character.\n * @default '™'\n */\n trademark: false | string,\n\n /**\n * The servicemark character.\n * @default '℠'\n */\n servicemark: false | string,\n\n /**\n * The registered trademark character.\n * @default '®'\n */\n registeredTrademark: false | string,\n\n /**\n * The one half character.\n * @default '½'\n */\n oneHalf: false | string,\n\n /**\n * The plus minus character.\n * @default '±'\n */\n plusMinus: false | string,\n\n /**\n * The not equal character.\n * @default '≠'\n */\n notEqual: false | string,\n\n /**\n * The laquo character.\n * @default '«'\n */\n laquo: false | string,\n\n /**\n * The raquo character.\n * @default '»'\n */\n raquo: false | string,\n\n /**\n * The multiplication character.\n * @default '×'\n */\n multiplication: false | string,\n\n /**\n * The superscript two character.\n * @default '²'\n */\n superscriptTwo: false | string,\n\n /**\n * The superscript three character.\n * @default '³'\n */\n superscriptThree: false | string,\n\n /**\n * The one quarter character.\n * @default '¼'\n */\n oneQuarter: false | string,\n\n /**\n * The three quarters character.\n * @default '¾'\n */\n threeQuarters: false | string,\n}\n\nexport const emDash = (override?: string) => textInputRule({\n find: /--$/,\n replace: override ?? '—',\n})\n\nexport const ellipsis = (override?: string) => textInputRule({\n find: /\\.\\.\\.$/,\n replace: override ?? '…',\n})\n\nexport const openDoubleQuote = (override?: string) => textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: override ?? '“',\n})\n\nexport const closeDoubleQuote = (override?: string) => textInputRule({\n find: /\"$/,\n replace: override ?? '”',\n})\n\nexport const openSingleQuote = (override?: string) => textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: override ?? '‘',\n})\n\nexport const closeSingleQuote = (override?: string) => textInputRule({\n find: /'$/,\n replace: override ?? '’',\n})\n\nexport const leftArrow = (override?: string) => textInputRule({\n find: /<-$/,\n replace: override ?? '←',\n})\n\nexport const rightArrow = (override?: string) => textInputRule({\n find: /->$/,\n replace: override ?? '→',\n})\n\nexport const copyright = (override?: string) => textInputRule({\n find: /\\(c\\)$/,\n replace: override ?? '©',\n})\n\nexport const trademark = (override?: string) => textInputRule({\n find: /\\(tm\\)$/,\n replace: override ?? '™',\n})\n\nexport const servicemark = (override?: string) => textInputRule({\n find: /\\(sm\\)$/,\n replace: override ?? '℠',\n})\n\nexport const registeredTrademark = (override?: string) => textInputRule({\n find: /\\(r\\)$/,\n replace: override ?? '®',\n})\n\nexport const oneHalf = (override?: string) => textInputRule({\n find: /(?:^|\\s)(1\\/2)\\s$/,\n replace: override ?? '½',\n})\n\nexport const plusMinus = (override?: string) => textInputRule({\n find: /\\+\\/-$/,\n replace: override ?? '±',\n})\n\nexport const notEqual = (override?: string) => textInputRule({\n find: /!=$/,\n replace: override ?? '≠',\n})\n\nexport const laquo = (override?: string) => textInputRule({\n find: /<<$/,\n replace: override ?? '«',\n})\n\nexport const raquo = (override?: string) => textInputRule({\n find: />>$/,\n replace: override ?? '»',\n})\n\nexport const multiplication = (override?: string) => textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: override ?? '×',\n})\n\nexport const superscriptTwo = (override?: string) => textInputRule({\n find: /\\^2$/,\n replace: override ?? '²',\n})\n\nexport const superscriptThree = (override?: string) => textInputRule({\n find: /\\^3$/,\n replace: override ?? '³',\n})\n\nexport const oneQuarter = (override?: string) => textInputRule({\n find: /(?:^|\\s)(1\\/4)\\s$/,\n replace: override ?? '¼',\n})\n\nexport const threeQuarters = (override?: string) => textInputRule({\n find: /(?:^|\\s)(3\\/4)\\s$/,\n replace: override ?? '¾',\n})\n\n/**\n * This extension allows you to add typography replacements for specific characters.\n * @see https://www.tiptap.dev/api/extensions/typography\n */\nexport const Typography = Extension.create<TypographyOptions>({\n name: 'typography',\n\n addOptions() {\n return {\n closeDoubleQuote: '”',\n closeSingleQuote: '’',\n copyright: '©',\n ellipsis: '…',\n emDash: '—',\n laquo: '«',\n leftArrow: '←',\n multiplication: '×',\n notEqual: '≠',\n oneHalf: '½',\n oneQuarter: '¼',\n openDoubleQuote: '“',\n openSingleQuote: '‘',\n plusMinus: '±',\n raquo: '»',\n registeredTrademark: '®',\n rightArrow: '→',\n servicemark: '℠',\n superscriptThree: '³',\n superscriptTwo: '²',\n threeQuarters: '¾',\n trademark: '™',\n }\n },\n\n addInputRules() {\n const rules = []\n\n if (this.options.emDash !== false) {\n rules.push(emDash(this.options.emDash))\n }\n\n if (this.options.ellipsis !== false) {\n rules.push(ellipsis(this.options.ellipsis))\n }\n\n if (this.options.openDoubleQuote !== false) {\n rules.push(openDoubleQuote(this.options.openDoubleQuote))\n }\n\n if (this.options.closeDoubleQuote !== false) {\n rules.push(closeDoubleQuote(this.options.closeDoubleQuote))\n }\n\n if (this.options.openSingleQuote !== false) {\n rules.push(openSingleQuote(this.options.openSingleQuote))\n }\n\n if (this.options.closeSingleQuote !== false) {\n rules.push(closeSingleQuote(this.options.closeSingleQuote))\n }\n\n if (this.options.leftArrow !== false) {\n rules.push(leftArrow(this.options.leftArrow))\n }\n\n if (this.options.rightArrow !== false) {\n rules.push(rightArrow(this.options.rightArrow))\n }\n\n if (this.options.copyright !== false) {\n rules.push(copyright(this.options.copyright))\n }\n\n if (this.options.trademark !== false) {\n rules.push(trademark(this.options.trademark))\n }\n\n if (this.options.servicemark !== false) {\n rules.push(servicemark(this.options.servicemark))\n }\n\n if (this.options.registeredTrademark !== false) {\n rules.push(registeredTrademark(this.options.registeredTrademark))\n }\n\n if (this.options.oneHalf !== false) {\n rules.push(oneHalf(this.options.oneHalf))\n }\n\n if (this.options.plusMinus !== false) {\n rules.push(plusMinus(this.options.plusMinus))\n }\n\n if (this.options.notEqual !== false) {\n rules.push(notEqual(this.options.notEqual))\n }\n\n if (this.options.laquo !== false) {\n rules.push(laquo(this.options.laquo))\n }\n\n if (this.options.raquo !== false) {\n rules.push(raquo(this.options.raquo))\n }\n\n if (this.options.multiplication !== false) {\n rules.push(multiplication(this.options.multiplication))\n }\n\n if (this.options.superscriptTwo !== false) {\n rules.push(superscriptTwo(this.options.superscriptTwo))\n }\n\n if (this.options.superscriptThree !== false) {\n rules.push(superscriptThree(this.options.superscriptThree))\n }\n\n if (this.options.oneQuarter !== false) {\n rules.push(oneQuarter(this.options.oneQuarter))\n }\n\n if (this.options.threeQuarters !== false) {\n rules.push(threeQuarters(this.options.threeQuarters))\n }\n\n return rules\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { EditorState, Transaction } from '@tiptap/pm/state';
2
+ import { Editor } from './Editor.js';
3
+ import { AnyCommands, CanCommands, ChainedCommands, CommandProps, SingleCommands } from './types.js';
4
+ export declare class CommandManager {
5
+ editor: Editor;
6
+ rawCommands: AnyCommands;
7
+ customState?: EditorState;
8
+ constructor(props: {
9
+ editor: Editor;
10
+ state?: EditorState;
11
+ });
12
+ get hasCustomState(): boolean;
13
+ get state(): EditorState;
14
+ get commands(): SingleCommands;
15
+ get chain(): () => ChainedCommands;
16
+ get can(): () => CanCommands;
17
+ createChain(startTr?: Transaction, shouldDispatch?: boolean): ChainedCommands;
18
+ createCan(startTr?: Transaction): CanCommands;
19
+ buildProps(tr: Transaction, shouldDispatch?: boolean): CommandProps;
20
+ }
@@ -0,0 +1,161 @@
1
+ import { MarkType, NodeType, Schema } from '@tiptap/pm/model';
2
+ import { EditorState, Plugin, PluginKey, Transaction } from '@tiptap/pm/state';
3
+ import { EditorView } from '@tiptap/pm/view';
4
+ import { EventEmitter } from './EventEmitter.js';
5
+ import { ExtensionManager } from './ExtensionManager.js';
6
+ import { NodePos } from './NodePos.js';
7
+ import { CanCommands, ChainedCommands, EditorEvents, EditorOptions, JSONContent, SingleCommands, TextSerializer } from './types.js';
8
+ export * as extensions from './extensions/index.js';
9
+ declare global {
10
+ interface HTMLElement {
11
+ editor?: Editor;
12
+ }
13
+ }
14
+ export declare class Editor extends EventEmitter<EditorEvents> {
15
+ private commandManager;
16
+ extensionManager: ExtensionManager;
17
+ private css;
18
+ schema: Schema;
19
+ view: EditorView;
20
+ isFocused: boolean;
21
+ extensionStorage: Record<string, any>;
22
+ options: EditorOptions;
23
+ constructor(options?: Partial<EditorOptions>);
24
+ /**
25
+ * Returns the editor storage.
26
+ */
27
+ get storage(): Record<string, any>;
28
+ /**
29
+ * An object of all registered commands.
30
+ */
31
+ get commands(): SingleCommands;
32
+ /**
33
+ * Create a command chain to call multiple commands at once.
34
+ */
35
+ chain(): ChainedCommands;
36
+ /**
37
+ * Check if a command or a command chain can be executed. Without executing it.
38
+ */
39
+ can(): CanCommands;
40
+ /**
41
+ * Inject CSS styles.
42
+ */
43
+ private injectCSS;
44
+ /**
45
+ * Update editor options.
46
+ *
47
+ * @param options A list of options
48
+ */
49
+ setOptions(options?: Partial<EditorOptions>): void;
50
+ /**
51
+ * Update editable state of the editor.
52
+ */
53
+ setEditable(editable: boolean, emitUpdate?: boolean): void;
54
+ /**
55
+ * Returns whether the editor is editable.
56
+ */
57
+ get isEditable(): boolean;
58
+ /**
59
+ * Returns the editor state.
60
+ */
61
+ get state(): EditorState;
62
+ /**
63
+ * Register a ProseMirror plugin.
64
+ *
65
+ * @param plugin A ProseMirror plugin
66
+ * @param handlePlugins Control how to merge the plugin into the existing plugins.
67
+ */
68
+ registerPlugin(plugin: Plugin, handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[]): void;
69
+ /**
70
+ * Unregister a ProseMirror plugin.
71
+ *
72
+ * @param nameOrPluginKey The plugins name
73
+ */
74
+ unregisterPlugin(nameOrPluginKey: string | PluginKey): void;
75
+ /**
76
+ * Creates an extension manager.
77
+ */
78
+ private createExtensionManager;
79
+ /**
80
+ * Creates an command manager.
81
+ */
82
+ private createCommandManager;
83
+ /**
84
+ * Creates a ProseMirror schema.
85
+ */
86
+ private createSchema;
87
+ /**
88
+ * Creates a ProseMirror view.
89
+ */
90
+ private createView;
91
+ /**
92
+ * Creates all node views.
93
+ */
94
+ createNodeViews(): void;
95
+ /**
96
+ * Prepend class name to element.
97
+ */
98
+ prependClass(): void;
99
+ isCapturingTransaction: boolean;
100
+ private capturedTransaction;
101
+ captureTransaction(fn: Function): Transaction | null;
102
+ /**
103
+ * The callback over which to send transactions (state updates) produced by the view.
104
+ *
105
+ * @param transaction An editor state transaction
106
+ */
107
+ private dispatchTransaction;
108
+ /**
109
+ * Get attributes of the currently selected node or mark.
110
+ */
111
+ getAttributes(nameOrType: string | NodeType | MarkType): Record<string, any>;
112
+ /**
113
+ * Returns if the currently selected node or mark is active.
114
+ *
115
+ * @param name Name of the node or mark
116
+ * @param attributes Attributes of the node or mark
117
+ */
118
+ isActive(name: string, attributes?: {}): boolean;
119
+ isActive(attributes: {}): boolean;
120
+ /**
121
+ * Get the document as JSON.
122
+ */
123
+ getJSON(): JSONContent;
124
+ /**
125
+ * Get the document as HTML.
126
+ */
127
+ getHTML(): string;
128
+ /**
129
+ * Get the document as text.
130
+ */
131
+ getText(options?: {
132
+ blockSeparator?: string;
133
+ textSerializers?: Record<string, TextSerializer>;
134
+ }): string;
135
+ /**
136
+ * Check if there is no content.
137
+ */
138
+ get isEmpty(): boolean;
139
+ /**
140
+ * Get the number of characters for the current document.
141
+ *
142
+ * @deprecated
143
+ */
144
+ getCharacterCount(): number;
145
+ /**
146
+ * Destroy the editor.
147
+ */
148
+ destroy(): void;
149
+ /**
150
+ * Check if the editor is already destroyed.
151
+ */
152
+ get isDestroyed(): boolean;
153
+ $node(selector: string, attributes?: {
154
+ [key: string]: any;
155
+ }): NodePos | null;
156
+ $nodes(selector: string, attributes?: {
157
+ [key: string]: any;
158
+ }): NodePos[] | null;
159
+ $pos(pos: number): NodePos;
160
+ get $doc(): NodePos;
161
+ }