@tiptap/extension-typography 2.5.0-beta.1 → 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.cjs CHANGED
@@ -4,203 +4,203 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var core = require('@tiptap/core');
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.cjs","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.cjs","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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"}