@tiptap/extension-typography 2.0.0-beta.19 → 2.0.0-beta.22

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.
@@ -1,4 +1,27 @@
1
1
  import { Extension } from '@tiptap/core';
2
+ export interface TypographyOptions {
3
+ emDash: false;
4
+ ellipsis: false;
5
+ openDoubleQuote: false;
6
+ closeDoubleQuote: false;
7
+ openSingleQuote: false;
8
+ closeSingleQuote: false;
9
+ leftArrow: false;
10
+ rightArrow: false;
11
+ copyright: false;
12
+ trademark: false;
13
+ registeredTrademark: false;
14
+ oneHalf: false;
15
+ plusMinus: false;
16
+ notEqual: false;
17
+ laquo: false;
18
+ raquo: false;
19
+ multiplication: false;
20
+ superscriptTwo: false;
21
+ superscriptThree: false;
22
+ oneQuarter: false;
23
+ threeQuarters: false;
24
+ }
2
25
  export declare const emDash: import("@tiptap/core").InputRule;
3
26
  export declare const ellipsis: import("@tiptap/core").InputRule;
4
27
  export declare const openDoubleQuote: import("@tiptap/core").InputRule;
@@ -20,4 +43,4 @@ export declare const superscriptTwo: import("@tiptap/core").InputRule;
20
43
  export declare const superscriptThree: import("@tiptap/core").InputRule;
21
44
  export declare const oneQuarter: import("@tiptap/core").InputRule;
22
45
  export declare const threeQuarters: import("@tiptap/core").InputRule;
23
- export declare const Typography: Extension<any, any>;
46
+ export declare const Typography: Extension<TypographyOptions, any>;
@@ -91,29 +91,71 @@ const threeQuarters = core.textInputRule({
91
91
  const Typography = core.Extension.create({
92
92
  name: 'typography',
93
93
  addInputRules() {
94
- return [
95
- emDash,
96
- ellipsis,
97
- openDoubleQuote,
98
- closeDoubleQuote,
99
- openSingleQuote,
100
- closeSingleQuote,
101
- leftArrow,
102
- rightArrow,
103
- copyright,
104
- trademark,
105
- registeredTrademark,
106
- oneHalf,
107
- plusMinus,
108
- notEqual,
109
- laquo,
110
- raquo,
111
- multiplication,
112
- superscriptTwo,
113
- superscriptThree,
114
- oneQuarter,
115
- threeQuarters,
116
- ];
94
+ const rules = [];
95
+ if (this.options.emDash !== false) {
96
+ rules.push(emDash);
97
+ }
98
+ if (this.options.ellipsis !== false) {
99
+ rules.push(ellipsis);
100
+ }
101
+ if (this.options.openDoubleQuote !== false) {
102
+ rules.push(openDoubleQuote);
103
+ }
104
+ if (this.options.closeDoubleQuote !== false) {
105
+ rules.push(closeDoubleQuote);
106
+ }
107
+ if (this.options.openSingleQuote !== false) {
108
+ rules.push(openSingleQuote);
109
+ }
110
+ if (this.options.closeSingleQuote !== false) {
111
+ rules.push(closeSingleQuote);
112
+ }
113
+ if (this.options.leftArrow !== false) {
114
+ rules.push(leftArrow);
115
+ }
116
+ if (this.options.rightArrow !== false) {
117
+ rules.push(rightArrow);
118
+ }
119
+ if (this.options.copyright !== false) {
120
+ rules.push(copyright);
121
+ }
122
+ if (this.options.trademark !== false) {
123
+ rules.push(trademark);
124
+ }
125
+ if (this.options.registeredTrademark !== false) {
126
+ rules.push(registeredTrademark);
127
+ }
128
+ if (this.options.oneHalf !== false) {
129
+ rules.push(oneHalf);
130
+ }
131
+ if (this.options.plusMinus !== false) {
132
+ rules.push(plusMinus);
133
+ }
134
+ if (this.options.notEqual !== false) {
135
+ rules.push(notEqual);
136
+ }
137
+ if (this.options.laquo !== false) {
138
+ rules.push(laquo);
139
+ }
140
+ if (this.options.raquo !== false) {
141
+ rules.push(raquo);
142
+ }
143
+ if (this.options.multiplication !== false) {
144
+ rules.push(multiplication);
145
+ }
146
+ if (this.options.superscriptTwo !== false) {
147
+ rules.push(superscriptTwo);
148
+ }
149
+ if (this.options.superscriptThree !== false) {
150
+ rules.push(superscriptThree);
151
+ }
152
+ if (this.options.oneQuarter !== false) {
153
+ rules.push(oneQuarter);
154
+ }
155
+ if (this.options.threeQuarters !== false) {
156
+ rules.push(threeQuarters);
157
+ }
158
+ return rules;
117
159
  },
118
160
  });
119
161
 
@@ -1 +1 @@
1
- {"version":3,"file":"tiptap-extension-typography.cjs.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create({\n name: 'typography',\n\n addInputRules() {\n return [\n emDash,\n ellipsis,\n openDoubleQuote,\n closeDoubleQuote,\n openSingleQuote,\n closeSingleQuote,\n leftArrow,\n rightArrow,\n copyright,\n trademark,\n registeredTrademark,\n oneHalf,\n plusMinus,\n notEqual,\n laquo,\n raquo,\n multiplication,\n superscriptTwo,\n superscriptThree,\n oneQuarter,\n threeQuarters,\n ]\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":";;;;;;MAEa,MAAM,GAAGA,kBAAa,CAAC;IAClC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,QAAQ,GAAGA,kBAAa,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,eAAe,GAAGA,kBAAa,CAAC;IAC3C,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAGA,kBAAa,CAAC;IAC5C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,eAAe,GAAGA,kBAAa,CAAC;IAC3C,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAGA,kBAAa,CAAC;IAC5C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAGA,kBAAa,CAAC;IACrC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAGA,kBAAa,CAAC;IACtC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAGA,kBAAa,CAAC;IACrC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAGA,kBAAa,CAAC;IACrC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,mBAAmB,GAAGA,kBAAa,CAAC;IAC/C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,OAAO,GAAGA,kBAAa,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAGA,kBAAa,CAAC;IACrC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,QAAQ,GAAGA,kBAAa,CAAC;IACpC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,KAAK,GAAGA,kBAAa,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,KAAK,GAAGA,kBAAa,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,cAAc,GAAGA,kBAAa,CAAC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,cAAc,GAAGA,kBAAa,CAAC;IAC1C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAGA,kBAAa,CAAC;IAC5C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAGA,kBAAa,CAAC;IACtC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,aAAa,GAAGA,kBAAa,CAAC;IACzC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAGC,cAAS,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,YAAY;IAElB,aAAa;QACX,OAAO;YACL,MAAM;YACN,QAAQ;YACR,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,gBAAgB;YAChB,SAAS;YACT,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;YACnB,OAAO;YACP,SAAS;YACT,QAAQ;YACR,KAAK;YACL,KAAK;YACL,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,UAAU;YACV,aAAa;SACd,CAAA;KACF;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tiptap-extension-typography.cjs.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport interface TypographyOptions {\n emDash: false,\n ellipsis: false,\n openDoubleQuote: false,\n closeDoubleQuote: false,\n openSingleQuote: false,\n closeSingleQuote: false,\n leftArrow: false,\n rightArrow: false,\n copyright: false,\n trademark: false,\n registeredTrademark: false,\n oneHalf: false,\n plusMinus: false,\n notEqual: false,\n laquo: false,\n raquo: false,\n multiplication: false,\n superscriptTwo: false,\n superscriptThree: false,\n oneQuarter: false,\n threeQuarters: false,\n}\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create<TypographyOptions>({\n name: 'typography',\n\n addInputRules() {\n const rules = []\n\n if (this.options.emDash !== false) {\n rules.push(emDash)\n }\n\n if (this.options.ellipsis !== false) {\n rules.push(ellipsis)\n }\n\n if (this.options.openDoubleQuote !== false) {\n rules.push(openDoubleQuote)\n }\n\n if (this.options.closeDoubleQuote !== false) {\n rules.push(closeDoubleQuote)\n }\n\n if (this.options.openSingleQuote !== false) {\n rules.push(openSingleQuote)\n }\n\n if (this.options.closeSingleQuote !== false) {\n rules.push(closeSingleQuote)\n }\n\n if (this.options.leftArrow !== false) {\n rules.push(leftArrow)\n }\n\n if (this.options.rightArrow !== false) {\n rules.push(rightArrow)\n }\n\n if (this.options.copyright !== false) {\n rules.push(copyright)\n }\n\n if (this.options.trademark !== false) {\n rules.push(trademark)\n }\n\n if (this.options.registeredTrademark !== false) {\n rules.push(registeredTrademark)\n }\n\n if (this.options.oneHalf !== false) {\n rules.push(oneHalf)\n }\n\n if (this.options.plusMinus !== false) {\n rules.push(plusMinus)\n }\n\n if (this.options.notEqual !== false) {\n rules.push(notEqual)\n }\n\n if (this.options.laquo !== false) {\n rules.push(laquo)\n }\n\n if (this.options.raquo !== false) {\n rules.push(raquo)\n }\n\n if (this.options.multiplication !== false) {\n rules.push(multiplication)\n }\n\n if (this.options.superscriptTwo !== false) {\n rules.push(superscriptTwo)\n }\n\n if (this.options.superscriptThree !== false) {\n rules.push(superscriptThree)\n }\n\n if (this.options.oneQuarter !== false) {\n rules.push(oneQuarter)\n }\n\n if (this.options.threeQuarters !== false) {\n rules.push(threeQuarters)\n }\n\n return rules\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":"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"}
@@ -87,29 +87,71 @@ const threeQuarters = textInputRule({
87
87
  const Typography = Extension.create({
88
88
  name: 'typography',
89
89
  addInputRules() {
90
- return [
91
- emDash,
92
- ellipsis,
93
- openDoubleQuote,
94
- closeDoubleQuote,
95
- openSingleQuote,
96
- closeSingleQuote,
97
- leftArrow,
98
- rightArrow,
99
- copyright,
100
- trademark,
101
- registeredTrademark,
102
- oneHalf,
103
- plusMinus,
104
- notEqual,
105
- laquo,
106
- raquo,
107
- multiplication,
108
- superscriptTwo,
109
- superscriptThree,
110
- oneQuarter,
111
- threeQuarters,
112
- ];
90
+ const rules = [];
91
+ if (this.options.emDash !== false) {
92
+ rules.push(emDash);
93
+ }
94
+ if (this.options.ellipsis !== false) {
95
+ rules.push(ellipsis);
96
+ }
97
+ if (this.options.openDoubleQuote !== false) {
98
+ rules.push(openDoubleQuote);
99
+ }
100
+ if (this.options.closeDoubleQuote !== false) {
101
+ rules.push(closeDoubleQuote);
102
+ }
103
+ if (this.options.openSingleQuote !== false) {
104
+ rules.push(openSingleQuote);
105
+ }
106
+ if (this.options.closeSingleQuote !== false) {
107
+ rules.push(closeSingleQuote);
108
+ }
109
+ if (this.options.leftArrow !== false) {
110
+ rules.push(leftArrow);
111
+ }
112
+ if (this.options.rightArrow !== false) {
113
+ rules.push(rightArrow);
114
+ }
115
+ if (this.options.copyright !== false) {
116
+ rules.push(copyright);
117
+ }
118
+ if (this.options.trademark !== false) {
119
+ rules.push(trademark);
120
+ }
121
+ if (this.options.registeredTrademark !== false) {
122
+ rules.push(registeredTrademark);
123
+ }
124
+ if (this.options.oneHalf !== false) {
125
+ rules.push(oneHalf);
126
+ }
127
+ if (this.options.plusMinus !== false) {
128
+ rules.push(plusMinus);
129
+ }
130
+ if (this.options.notEqual !== false) {
131
+ rules.push(notEqual);
132
+ }
133
+ if (this.options.laquo !== false) {
134
+ rules.push(laquo);
135
+ }
136
+ if (this.options.raquo !== false) {
137
+ rules.push(raquo);
138
+ }
139
+ if (this.options.multiplication !== false) {
140
+ rules.push(multiplication);
141
+ }
142
+ if (this.options.superscriptTwo !== false) {
143
+ rules.push(superscriptTwo);
144
+ }
145
+ if (this.options.superscriptThree !== false) {
146
+ rules.push(superscriptThree);
147
+ }
148
+ if (this.options.oneQuarter !== false) {
149
+ rules.push(oneQuarter);
150
+ }
151
+ if (this.options.threeQuarters !== false) {
152
+ rules.push(threeQuarters);
153
+ }
154
+ return rules;
113
155
  },
114
156
  });
115
157
 
@@ -1 +1 @@
1
- {"version":3,"file":"tiptap-extension-typography.esm.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create({\n name: 'typography',\n\n addInputRules() {\n return [\n emDash,\n ellipsis,\n openDoubleQuote,\n closeDoubleQuote,\n openSingleQuote,\n closeSingleQuote,\n leftArrow,\n rightArrow,\n copyright,\n trademark,\n registeredTrademark,\n oneHalf,\n plusMinus,\n notEqual,\n laquo,\n raquo,\n multiplication,\n superscriptTwo,\n superscriptThree,\n oneQuarter,\n threeQuarters,\n ]\n },\n})\n"],"names":[],"mappings":";;MAEa,MAAM,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,QAAQ,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,eAAe,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,eAAe,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAG,aAAa,CAAC;IACtC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,mBAAmB,GAAG,aAAa,CAAC;IAC/C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,OAAO,GAAG,aAAa,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,SAAS,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,QAAQ,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,KAAK,GAAG,aAAa,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,KAAK,GAAG,aAAa,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,cAAc,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,cAAc,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAG,aAAa,CAAC;IACtC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,EAAC;MAEW,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,YAAY;IAElB,aAAa;QACX,OAAO;YACL,MAAM;YACN,QAAQ;YACR,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,gBAAgB;YAChB,SAAS;YACT,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;YACnB,OAAO;YACP,SAAS;YACT,QAAQ;YACR,KAAK;YACL,KAAK;YACL,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,UAAU;YACV,aAAa;SACd,CAAA;KACF;CACF;;;;"}
1
+ {"version":3,"file":"tiptap-extension-typography.esm.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport interface TypographyOptions {\n emDash: false,\n ellipsis: false,\n openDoubleQuote: false,\n closeDoubleQuote: false,\n openSingleQuote: false,\n closeSingleQuote: false,\n leftArrow: false,\n rightArrow: false,\n copyright: false,\n trademark: false,\n registeredTrademark: false,\n oneHalf: false,\n plusMinus: false,\n notEqual: false,\n laquo: false,\n raquo: false,\n multiplication: false,\n superscriptTwo: false,\n superscriptThree: false,\n oneQuarter: false,\n threeQuarters: false,\n}\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create<TypographyOptions>({\n name: 'typography',\n\n addInputRules() {\n const rules = []\n\n if (this.options.emDash !== false) {\n rules.push(emDash)\n }\n\n if (this.options.ellipsis !== false) {\n rules.push(ellipsis)\n }\n\n if (this.options.openDoubleQuote !== false) {\n rules.push(openDoubleQuote)\n }\n\n if (this.options.closeDoubleQuote !== false) {\n rules.push(closeDoubleQuote)\n }\n\n if (this.options.openSingleQuote !== false) {\n rules.push(openSingleQuote)\n }\n\n if (this.options.closeSingleQuote !== false) {\n rules.push(closeSingleQuote)\n }\n\n if (this.options.leftArrow !== false) {\n rules.push(leftArrow)\n }\n\n if (this.options.rightArrow !== false) {\n rules.push(rightArrow)\n }\n\n if (this.options.copyright !== false) {\n rules.push(copyright)\n }\n\n if (this.options.trademark !== false) {\n rules.push(trademark)\n }\n\n if (this.options.registeredTrademark !== false) {\n rules.push(registeredTrademark)\n }\n\n if (this.options.oneHalf !== false) {\n rules.push(oneHalf)\n }\n\n if (this.options.plusMinus !== false) {\n rules.push(plusMinus)\n }\n\n if (this.options.notEqual !== false) {\n rules.push(notEqual)\n }\n\n if (this.options.laquo !== false) {\n rules.push(laquo)\n }\n\n if (this.options.raquo !== false) {\n rules.push(raquo)\n }\n\n if (this.options.multiplication !== false) {\n rules.push(multiplication)\n }\n\n if (this.options.superscriptTwo !== false) {\n rules.push(superscriptTwo)\n }\n\n if (this.options.superscriptThree !== false) {\n rules.push(superscriptThree)\n }\n\n if (this.options.oneQuarter !== false) {\n rules.push(oneQuarter)\n }\n\n if (this.options.threeQuarters !== false) {\n rules.push(threeQuarters)\n }\n\n return rules\n },\n})\n"],"names":[],"mappings":";;AA0BO,MAAM,MAAM,GAAG,aAAa,CAAC;AAClC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,QAAQ,GAAG,aAAa,CAAC;AACpC,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,eAAe,GAAG,aAAa,CAAC;AAC3C,IAAA,IAAI,EAAE,kCAAkC;AACxC,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC5C,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,eAAe,GAAG,aAAa,CAAC;AAC3C,IAAA,IAAI,EAAE,kCAAkC;AACxC,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC5C,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,SAAS,GAAG,aAAa,CAAC;AACrC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,UAAU,GAAG,aAAa,CAAC;AACtC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,SAAS,GAAG,aAAa,CAAC;AACrC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,SAAS,GAAG,aAAa,CAAC;AACrC,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC/C,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,OAAO,GAAG,aAAa,CAAC;AACnC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,SAAS,GAAG,aAAa,CAAC;AACrC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,QAAQ,GAAG,aAAa,CAAC;AACpC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,KAAK,GAAG,aAAa,CAAC;AACjC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,KAAK,GAAG,aAAa,CAAC;AACjC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,cAAc,GAAG,aAAa,CAAC;AAC1C,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,cAAc,GAAG,aAAa,CAAC;AAC1C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC5C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,UAAU,GAAG,aAAa,CAAC;AACtC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEK,MAAM,aAAa,GAAG,aAAa,CAAC;AACzC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,GAAG;AACb,CAAA,EAAC;AAEW,MAAA,UAAU,GAAG,SAAS,CAAC,MAAM,CAAoB;AAC5D,IAAA,IAAI,EAAE,YAAY;IAElB,aAAa,GAAA;QACX,MAAM,KAAK,GAAG,EAAE,CAAA;AAEhB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;AACjC,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;AACnC,YAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE;AAC1C,YAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAC5B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;AAC3C,YAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAC7B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE;AAC1C,YAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAC5B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;AAC3C,YAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAC7B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AACpC,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE;AACrC,YAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACvB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AACpC,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AACpC,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,KAAK,EAAE;AAC9C,YAAA,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;AAChC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;AAClC,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AACpC,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;AACnC,YAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;AAChC,YAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;AAChC,YAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;AACzC,YAAA,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAC3B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;AACzC,YAAA,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAC3B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;AAC3C,YAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAC7B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE;AACrC,YAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACvB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE;AACxC,YAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AAC1B,SAAA;AAED,QAAA,OAAO,KAAK,CAAA;KACb;AACF,CAAA;;;;"}
@@ -91,29 +91,71 @@
91
91
  const Typography = core.Extension.create({
92
92
  name: 'typography',
93
93
  addInputRules() {
94
- return [
95
- emDash,
96
- ellipsis,
97
- openDoubleQuote,
98
- closeDoubleQuote,
99
- openSingleQuote,
100
- closeSingleQuote,
101
- leftArrow,
102
- rightArrow,
103
- copyright,
104
- trademark,
105
- registeredTrademark,
106
- oneHalf,
107
- plusMinus,
108
- notEqual,
109
- laquo,
110
- raquo,
111
- multiplication,
112
- superscriptTwo,
113
- superscriptThree,
114
- oneQuarter,
115
- threeQuarters,
116
- ];
94
+ const rules = [];
95
+ if (this.options.emDash !== false) {
96
+ rules.push(emDash);
97
+ }
98
+ if (this.options.ellipsis !== false) {
99
+ rules.push(ellipsis);
100
+ }
101
+ if (this.options.openDoubleQuote !== false) {
102
+ rules.push(openDoubleQuote);
103
+ }
104
+ if (this.options.closeDoubleQuote !== false) {
105
+ rules.push(closeDoubleQuote);
106
+ }
107
+ if (this.options.openSingleQuote !== false) {
108
+ rules.push(openSingleQuote);
109
+ }
110
+ if (this.options.closeSingleQuote !== false) {
111
+ rules.push(closeSingleQuote);
112
+ }
113
+ if (this.options.leftArrow !== false) {
114
+ rules.push(leftArrow);
115
+ }
116
+ if (this.options.rightArrow !== false) {
117
+ rules.push(rightArrow);
118
+ }
119
+ if (this.options.copyright !== false) {
120
+ rules.push(copyright);
121
+ }
122
+ if (this.options.trademark !== false) {
123
+ rules.push(trademark);
124
+ }
125
+ if (this.options.registeredTrademark !== false) {
126
+ rules.push(registeredTrademark);
127
+ }
128
+ if (this.options.oneHalf !== false) {
129
+ rules.push(oneHalf);
130
+ }
131
+ if (this.options.plusMinus !== false) {
132
+ rules.push(plusMinus);
133
+ }
134
+ if (this.options.notEqual !== false) {
135
+ rules.push(notEqual);
136
+ }
137
+ if (this.options.laquo !== false) {
138
+ rules.push(laquo);
139
+ }
140
+ if (this.options.raquo !== false) {
141
+ rules.push(raquo);
142
+ }
143
+ if (this.options.multiplication !== false) {
144
+ rules.push(multiplication);
145
+ }
146
+ if (this.options.superscriptTwo !== false) {
147
+ rules.push(superscriptTwo);
148
+ }
149
+ if (this.options.superscriptThree !== false) {
150
+ rules.push(superscriptThree);
151
+ }
152
+ if (this.options.oneQuarter !== false) {
153
+ rules.push(oneQuarter);
154
+ }
155
+ if (this.options.threeQuarters !== false) {
156
+ rules.push(threeQuarters);
157
+ }
158
+ return rules;
117
159
  },
118
160
  });
119
161
 
@@ -1 +1 @@
1
- {"version":3,"file":"tiptap-extension-typography.umd.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create({\n name: 'typography',\n\n addInputRules() {\n return [\n emDash,\n ellipsis,\n openDoubleQuote,\n closeDoubleQuote,\n openSingleQuote,\n closeSingleQuote,\n leftArrow,\n rightArrow,\n copyright,\n trademark,\n registeredTrademark,\n oneHalf,\n plusMinus,\n notEqual,\n laquo,\n raquo,\n multiplication,\n superscriptTwo,\n superscriptThree,\n oneQuarter,\n threeQuarters,\n ]\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":"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"}
1
+ {"version":3,"file":"tiptap-extension-typography.umd.js","sources":["../src/typography.ts"],"sourcesContent":["import { Extension, textInputRule } from '@tiptap/core'\n\nexport interface TypographyOptions {\n emDash: false,\n ellipsis: false,\n openDoubleQuote: false,\n closeDoubleQuote: false,\n openSingleQuote: false,\n closeSingleQuote: false,\n leftArrow: false,\n rightArrow: false,\n copyright: false,\n trademark: false,\n registeredTrademark: false,\n oneHalf: false,\n plusMinus: false,\n notEqual: false,\n laquo: false,\n raquo: false,\n multiplication: false,\n superscriptTwo: false,\n superscriptThree: false,\n oneQuarter: false,\n threeQuarters: false,\n}\n\nexport const emDash = textInputRule({\n find: /--$/,\n replace: '—',\n})\n\nexport const ellipsis = textInputRule({\n find: /\\.\\.\\.$/,\n replace: '…',\n})\n\nexport const openDoubleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(\")$/,\n replace: '“',\n})\n\nexport const closeDoubleQuote = textInputRule({\n find: /\"$/,\n replace: '”',\n})\n\nexport const openSingleQuote = textInputRule({\n find: /(?:^|[\\s{[(<'\"\\u2018\\u201C])(')$/,\n replace: '‘',\n})\n\nexport const closeSingleQuote = textInputRule({\n find: /'$/,\n replace: '’',\n})\n\nexport const leftArrow = textInputRule({\n find: /<-$/,\n replace: '←',\n})\n\nexport const rightArrow = textInputRule({\n find: /->$/,\n replace: '→',\n})\n\nexport const copyright = textInputRule({\n find: /\\(c\\)$/,\n replace: '©',\n})\n\nexport const trademark = textInputRule({\n find: /\\(tm\\)$/,\n replace: '™',\n})\n\nexport const registeredTrademark = textInputRule({\n find: /\\(r\\)$/,\n replace: '®',\n})\n\nexport const oneHalf = textInputRule({\n find: /1\\/2$/,\n replace: '½',\n})\n\nexport const plusMinus = textInputRule({\n find: /\\+\\/-$/,\n replace: '±',\n})\n\nexport const notEqual = textInputRule({\n find: /!=$/,\n replace: '≠',\n})\n\nexport const laquo = textInputRule({\n find: /<<$/,\n replace: '«',\n})\n\nexport const raquo = textInputRule({\n find: />>$/,\n replace: '»',\n})\n\nexport const multiplication = textInputRule({\n find: /\\d+\\s?([*x])\\s?\\d+$/,\n replace: '×',\n})\n\nexport const superscriptTwo = textInputRule({\n find: /\\^2$/,\n replace: '²',\n})\n\nexport const superscriptThree = textInputRule({\n find: /\\^3$/,\n replace: '³',\n})\n\nexport const oneQuarter = textInputRule({\n find: /1\\/4$/,\n replace: '¼',\n})\n\nexport const threeQuarters = textInputRule({\n find: /3\\/4$/,\n replace: '¾',\n})\n\nexport const Typography = Extension.create<TypographyOptions>({\n name: 'typography',\n\n addInputRules() {\n const rules = []\n\n if (this.options.emDash !== false) {\n rules.push(emDash)\n }\n\n if (this.options.ellipsis !== false) {\n rules.push(ellipsis)\n }\n\n if (this.options.openDoubleQuote !== false) {\n rules.push(openDoubleQuote)\n }\n\n if (this.options.closeDoubleQuote !== false) {\n rules.push(closeDoubleQuote)\n }\n\n if (this.options.openSingleQuote !== false) {\n rules.push(openSingleQuote)\n }\n\n if (this.options.closeSingleQuote !== false) {\n rules.push(closeSingleQuote)\n }\n\n if (this.options.leftArrow !== false) {\n rules.push(leftArrow)\n }\n\n if (this.options.rightArrow !== false) {\n rules.push(rightArrow)\n }\n\n if (this.options.copyright !== false) {\n rules.push(copyright)\n }\n\n if (this.options.trademark !== false) {\n rules.push(trademark)\n }\n\n if (this.options.registeredTrademark !== false) {\n rules.push(registeredTrademark)\n }\n\n if (this.options.oneHalf !== false) {\n rules.push(oneHalf)\n }\n\n if (this.options.plusMinus !== false) {\n rules.push(plusMinus)\n }\n\n if (this.options.notEqual !== false) {\n rules.push(notEqual)\n }\n\n if (this.options.laquo !== false) {\n rules.push(laquo)\n }\n\n if (this.options.raquo !== false) {\n rules.push(raquo)\n }\n\n if (this.options.multiplication !== false) {\n rules.push(multiplication)\n }\n\n if (this.options.superscriptTwo !== false) {\n rules.push(superscriptTwo)\n }\n\n if (this.options.superscriptThree !== false) {\n rules.push(superscriptThree)\n }\n\n if (this.options.oneQuarter !== false) {\n rules.push(oneQuarter)\n }\n\n if (this.options.threeQuarters !== false) {\n rules.push(threeQuarters)\n }\n\n return rules\n },\n})\n"],"names":["textInputRule","Extension"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiptap/extension-typography",
3
3
  "description": "typography extension for tiptap",
4
- "version": "2.0.0-beta.19",
4
+ "version": "2.0.0-beta.22",
5
5
  "homepage": "https://tiptap.dev",
6
6
  "keywords": [
7
7
  "tiptap",
@@ -28,5 +28,5 @@
28
28
  "url": "https://github.com/ueberdosis/tiptap",
29
29
  "directory": "packages/extension-typography"
30
30
  },
31
- "gitHead": "621cfa2f7e98a48525fa22f9d97a92fc08368966"
31
+ "gitHead": "591c0807a2ab5c34b4b7fe12c12511fe4f493ebd"
32
32
  }
package/src/typography.ts CHANGED
@@ -1,5 +1,29 @@
1
1
  import { Extension, textInputRule } from '@tiptap/core'
2
2
 
3
+ export interface TypographyOptions {
4
+ emDash: false,
5
+ ellipsis: false,
6
+ openDoubleQuote: false,
7
+ closeDoubleQuote: false,
8
+ openSingleQuote: false,
9
+ closeSingleQuote: false,
10
+ leftArrow: false,
11
+ rightArrow: false,
12
+ copyright: false,
13
+ trademark: false,
14
+ registeredTrademark: false,
15
+ oneHalf: false,
16
+ plusMinus: false,
17
+ notEqual: false,
18
+ laquo: false,
19
+ raquo: false,
20
+ multiplication: false,
21
+ superscriptTwo: false,
22
+ superscriptThree: false,
23
+ oneQuarter: false,
24
+ threeQuarters: false,
25
+ }
26
+
3
27
  export const emDash = textInputRule({
4
28
  find: /--$/,
5
29
  replace: '—',
@@ -105,32 +129,96 @@ export const threeQuarters = textInputRule({
105
129
  replace: '¾',
106
130
  })
107
131
 
108
- export const Typography = Extension.create({
132
+ export const Typography = Extension.create<TypographyOptions>({
109
133
  name: 'typography',
110
134
 
111
135
  addInputRules() {
112
- return [
113
- emDash,
114
- ellipsis,
115
- openDoubleQuote,
116
- closeDoubleQuote,
117
- openSingleQuote,
118
- closeSingleQuote,
119
- leftArrow,
120
- rightArrow,
121
- copyright,
122
- trademark,
123
- registeredTrademark,
124
- oneHalf,
125
- plusMinus,
126
- notEqual,
127
- laquo,
128
- raquo,
129
- multiplication,
130
- superscriptTwo,
131
- superscriptThree,
132
- oneQuarter,
133
- threeQuarters,
134
- ]
136
+ const rules = []
137
+
138
+ if (this.options.emDash !== false) {
139
+ rules.push(emDash)
140
+ }
141
+
142
+ if (this.options.ellipsis !== false) {
143
+ rules.push(ellipsis)
144
+ }
145
+
146
+ if (this.options.openDoubleQuote !== false) {
147
+ rules.push(openDoubleQuote)
148
+ }
149
+
150
+ if (this.options.closeDoubleQuote !== false) {
151
+ rules.push(closeDoubleQuote)
152
+ }
153
+
154
+ if (this.options.openSingleQuote !== false) {
155
+ rules.push(openSingleQuote)
156
+ }
157
+
158
+ if (this.options.closeSingleQuote !== false) {
159
+ rules.push(closeSingleQuote)
160
+ }
161
+
162
+ if (this.options.leftArrow !== false) {
163
+ rules.push(leftArrow)
164
+ }
165
+
166
+ if (this.options.rightArrow !== false) {
167
+ rules.push(rightArrow)
168
+ }
169
+
170
+ if (this.options.copyright !== false) {
171
+ rules.push(copyright)
172
+ }
173
+
174
+ if (this.options.trademark !== false) {
175
+ rules.push(trademark)
176
+ }
177
+
178
+ if (this.options.registeredTrademark !== false) {
179
+ rules.push(registeredTrademark)
180
+ }
181
+
182
+ if (this.options.oneHalf !== false) {
183
+ rules.push(oneHalf)
184
+ }
185
+
186
+ if (this.options.plusMinus !== false) {
187
+ rules.push(plusMinus)
188
+ }
189
+
190
+ if (this.options.notEqual !== false) {
191
+ rules.push(notEqual)
192
+ }
193
+
194
+ if (this.options.laquo !== false) {
195
+ rules.push(laquo)
196
+ }
197
+
198
+ if (this.options.raquo !== false) {
199
+ rules.push(raquo)
200
+ }
201
+
202
+ if (this.options.multiplication !== false) {
203
+ rules.push(multiplication)
204
+ }
205
+
206
+ if (this.options.superscriptTwo !== false) {
207
+ rules.push(superscriptTwo)
208
+ }
209
+
210
+ if (this.options.superscriptThree !== false) {
211
+ rules.push(superscriptThree)
212
+ }
213
+
214
+ if (this.options.oneQuarter !== false) {
215
+ rules.push(oneQuarter)
216
+ }
217
+
218
+ if (this.options.threeQuarters !== false) {
219
+ rules.push(threeQuarters)
220
+ }
221
+
222
+ return rules
135
223
  },
136
224
  })