You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					78 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					78 lines
				
				2.0 KiB
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, '__esModule', { value: true }); | ||
|  | 
 | ||
|  | var core = require('@tiptap/core'); | ||
|  | 
 | ||
|  | const inputRegex = /(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/; | ||
|  | const pasteRegex = /(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g; | ||
|  | const Strike = core.Mark.create({ | ||
|  |     name: 'strike', | ||
|  |     addOptions() { | ||
|  |         return { | ||
|  |             HTMLAttributes: {}, | ||
|  |         }; | ||
|  |     }, | ||
|  |     parseHTML() { | ||
|  |         return [ | ||
|  |             { | ||
|  |                 tag: 's', | ||
|  |             }, | ||
|  |             { | ||
|  |                 tag: 'del', | ||
|  |             }, | ||
|  |             { | ||
|  |                 tag: 'strike', | ||
|  |             }, | ||
|  |             { | ||
|  |                 style: 'text-decoration', | ||
|  |                 consuming: false, | ||
|  |                 getAttrs: style => (style.includes('line-through') ? {} : false), | ||
|  |             }, | ||
|  |         ]; | ||
|  |     }, | ||
|  |     renderHTML({ HTMLAttributes }) { | ||
|  |         return ['s', core.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0]; | ||
|  |     }, | ||
|  |     addCommands() { | ||
|  |         return { | ||
|  |             setStrike: () => ({ commands }) => { | ||
|  |                 return commands.setMark(this.name); | ||
|  |             }, | ||
|  |             toggleStrike: () => ({ commands }) => { | ||
|  |                 return commands.toggleMark(this.name); | ||
|  |             }, | ||
|  |             unsetStrike: () => ({ commands }) => { | ||
|  |                 return commands.unsetMark(this.name); | ||
|  |             }, | ||
|  |         }; | ||
|  |     }, | ||
|  |     addKeyboardShortcuts() { | ||
|  |         return { | ||
|  |             'Mod-Shift-x': () => this.editor.commands.toggleStrike(), | ||
|  |         }; | ||
|  |     }, | ||
|  |     addInputRules() { | ||
|  |         return [ | ||
|  |             core.markInputRule({ | ||
|  |                 find: inputRegex, | ||
|  |                 type: this.type, | ||
|  |             }), | ||
|  |         ]; | ||
|  |     }, | ||
|  |     addPasteRules() { | ||
|  |         return [ | ||
|  |             core.markPasteRule({ | ||
|  |                 find: pasteRegex, | ||
|  |                 type: this.type, | ||
|  |             }), | ||
|  |         ]; | ||
|  |     }, | ||
|  | }); | ||
|  | 
 | ||
|  | exports.Strike = Strike; | ||
|  | exports["default"] = Strike; | ||
|  | exports.inputRegex = inputRegex; | ||
|  | exports.pasteRegex = pasteRegex; | ||
|  | //# sourceMappingURL=tiptap-extension-strike.cjs.map
 |