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.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							2.6 KiB
						
					
					
				(function (global, factory) {
 | 
						|
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tiptap/core')) :
 | 
						|
  typeof define === 'function' && define.amd ? define(['exports', '@tiptap/core'], factory) :
 | 
						|
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@tiptap/extension-text-align"] = {}, global.core));
 | 
						|
})(this, (function (exports, core) { 'use strict';
 | 
						|
 | 
						|
  const TextAlign = core.Extension.create({
 | 
						|
      name: 'textAlign',
 | 
						|
      addOptions() {
 | 
						|
          return {
 | 
						|
              types: [],
 | 
						|
              alignments: ['left', 'center', 'right', 'justify'],
 | 
						|
              defaultAlignment: 'left',
 | 
						|
          };
 | 
						|
      },
 | 
						|
      addGlobalAttributes() {
 | 
						|
          return [
 | 
						|
              {
 | 
						|
                  types: this.options.types,
 | 
						|
                  attributes: {
 | 
						|
                      textAlign: {
 | 
						|
                          default: this.options.defaultAlignment,
 | 
						|
                          parseHTML: element => element.style.textAlign || this.options.defaultAlignment,
 | 
						|
                          renderHTML: attributes => {
 | 
						|
                              if (attributes.textAlign === this.options.defaultAlignment) {
 | 
						|
                                  return {};
 | 
						|
                              }
 | 
						|
                              return { style: `text-align: ${attributes.textAlign}` };
 | 
						|
                          },
 | 
						|
                      },
 | 
						|
                  },
 | 
						|
              },
 | 
						|
          ];
 | 
						|
      },
 | 
						|
      addCommands() {
 | 
						|
          return {
 | 
						|
              setTextAlign: (alignment) => ({ commands }) => {
 | 
						|
                  if (!this.options.alignments.includes(alignment)) {
 | 
						|
                      return false;
 | 
						|
                  }
 | 
						|
                  return this.options.types.every(type => commands.updateAttributes(type, { textAlign: alignment }));
 | 
						|
              },
 | 
						|
              unsetTextAlign: () => ({ commands }) => {
 | 
						|
                  return this.options.types.every(type => commands.resetAttributes(type, 'textAlign'));
 | 
						|
              },
 | 
						|
          };
 | 
						|
      },
 | 
						|
      addKeyboardShortcuts() {
 | 
						|
          return {
 | 
						|
              'Mod-Shift-l': () => this.editor.commands.setTextAlign('left'),
 | 
						|
              'Mod-Shift-e': () => this.editor.commands.setTextAlign('center'),
 | 
						|
              'Mod-Shift-r': () => this.editor.commands.setTextAlign('right'),
 | 
						|
              'Mod-Shift-j': () => this.editor.commands.setTextAlign('justify'),
 | 
						|
          };
 | 
						|
      },
 | 
						|
  });
 | 
						|
 | 
						|
  exports.TextAlign = TextAlign;
 | 
						|
  exports["default"] = TextAlign;
 | 
						|
 | 
						|
  Object.defineProperty(exports, '__esModule', { value: true });
 | 
						|
 | 
						|
}));
 | 
						|
//# sourceMappingURL=tiptap-extension-text-align.umd.js.map
 |