@domternal/core 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +146 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +146 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1017,6 +1017,27 @@ var deleteSelection = () => ({ tr, dispatch }) => {
|
|
|
1017
1017
|
dispatch(tr);
|
|
1018
1018
|
return true;
|
|
1019
1019
|
};
|
|
1020
|
+
var LIST_WRAPPER_TYPES = /* @__PURE__ */ new Set(["bulletList", "orderedList", "taskList"]);
|
|
1021
|
+
function isEmptyPlaceholderList(node) {
|
|
1022
|
+
if (!LIST_WRAPPER_TYPES.has(node.type.name) || node.childCount !== 1) return false;
|
|
1023
|
+
const item = node.child(0);
|
|
1024
|
+
return item.childCount === 1 && item.child(0).type.name === "paragraph" && item.child(0).content.size === 0;
|
|
1025
|
+
}
|
|
1026
|
+
function stripFitterArtifacts(node) {
|
|
1027
|
+
if (!node.isBlock || node.isLeaf) return node;
|
|
1028
|
+
const children = [];
|
|
1029
|
+
node.forEach((child) => children.push(stripFitterArtifacts(child)));
|
|
1030
|
+
const kept = [];
|
|
1031
|
+
children.forEach((cur, i) => {
|
|
1032
|
+
const next = children[i + 1];
|
|
1033
|
+
if (isEmptyPlaceholderList(cur) && next && LIST_WRAPPER_TYPES.has(next.type.name) && next.type !== cur.type) {
|
|
1034
|
+
return;
|
|
1035
|
+
}
|
|
1036
|
+
kept.push(cur);
|
|
1037
|
+
});
|
|
1038
|
+
const unchanged = kept.length === node.childCount && kept.every((c, i) => c === node.child(i));
|
|
1039
|
+
return unchanged ? node : node.copy(Fragment.fromArray(kept));
|
|
1040
|
+
}
|
|
1020
1041
|
function isJSONContent(content) {
|
|
1021
1042
|
return typeof content === "object" && content !== null && "type" in content && typeof content.type === "string";
|
|
1022
1043
|
}
|
|
@@ -1039,7 +1060,7 @@ function parseHTMLContent(html, schema, options) {
|
|
|
1039
1060
|
const element = document.createElement("div");
|
|
1040
1061
|
element.innerHTML = html;
|
|
1041
1062
|
const parser = DOMParser.fromSchema(schema);
|
|
1042
|
-
return parser.parse(element, options?.parseOptions);
|
|
1063
|
+
return stripFitterArtifacts(parser.parse(element, options?.parseOptions));
|
|
1043
1064
|
}
|
|
1044
1065
|
function createDocument(content, schema, options) {
|
|
1045
1066
|
if (content === null || content === void 0 || content === "") {
|
|
@@ -4142,12 +4163,12 @@ function defaultBubbleContexts(editor) {
|
|
|
4142
4163
|
|
|
4143
4164
|
// src/utils/insertAsListItemChild.ts
|
|
4144
4165
|
var LIST_ITEM_TYPES3 = /* @__PURE__ */ new Set(["listItem", "taskItem"]);
|
|
4145
|
-
var
|
|
4166
|
+
var LIST_WRAPPER_TYPES2 = /* @__PURE__ */ new Set(["bulletList", "orderedList", "taskList"]);
|
|
4146
4167
|
function insertAsListItemChild(args) {
|
|
4147
4168
|
const { tr, wrapperPos, targetItemPos, blockNode, sourceRange, childIndex } = args;
|
|
4148
4169
|
if (wrapperPos < 0 || wrapperPos >= tr.doc.content.size) return { ok: false };
|
|
4149
4170
|
const wrapper = tr.doc.nodeAt(wrapperPos);
|
|
4150
|
-
if (!wrapper || !
|
|
4171
|
+
if (!wrapper || !LIST_WRAPPER_TYPES2.has(wrapper.type.name)) return { ok: false };
|
|
4151
4172
|
if (wrapper.childCount === 0) return { ok: false };
|
|
4152
4173
|
let targetItem;
|
|
4153
4174
|
let targetItemStart;
|
|
@@ -5928,6 +5949,50 @@ var CodeBlock = Node2.create({
|
|
|
5928
5949
|
];
|
|
5929
5950
|
}
|
|
5930
5951
|
});
|
|
5952
|
+
var LIST_ITEM_TYPES4 = /* @__PURE__ */ new Set(["listItem", "taskItem"]);
|
|
5953
|
+
function liftCrossTypeListItem(state, dispatch) {
|
|
5954
|
+
const { $from } = state.selection;
|
|
5955
|
+
if (!state.selection.empty) return false;
|
|
5956
|
+
let itemDepth = -1;
|
|
5957
|
+
for (let d = $from.depth; d > 0; d--) {
|
|
5958
|
+
if (LIST_ITEM_TYPES4.has($from.node(d).type.name)) {
|
|
5959
|
+
itemDepth = d;
|
|
5960
|
+
break;
|
|
5961
|
+
}
|
|
5962
|
+
}
|
|
5963
|
+
if (itemDepth < 4) return false;
|
|
5964
|
+
const item = $from.node(itemDepth);
|
|
5965
|
+
const wrapper = $from.node(itemDepth - 1);
|
|
5966
|
+
const parentItem = $from.node(itemDepth - 2);
|
|
5967
|
+
if (!LIST_ITEM_TYPES4.has(parentItem.type.name)) return false;
|
|
5968
|
+
if (parentItem.type === item.type) return false;
|
|
5969
|
+
const parentWrapper = $from.node(itemDepth - 3);
|
|
5970
|
+
const grandParent = $from.node(itemDepth - 4);
|
|
5971
|
+
const gpIndex = $from.index(itemDepth - 4);
|
|
5972
|
+
if (!grandParent.canReplaceWith(gpIndex + 1, gpIndex + 1, wrapper.type)) return false;
|
|
5973
|
+
if (!dispatch) return true;
|
|
5974
|
+
const onlyChild = wrapper.childCount === 1;
|
|
5975
|
+
const removeFrom = onlyChild ? $from.before(itemDepth - 1) : $from.before(itemDepth);
|
|
5976
|
+
const removeTo = onlyChild ? $from.after(itemDepth - 1) : $from.after(itemDepth);
|
|
5977
|
+
const parentIsLast = $from.index(itemDepth - 3) === parentWrapper.childCount - 1;
|
|
5978
|
+
const tr = state.tr;
|
|
5979
|
+
tr.delete(removeFrom, removeTo);
|
|
5980
|
+
const newList = wrapper.type.create(wrapper.attrs, item);
|
|
5981
|
+
if (parentIsLast) {
|
|
5982
|
+
const insertAt = tr.mapping.map($from.after(itemDepth - 3));
|
|
5983
|
+
tr.insert(insertAt, newList);
|
|
5984
|
+
tr.setSelection(Selection.near(tr.doc.resolve(insertAt + 2)));
|
|
5985
|
+
} else {
|
|
5986
|
+
const splitAt = tr.mapping.map($from.after(itemDepth - 2));
|
|
5987
|
+
tr.split(splitAt, 1);
|
|
5988
|
+
tr.insert(splitAt + 1, newList);
|
|
5989
|
+
tr.setSelection(Selection.near(tr.doc.resolve(splitAt + 2)));
|
|
5990
|
+
}
|
|
5991
|
+
dispatch(tr.scrollIntoView());
|
|
5992
|
+
return true;
|
|
5993
|
+
}
|
|
5994
|
+
|
|
5995
|
+
// src/extensions/ListKeymap.ts
|
|
5931
5996
|
var LIST_GROUP_TYPES = /* @__PURE__ */ new Set(["bulletList", "orderedList", "taskList"]);
|
|
5932
5997
|
function getListItemContext(editor, listItemName) {
|
|
5933
5998
|
const { state, view } = editor;
|
|
@@ -5969,6 +6034,7 @@ var ListKeymap = Extension.create({
|
|
|
5969
6034
|
if (!this.editor) return false;
|
|
5970
6035
|
const ctx = getListItemContext(this.editor, this.options.listItem);
|
|
5971
6036
|
if (!ctx) return false;
|
|
6037
|
+
if (liftCrossTypeListItem(ctx.state, ctx.view.dispatch)) return true;
|
|
5972
6038
|
return liftListItem(ctx.listItemType)(ctx.state, ctx.view.dispatch);
|
|
5973
6039
|
},
|
|
5974
6040
|
// Backspace at start of list item to lift
|
|
@@ -6022,6 +6088,7 @@ var ListKeymap = Extension.create({
|
|
|
6022
6088
|
if (firstChild?.isTextblock) {
|
|
6023
6089
|
const posInListItem = $from.pos - $from.start(listItemDepth);
|
|
6024
6090
|
if (posInListItem <= 1) {
|
|
6091
|
+
if (liftCrossTypeListItem(state, view.dispatch)) return true;
|
|
6025
6092
|
return liftListItem(listItemType)(state, view.dispatch);
|
|
6026
6093
|
}
|
|
6027
6094
|
}
|
|
@@ -6068,7 +6135,22 @@ var ListItem = Node2.create({
|
|
|
6068
6135
|
if (splitBlock(state, view.dispatch)) return true;
|
|
6069
6136
|
}
|
|
6070
6137
|
}
|
|
6071
|
-
|
|
6138
|
+
const item = $from.node(-1);
|
|
6139
|
+
const hasChildren = item.childCount > 1;
|
|
6140
|
+
const atEnd = $from.parentOffset === $from.parent.content.size;
|
|
6141
|
+
const labelEmpty = $from.parent.content.size === 0;
|
|
6142
|
+
if (!ctx?.isInChildrenZone && hasChildren && atEnd && !labelEmpty) {
|
|
6143
|
+
const newItem = this.nodeType.createAndFill();
|
|
6144
|
+
if (newItem) {
|
|
6145
|
+
const insertAt = $from.after($from.depth - 1);
|
|
6146
|
+
const tr = state.tr.insert(insertAt, newItem);
|
|
6147
|
+
tr.setSelection(Selection.near(tr.doc.resolve(insertAt + 2)));
|
|
6148
|
+
view.dispatch(tr.scrollIntoView());
|
|
6149
|
+
return true;
|
|
6150
|
+
}
|
|
6151
|
+
}
|
|
6152
|
+
const skipSplit = !ctx?.isInChildrenZone && labelEmpty && hasChildren;
|
|
6153
|
+
if (!skipSplit && splitListItem(this.nodeType)(state, view.dispatch)) return true;
|
|
6072
6154
|
const listDepth = $from.depth - 2;
|
|
6073
6155
|
const taskItemType = state.schema.nodes["taskItem"];
|
|
6074
6156
|
if ($from.parent.content.size === 0 && listDepth > 0 && taskItemType && $from.node(listDepth - 1).type === taskItemType) {
|
|
@@ -6077,9 +6159,9 @@ var ListItem = Node2.create({
|
|
|
6077
6159
|
tr.delete($from.before(delDepth), $from.after(delDepth));
|
|
6078
6160
|
const taskItemDepth = listDepth - 1;
|
|
6079
6161
|
const end = tr.mapping.map($from.after(taskItemDepth));
|
|
6080
|
-
const
|
|
6081
|
-
if (
|
|
6082
|
-
tr.insert(end,
|
|
6162
|
+
const item2 = taskItemType.createAndFill();
|
|
6163
|
+
if (item2) {
|
|
6164
|
+
tr.insert(end, item2);
|
|
6083
6165
|
tr.setSelection(Selection.near(tr.doc.resolve(end + 2)));
|
|
6084
6166
|
view.dispatch(tr.scrollIntoView());
|
|
6085
6167
|
return true;
|
|
@@ -6208,16 +6290,20 @@ var OrderedList = Node2.create({
|
|
|
6208
6290
|
return {
|
|
6209
6291
|
start: {
|
|
6210
6292
|
default: 1,
|
|
6293
|
+
// Clamp to a finite integer >= 1. Without this, a malformed
|
|
6294
|
+
// `start="abc"` parses to NaN; `JSON.stringify(NaN)` is `null`, so
|
|
6295
|
+
// getJSON() serializes `start: null` and a save/load cycle
|
|
6296
|
+
// permanently dirties the document (reloads as `<ol start="null">`).
|
|
6211
6297
|
parseHTML: (element) => {
|
|
6212
|
-
const
|
|
6213
|
-
return
|
|
6298
|
+
const n = parseInt(element.getAttribute("start") ?? "", 10);
|
|
6299
|
+
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;
|
|
6214
6300
|
},
|
|
6215
6301
|
renderHTML: (attributes) => {
|
|
6216
6302
|
const start = attributes["start"];
|
|
6217
|
-
if (start
|
|
6303
|
+
if (!Number.isFinite(start) || start <= 1) {
|
|
6218
6304
|
return {};
|
|
6219
6305
|
}
|
|
6220
|
-
return { start: String(start) };
|
|
6306
|
+
return { start: String(Math.floor(start)) };
|
|
6221
6307
|
}
|
|
6222
6308
|
}
|
|
6223
6309
|
};
|
|
@@ -6296,8 +6382,8 @@ var OrderedList = Node2.create({
|
|
|
6296
6382
|
guard: notInsideList,
|
|
6297
6383
|
joinForward: true,
|
|
6298
6384
|
getAttributes: (match) => {
|
|
6299
|
-
const
|
|
6300
|
-
return { start:
|
|
6385
|
+
const n = parseInt(match[1] ?? "", 10);
|
|
6386
|
+
return { start: Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1 };
|
|
6301
6387
|
}
|
|
6302
6388
|
})
|
|
6303
6389
|
];
|
|
@@ -6569,7 +6655,10 @@ var TaskItem = Node2.create({
|
|
|
6569
6655
|
keepOnSplit: false,
|
|
6570
6656
|
parseHTML: (element) => {
|
|
6571
6657
|
const dataChecked = element.getAttribute("data-checked");
|
|
6572
|
-
|
|
6658
|
+
if (dataChecked !== null) {
|
|
6659
|
+
return dataChecked.toLowerCase() === "true" || dataChecked === "";
|
|
6660
|
+
}
|
|
6661
|
+
return element.querySelector('input[type="checkbox"]')?.hasAttribute("checked") ?? false;
|
|
6573
6662
|
},
|
|
6574
6663
|
renderHTML: (attributes) => ({
|
|
6575
6664
|
"data-checked": attributes["checked"] ? "true" : "false"
|
|
@@ -6582,6 +6671,14 @@ var TaskItem = Node2.create({
|
|
|
6582
6671
|
{
|
|
6583
6672
|
tag: `li[data-type="${this.name}"]`,
|
|
6584
6673
|
priority: 51
|
|
6674
|
+
},
|
|
6675
|
+
// GFM / markdown task lists: `<li class="task-list-item">` carries no
|
|
6676
|
+
// data-type. Priority 51 keeps it ahead of the generic `li` (listItem,
|
|
6677
|
+
// 50); class-scoped so it never swallows ordinary bullet items. The
|
|
6678
|
+
// `checked` attribute is derived from the descendant `<input>` above.
|
|
6679
|
+
{
|
|
6680
|
+
tag: "li.task-list-item",
|
|
6681
|
+
priority: 51
|
|
6585
6682
|
}
|
|
6586
6683
|
];
|
|
6587
6684
|
},
|
|
@@ -6667,7 +6764,22 @@ var TaskItem = Node2.create({
|
|
|
6667
6764
|
return true;
|
|
6668
6765
|
}
|
|
6669
6766
|
}
|
|
6670
|
-
|
|
6767
|
+
const item = $from.node(-1);
|
|
6768
|
+
const hasChildren = item.childCount > 1;
|
|
6769
|
+
const labelEmpty = $from.parent.content.size === 0;
|
|
6770
|
+
const atEnd = $from.parentOffset === $from.parent.content.size;
|
|
6771
|
+
if (!ctx?.isInChildrenZone && hasChildren && atEnd && !labelEmpty) {
|
|
6772
|
+
const newItem = this.nodeType.createAndFill({ checked: false });
|
|
6773
|
+
if (newItem) {
|
|
6774
|
+
const insertAt = $from.after($from.depth - 1);
|
|
6775
|
+
const tr = state.tr.insert(insertAt, newItem);
|
|
6776
|
+
tr.setSelection(Selection.near(tr.doc.resolve(insertAt + 2)));
|
|
6777
|
+
view.dispatch(tr.scrollIntoView());
|
|
6778
|
+
return true;
|
|
6779
|
+
}
|
|
6780
|
+
}
|
|
6781
|
+
const skipSplit = !ctx?.isInChildrenZone && labelEmpty && hasChildren;
|
|
6782
|
+
if (!skipSplit && splitListItem(this.nodeType, { checked: false })(state, view.dispatch)) return true;
|
|
6671
6783
|
if ($from.parent.content.size === 0) {
|
|
6672
6784
|
const listItemType = state.schema.nodes["listItem"];
|
|
6673
6785
|
if (listItemType) {
|
|
@@ -6714,9 +6826,11 @@ var TaskItem = Node2.create({
|
|
|
6714
6826
|
},
|
|
6715
6827
|
"Shift-Tab": () => {
|
|
6716
6828
|
if (!this.editor || !this.nodeType) return false;
|
|
6717
|
-
const {
|
|
6829
|
+
const { state, view } = this.editor;
|
|
6830
|
+
const { $from } = state.selection;
|
|
6718
6831
|
if ($from.depth < 1 || $from.node(-1).type !== this.nodeType) return false;
|
|
6719
|
-
|
|
6832
|
+
if (liftCrossTypeListItem(state, view.dispatch)) return true;
|
|
6833
|
+
return liftListItem(this.nodeType)(state, view.dispatch);
|
|
6720
6834
|
},
|
|
6721
6835
|
Backspace: () => {
|
|
6722
6836
|
if (!this.editor || !this.nodeType) return false;
|
|
@@ -6738,6 +6852,7 @@ var TaskItem = Node2.create({
|
|
|
6738
6852
|
}
|
|
6739
6853
|
if (taskItemDepth === -1) return false;
|
|
6740
6854
|
if ($from.index(taskItemDepth) !== 0) return false;
|
|
6855
|
+
if (liftCrossTypeListItem(state, view.dispatch)) return true;
|
|
6741
6856
|
return liftListItem(this.nodeType)(state, view.dispatch);
|
|
6742
6857
|
},
|
|
6743
6858
|
"Mod-Enter": () => {
|
|
@@ -6764,6 +6879,13 @@ var TaskList = Node2.create({
|
|
|
6764
6879
|
tag: `ul[data-type="${this.name}"]`,
|
|
6765
6880
|
priority: 51
|
|
6766
6881
|
// Higher priority than regular bulletList
|
|
6882
|
+
},
|
|
6883
|
+
// GFM / markdown task lists: `<ul class="contains-task-list">`. Priority
|
|
6884
|
+
// 51 keeps it ahead of the generic `ul` (bulletList, 50); class-scoped so
|
|
6885
|
+
// it only matches real GFM task-list containers, not ordinary bullets.
|
|
6886
|
+
{
|
|
6887
|
+
tag: "ul.contains-task-list",
|
|
6888
|
+
priority: 51
|
|
6767
6889
|
}
|
|
6768
6890
|
];
|
|
6769
6891
|
},
|
|
@@ -8024,12 +8146,12 @@ var Placeholder = Extension.create({
|
|
|
8024
8146
|
];
|
|
8025
8147
|
}
|
|
8026
8148
|
});
|
|
8027
|
-
var
|
|
8028
|
-
var
|
|
8149
|
+
var LIST_ITEM_TYPES5 = /* @__PURE__ */ new Set(["listItem", "taskItem"]);
|
|
8150
|
+
var LIST_WRAPPER_TYPES3 = /* @__PURE__ */ new Set(["bulletList", "orderedList", "taskList"]);
|
|
8029
8151
|
function isCursorInsideListItem(state) {
|
|
8030
8152
|
const { $from } = state.selection;
|
|
8031
8153
|
for (let d = $from.depth; d > 0; d--) {
|
|
8032
|
-
if (
|
|
8154
|
+
if (LIST_ITEM_TYPES5.has($from.node(d).type.name)) return true;
|
|
8033
8155
|
}
|
|
8034
8156
|
return false;
|
|
8035
8157
|
}
|
|
@@ -8060,7 +8182,7 @@ function indentBlockAsListChild(state, dispatch) {
|
|
|
8060
8182
|
}
|
|
8061
8183
|
if (blockIndex === 0) return false;
|
|
8062
8184
|
const prevSibling = state.doc.child(blockIndex - 1);
|
|
8063
|
-
if (!
|
|
8185
|
+
if (!LIST_WRAPPER_TYPES3.has(prevSibling.type.name)) return false;
|
|
8064
8186
|
let wrapperPos = 0;
|
|
8065
8187
|
for (let i = 0; i < blockIndex - 1; i++) {
|
|
8066
8188
|
wrapperPos += state.doc.child(i).nodeSize;
|
|
@@ -8084,7 +8206,7 @@ function outdentBlockFromListItem(state, dispatch) {
|
|
|
8084
8206
|
const { $from } = selection;
|
|
8085
8207
|
let listItemDepth = -1;
|
|
8086
8208
|
for (let d = $from.depth; d > 0; d--) {
|
|
8087
|
-
if (
|
|
8209
|
+
if (LIST_ITEM_TYPES5.has($from.node(d).type.name)) {
|
|
8088
8210
|
listItemDepth = d;
|
|
8089
8211
|
break;
|
|
8090
8212
|
}
|
|
@@ -8864,7 +8986,7 @@ var BlockColor = Extension.create({
|
|
|
8864
8986
|
};
|
|
8865
8987
|
}
|
|
8866
8988
|
});
|
|
8867
|
-
var
|
|
8989
|
+
var Selection5 = Extension.create({
|
|
8868
8990
|
name: "selection",
|
|
8869
8991
|
addStorage() {
|
|
8870
8992
|
return {
|
|
@@ -10363,6 +10485,6 @@ var StarterKit = Extension.create({
|
|
|
10363
10485
|
// src/index.ts
|
|
10364
10486
|
var VERSION = "0.1.0";
|
|
10365
10487
|
|
|
10366
|
-
export { BaseKeymap, BlockColor, Blockquote, Bold, BubbleMenu, BulletList, CanChecker, ChainBuilder, CharacterCount, ClearFormatting, Code, CodeBlock, CommandManager, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, Document, Dropcursor, Editor, EventEmitter, Extension, ExtensionManager, FLOATING_MENU_META, FLOATING_MENU_NO_FOCUS, FloatingMenuController, Focus, FontFamily, FontSize, Gapcursor, HardBreak, Heading, Highlight, History, HorizontalRule, InvisibleChars, Italic, LIST_ITEM_TYPE_NAMES, LineHeight, Link, LinkPopover, ListIndent, ListItem, ListKeymap, Mark, Node2 as Node, NotionColorPicker, OrderedList, Paragraph, Placeholder,
|
|
10488
|
+
export { BaseKeymap, BlockColor, Blockquote, Bold, BubbleMenu, BulletList, CanChecker, ChainBuilder, CharacterCount, ClearFormatting, Code, CodeBlock, CommandManager, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, Document, Dropcursor, Editor, EventEmitter, Extension, ExtensionManager, FLOATING_MENU_META, FLOATING_MENU_NO_FOCUS, FloatingMenuController, Focus, FontFamily, FontSize, Gapcursor, HardBreak, Heading, Highlight, History, HorizontalRule, InvisibleChars, Italic, LIST_ITEM_TYPE_NAMES, LineHeight, Link, LinkPopover, ListIndent, ListItem, ListKeymap, Mark, Node2 as Node, NotionColorPicker, OrderedList, Paragraph, Placeholder, Selection5 as Selection, SelectionDecoration, StarterKit, Strike, Subscript, Superscript, TaskItem, TaskList, Text, TextAlign, TextColor, TextStyle, ToolbarController, TrailingNode, Typography, Underline, UniqueID, VERSION, applyInlineStyles, autolinkPlugin, autolinkPluginKey, blur, bubbleMenuPluginKey, buildCommandProps, builtInCommands, callOrReturn, characterCountPluginKey, clearContent, copyThemeClass, createAccumulatingDispatch, createBubbleMenuPlugin, createCanChecker, createChainBuilder, createDocument, createFloatingMenuPlugin, defaultBlockAt, defaultBubbleContexts, defaultFloatingMenuShouldShow, defaultIcons, deleteSelection, findChildren, findListItemAncestorDepth, findParentNode, floatingMenuPluginKey, focus, focusPluginKey, generateHTML, generateJSON, generateText, getListItemCursorContext, getMarkRange, groupFloatingMenuItems, hideFloatingMenu, indentBlockAsListChild, inlineStyles, insertAsListItemChild, insertChildrenZoneSibling, insertContent, insertText, invisibleCharsPluginKey, isDocumentEmpty, isInListItemLabel, isInsideListItem, isNodeEmpty, isValidUrl, lift, liftCurrentListItem, liftEmptyChildrenZoneParagraph, linkClickPlugin, linkClickPluginKey, linkExitPlugin, linkExitPluginKey, linkPastePlugin, linkPastePluginKey, markInputRule, markInputRulePatterns, nodeInputRule, outdentBlockFromListItem, placeholderPluginKey, positionFloating, positionFloatingOnce, resetAttributes, selectAll, selectNodeBackward, selectionDecorationPluginKey, setBlockType, setContent, setMark, showFloatingMenu, splitListForInsert, stripInlineColorConflicts, textInputRule, textblockTypeInputRule, toggleBlockType, toggleList, toggleMark, toggleWrap, uniqueIDPluginKey, unsetAllMarks, unsetMark, updateAttributes, wrapIn, wrappingInputRule, writeToClipboard };
|
|
10367
10489
|
//# sourceMappingURL=index.js.map
|
|
10368
10490
|
//# sourceMappingURL=index.js.map
|