UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

130 lines 6.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var prosemirror_1 = require("../prosemirror"); exports.toggleBold = makeKeyMapWithCommon('Bold', 'Mod-b'); exports.toggleItalic = makeKeyMapWithCommon('Italic', 'Mod-i'); exports.toggleUnderline = makeKeyMapWithCommon('Underline', 'Mod-u'); exports.toggleStrikethrough = makeKeyMapWithCommon('Strikethrough', 'Mod-Shift-s'); exports.toggleCode = makeKeyMapWithCommon('Code', 'Mod-Shift-m'); exports.clearFormatting = makeKeyMapWithCommon('Clear formatting', 'Mod-\\'); exports.setNormalText = makeKeymap('Normal text', '', 'Cmd-Alt-0'); exports.toggleHeading1 = makeKeymap('Heading 1', '', 'Cmd-Alt-1'); exports.toggleHeading2 = makeKeymap('Heading 2', '', 'Cmd-Alt-2'); exports.toggleHeading3 = makeKeymap('Heading 3', '', 'Cmd-Alt-3'); exports.toggleHeading4 = makeKeymap('Heading 4', '', 'Cmd-Alt-4'); exports.toggleHeading5 = makeKeymap('Heading 5', '', 'Cmd-Alt-5'); exports.toggleOrderedList = makeKeymap('Numbered list', '', 'Cmd-Alt-7'); exports.toggleBulletList = makeKeymap('Bullet list', '', 'Cmd-Alt-8'); exports.toggleBlockQuote = makeKeymap('Block quote', '', 'Cmd-Alt-9'); exports.insertNewLine = makeKeyMapWithCommon('Insert new line', 'Shift-Enter'); exports.shiftBackspace = makeKeyMapWithCommon('Shift Backspace', 'Shift-Backspace'); exports.splitCodeBlock = makeKeyMapWithCommon('Split code block', 'Enter'); exports.splitListItem = makeKeyMapWithCommon('Split list item', 'Enter'); exports.insertRule = makeKeyMapWithCommon('Insert horizontal rule', 'Mod-Shift--'); exports.undo = makeKeyMapWithCommon('Undo', 'Mod-z'); exports.createCodeBlock = makeKeyMapWithCommon('Create code block', 'Enter'); exports.moveUp = makeKeyMapWithCommon('Move up', 'ArrowUp'); exports.moveDown = makeKeyMapWithCommon('Move down', 'ArrowDown'); exports.moveLeft = makeKeyMapWithCommon('Move left', 'ArrowLeft'); exports.moveRight = makeKeyMapWithCommon('Move right', 'ArrowRight'); exports.indentList = makeKeyMapWithCommon('Indent List', 'Tab'); exports.outdentList = makeKeyMapWithCommon('Outdent List', 'Shift-Tab'); exports.redo = makeKeymap('Redo', 'Ctrl-y', 'Cmd-Shift-z'); exports.redoBarred = makeKeymap('Redo Barred', 'Ctrl-Shift-z', 'Cmd-y'); exports.addLink = makeKeyMapWithCommon('Insert link', 'Mod-k'); exports.enter = makeKeyMapWithCommon('Enter', 'Enter'); exports.tab = makeKeyMapWithCommon('Tab', 'Tab'); exports.backspace = makeKeyMapWithCommon('Backspace', 'Backspace'); exports.space = makeKeyMapWithCommon('Space', 'Space'); exports.escape = makeKeyMapWithCommon('Escape', 'Escape'); exports.nextCell = makeKeyMapWithCommon('Next cell', 'Tab'); exports.previousCell = makeKeyMapWithCommon('Previous cell', 'Shift-Tab'); exports.toggleTable = makeKeyMapWithCommon('Table', 'Shift-Alt-t'); exports.cut = makeKeyMapWithCommon('Cut', 'Mod-x'); exports.copy = makeKeyMapWithCommon('Copy', 'Mod-c'); exports.paste = makeKeyMapWithCommon('Paste', 'Mod-v'); function tooltip(keymap) { if (keymap) { var shortcut = void 0; if (prosemirror_1.browser.mac) { shortcut = keymap.mac .replace(/Cmd/i, '⌘') .replace(/Shift/i, '⇧') .replace(/Ctrl/i, '^') .replace(/Alt/i, '⌥'); } else { shortcut = keymap.windows; } return keymap.description + " (" + shortcut + ")"; } } exports.tooltip = tooltip; function findKeymapByDescription(description) { var matches = ALL.filter(function (keymap) { return (keymap.description.toUpperCase() === description.toUpperCase()); }); return matches[0]; } exports.findKeymapByDescription = findKeymapByDescription; function findShortcutByDescription(description) { var keymap = findKeymapByDescription(description); if (keymap) { return findShortcutByKeymap(keymap); } } exports.findShortcutByDescription = findShortcutByDescription; function findShortcutByKeymap(keymap) { if (prosemirror_1.browser.mac) { return keymap.mac; } return keymap.windows; } exports.findShortcutByKeymap = findShortcutByKeymap; var ALL = [exports.toggleOrderedList, exports.toggleBulletList, exports.toggleBold, exports.toggleItalic, exports.toggleUnderline, exports.toggleStrikethrough, exports.toggleCode, exports.setNormalText, exports.toggleHeading1, exports.toggleHeading2, exports.toggleHeading3, exports.toggleHeading4, exports.toggleHeading5, exports.toggleBlockQuote, exports.insertNewLine, exports.insertRule, exports.splitCodeBlock, exports.splitListItem, exports.redo, exports.undo]; function makeKeymap(description, windows, mac, common) { return { description: description, windows: windows, mac: mac, common: common }; } function makeKeyMapWithCommon(description, common) { var windows = common.replace(/Mod/i, 'Ctrl'); var mac = common.replace(/Mod/i, 'Cmd'); return makeKeymap(description, windows, mac, common); } function bindKeymapWithCommand(shortcut, cmd, keymap) { var oldCmd = keymap[shortcut]; var newCmd = cmd; if (keymap[shortcut]) { newCmd = function (state, dispatch) { return oldCmd(state, dispatch) || cmd(state, dispatch); }; } keymap[shortcut] = newCmd; } exports.bindKeymapWithCommand = bindKeymapWithCommand; function findKeyMapForBrowser(kayMap) { if (kayMap) { if (prosemirror_1.browser.mac) { return kayMap.mac; } return kayMap.windows; } } exports.findKeyMapForBrowser = findKeyMapForBrowser; exports.keyCodes = { 'Enter': 13, 'Backspace': 8, 'Tab': 9, 'Shift': 16, 'Ctrl': 17, 'Alt': 18, 'Pause': 19, 'CapsLock': 20, 'Esc': 27, 'Space': 32, 'PageUp': 63276, 'PageDown': 63277, 'End': 63275, 'Home': 63273, 'Left': 63234, 'Up': 63232, 'Right': 63235, 'Down': 63233, 'PrintScrn': 44, 'Insert': 63302, 'Delete': 63272, ';': 186, '=': 187, 'Mod': 93, '*': 106, '-': 189, '.': 190, '/': 191, ',': 188, '`': 192, '[': 219, '\\': 220, ']': 221, '\'': 222 }; exports.LEFT = 37; exports.RIGHT = 39; exports.UP = 38; exports.DOWN = 40; //# sourceMappingURL=index.js.map