@titaui/pc 1.10.39 → 1.10.43
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/lib/components/dynamic/dynamic-item/dynamic-chart/index.js +18 -3
- package/lib/components/upload/index.js +2 -4
- package/lib/index.js +0 -8
- package/package.json +2 -20
- package/lib/components/rich-editor/basic/schema.js +0 -47
- package/lib/components/rich-editor/consts/events.js +0 -12
- package/lib/components/rich-editor/enums.js +0 -42
- package/lib/components/rich-editor/index.js +0 -58
- package/lib/components/rich-editor/keymap.js +0 -119
- package/lib/components/rich-editor/keymaps/index.js +0 -241
- package/lib/components/rich-editor/models/controller.js +0 -18
- package/lib/components/rich-editor/models/editor.js +0 -47
- package/lib/components/rich-editor/models/plugin.js +0 -20
- package/lib/components/rich-editor/models/schema.js +0 -121
- package/lib/components/rich-editor/plugins/block/block-quote/commond.js +0 -27
- package/lib/components/rich-editor/plugins/block/block-quote/index.js +0 -126
- package/lib/components/rich-editor/plugins/block/heading/commonds.js +0 -31
- package/lib/components/rich-editor/plugins/block/heading/index.js +0 -188
- package/lib/components/rich-editor/plugins/block/index.js +0 -57
- package/lib/components/rich-editor/plugins/block/lists/actions/conversions.js +0 -172
- package/lib/components/rich-editor/plugins/block/lists/actions/indent-list-items-selected.js +0 -163
- package/lib/components/rich-editor/plugins/block/lists/actions/indent-list.js +0 -59
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-forward.js +0 -74
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/index.js +0 -45
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/join-list-item-with-paragraph.js +0 -104
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/join-list-item-with-parent-nested-list.js +0 -92
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/join-nested-list-with-parent-list-item.js +0 -89
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/join-paragraph-with-list.js +0 -48
- package/lib/components/rich-editor/plugins/block/lists/actions/join-list-items-scenarios/join-sibling-list-items.js +0 -61
- package/lib/components/rich-editor/plugins/block/lists/actions/merge-lists.js +0 -34
- package/lib/components/rich-editor/plugins/block/lists/actions/outdent-list-items-selected.js +0 -289
- package/lib/components/rich-editor/plugins/block/lists/actions/wrap-and-join-lists.js +0 -180
- package/lib/components/rich-editor/plugins/block/lists/baseCommand.js +0 -328
- package/lib/components/rich-editor/plugins/block/lists/commond/indent-list.js +0 -60
- package/lib/components/rich-editor/plugins/block/lists/commond/index.js +0 -398
- package/lib/components/rich-editor/plugins/block/lists/commond/join-list-item-forward.js +0 -45
- package/lib/components/rich-editor/plugins/block/lists/commond/listBackspace.js +0 -302
- package/lib/components/rich-editor/plugins/block/lists/commond/outdent-list.js +0 -43
- package/lib/components/rich-editor/plugins/block/lists/index.js +0 -222
- package/lib/components/rich-editor/plugins/block/lists/messages.js +0 -38
- package/lib/components/rich-editor/plugins/block/lists/pm-plugins/input-rule.js +0 -152
- package/lib/components/rich-editor/plugins/block/lists/pm-plugins/keymap.js +0 -33
- package/lib/components/rich-editor/plugins/block/lists/pm-plugins/main.js +0 -94
- package/lib/components/rich-editor/plugins/block/lists/styles.js +0 -15
- package/lib/components/rich-editor/plugins/block/lists/transforms.js +0 -347
- package/lib/components/rich-editor/plugins/block/lists/utils/analytics.js +0 -48
- package/lib/components/rich-editor/plugins/block/lists/utils/find.js +0 -126
- package/lib/components/rich-editor/plugins/block/lists/utils/indentation.js +0 -87
- package/lib/components/rich-editor/plugins/block/lists/utils/node.js +0 -144
- package/lib/components/rich-editor/plugins/block/lists/utils/replace-content.js +0 -31
- package/lib/components/rich-editor/plugins/block/lists/utils/selection.js +0 -201
- package/lib/components/rich-editor/plugins/block/lists/utils.js +0 -52
- package/lib/components/rich-editor/plugins/block/paragraph/index.js +0 -91
- package/lib/components/rich-editor/plugins/core/index.js +0 -90
- package/lib/components/rich-editor/plugins/core/pm-plugins/focus-handler.js +0 -67
- package/lib/components/rich-editor/plugins/core/pm-plugins/keymap.js +0 -29
- package/lib/components/rich-editor/plugins/core/pm-plugins/reactNodeView.js +0 -80
- package/lib/components/rich-editor/plugins/extension/alignment/commond.js +0 -24
- package/lib/components/rich-editor/plugins/extension/alignment/index.js +0 -111
- package/lib/components/rich-editor/plugins/extension/alignment/utils.js +0 -19
- package/lib/components/rich-editor/plugins/extension/index.js +0 -18
- package/lib/components/rich-editor/plugins/index.js +0 -44
- package/lib/components/rich-editor/plugins/inline/color/commond.js +0 -128
- package/lib/components/rich-editor/plugins/inline/color/consts.js +0 -43
- package/lib/components/rich-editor/plugins/inline/color/index.css +0 -61
- package/lib/components/rich-editor/plugins/inline/color/index.js +0 -209
- package/lib/components/rich-editor/plugins/inline/color/selector.js +0 -252
- package/lib/components/rich-editor/plugins/inline/delete-line/index.js +0 -147
- package/lib/components/rich-editor/plugins/inline/em/index.js +0 -93
- package/lib/components/rich-editor/plugins/inline/index.js +0 -83
- package/lib/components/rich-editor/plugins/inline/link/commands.js +0 -256
- package/lib/components/rich-editor/plugins/inline/link/index.js +0 -149
- package/lib/components/rich-editor/plugins/inline/link/pm-plugins/fake-cursor-for-toolbar.js +0 -77
- package/lib/components/rich-editor/plugins/inline/link/pm-plugins/main.js +0 -293
- package/lib/components/rich-editor/plugins/inline/link/ui/index.css +0 -79
- package/lib/components/rich-editor/plugins/inline/link/ui/linkEditor.js +0 -148
- package/lib/components/rich-editor/plugins/inline/link/ui/linkToolbar.js +0 -88
- package/lib/components/rich-editor/plugins/inline/link/ui/toolbarBtn.js +0 -117
- package/lib/components/rich-editor/plugins/inline/link/utils.js +0 -33
- package/lib/components/rich-editor/plugins/inline/strong/index.js +0 -137
- package/lib/components/rich-editor/plugins/inline/under-line/index.js +0 -145
- package/lib/components/rich-editor/plugins/util.js +0 -281
- package/lib/components/rich-editor/react/reactNodeView.js +0 -383
- package/lib/components/rich-editor/react/uiProvider.js +0 -185
- package/lib/components/rich-editor/schemas/basic.js +0 -309
- package/lib/components/rich-editor/schemas/index.js +0 -19
- package/lib/components/rich-editor/schemas/list.js +0 -342
- package/lib/components/rich-editor/types/commond.js +0 -5
- package/lib/components/rich-editor/types/index.js +0 -18
- package/lib/components/rich-editor/ui/Popup/index.js +0 -247
- package/lib/components/rich-editor/ui/Popup/utils.js +0 -399
- package/lib/components/rich-editor/ui/editor/index.css +0 -141
- package/lib/components/rich-editor/ui/editor/index.js +0 -130
- package/lib/components/rich-editor/ui/normal-toolbar/index.css +0 -28
- package/lib/components/rich-editor/ui/normal-toolbar/index.js +0 -109
- package/lib/components/rich-editor/utils/browser.js +0 -35
- package/lib/components/rich-editor/utils/commands.js +0 -266
- package/lib/components/rich-editor/utils/document.js +0 -160
- package/lib/components/rich-editor/utils/event.js +0 -79
- package/lib/components/rich-editor/utils/helpers.js +0 -16
- package/lib/components/rich-editor/utils/mark.js +0 -168
- package/lib/components/rich-editor/utils/slice.js +0 -85
- package/lib/components/rich-editor/utils/toolbar.js +0 -228
- package/yarn-error.log +0 -22184
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.addListNodes = addListNodes;
|
|
7
|
-
exports.bulletList = void 0;
|
|
8
|
-
exports.liftListItem = liftListItem;
|
|
9
|
-
exports.liftOutOfList = liftOutOfList;
|
|
10
|
-
exports.orderedList = exports.listItem = void 0;
|
|
11
|
-
exports.sinkListItem = sinkListItem;
|
|
12
|
-
exports.splitListItem = splitListItem;
|
|
13
|
-
exports.wrapInList = wrapInList;
|
|
14
|
-
|
|
15
|
-
var _prosemirrorTransform = require("prosemirror-transform");
|
|
16
|
-
|
|
17
|
-
var _prosemirrorModel = require("prosemirror-model");
|
|
18
|
-
|
|
19
|
-
var preCls = 'tita-rich-editor';
|
|
20
|
-
var olDOM = ["ol", {
|
|
21
|
-
"class": preCls + '-ol'
|
|
22
|
-
}, 0],
|
|
23
|
-
ulDOM = ["ul", {
|
|
24
|
-
"class": preCls + '-ul'
|
|
25
|
-
}, 0]; // :: NodeSpec
|
|
26
|
-
// An ordered list [node spec](#model.NodeSpec). Has a single
|
|
27
|
-
// attribute, `order`, which determines the number at which the list
|
|
28
|
-
// starts counting, and defaults to 1. Represented as an `<ol>`
|
|
29
|
-
// element.
|
|
30
|
-
|
|
31
|
-
var orderedList = {
|
|
32
|
-
attrs: {
|
|
33
|
-
order: {
|
|
34
|
-
"default": 1
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
parseDOM: [{
|
|
38
|
-
tag: "ol",
|
|
39
|
-
getAttrs: function getAttrs(dom) {
|
|
40
|
-
return {
|
|
41
|
-
order: dom.hasAttribute("start") ? +dom.getAttribute("start") : 1
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}],
|
|
45
|
-
toDOM: function toDOM(node) {
|
|
46
|
-
return node.attrs.order == 1 ? olDOM : ["ol", {
|
|
47
|
-
start: node.attrs.order
|
|
48
|
-
}, 0];
|
|
49
|
-
}
|
|
50
|
-
}; // :: NodeSpec
|
|
51
|
-
// A bullet list node spec, represented in the DOM as `<ul>`.
|
|
52
|
-
|
|
53
|
-
exports.orderedList = orderedList;
|
|
54
|
-
var bulletList = {
|
|
55
|
-
parseDOM: [{
|
|
56
|
-
tag: "ul"
|
|
57
|
-
}],
|
|
58
|
-
toDOM: function toDOM() {
|
|
59
|
-
return ulDOM;
|
|
60
|
-
}
|
|
61
|
-
}; // :: NodeSpec
|
|
62
|
-
// A list item (`<li>`) spec.
|
|
63
|
-
|
|
64
|
-
exports.bulletList = bulletList;
|
|
65
|
-
var listItem = {
|
|
66
|
-
attrs: {
|
|
67
|
-
index: {
|
|
68
|
-
"default": 1
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
parseDOM: [{
|
|
72
|
-
tag: "li"
|
|
73
|
-
}],
|
|
74
|
-
toDOM: function toDOM(node) {
|
|
75
|
-
return ["li", {
|
|
76
|
-
"class": preCls + '-li',
|
|
77
|
-
'data-index': node.attrs.index || 0
|
|
78
|
-
}, 0];
|
|
79
|
-
},
|
|
80
|
-
defining: true
|
|
81
|
-
};
|
|
82
|
-
exports.listItem = listItem;
|
|
83
|
-
|
|
84
|
-
function add(obj, props) {
|
|
85
|
-
var copy = {};
|
|
86
|
-
|
|
87
|
-
for (var prop in obj) {
|
|
88
|
-
copy[prop] = obj[prop];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
for (var _prop in props) {
|
|
92
|
-
copy[_prop] = props[_prop];
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return copy;
|
|
96
|
-
} // :: (OrderedMap<NodeSpec>, string, ?string) → OrderedMap<NodeSpec>
|
|
97
|
-
// Convenience function for adding list-related node types to a map
|
|
98
|
-
// specifying the nodes for a schema. Adds
|
|
99
|
-
// [`orderedList`](#schema-list.orderedList) as `"ordered_list"`,
|
|
100
|
-
// [`bulletList`](#schema-list.bulletList) as `"bullet_list"`, and
|
|
101
|
-
// [`listItem`](#schema-list.listItem) as `"list_item"`.
|
|
102
|
-
//
|
|
103
|
-
// `itemContent` determines the content expression for the list items.
|
|
104
|
-
// If you want the commands defined in this module to apply to your
|
|
105
|
-
// list structure, it should have a shape like `"paragraph block*"` or
|
|
106
|
-
// `"paragraph (ordered_list | bullet_list)*"`. `listGroup` can be
|
|
107
|
-
// given to assign a group name to the list node types, for example
|
|
108
|
-
// `"block"`.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
function addListNodes(nodes, itemContent, listGroup) {
|
|
112
|
-
return nodes.append({
|
|
113
|
-
ordered_list: add(orderedList, {
|
|
114
|
-
content: "list_item+",
|
|
115
|
-
group: listGroup
|
|
116
|
-
}),
|
|
117
|
-
bullet_list: add(bulletList, {
|
|
118
|
-
content: "list_item+",
|
|
119
|
-
group: listGroup
|
|
120
|
-
}),
|
|
121
|
-
list_item: add(listItem, {
|
|
122
|
-
content: itemContent
|
|
123
|
-
})
|
|
124
|
-
});
|
|
125
|
-
} // :: (NodeType, ?Object) → (state: EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
126
|
-
// Returns a command function that wraps the selection in a list with
|
|
127
|
-
// the given type an attributes. If `dispatch` is null, only return a
|
|
128
|
-
// value to indicate whether this is possible, but don't actually
|
|
129
|
-
// perform the change.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
function wrapInList(listType, attrs) {
|
|
133
|
-
return function (state, dispatch) {
|
|
134
|
-
var _state$selection = state.selection,
|
|
135
|
-
$from = _state$selection.$from,
|
|
136
|
-
$to = _state$selection.$to;
|
|
137
|
-
var range = $from.blockRange($to),
|
|
138
|
-
doJoin = false,
|
|
139
|
-
outerRange = range;
|
|
140
|
-
if (!range) return false; // This is at the top of an existing list item
|
|
141
|
-
|
|
142
|
-
if (range.depth >= 2 && $from.node(range.depth - 1).type.compatibleContent(listType) && range.startIndex == 0) {
|
|
143
|
-
// Don't do anything if this is the top of the list
|
|
144
|
-
if ($from.index(range.depth - 1) == 0) return false;
|
|
145
|
-
var $insert = state.doc.resolve(range.start - 2);
|
|
146
|
-
outerRange = new _prosemirrorModel.NodeRange($insert, $insert, range.depth);
|
|
147
|
-
if (range.endIndex < range.parent.childCount) range = new _prosemirrorModel.NodeRange($from, state.doc.resolve($to.end(range.depth)), range.depth);
|
|
148
|
-
doJoin = true;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
var wrap = (0, _prosemirrorTransform.findWrapping)(outerRange, listType, attrs, range);
|
|
152
|
-
if (!wrap) return false;
|
|
153
|
-
if (dispatch) dispatch(doWrapInList(state.tr, range, wrap, doJoin, listType).scrollIntoView());
|
|
154
|
-
return true;
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function doWrapInList(tr, range, wrappers, joinBefore, listType) {
|
|
159
|
-
var content = _prosemirrorModel.Fragment.empty;
|
|
160
|
-
|
|
161
|
-
for (var i = wrappers.length - 1; i >= 0; i--) {
|
|
162
|
-
content = _prosemirrorModel.Fragment.from(wrappers[i].type.create(wrappers[i].attrs, content));
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
tr.step(new _prosemirrorTransform.ReplaceAroundStep(range.start - (joinBefore ? 2 : 0), range.end, range.start, range.end, new _prosemirrorModel.Slice(content, 0, 0), wrappers.length, true));
|
|
166
|
-
var found = 0;
|
|
167
|
-
|
|
168
|
-
for (var _i = 0; _i < wrappers.length; _i++) {
|
|
169
|
-
if (wrappers[_i].type == listType) found = _i + 1;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
var splitDepth = wrappers.length - found;
|
|
173
|
-
var splitPos = range.start + wrappers.length - (joinBefore ? 2 : 0),
|
|
174
|
-
parent = range.parent;
|
|
175
|
-
|
|
176
|
-
for (var _i2 = range.startIndex, e = range.endIndex, first = true; _i2 < e; _i2++, first = false) {
|
|
177
|
-
if (!first && (0, _prosemirrorTransform.canSplit)(tr.doc, splitPos, splitDepth)) {
|
|
178
|
-
tr.split(splitPos, splitDepth);
|
|
179
|
-
splitPos += 2 * splitDepth;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
splitPos += parent.child(_i2).nodeSize;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return tr;
|
|
186
|
-
} // :: (NodeType) → (state: EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
187
|
-
// Build a command that splits a non-empty textblock at the top level
|
|
188
|
-
// of a list item by also splitting that list item.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
function splitListItem(itemType) {
|
|
192
|
-
return function (state, dispatch) {
|
|
193
|
-
var _state$selection2 = state.selection,
|
|
194
|
-
$from = _state$selection2.$from,
|
|
195
|
-
$to = _state$selection2.$to,
|
|
196
|
-
node = _state$selection2.node;
|
|
197
|
-
if (node && node.isBlock || $from.depth < 2 || !$from.sameParent($to)) return false;
|
|
198
|
-
var grandParent = $from.node(-1);
|
|
199
|
-
if (grandParent.type != itemType) return false;
|
|
200
|
-
|
|
201
|
-
if ($from.parent.content.size == 0 && $from.node(-1).childCount == $from.indexAfter(-1)) {
|
|
202
|
-
// In an empty block. If this is a nested list, the wrapping
|
|
203
|
-
// list item should be split. Otherwise, bail out and let next
|
|
204
|
-
// command handle lifting.
|
|
205
|
-
if ($from.depth == 2 || $from.node(-3).type != itemType || $from.index(-2) != $from.node(-2).childCount - 1) return false;
|
|
206
|
-
|
|
207
|
-
if (dispatch) {
|
|
208
|
-
var wrap = _prosemirrorModel.Fragment.empty;
|
|
209
|
-
var depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3; // Build a fragment containing empty versions of the structure
|
|
210
|
-
// from the outer list item to the parent node of the cursor
|
|
211
|
-
|
|
212
|
-
for (var d = $from.depth - depthBefore; d >= $from.depth - 3; d--) {
|
|
213
|
-
wrap = _prosemirrorModel.Fragment.from($from.node(d).copy(wrap));
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
var depthAfter = $from.indexAfter(-1) < $from.node(-2).childCount ? 1 : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3; // Add a second list item with an empty default start node
|
|
217
|
-
|
|
218
|
-
wrap = wrap.append(_prosemirrorModel.Fragment.from(itemType.createAndFill()));
|
|
219
|
-
var start = $from.before($from.depth - (depthBefore - 1));
|
|
220
|
-
|
|
221
|
-
var _tr = state.tr.replace(start, $from.after(-depthAfter), new _prosemirrorModel.Slice(wrap, 4 - depthBefore, 0));
|
|
222
|
-
|
|
223
|
-
var sel = -1;
|
|
224
|
-
|
|
225
|
-
_tr.doc.nodesBetween(start, _tr.doc.content.size, function (node, pos) {
|
|
226
|
-
if (sel > -1) return false;
|
|
227
|
-
if (node.isTextblock && node.content.size == 0) sel = pos + 1;
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
if (sel > -1) _tr.setSelection(state.selection.constructor.near(_tr.doc.resolve(sel)));
|
|
231
|
-
dispatch(_tr.scrollIntoView());
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return true;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
var nextType = $to.pos == $from.end() ? grandParent.contentMatchAt(0).defaultType : null;
|
|
238
|
-
var tr = state.tr["delete"]($from.pos, $to.pos);
|
|
239
|
-
var types = nextType && [null, {
|
|
240
|
-
type: nextType
|
|
241
|
-
}];
|
|
242
|
-
if (!(0, _prosemirrorTransform.canSplit)(tr.doc, $from.pos, 2, types)) return false;
|
|
243
|
-
if (dispatch) dispatch(tr.split($from.pos, 2, types).scrollIntoView());
|
|
244
|
-
return true;
|
|
245
|
-
};
|
|
246
|
-
} // :: (NodeType) → (state: EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
247
|
-
// Create a command to lift the list item around the selection up into
|
|
248
|
-
// a wrapping list.
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
function liftListItem(itemType) {
|
|
252
|
-
return function (state, dispatch) {
|
|
253
|
-
debugger;
|
|
254
|
-
var _state$selection3 = state.selection,
|
|
255
|
-
$from = _state$selection3.$from,
|
|
256
|
-
$to = _state$selection3.$to;
|
|
257
|
-
var range = $from.blockRange($to, function (node) {
|
|
258
|
-
return node.childCount && node.firstChild.type == itemType;
|
|
259
|
-
});
|
|
260
|
-
if (!range) return false;
|
|
261
|
-
if (!dispatch) return true;
|
|
262
|
-
if ($from.node(range.depth - 1).type == itemType) // Inside a parent list
|
|
263
|
-
return liftToOuterList(state, dispatch, itemType, range);else // Outer list node
|
|
264
|
-
return liftOutOfList(state, dispatch, range);
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
function liftToOuterList(state, dispatch, itemType, range) {
|
|
269
|
-
var tr = state.tr,
|
|
270
|
-
end = range.end,
|
|
271
|
-
endOfList = range.$to.end(range.depth);
|
|
272
|
-
|
|
273
|
-
if (end < endOfList) {
|
|
274
|
-
// There are siblings after the lifted items, which must become
|
|
275
|
-
// children of the last item
|
|
276
|
-
tr.step(new _prosemirrorTransform.ReplaceAroundStep(end - 1, endOfList, end, endOfList, new _prosemirrorModel.Slice(_prosemirrorModel.Fragment.from(itemType.create(null, range.parent.copy())), 1, 0), 1, true));
|
|
277
|
-
range = new _prosemirrorModel.NodeRange(tr.doc.resolve(range.$from.pos), tr.doc.resolve(endOfList), range.depth);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
dispatch(tr.lift(range, (0, _prosemirrorTransform.liftTarget)(range)).scrollIntoView());
|
|
281
|
-
return true;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
function liftOutOfList(state, dispatch, range) {
|
|
285
|
-
var tr = state.tr,
|
|
286
|
-
list = range.parent; // Merge the list items into a single big item
|
|
287
|
-
|
|
288
|
-
for (var pos = range.end, i = range.endIndex - 1, e = range.startIndex; i > e; i--) {
|
|
289
|
-
pos -= list.child(i).nodeSize;
|
|
290
|
-
tr["delete"](pos - 1, pos + 1);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
var $start = tr.doc.resolve(range.start),
|
|
294
|
-
item = $start.nodeAfter;
|
|
295
|
-
if (tr.mapping.map(range.end) != range.start + $start.nodeAfter.nodeSize) return false;
|
|
296
|
-
var atStart = range.startIndex == 0,
|
|
297
|
-
atEnd = range.endIndex == list.childCount;
|
|
298
|
-
var parent = $start.node(-1),
|
|
299
|
-
indexBefore = $start.index(-1);
|
|
300
|
-
if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ? _prosemirrorModel.Fragment.empty : _prosemirrorModel.Fragment.from(list)))) return false;
|
|
301
|
-
var start = $start.pos,
|
|
302
|
-
end = start + item.nodeSize; // Strip off the surrounding list. At the sides where we're not at
|
|
303
|
-
// the end of the list, the existing list is closed. At sides where
|
|
304
|
-
// this is the end, it is overwritten to its end.
|
|
305
|
-
|
|
306
|
-
tr.step(new _prosemirrorTransform.ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new _prosemirrorModel.Slice((atStart ? _prosemirrorModel.Fragment.empty : _prosemirrorModel.Fragment.from(list.copy(_prosemirrorModel.Fragment.empty))).append(atEnd ? _prosemirrorModel.Fragment.empty : _prosemirrorModel.Fragment.from(list.copy(_prosemirrorModel.Fragment.empty))), atStart ? 0 : 1, atEnd ? 0 : 1), atStart ? 0 : 1));
|
|
307
|
-
dispatch(tr.scrollIntoView());
|
|
308
|
-
return true;
|
|
309
|
-
} // :: (NodeType) → (state: EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
310
|
-
// Create a command to sink the list item around the selection down
|
|
311
|
-
// into an inner list.
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
function sinkListItem(itemType) {
|
|
315
|
-
return function (state, dispatch) {
|
|
316
|
-
var _state$selection4 = state.selection,
|
|
317
|
-
$from = _state$selection4.$from,
|
|
318
|
-
$to = _state$selection4.$to;
|
|
319
|
-
var range = $from.blockRange($to, function (node) {
|
|
320
|
-
return node.childCount && node.firstChild.type == itemType;
|
|
321
|
-
});
|
|
322
|
-
if (!range) return false;
|
|
323
|
-
var startIndex = range.startIndex;
|
|
324
|
-
if (startIndex == 0) return false;
|
|
325
|
-
var parent = range.parent,
|
|
326
|
-
nodeBefore = parent.child(startIndex - 1);
|
|
327
|
-
if (nodeBefore.type != itemType) return false;
|
|
328
|
-
|
|
329
|
-
if (dispatch) {
|
|
330
|
-
var nestedBefore = nodeBefore.lastChild && nodeBefore.lastChild.type == parent.type;
|
|
331
|
-
|
|
332
|
-
var inner = _prosemirrorModel.Fragment.from(nestedBefore ? itemType.create() : null);
|
|
333
|
-
|
|
334
|
-
var slice = new _prosemirrorModel.Slice(_prosemirrorModel.Fragment.from(itemType.create(null, _prosemirrorModel.Fragment.from(parent.type.create(null, inner)))), nestedBefore ? 3 : 1, 0);
|
|
335
|
-
var before = range.start,
|
|
336
|
-
after = range.end;
|
|
337
|
-
dispatch(state.tr.step(new _prosemirrorTransform.ReplaceAroundStep(before - (nestedBefore ? 3 : 1), after, before, after, slice, 1, true)).scrollIntoView());
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
return true;
|
|
341
|
-
};
|
|
342
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _commond = require("./commond");
|
|
8
|
-
|
|
9
|
-
Object.keys(_commond).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] === _commond[key]) return;
|
|
12
|
-
Object.defineProperty(exports, key, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _commond[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
|
-
var _reactDom = require("react-dom");
|
|
13
|
-
|
|
14
|
-
var _rafSchd = _interopRequireDefault(require("raf-schd"));
|
|
15
|
-
|
|
16
|
-
var _utils = require("./utils");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
-
|
|
20
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
|
-
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
|
-
|
|
28
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
-
|
|
30
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
31
|
-
|
|
32
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
33
|
-
|
|
34
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
35
|
-
|
|
36
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
37
|
-
|
|
38
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
39
|
-
|
|
40
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
41
|
-
|
|
42
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
43
|
-
|
|
44
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
45
|
-
|
|
46
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
-
|
|
48
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
49
|
-
|
|
50
|
-
var EditorPopup = /*#__PURE__*/function (_React$Component) {
|
|
51
|
-
_inherits(EditorPopup, _React$Component);
|
|
52
|
-
|
|
53
|
-
var _super = _createSuper(EditorPopup);
|
|
54
|
-
|
|
55
|
-
function EditorPopup() {
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
_classCallCheck(this, EditorPopup);
|
|
59
|
-
|
|
60
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
|
-
args[_key] = arguments[_key];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return _possibleConstructorReturn(_this, (_this = _super.call.apply(_super, [this].concat(args)), _this.state = {
|
|
65
|
-
overflowScrollParent: false,
|
|
66
|
-
validPosition: true
|
|
67
|
-
}, _this.placement = ['', ''], _this.handleRef = function (popup) {
|
|
68
|
-
if (!popup) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
_this.initPopup(popup);
|
|
73
|
-
}, _this.scheduledUpdatePosition = (0, _rafSchd["default"])(function (props) {
|
|
74
|
-
return _this.updatePosition(props);
|
|
75
|
-
}), _this.onResize = function () {
|
|
76
|
-
return _this.scheduledUpdatePosition();
|
|
77
|
-
}, _assertThisInitialized(_this)));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
_createClass(EditorPopup, [{
|
|
81
|
-
key: "updatePosition",
|
|
82
|
-
value:
|
|
83
|
-
/**
|
|
84
|
-
* Calculates new popup position
|
|
85
|
-
*/
|
|
86
|
-
function updatePosition() {
|
|
87
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
|
|
88
|
-
var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;
|
|
89
|
-
var target = props.target,
|
|
90
|
-
fitHeight = props.fitHeight,
|
|
91
|
-
fitWidth = props.fitWidth,
|
|
92
|
-
boundariesElement = props.boundariesElement,
|
|
93
|
-
offset = props.offset,
|
|
94
|
-
onPositionCalculated = props.onPositionCalculated,
|
|
95
|
-
onPlacementChanged = props.onPlacementChanged,
|
|
96
|
-
alignX = props.alignX,
|
|
97
|
-
alignY = props.alignY,
|
|
98
|
-
stick = props.stick,
|
|
99
|
-
forcePlacement = props.forcePlacement,
|
|
100
|
-
allowOutOfBounds = props.allowOutOfBounds,
|
|
101
|
-
rect = props.rect;
|
|
102
|
-
var popup = state.popup;
|
|
103
|
-
|
|
104
|
-
if (!target || !popup) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
var placement = (0, _utils.calculatePlacement)(target, boundariesElement || document.body, fitWidth, fitHeight, alignX, alignY, forcePlacement);
|
|
109
|
-
|
|
110
|
-
if (onPlacementChanged && this.placement.join('') !== placement.join('')) {
|
|
111
|
-
onPlacementChanged(placement);
|
|
112
|
-
this.placement = placement;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
var position = (0, _utils.calculatePosition)({
|
|
116
|
-
placement: placement,
|
|
117
|
-
popup: popup,
|
|
118
|
-
target: target,
|
|
119
|
-
stick: stick,
|
|
120
|
-
offset: offset,
|
|
121
|
-
allowOutOfBounds: allowOutOfBounds,
|
|
122
|
-
rect: rect
|
|
123
|
-
});
|
|
124
|
-
position = onPositionCalculated ? onPositionCalculated(position) : position;
|
|
125
|
-
this.setState({
|
|
126
|
-
position: position,
|
|
127
|
-
validPosition: (0, _utils.validatePosition)(target)
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
}, {
|
|
131
|
-
key: "cannotSetPopup",
|
|
132
|
-
value: function cannotSetPopup(popup, target, overflowScrollParent) {
|
|
133
|
-
/**
|
|
134
|
-
* Check whether:
|
|
135
|
-
* 1. Popup's offset targets which means whether or not its possible to correctly position popup along with given target.
|
|
136
|
-
* 2. Popup is inside "overflow: scroll" container, but its offset parent isn't.
|
|
137
|
-
*
|
|
138
|
-
* Currently Popup isn't capable of position itself correctly in case 2,
|
|
139
|
-
* Add "position: relative" to "overflow: scroll" container or to some other FloatingPanel wrapper inside it.
|
|
140
|
-
*/
|
|
141
|
-
return !target || document.body.contains(target) && popup.offsetParent && !popup.offsetParent.contains(target) || overflowScrollParent && !overflowScrollParent.contains(popup.offsetParent);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Popup initialization.
|
|
145
|
-
* Checks whether it's possible to position popup along given target, and if it's not throws an error.
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
}, {
|
|
149
|
-
key: "initPopup",
|
|
150
|
-
value: function initPopup(popup) {
|
|
151
|
-
var target = this.props.target;
|
|
152
|
-
var overflowScrollParent = (0, _utils.findOverflowScrollParent)(popup);
|
|
153
|
-
|
|
154
|
-
if (this.cannotSetPopup(popup, target, overflowScrollParent)) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
this.setState({
|
|
159
|
-
popup: popup,
|
|
160
|
-
overflowScrollParent: overflowScrollParent
|
|
161
|
-
}, this.scheduledUpdatePosition);
|
|
162
|
-
}
|
|
163
|
-
}, {
|
|
164
|
-
key: "UNSAFE_componentWillReceiveProps",
|
|
165
|
-
value: function UNSAFE_componentWillReceiveProps(newProps) {
|
|
166
|
-
// We are delaying `updatePosition` otherwise it happens before the children
|
|
167
|
-
// get rendered and we end up with a wrong position
|
|
168
|
-
this.scheduledUpdatePosition(newProps);
|
|
169
|
-
}
|
|
170
|
-
}, {
|
|
171
|
-
key: "componentDidMount",
|
|
172
|
-
value: function componentDidMount() {
|
|
173
|
-
window.addEventListener('resize', this.onResize);
|
|
174
|
-
var stick = this.props.stick;
|
|
175
|
-
|
|
176
|
-
if (stick) {
|
|
177
|
-
this.scrollElement = (0, _utils.findOverflowScrollParent)(this.props.target);
|
|
178
|
-
} else {
|
|
179
|
-
this.scrollElement = this.props.scrollableElement;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if (this.scrollElement) {
|
|
183
|
-
this.scrollElement.addEventListener('scroll', this.onResize);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}, {
|
|
187
|
-
key: "componentWillUnmount",
|
|
188
|
-
value: function componentWillUnmount() {
|
|
189
|
-
window.removeEventListener('resize', this.onResize);
|
|
190
|
-
|
|
191
|
-
if (this.scrollElement) {
|
|
192
|
-
this.scrollElement.removeEventListener('scroll', this.onResize);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
this.scheduledUpdatePosition.cancel();
|
|
196
|
-
}
|
|
197
|
-
}, {
|
|
198
|
-
key: "renderPopup",
|
|
199
|
-
value: function renderPopup() {
|
|
200
|
-
var position = this.state.position;
|
|
201
|
-
var shouldRenderPopup = this.props.shouldRenderPopup;
|
|
202
|
-
|
|
203
|
-
if (shouldRenderPopup && !shouldRenderPopup(position || {})) {
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
208
|
-
ref: this.handleRef,
|
|
209
|
-
style: _objectSpread({
|
|
210
|
-
position: 'absolute',
|
|
211
|
-
zIndex: this.props.zIndex || 100
|
|
212
|
-
}, position),
|
|
213
|
-
"aria-label": this.props.ariaLabel || 'Popup' // Indicates component is an editor pop. Required for focus handling in Message.tsx
|
|
214
|
-
,
|
|
215
|
-
"data-editor-popup": true
|
|
216
|
-
}, this.props.children);
|
|
217
|
-
}
|
|
218
|
-
}, {
|
|
219
|
-
key: "render",
|
|
220
|
-
value: function render() {
|
|
221
|
-
var _this$props = this.props,
|
|
222
|
-
target = _this$props.target,
|
|
223
|
-
mountTo = _this$props.mountTo;
|
|
224
|
-
var validPosition = this.state.validPosition;
|
|
225
|
-
|
|
226
|
-
if (!target || !validPosition) {
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
if (mountTo) {
|
|
231
|
-
return /*#__PURE__*/(0, _reactDom.createPortal)(this.renderPopup(), mountTo);
|
|
232
|
-
} // Without mountTo property renders popup as is,
|
|
233
|
-
// which means it will be cropped by "overflow: hidden" container.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
return this.renderPopup();
|
|
237
|
-
}
|
|
238
|
-
}]);
|
|
239
|
-
|
|
240
|
-
return EditorPopup;
|
|
241
|
-
}(React.Component);
|
|
242
|
-
|
|
243
|
-
exports["default"] = EditorPopup;
|
|
244
|
-
EditorPopup.defaultProps = {
|
|
245
|
-
offset: [0, 0],
|
|
246
|
-
allowOutOfBound: false
|
|
247
|
-
};
|