UNPKG

@zodiac-ui/editor

Version:

A rich text editor for Angular based on `@atlaskit/editor-core`.

34 lines 6.02 kB
import { PluginKey, Plugin } from 'prosemirror-state'; import { keydownHandler } from 'prosemirror-keymap'; import { filterCommands } from "../../../lib/utils/filter"; // import { typeAheadPluginKey } from '../../../plugins/type-ahead'; // import { emojiPluginKey } from '../../../plugins/emoji/pm-plugins/main'; export const newlinePreserveMarksKey = new PluginKey('newlinePreserveMarksPlugin'); const isSelectionEndOfParagraph = (state) => state.selection.$to.parent.type === state.schema.nodes.paragraph && state.selection.$to.pos === state.doc.resolve(state.selection.$to.pos).end(); const ɵ0 = isSelectionEndOfParagraph; const isSelectionAligned = (state) => !!state.selection.$to.parent.marks.find(m => m.type === state.schema.marks.alignment); const ɵ1 = isSelectionAligned; const isTypeaheadNotDisplaying = (state) => true; const ɵ2 = isTypeaheadNotDisplaying; // !typeAheadPluginKey.getState(state).active && // !emojiPluginKey.getState(state).queryActive; const splitBlockPreservingMarks = (state, dispatch) => { dispatch(state.tr.split(state.tr.mapping.map(state.selection.$from.pos), 1)); return true; }; const ɵ3 = splitBlockPreservingMarks; export const newlinePreserveMarksPlugin = () => new Plugin({ key: newlinePreserveMarksKey, props: { handleKeyDown: keydownHandler({ Enter: filterCommands([ isSelectionEndOfParagraph, isSelectionAligned, isTypeaheadNotDisplaying, ], splitBlockPreservingMarks), }), }, }); export { ɵ0, ɵ1, ɵ2, ɵ3 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3bGluZS1wcmVzZXJ2ZS1tYXJrcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvZWRpdG9yLyIsInNvdXJjZXMiOlsicGx1Z2lucy9iYXNlL3BtL25ld2xpbmUtcHJlc2VydmUtbWFya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFELG9FQUFvRTtBQUNwRSwyRUFBMkU7QUFFM0UsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxTQUFTLENBQ2hELDRCQUE0QixDQUMvQixDQUFDO0FBRUYsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEtBQWtCLEVBQVcsRUFBRSxDQUM5RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVM7SUFDaEUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDOztBQUVqRixNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBa0IsRUFBVyxFQUFFLENBQ3ZELENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDL0MsQ0FBQzs7QUFFTixNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBa0IsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFBOztBQUNsRSxnREFBZ0Q7QUFDaEQsK0NBQStDO0FBRW5ELE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFrQixFQUFFLFFBQVEsRUFBVyxFQUFFO0lBQ3hFLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RSxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7O0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFLENBQzNDLElBQUksTUFBTSxDQUFDO0lBQ1AsR0FBRyxFQUFFLHVCQUF1QjtJQUM1QixLQUFLLEVBQUU7UUFDSCxhQUFhLEVBQUUsY0FBYyxDQUFDO1lBQzFCLEtBQUssRUFBRSxjQUFjLENBQ2pCO2dCQUNJLHlCQUF5QjtnQkFDekIsa0JBQWtCO2dCQUNsQix3QkFBd0I7YUFDM0IsRUFDRCx5QkFBeUIsQ0FDNUI7U0FDSixDQUFDO0tBQ0w7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5LZXksIFBsdWdpbiwgRWRpdG9yU3RhdGUgfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XHJcbmltcG9ydCB7IGtleWRvd25IYW5kbGVyIH0gZnJvbSAncHJvc2VtaXJyb3Ita2V5bWFwJztcclxuaW1wb3J0IHsgZmlsdGVyQ29tbWFuZHMgfSBmcm9tIFwiLi4vLi4vLi4vbGliL3V0aWxzL2ZpbHRlclwiXHJcbi8vIGltcG9ydCB7IHR5cGVBaGVhZFBsdWdpbktleSB9IGZyb20gJy4uLy4uLy4uL3BsdWdpbnMvdHlwZS1haGVhZCc7XHJcbi8vIGltcG9ydCB7IGVtb2ppUGx1Z2luS2V5IH0gZnJvbSAnLi4vLi4vLi4vcGx1Z2lucy9lbW9qaS9wbS1wbHVnaW5zL21haW4nO1xyXG5cclxuZXhwb3J0IGNvbnN0IG5ld2xpbmVQcmVzZXJ2ZU1hcmtzS2V5ID0gbmV3IFBsdWdpbktleShcclxuICAgICduZXdsaW5lUHJlc2VydmVNYXJrc1BsdWdpbicsXHJcbik7XHJcblxyXG5jb25zdCBpc1NlbGVjdGlvbkVuZE9mUGFyYWdyYXBoID0gKHN0YXRlOiBFZGl0b3JTdGF0ZSk6IGJvb2xlYW4gPT5cclxuICAgIHN0YXRlLnNlbGVjdGlvbi4kdG8ucGFyZW50LnR5cGUgPT09IHN0YXRlLnNjaGVtYS5ub2Rlcy5wYXJhZ3JhcGggJiZcclxuICAgIHN0YXRlLnNlbGVjdGlvbi4kdG8ucG9zID09PSBzdGF0ZS5kb2MucmVzb2x2ZShzdGF0ZS5zZWxlY3Rpb24uJHRvLnBvcykuZW5kKCk7XHJcblxyXG5jb25zdCBpc1NlbGVjdGlvbkFsaWduZWQgPSAoc3RhdGU6IEVkaXRvclN0YXRlKTogYm9vbGVhbiA9PlxyXG4gICAgISFzdGF0ZS5zZWxlY3Rpb24uJHRvLnBhcmVudC5tYXJrcy5maW5kKFxyXG4gICAgICAgIG0gPT4gbS50eXBlID09PSBzdGF0ZS5zY2hlbWEubWFya3MuYWxpZ25tZW50LFxyXG4gICAgKTtcclxuXHJcbmNvbnN0IGlzVHlwZWFoZWFkTm90RGlzcGxheWluZyA9IChzdGF0ZTogRWRpdG9yU3RhdGUpOiBib29sZWFuID0+IHRydWVcclxuICAgIC8vICF0eXBlQWhlYWRQbHVnaW5LZXkuZ2V0U3RhdGUoc3RhdGUpLmFjdGl2ZSAmJlxyXG4gICAgLy8gIWVtb2ppUGx1Z2luS2V5LmdldFN0YXRlKHN0YXRlKS5xdWVyeUFjdGl2ZTtcclxuXHJcbmNvbnN0IHNwbGl0QmxvY2tQcmVzZXJ2aW5nTWFya3MgPSAoc3RhdGU6IEVkaXRvclN0YXRlLCBkaXNwYXRjaCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgZGlzcGF0Y2goc3RhdGUudHIuc3BsaXQoc3RhdGUudHIubWFwcGluZy5tYXAoc3RhdGUuc2VsZWN0aW9uLiRmcm9tLnBvcyksIDEpKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IG5ld2xpbmVQcmVzZXJ2ZU1hcmtzUGx1Z2luID0gKCkgPT5cclxuICAgIG5ldyBQbHVnaW4oe1xyXG4gICAgICAgIGtleTogbmV3bGluZVByZXNlcnZlTWFya3NLZXksXHJcbiAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgaGFuZGxlS2V5RG93bjoga2V5ZG93bkhhbmRsZXIoe1xyXG4gICAgICAgICAgICAgICAgRW50ZXI6IGZpbHRlckNvbW1hbmRzKFxyXG4gICAgICAgICAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3Rpb25FbmRPZlBhcmFncmFwaCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3Rpb25BbGlnbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1R5cGVhaGVhZE5vdERpc3BsYXlpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICBzcGxpdEJsb2NrUHJlc2VydmluZ01hcmtzLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4iXX0=