@edtr-io/plugin-text
Version:
68 lines (55 loc) • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createListPlugin = exports.toggleList = exports.isList = exports.listItemChildNode = exports.listItemNode = exports.unorderedListNode = exports.orderedListNode = void 0;
var _slateLists = _interopRequireDefault(require("@convertkit/slate-lists"));
var _factory = require("../factory");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//@ts-ignore FIXME
var orderedListNode = 'ordered-list';
exports.orderedListNode = orderedListNode;
var unorderedListNode = 'unordered-list';
exports.unorderedListNode = unorderedListNode;
var listItemNode = 'list-item';
exports.listItemNode = listItemNode;
var listItemChildNode = 'list-item-child';
exports.listItemChildNode = listItemChildNode;
var isList = function isList(type) {
return function (editor) {
var _editor$value = editor.value,
document = _editor$value.document,
startBlock = _editor$value.startBlock;
if (!startBlock || startBlock.type !== listItemChildNode) return false;
var listItem = document.getParent(startBlock.key);
var list = document.getParent(listItem.key);
return list.type === type;
};
};
exports.isList = isList;
var toggleList = function toggleList() {
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : unorderedListNode;
return function (editor) {
return editor.command('toggleList', {
type: type
});
};
};
/* eslint-disable @typescript-eslint/camelcase */
exports.toggleList = toggleList;
var createListPlugin = function createListPlugin() {
return function () {
return (0, _slateLists.default)({
blocks: {
ordered_list: orderedListNode,
unordered_list: unorderedListNode,
list_item: listItemNode,
list_item_child: listItemChildNode,
default: _factory.defaultNode
}
});
};
};
/* eslint-enable @typescript-eslint/camelcase */
exports.createListPlugin = createListPlugin;
//# sourceMappingURL=list.js.map