{"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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"}