@atlaskit/editor-plugin-list
Version:
List plugin for @atlaskit/editor-core
36 lines (34 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.mergeNextListAtPosition = mergeNextListAtPosition;
var _lists = require("@atlaskit/editor-common/lists");
var _utils = require("@atlaskit/editor-common/utils");
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
function mergeNextListAtPosition(_ref) {
var tr = _ref.tr,
listPosition = _ref.listPosition;
var listNodeAtPosition = tr.doc.nodeAt(listPosition);
if (!(0, _utils.isListNode)(listNodeAtPosition)) {
return;
}
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
var listPositionResolved = tr.doc.resolve(listPosition + listNodeAtPosition.nodeSize);
var pos = listPositionResolved.pos,
nodeAfter = listPositionResolved.nodeAfter,
nodeBefore = listPositionResolved.nodeBefore;
if (!(0, _utils.isListNode)(nodeBefore) || !(0, _utils.isListNode)(nodeAfter)) {
return;
}
var previousListPosition = pos - nodeBefore.nodeSize;
if (nodeAfter && nodeAfter.type.name !== (nodeBefore === null || nodeBefore === void 0 ? void 0 : nodeBefore.type.name)) {
tr.setNodeMarkup(previousListPosition, nodeAfter.type);
}
tr.join(pos);
if (tr.doc.type.schema.marks.fontSize && (0, _expValEquals.expValEquals)('platform_editor_small_font_size', 'isEnabled', true)) {
var upperListFontSizeAttrs = (0, _lists.getFirstParagraphBlockMarkAttrs)(nodeBefore, tr.doc.type.schema.marks.fontSize);
(0, _lists.reconcileBlockMarkForContainerAtPos)(tr, previousListPosition, tr.doc.type.schema.marks.fontSize, upperListFontSizeAttrs);
}
}