UNPKG

reactjs-tiptap-editor

Version:

A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React

2 lines (1 loc) 1.62 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CSvnpArE.cjs"),n=require("./RichTextEditor-DaQRHXru.cjs"),r=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,d=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,a=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,i=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,l=e.Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return["strong",e.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[e.markInputRule({find:r,type:this.type}),e.markInputRule({find:a,type:this.type})]},addPasteRules(){return[e.markPasteRule({find:d,type:this.type}),e.markPasteRule({find:i,type:this.type})]}}),u=l.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:s,t:o})=>({component:n.ActionButton,componentProps:{action:()=>s.commands.toggleBold(),isActive:()=>s.isActive("bold")||!1,disabled:!1,icon:"Bold",shortcutKeys:["mod","B"],tooltip:o("editor.bold.tooltip")}})}}});exports.Bold=u;