@progress/kendo-react-editor 4.14.0-dev.202201141235 → 4.14.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/cdn/js/kendo-react-editor.js +1 -1
- package/dist/es/config/toolsSettings.d.ts +8 -0
- package/dist/es/config/toolsSettings.js +4 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/tools/lists-styled.d.ts +5 -0
- package/dist/es/tools/lists-styled.js +308 -0
- package/dist/es/tools/main.d.ts +12 -2
- package/dist/es/tools/main.js +30 -2
- package/dist/npm/config/toolsSettings.d.ts +8 -0
- package/dist/npm/config/toolsSettings.js +10 -7
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/tools/lists-styled.d.ts +5 -0
- package/dist/npm/tools/lists-styled.js +310 -0
- package/dist/npm/tools/main.d.ts +12 -2
- package/dist/npm/tools/main.js +30 -2
- package/dist/systemjs/kendo-react-editor.js +1 -1
- package/package.json +11 -11
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
import { ButtonProps } from '@progress/kendo-react-buttons';
|
|
3
3
|
import { ColorPickerProps } from '@progress/kendo-react-inputs';
|
|
4
4
|
import { PDFExportProps } from '@progress/kendo-react-pdf';
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare const listsTypes: {
|
|
9
|
+
orderedList: string;
|
|
10
|
+
bulletList: string;
|
|
11
|
+
listItem: string;
|
|
12
|
+
};
|
|
5
13
|
/**
|
|
6
14
|
* Represents a wrapping namespace for the tool settings of the Editor.
|
|
7
15
|
*/
|
|
@@ -11,7 +11,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
};
|
|
12
12
|
import { keys, messages } from './../messages';
|
|
13
13
|
import { bold as boldSettings, italic as italicSettings, underline as underlineSettings, strikethrough as strikethroughSettings, subscript as subscriptSettings, superscript as superscriptSettings, link as linkSettings, alignLeftRules, alignRightRules, alignCenterRules, alignJustifyRules, alignRemoveRules, indentRules, outdentRules } from '@progress/kendo-editor-common';
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
17
|
+
export var listsTypes = __assign({}, indentRules.listsTypes);
|
|
15
18
|
/**
|
|
16
19
|
* Represents a wrapping namespace for the tool settings of the Editor.
|
|
17
20
|
*/
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-react-editor',
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1642516623,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
11
11
|
};
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
import { Fragment, Slice, NodeRange, TextSelection, NodeSelection, liftTarget, ReplaceAroundStep, autoJoin, wrapInList as pmWrapInList } from '@progress/kendo-editor-common';
|
|
14
|
+
import { SplitButton } from '@progress/kendo-react-buttons';
|
|
15
|
+
import { listsTypes } from './../config/toolsSettings';
|
|
16
|
+
var rootListDepth = function (pos, nodes) {
|
|
17
|
+
// Get the depth of the nearest ancestor list
|
|
18
|
+
var bulletList = nodes.bulletList, orderedList = nodes.orderedList, listItem = nodes.listItem;
|
|
19
|
+
var depth;
|
|
20
|
+
for (var i = pos.depth - 1; i > 0; i--) {
|
|
21
|
+
var node = pos.node(i);
|
|
22
|
+
if (node.type === bulletList || node.type === orderedList) {
|
|
23
|
+
depth = i;
|
|
24
|
+
}
|
|
25
|
+
if (node.type !== bulletList && node.type !== orderedList && node.type !== listItem) {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return depth;
|
|
30
|
+
};
|
|
31
|
+
var getListLiftTarget = function (schema, resPos, options) {
|
|
32
|
+
// This will return (depth - 1) for root list parent of a list.
|
|
33
|
+
var target = resPos.depth;
|
|
34
|
+
var bulletList = schema.nodes[options.bulletList];
|
|
35
|
+
var orderedList = schema.nodes[options.orderedList];
|
|
36
|
+
var listItem = schema.nodes[options.listItem];
|
|
37
|
+
for (var i = resPos.depth; i > 0; i--) {
|
|
38
|
+
var node = resPos.node(i);
|
|
39
|
+
if (node.type === bulletList || node.type === orderedList) {
|
|
40
|
+
target = i;
|
|
41
|
+
}
|
|
42
|
+
if (node.type !== bulletList && node.type !== orderedList && node.type !== listItem) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return target - 1;
|
|
47
|
+
};
|
|
48
|
+
function liftSelectionList(state, tr, options) {
|
|
49
|
+
// The function will list paragraphs in selection out to level 1 below root list.
|
|
50
|
+
var _a = state.selection, from = _a.from, to = _a.to;
|
|
51
|
+
var _b = state.schema.nodes, paragraph = _b.paragraph, heading = _b.heading;
|
|
52
|
+
var listCol = [];
|
|
53
|
+
tr.doc.nodesBetween(from, to, function (node, pos) {
|
|
54
|
+
if (node.type === paragraph || node.type === heading) {
|
|
55
|
+
listCol.push({ node: node, pos: pos });
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
for (var i = listCol.length - 1; i >= 0; i--) {
|
|
59
|
+
var block = listCol[i];
|
|
60
|
+
var start = tr.doc.resolve(tr.mapping.map(block.pos));
|
|
61
|
+
if (start.depth > 0) {
|
|
62
|
+
var end = void 0;
|
|
63
|
+
if (block.node.textContent && block.node.textContent.length > 0) {
|
|
64
|
+
end = tr.doc.resolve(tr.mapping.map(block.pos + block.node.textContent.length));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
end = tr.doc.resolve(tr.mapping.map(block.pos + 1));
|
|
68
|
+
}
|
|
69
|
+
var range = start.blockRange(end);
|
|
70
|
+
if (range) {
|
|
71
|
+
tr.lift(range, getListLiftTarget(state.schema, start, options));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return tr;
|
|
76
|
+
}
|
|
77
|
+
function toggleListCommand(options) {
|
|
78
|
+
return function (state, dispatch, view) {
|
|
79
|
+
if (!view) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
state = view.state;
|
|
83
|
+
var listNode = state.schema.nodes[options.listType];
|
|
84
|
+
var _a = state.selection, $from = _a.$from, $to = _a.$to;
|
|
85
|
+
var parent = $from.node(-2);
|
|
86
|
+
var grandgrandParent = $from.node(-3);
|
|
87
|
+
var isRangeOfSingleType = isRangeOfType(state.doc, $from, $to, listNode);
|
|
88
|
+
if (((parent && parent.type === listNode) ||
|
|
89
|
+
(grandgrandParent && grandgrandParent.type === listNode)) &&
|
|
90
|
+
isRangeOfSingleType) {
|
|
91
|
+
// Untoggles list
|
|
92
|
+
return liftListItems(options)(state, dispatch);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Wraps selection in list and converts list type e.g. bullet_list -> ordered_list if needed
|
|
96
|
+
if (!isRangeOfSingleType) {
|
|
97
|
+
liftListItems(options)(state, dispatch);
|
|
98
|
+
state = view.state;
|
|
99
|
+
}
|
|
100
|
+
return wrapInList(listNode, options.listAttrs)(state, dispatch);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function liftListItem(state, selection, tr, nodeType) {
|
|
105
|
+
var listItemNodeType = nodeType || state.schema.nodes.listItem;
|
|
106
|
+
var $from = selection.$from, $to = selection.$to;
|
|
107
|
+
var range = $from.blockRange($to, function (node) { return node.childCount && node.firstChild.type === listItemNodeType; });
|
|
108
|
+
if (!range || range.depth < 2 || $from.node(range.depth - 1).type !== listItemNodeType) {
|
|
109
|
+
return tr;
|
|
110
|
+
}
|
|
111
|
+
var end = range.end;
|
|
112
|
+
var endOfList = $to.end(range.depth);
|
|
113
|
+
if (end < endOfList) {
|
|
114
|
+
tr.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice(Fragment.from(listItemNodeType.create(undefined, range.parent.copy())), 1, 0), 1, true));
|
|
115
|
+
range = new NodeRange(tr.doc.resolve($from.pos), tr.doc.resolve(endOfList), range.depth);
|
|
116
|
+
}
|
|
117
|
+
return tr.lift(range, liftTarget(range)).scrollIntoView();
|
|
118
|
+
}
|
|
119
|
+
function liftFollowingList(state, from, to, rootListDepthNum, tr, listItem) {
|
|
120
|
+
// Function will lift list item following selection to level-1.
|
|
121
|
+
if (!listItem) {
|
|
122
|
+
listItem = state.schema.nodes.listItem;
|
|
123
|
+
}
|
|
124
|
+
var lifted = false;
|
|
125
|
+
tr.doc.nodesBetween(from, to, function (node, pos) {
|
|
126
|
+
if (!lifted && node.type === listItem && pos > from) {
|
|
127
|
+
lifted = true;
|
|
128
|
+
var listDepth = rootListDepthNum + 3;
|
|
129
|
+
while (listDepth > rootListDepthNum + 2) {
|
|
130
|
+
var start = tr.doc.resolve(tr.mapping.map(pos));
|
|
131
|
+
listDepth = start.depth;
|
|
132
|
+
var end = tr.doc.resolve(tr.mapping.map(pos + node.textContent.length));
|
|
133
|
+
var sel = new TextSelection(start, end);
|
|
134
|
+
tr = liftListItem(state, sel, tr, listItem);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return tr;
|
|
139
|
+
}
|
|
140
|
+
function isRangeOfType(doc, $from, $to, nodeType) {
|
|
141
|
+
// Step through block-nodes between $from and $to and returns false if a node is
|
|
142
|
+
// found that isn't of the specified type
|
|
143
|
+
return getAncestorNodesBetween(doc, $from, $to).filter(function (node) { return node.type !== nodeType; }).length === 0;
|
|
144
|
+
}
|
|
145
|
+
function getAncestorNodesBetween(doc, $from, $to) {
|
|
146
|
+
// Returns all top-level ancestor-nodes between $from and $to
|
|
147
|
+
var nodes = Array();
|
|
148
|
+
var maxDepth = findAncestorPosition(doc, $from).depth;
|
|
149
|
+
var current = doc.resolve($from.start(maxDepth));
|
|
150
|
+
while (current.pos <= $to.start($to.depth)) {
|
|
151
|
+
var depth = Math.min(current.depth, maxDepth);
|
|
152
|
+
var node = current.node(depth);
|
|
153
|
+
if (node) {
|
|
154
|
+
nodes.push(node);
|
|
155
|
+
}
|
|
156
|
+
if (depth === 0) {
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
var next = doc.resolve(current.after(depth));
|
|
160
|
+
if (next.start(depth) >= doc.nodeSize - 2) {
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
if (next.depth !== current.depth) {
|
|
164
|
+
next = doc.resolve(next.pos + 2);
|
|
165
|
+
}
|
|
166
|
+
if (next.depth) {
|
|
167
|
+
current = doc.resolve(next.start(next.depth));
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
current = doc.resolve(next.end(next.depth));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return nodes;
|
|
174
|
+
}
|
|
175
|
+
function findAncestorPosition(doc, pos) {
|
|
176
|
+
// Traverse the document until an "ancestor" is found. Any nestable block can be an ancestor.
|
|
177
|
+
var nestableBlocks = ['blockquote', 'bulletList', 'orderedList'];
|
|
178
|
+
if (pos.depth === 1) {
|
|
179
|
+
return pos;
|
|
180
|
+
}
|
|
181
|
+
var node = pos.node(pos.depth);
|
|
182
|
+
var newPos = pos;
|
|
183
|
+
while (pos.depth >= 1) {
|
|
184
|
+
pos = doc.resolve(pos.before(pos.depth));
|
|
185
|
+
node = pos.node(pos.depth);
|
|
186
|
+
if (node && nestableBlocks.indexOf(node.type.name) !== -1) {
|
|
187
|
+
newPos = pos;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return newPos;
|
|
191
|
+
}
|
|
192
|
+
function liftListItems(options) {
|
|
193
|
+
return function (state, dispatch) {
|
|
194
|
+
var tr = state.tr;
|
|
195
|
+
var _a = state.selection, $from = _a.$from, $to = _a.$to;
|
|
196
|
+
tr.doc.nodesBetween($from.pos, $to.pos, function (node, pos) {
|
|
197
|
+
// Following condition will ensure that block types `paragraph`, `heading`, `codeBlock`, `blockquote`, `div` are lifted.
|
|
198
|
+
// isTextblock is true for paragraph, heading, codeBlock.
|
|
199
|
+
if (node.isTextblock || node.type.name === 'blockquote' || node.type.name === 'div') {
|
|
200
|
+
var sel = new NodeSelection(tr.doc.resolve(tr.mapping.map(pos)));
|
|
201
|
+
var range = sel.$from.blockRange(sel.$to);
|
|
202
|
+
if (!range || sel.$from.parent.type !== state.schema.nodes[options.listItem]) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
var target = range && liftTarget(range);
|
|
206
|
+
if (target === undefined || target === null) {
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
tr.lift(range, target);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
if (dispatch) {
|
|
213
|
+
dispatch(tr);
|
|
214
|
+
}
|
|
215
|
+
return true;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
function wrapInList(nodeType, attrs) {
|
|
219
|
+
if (attrs === void 0) { attrs = {}; }
|
|
220
|
+
return autoJoin(pmWrapInList(nodeType, attrs), function (before, after) { return before.type === after.type && before.type === nodeType; });
|
|
221
|
+
}
|
|
222
|
+
var toggleList = function (state, dispatch, view, options, command) {
|
|
223
|
+
var listType = options.listType;
|
|
224
|
+
var selection = state.selection;
|
|
225
|
+
var fromNode = selection.$from.node(selection.$from.depth - 2);
|
|
226
|
+
var endNode = selection.$to.node(selection.$to.depth - 2);
|
|
227
|
+
if (!fromNode || fromNode.type.name !== listType || (!endNode || endNode.type.name !== listType)) {
|
|
228
|
+
return toggleListCommand(options)(state, dispatch, view);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
var nodes = view.state.schema.nodes;
|
|
232
|
+
var listNodes = {
|
|
233
|
+
bulletList: nodes[options.bulletList],
|
|
234
|
+
orderedList: nodes[options.orderedList],
|
|
235
|
+
listItem: nodes[options.listItem]
|
|
236
|
+
};
|
|
237
|
+
var depth = rootListDepth(selection.$to, listNodes);
|
|
238
|
+
var tr = liftFollowingList(state, selection.$to.pos, selection.$to.end(depth), depth, view.state.tr, listNodes.listItem);
|
|
239
|
+
tr = liftSelectionList(state, tr, options);
|
|
240
|
+
tr.setMeta('commandName', command);
|
|
241
|
+
dispatch(tr);
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
var parentNode = function (state, nodeType) {
|
|
246
|
+
var _a = state.selection, from = _a.from, to = _a.to;
|
|
247
|
+
var result = null;
|
|
248
|
+
state.doc.nodesBetween(from, to, function (node) {
|
|
249
|
+
result = result || (node.type === nodeType ? node : null);
|
|
250
|
+
return !result;
|
|
251
|
+
});
|
|
252
|
+
return result;
|
|
253
|
+
};
|
|
254
|
+
var reListStyle = /list\-style\-type:\s?([\w-]+)/;
|
|
255
|
+
var getListStyle = function (node) {
|
|
256
|
+
var style = node.attrs.style;
|
|
257
|
+
var listStyle = reListStyle.exec(style);
|
|
258
|
+
return (listStyle && listStyle[1]) || '';
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* @hidden
|
|
262
|
+
*/
|
|
263
|
+
export var ListTool = function (props) {
|
|
264
|
+
var isActive = false;
|
|
265
|
+
var view = props.view;
|
|
266
|
+
var types = listsTypes;
|
|
267
|
+
var listType = props.listType;
|
|
268
|
+
var items = (props.items || []).slice();
|
|
269
|
+
var ol, ul;
|
|
270
|
+
if (view) {
|
|
271
|
+
var state = view.state;
|
|
272
|
+
var nodes = state && state.schema.nodes;
|
|
273
|
+
ol = nodes && parentNode(state, nodes[types.orderedList]);
|
|
274
|
+
ul = nodes && parentNode(state, nodes[types.bulletList]);
|
|
275
|
+
if (listType === types.orderedList) {
|
|
276
|
+
isActive = Boolean(ol && !ul);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
isActive = Boolean(!ol && ul);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
var onButtonClick = function (_event) {
|
|
283
|
+
if (view) {
|
|
284
|
+
toggleList(view.state, view.dispatch, view, __assign({ listType: listType }, types, { listAttrs: {} }), 'InsertList');
|
|
285
|
+
view.focus();
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
var onItemClick = function (event) {
|
|
289
|
+
if (view) {
|
|
290
|
+
var listAttrs = event.item.style ? { style: 'list-style-type: ' + event.item.style + ';' } : {};
|
|
291
|
+
var currentList = ol || ul;
|
|
292
|
+
if (currentList && getListStyle(currentList) !== event.item.style) {
|
|
293
|
+
var pos = view.state.selection.$head.posAtIndex(0, -2) - 1;
|
|
294
|
+
view.dispatch(view.state.tr.setNodeMarkup(pos, view.state.schema.nodes[listType], { style: 'list-style-type: ' + event.item.style + ';' }));
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
toggleList(view.state, view.dispatch, view, __assign({ listType: listType }, types, { listAttrs: listAttrs }), 'InsertList');
|
|
298
|
+
}
|
|
299
|
+
view.focus();
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
if (isActive && (ol || ul)) {
|
|
303
|
+
var listStyleType_1 = getListStyle(ol || ul);
|
|
304
|
+
items = listStyleType_1 ? items.map(function (i) { return (__assign({}, i, { selected: i.style === listStyleType_1 })); }) : items;
|
|
305
|
+
}
|
|
306
|
+
return (React.createElement("span", { onMouseDown: function (e) { e.preventDefault(); } },
|
|
307
|
+
React.createElement(SplitButton, { textField: "text", items: items, icon: props.icon, onButtonClick: onButtonClick, onItemClick: onItemClick, buttonClass: isActive ? 'k-state-selected k-selected' : '' })));
|
|
308
|
+
};
|
package/dist/es/tools/main.d.ts
CHANGED
|
@@ -375,16 +375,26 @@ export declare namespace EditorTools {
|
|
|
375
375
|
function createListTool(settings: EditorToolsSettings.ListSettings): React.ComponentClass<ListToolProps, React.ComponentState>;
|
|
376
376
|
const OrderedList_base: React.ComponentClass<ListToolProps, any>;
|
|
377
377
|
/**
|
|
378
|
-
* The OrderedList tool component.
|
|
378
|
+
* The basic OrderedList tool component. Will render a button which applies `<ol>` HTML element.
|
|
379
379
|
*/
|
|
380
380
|
class OrderedList extends OrderedList_base {
|
|
381
381
|
}
|
|
382
382
|
const UnorderedList_base: React.ComponentClass<ListToolProps, any>;
|
|
383
383
|
/**
|
|
384
|
-
* The UnorderedList tool component.
|
|
384
|
+
* The basic UnorderedList tool component. Will render a button which applies `<ul>` HTML element.
|
|
385
385
|
*/
|
|
386
386
|
class UnorderedList extends UnorderedList_base {
|
|
387
387
|
}
|
|
388
|
+
/**
|
|
389
|
+
* The BulletedList tool component.
|
|
390
|
+
* Will render a SplitButton which applies `<ol>` HTML element with predefined styles - disc and square.
|
|
391
|
+
*/
|
|
392
|
+
const BulletedList: (props: any) => JSX.Element;
|
|
393
|
+
/**
|
|
394
|
+
* The NumberedList tool component.
|
|
395
|
+
* Will render a SplitButton which applies `<ul>` HTML element with predefined styles - upper-roman, lower-roman, upper-latin and lower-latin.
|
|
396
|
+
*/
|
|
397
|
+
const NumberedList: (props: any) => JSX.Element;
|
|
388
398
|
/**
|
|
389
399
|
* The props for the Outdent tool component of the Editor.
|
|
390
400
|
*/
|
package/dist/es/tools/main.js
CHANGED
|
@@ -44,6 +44,7 @@ import { Pdf as PdfTool } from './pdf';
|
|
|
44
44
|
import { SelectAll as SelectAllTool } from './selectAll';
|
|
45
45
|
import { CleanFormatting as CleanFormattingTool } from './cleanFormatting';
|
|
46
46
|
import { FindAndReplace as FindAndReplaceTool } from './findReplace';
|
|
47
|
+
import { ListTool } from './lists-styled';
|
|
47
48
|
/**
|
|
48
49
|
* Represents a wrapping namespace for the tool components, props, and functions of the Editor.
|
|
49
50
|
*/
|
|
@@ -383,7 +384,7 @@ export var EditorTools;
|
|
|
383
384
|
function createListTool(settings) { return ListToolNS.createListTool(settings); }
|
|
384
385
|
EditorTools.createListTool = createListTool;
|
|
385
386
|
/**
|
|
386
|
-
* The OrderedList tool component.
|
|
387
|
+
* The basic OrderedList tool component. Will render a button which applies `<ol>` HTML element.
|
|
387
388
|
*/
|
|
388
389
|
var OrderedList = /** @class */ (function (_super) {
|
|
389
390
|
__extends(OrderedList, _super);
|
|
@@ -394,7 +395,7 @@ export var EditorTools;
|
|
|
394
395
|
}(createListTool(EditorToolsSettings.orderedList)));
|
|
395
396
|
EditorTools.OrderedList = OrderedList;
|
|
396
397
|
/**
|
|
397
|
-
* The UnorderedList tool component.
|
|
398
|
+
* The basic UnorderedList tool component. Will render a button which applies `<ul>` HTML element.
|
|
398
399
|
*/
|
|
399
400
|
var UnorderedList = /** @class */ (function (_super) {
|
|
400
401
|
__extends(UnorderedList, _super);
|
|
@@ -404,6 +405,33 @@ export var EditorTools;
|
|
|
404
405
|
return UnorderedList;
|
|
405
406
|
}(createListTool(EditorToolsSettings.bulletList)));
|
|
406
407
|
EditorTools.UnorderedList = UnorderedList;
|
|
408
|
+
/**
|
|
409
|
+
* The BulletedList tool component.
|
|
410
|
+
* Will render a SplitButton which applies `<ol>` HTML element with predefined styles - disc and square.
|
|
411
|
+
*/
|
|
412
|
+
EditorTools.BulletedList = function (props) {
|
|
413
|
+
var ulItems = [
|
|
414
|
+
{ icon: 'list-unordered', text: 'Disc', style: 'disc' },
|
|
415
|
+
// { icon: 'list-unordered-circle', text: 'Circle', style: 'circle' },
|
|
416
|
+
{ icon: 'list-unordered-square', text: 'Square', style: 'square' }
|
|
417
|
+
];
|
|
418
|
+
return (React.createElement(ListTool, __assign({ listType: EditorToolsSettings.bulletList.listType, items: ulItems, icon: "list-unordered" }, props)));
|
|
419
|
+
};
|
|
420
|
+
/**
|
|
421
|
+
* The NumberedList tool component.
|
|
422
|
+
* Will render a SplitButton which applies `<ul>` HTML element with predefined styles - upper-roman, lower-roman, upper-latin and lower-latin.
|
|
423
|
+
*/
|
|
424
|
+
EditorTools.NumberedList = function (props) {
|
|
425
|
+
var olItems = [
|
|
426
|
+
{ icon: 'list-ordered', text: 'Decimal' },
|
|
427
|
+
// { icon: 'list-leading-zero', text: 'Decimal with leading zero', styleType: 'decimal-leading-zero' },
|
|
428
|
+
{ icon: 'list-roman-upper', text: 'Upper roman', style: 'upper-roman' },
|
|
429
|
+
{ icon: 'list-roman-lower', text: 'Lower roman', style: 'lower-roman' },
|
|
430
|
+
{ icon: 'list-latin-big', text: 'Upper latin', style: 'upper-latin' },
|
|
431
|
+
{ icon: 'list-latin-small', text: 'Lower latin', style: 'lower-latin' }
|
|
432
|
+
];
|
|
433
|
+
return (React.createElement(ListTool, __assign({ listType: EditorToolsSettings.orderedList.listType, items: olItems, icon: "list-ordered" }, props)));
|
|
434
|
+
};
|
|
407
435
|
/**
|
|
408
436
|
* Creates the Outdent tool component of the Editor.
|
|
409
437
|
*
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
import { ButtonProps } from '@progress/kendo-react-buttons';
|
|
3
3
|
import { ColorPickerProps } from '@progress/kendo-react-inputs';
|
|
4
4
|
import { PDFExportProps } from '@progress/kendo-react-pdf';
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare const listsTypes: {
|
|
9
|
+
orderedList: string;
|
|
10
|
+
bulletList: string;
|
|
11
|
+
listItem: string;
|
|
12
|
+
};
|
|
5
13
|
/**
|
|
6
14
|
* Represents a wrapping namespace for the tool settings of the Editor.
|
|
7
15
|
*/
|
|
@@ -13,7 +13,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var messages_1 = require("./../messages");
|
|
15
15
|
var kendo_editor_common_1 = require("@progress/kendo-editor-common");
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
exports.listsTypes = __assign({}, kendo_editor_common_1.indentRules.listsTypes);
|
|
17
20
|
/**
|
|
18
21
|
* Represents a wrapping namespace for the tool settings of the Editor.
|
|
19
22
|
*/
|
|
@@ -461,7 +464,7 @@ var EditorToolsSettings;
|
|
|
461
464
|
*/
|
|
462
465
|
EditorToolsSettings.indent = {
|
|
463
466
|
actions: kendo_editor_common_1.indentRules.nodes,
|
|
464
|
-
listsTypes: listsTypes,
|
|
467
|
+
listsTypes: exports.listsTypes,
|
|
465
468
|
props: __assign({ icon: 'indent-increase' }, buttonCommonProps),
|
|
466
469
|
messages: {
|
|
467
470
|
title: messages_1.keys.indent
|
|
@@ -473,7 +476,7 @@ var EditorToolsSettings;
|
|
|
473
476
|
*/
|
|
474
477
|
EditorToolsSettings.outdent = {
|
|
475
478
|
actions: kendo_editor_common_1.outdentRules.nodes,
|
|
476
|
-
listsTypes: listsTypes,
|
|
479
|
+
listsTypes: exports.listsTypes,
|
|
477
480
|
props: __assign({ icon: 'indent-decrease' }, buttonCommonProps),
|
|
478
481
|
messages: {
|
|
479
482
|
title: messages_1.keys.outdent
|
|
@@ -484,24 +487,24 @@ var EditorToolsSettings;
|
|
|
484
487
|
* The object of the OrderedList tool settings.
|
|
485
488
|
*/
|
|
486
489
|
EditorToolsSettings.orderedList = {
|
|
487
|
-
listType: listsTypes.orderedList,
|
|
490
|
+
listType: exports.listsTypes.orderedList,
|
|
488
491
|
props: __assign({ icon: 'list-ordered' }, buttonCommonProps),
|
|
489
492
|
messages: {
|
|
490
493
|
title: messages_1.keys.orderedList
|
|
491
494
|
},
|
|
492
495
|
commandName: 'OrderedList',
|
|
493
|
-
types: __assign({}, listsTypes)
|
|
496
|
+
types: __assign({}, exports.listsTypes)
|
|
494
497
|
};
|
|
495
498
|
/**
|
|
496
499
|
* The object of the UnorderedList tool settings.
|
|
497
500
|
*/
|
|
498
501
|
EditorToolsSettings.bulletList = {
|
|
499
|
-
listType: listsTypes.bulletList,
|
|
502
|
+
listType: exports.listsTypes.bulletList,
|
|
500
503
|
props: __assign({ icon: 'list-unordered' }, buttonCommonProps),
|
|
501
504
|
messages: {
|
|
502
505
|
title: messages_1.keys.bulletList
|
|
503
506
|
},
|
|
504
507
|
commandName: 'UnorderedList',
|
|
505
|
-
types: __assign({}, listsTypes)
|
|
508
|
+
types: __assign({}, exports.listsTypes)
|
|
506
509
|
};
|
|
507
510
|
})(EditorToolsSettings = exports.EditorToolsSettings || (exports.EditorToolsSettings = {}));
|
|
@@ -7,7 +7,7 @@ exports.packageMetadata = {
|
|
|
7
7
|
name: '@progress/kendo-react-editor',
|
|
8
8
|
productName: 'KendoReact',
|
|
9
9
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
10
|
-
publishDate:
|
|
10
|
+
publishDate: 1642516623,
|
|
11
11
|
version: '',
|
|
12
12
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
13
13
|
};
|