@atlaskit/editor-plugin-alignment
Version:
Alignment plugin for @atlaskit/editor-core
29 lines (28 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getActiveAlignment = void 0;
var _utils = require("@atlaskit/editor-prosemirror/utils");
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
var getActiveAlignment = exports.getActiveAlignment = function getActiveAlignment(state) {
if (state.selection instanceof _cellSelection.CellSelection) {
var marks = [];
state.selection.forEachCell(function (cell) {
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
var mark = cell.firstChild.marks.filter(function (mark) {
return mark.type === state.schema.marks.alignment;
})[0];
marks.push(mark ? mark.attrs.align : 'start');
});
return marks.every(function (mark) {
return mark === marks[0];
}) ? marks[0] : 'start';
}
var node = (0, _utils.findParentNodeOfType)([state.schema.nodes.paragraph, state.schema.nodes.heading])(state.selection);
var getMark = node && node.node.marks.filter(function (mark) {
return mark.type === state.schema.marks.alignment;
})[0];
return getMark && getMark.attrs.align || 'start';
};