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
						
					
					
				| '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
 |