{"version":3,"file":"tiptap-extension-typography.cjs","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 servicemark: 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 servicemark = textInputRule({\n find: /\\(sm\\)$/,\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 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.servicemark !== false) {\n rules.push(servicemark)\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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"}