@lotte-innovate/ui-component-test 0.0.105 → 0.0.107
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/lib/components/Avatar/index.js +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuItem.js +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuSeparator.js +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuSeparator.mjs +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuSeparator.mjs.map +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuTrigger.js +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuTrigger.mjs +1 -1
- package/dist/lib/components/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenuSeparator.js +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenuSeparator.mjs +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenuSeparator.mjs.map +1 -1
- package/dist/lib/components/HoverCard/HoverCardContent.js +1 -1
- package/dist/lib/components/IconButton/index.js +1 -1
- package/dist/lib/components/Menubar/MenubarItem.js +1 -1
- package/dist/lib/components/Menubar/MenubarSeparator.js +1 -1
- package/dist/lib/components/Menubar/MenubarSeparator.mjs +1 -1
- package/dist/lib/components/Menubar/MenubarSeparator.mjs.map +1 -1
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/public/tinymce/icons/default/icons.d.ts +0 -0
- package/dist/public/tinymce/icons/default/icons.js +195 -0
- package/dist/public/tinymce/icons/default/index.d.ts +1 -0
- package/dist/public/tinymce/icons/default/index.js +8 -0
- package/dist/public/tinymce/models/dom/index.d.ts +1 -0
- package/dist/public/tinymce/models/dom/index.js +8 -0
- package/dist/public/tinymce/models/dom/model.d.ts +0 -0
- package/dist/public/tinymce/models/dom/model.js +7988 -0
- package/dist/public/tinymce/plugins/advlist/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/advlist/index.js +8 -0
- package/dist/public/tinymce/plugins/advlist/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/advlist/plugin.js +255 -0
- package/dist/public/tinymce/plugins/autolink/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/autolink/index.js +8 -0
- package/dist/public/tinymce/plugins/autolink/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/autolink/plugin.js +221 -0
- package/dist/public/tinymce/plugins/code/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/code/index.js +8 -0
- package/dist/public/tinymce/plugins/code/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/code/plugin.js +77 -0
- package/dist/public/tinymce/plugins/codesample/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/codesample/index.js +8 -0
- package/dist/public/tinymce/plugins/codesample/plugin.d.ts +45 -0
- package/dist/public/tinymce/plugins/codesample/plugin.js +2462 -0
- package/dist/public/tinymce/plugins/image/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/image/index.js +8 -0
- package/dist/public/tinymce/plugins/image/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/image/plugin.js +1523 -0
- package/dist/public/tinymce/plugins/link/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/link/index.js +8 -0
- package/dist/public/tinymce/plugins/link/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/link/plugin.js +1246 -0
- package/dist/public/tinymce/plugins/lists/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/lists/index.js +8 -0
- package/dist/public/tinymce/plugins/lists/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/lists/plugin.js +2191 -0
- package/dist/public/tinymce/plugins/table/index.d.ts +1 -0
- package/dist/public/tinymce/plugins/table/index.js +8 -0
- package/dist/public/tinymce/plugins/table/plugin.d.ts +0 -0
- package/dist/public/tinymce/plugins/table/plugin.js +3399 -0
- package/dist/public/tinymce/skins/content/default/content.d.ts +0 -0
- package/dist/public/tinymce/skins/content/default/content.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide/content.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide/content.inline.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide/content.inline.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide/content.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide/skin.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide/skin.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide/skin.shadowdom.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide/skin.shadowdom.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/content.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/content.inline.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/content.inline.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/content.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/skin.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/skin.js +3 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.d.ts +0 -0
- package/dist/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +3 -0
- package/dist/public/tinymce/themes/silver/index.d.ts +1 -0
- package/dist/public/tinymce/themes/silver/index.js +8 -0
- package/dist/public/tinymce/themes/silver/theme.d.ts +0 -0
- package/dist/public/tinymce/themes/silver/theme.js +29731 -0
- package/dist/public/tinymce/tinymce.d.ts +1 -0
- package/dist/public/tinymce/tinymce.js +31974 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
File without changes
|
@@ -0,0 +1,255 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* TinyMCE version 6.8.5 (TBD)
|
4
|
+
*/
|
5
|
+
(function () {
|
6
|
+
'use strict';
|
7
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
8
|
+
var applyListFormat = function (editor, listName, styleValue) {
|
9
|
+
var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
|
10
|
+
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
|
11
|
+
};
|
12
|
+
var register$2 = function (editor) {
|
13
|
+
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
|
14
|
+
applyListFormat(editor, 'UL', value['list-style-type']);
|
15
|
+
});
|
16
|
+
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
|
17
|
+
applyListFormat(editor, 'OL', value['list-style-type']);
|
18
|
+
});
|
19
|
+
};
|
20
|
+
var option = function (name) { return function (editor) { return editor.options.get(name); }; };
|
21
|
+
var register$1 = function (editor) {
|
22
|
+
var registerOption = editor.options.register;
|
23
|
+
registerOption('advlist_number_styles', {
|
24
|
+
processor: 'string[]',
|
25
|
+
default: 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman'.split(',')
|
26
|
+
});
|
27
|
+
registerOption('advlist_bullet_styles', {
|
28
|
+
processor: 'string[]',
|
29
|
+
default: 'default,circle,square'.split(',')
|
30
|
+
});
|
31
|
+
};
|
32
|
+
var getNumberStyles = option('advlist_number_styles');
|
33
|
+
var getBulletStyles = option('advlist_bullet_styles');
|
34
|
+
var isNullable = function (a) { return a === null || a === undefined; };
|
35
|
+
var isNonNullable = function (a) { return !isNullable(a); };
|
36
|
+
var global = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
37
|
+
var Optional = /** @class */ (function () {
|
38
|
+
function Optional(tag, value) {
|
39
|
+
this.tag = tag;
|
40
|
+
this.value = value;
|
41
|
+
}
|
42
|
+
Optional.some = function (value) {
|
43
|
+
return new Optional(true, value);
|
44
|
+
};
|
45
|
+
Optional.none = function () {
|
46
|
+
return Optional.singletonNone;
|
47
|
+
};
|
48
|
+
Optional.prototype.fold = function (onNone, onSome) {
|
49
|
+
if (this.tag) {
|
50
|
+
return onSome(this.value);
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
return onNone();
|
54
|
+
}
|
55
|
+
};
|
56
|
+
Optional.prototype.isSome = function () {
|
57
|
+
return this.tag;
|
58
|
+
};
|
59
|
+
Optional.prototype.isNone = function () {
|
60
|
+
return !this.tag;
|
61
|
+
};
|
62
|
+
Optional.prototype.map = function (mapper) {
|
63
|
+
if (this.tag) {
|
64
|
+
return Optional.some(mapper(this.value));
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
return Optional.none();
|
68
|
+
}
|
69
|
+
};
|
70
|
+
Optional.prototype.bind = function (binder) {
|
71
|
+
if (this.tag) {
|
72
|
+
return binder(this.value);
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
return Optional.none();
|
76
|
+
}
|
77
|
+
};
|
78
|
+
Optional.prototype.exists = function (predicate) {
|
79
|
+
return this.tag && predicate(this.value);
|
80
|
+
};
|
81
|
+
Optional.prototype.forall = function (predicate) {
|
82
|
+
return !this.tag || predicate(this.value);
|
83
|
+
};
|
84
|
+
Optional.prototype.filter = function (predicate) {
|
85
|
+
if (!this.tag || predicate(this.value)) {
|
86
|
+
return this;
|
87
|
+
}
|
88
|
+
else {
|
89
|
+
return Optional.none();
|
90
|
+
}
|
91
|
+
};
|
92
|
+
Optional.prototype.getOr = function (replacement) {
|
93
|
+
return this.tag ? this.value : replacement;
|
94
|
+
};
|
95
|
+
Optional.prototype.or = function (replacement) {
|
96
|
+
return this.tag ? this : replacement;
|
97
|
+
};
|
98
|
+
Optional.prototype.getOrThunk = function (thunk) {
|
99
|
+
return this.tag ? this.value : thunk();
|
100
|
+
};
|
101
|
+
Optional.prototype.orThunk = function (thunk) {
|
102
|
+
return this.tag ? this : thunk();
|
103
|
+
};
|
104
|
+
Optional.prototype.getOrDie = function (message) {
|
105
|
+
if (!this.tag) {
|
106
|
+
throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
|
107
|
+
}
|
108
|
+
else {
|
109
|
+
return this.value;
|
110
|
+
}
|
111
|
+
};
|
112
|
+
Optional.from = function (value) {
|
113
|
+
return isNonNullable(value) ? Optional.some(value) : Optional.none();
|
114
|
+
};
|
115
|
+
Optional.prototype.getOrNull = function () {
|
116
|
+
return this.tag ? this.value : null;
|
117
|
+
};
|
118
|
+
Optional.prototype.getOrUndefined = function () {
|
119
|
+
return this.value;
|
120
|
+
};
|
121
|
+
Optional.prototype.each = function (worker) {
|
122
|
+
if (this.tag) {
|
123
|
+
worker(this.value);
|
124
|
+
}
|
125
|
+
};
|
126
|
+
Optional.prototype.toArray = function () {
|
127
|
+
return this.tag ? [this.value] : [];
|
128
|
+
};
|
129
|
+
Optional.prototype.toString = function () {
|
130
|
+
return this.tag ? "some(".concat(this.value, ")") : 'none()';
|
131
|
+
};
|
132
|
+
return Optional;
|
133
|
+
}());
|
134
|
+
Optional.singletonNone = new Optional(false);
|
135
|
+
var findUntil = function (xs, pred, until) {
|
136
|
+
for (var i = 0, len = xs.length; i < len; i++) {
|
137
|
+
var x = xs[i];
|
138
|
+
if (pred(x, i)) {
|
139
|
+
return Optional.some(x);
|
140
|
+
}
|
141
|
+
else if (until(x, i)) {
|
142
|
+
break;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
return Optional.none();
|
146
|
+
};
|
147
|
+
var isCustomList = function (list) { return /\btox\-/.test(list.className); };
|
148
|
+
var isChildOfBody = function (editor, elm) {
|
149
|
+
return editor.dom.isChildOf(elm, editor.getBody());
|
150
|
+
};
|
151
|
+
var matchNodeNames = function (regex) { return function (node) { return isNonNullable(node) && regex.test(node.nodeName); }; };
|
152
|
+
var isListNode = matchNodeNames(/^(OL|UL|DL)$/);
|
153
|
+
var isTableCellNode = matchNodeNames(/^(TH|TD)$/);
|
154
|
+
var inList = function (editor, parents, nodeName) { return findUntil(parents, function (parent) { return isListNode(parent) && !isCustomList(parent); }, isTableCellNode).exists(function (list) { return list.nodeName === nodeName && isChildOfBody(editor, list); }); };
|
155
|
+
var getSelectedStyleType = function (editor) {
|
156
|
+
var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
|
157
|
+
var style = editor.dom.getStyle(listElm, 'listStyleType');
|
158
|
+
return Optional.from(style);
|
159
|
+
};
|
160
|
+
var isWithinNonEditable = function (editor, element) { return element !== null && !editor.dom.isEditable(element); };
|
161
|
+
var isWithinNonEditableList = function (editor, element) {
|
162
|
+
var parentList = editor.dom.getParent(element, 'ol,ul,dl');
|
163
|
+
return isWithinNonEditable(editor, parentList) && editor.selection.isEditable();
|
164
|
+
};
|
165
|
+
var setNodeChangeHandler = function (editor, nodeChangeHandler) {
|
166
|
+
var initialNode = editor.selection.getNode();
|
167
|
+
nodeChangeHandler({
|
168
|
+
parents: editor.dom.getParents(initialNode),
|
169
|
+
element: initialNode
|
170
|
+
});
|
171
|
+
editor.on('NodeChange', nodeChangeHandler);
|
172
|
+
return function () { return editor.off('NodeChange', nodeChangeHandler); };
|
173
|
+
};
|
174
|
+
var styleValueToText = function (styleValue) {
|
175
|
+
return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
|
176
|
+
return chr.toUpperCase();
|
177
|
+
});
|
178
|
+
};
|
179
|
+
var normalizeStyleValue = function (styleValue) { return isNullable(styleValue) || styleValue === 'default' ? '' : styleValue; };
|
180
|
+
var makeSetupHandler = function (editor, nodeName) { return function (api) {
|
181
|
+
var updateButtonState = function (editor, parents) {
|
182
|
+
var element = editor.selection.getStart(true);
|
183
|
+
api.setActive(inList(editor, parents, nodeName));
|
184
|
+
api.setEnabled(!isWithinNonEditableList(editor, element) && editor.selection.isEditable());
|
185
|
+
};
|
186
|
+
var nodeChangeHandler = function (e) { return updateButtonState(editor, e.parents); };
|
187
|
+
return setNodeChangeHandler(editor, nodeChangeHandler);
|
188
|
+
}; };
|
189
|
+
var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
|
190
|
+
editor.ui.registry.addSplitButton(id, {
|
191
|
+
tooltip: tooltip,
|
192
|
+
icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',
|
193
|
+
presets: 'listpreview',
|
194
|
+
columns: 3,
|
195
|
+
fetch: function (callback) {
|
196
|
+
var items = global.map(styles, function (styleValue) {
|
197
|
+
var iconStyle = nodeName === 'OL' ? 'num' : 'bull';
|
198
|
+
var iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue;
|
199
|
+
var itemValue = normalizeStyleValue(styleValue);
|
200
|
+
var displayText = styleValueToText(styleValue);
|
201
|
+
return {
|
202
|
+
type: 'choiceitem',
|
203
|
+
value: itemValue,
|
204
|
+
icon: 'list-' + iconStyle + '-' + iconName,
|
205
|
+
text: displayText
|
206
|
+
};
|
207
|
+
});
|
208
|
+
callback(items);
|
209
|
+
},
|
210
|
+
onAction: function () { return editor.execCommand(cmd); },
|
211
|
+
onItemAction: function (_splitButtonApi, value) {
|
212
|
+
applyListFormat(editor, nodeName, value);
|
213
|
+
},
|
214
|
+
select: function (value) {
|
215
|
+
var listStyleType = getSelectedStyleType(editor);
|
216
|
+
return listStyleType.map(function (listStyle) { return value === listStyle; }).getOr(false);
|
217
|
+
},
|
218
|
+
onSetup: makeSetupHandler(editor, nodeName)
|
219
|
+
});
|
220
|
+
};
|
221
|
+
var addButton = function (editor, id, tooltip, cmd, nodeName, styleValue) {
|
222
|
+
editor.ui.registry.addToggleButton(id, {
|
223
|
+
active: false,
|
224
|
+
tooltip: tooltip,
|
225
|
+
icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',
|
226
|
+
onSetup: makeSetupHandler(editor, nodeName),
|
227
|
+
onAction: function () { return editor.queryCommandState(cmd) || styleValue === '' ? editor.execCommand(cmd) : applyListFormat(editor, nodeName, styleValue); }
|
228
|
+
});
|
229
|
+
};
|
230
|
+
var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
|
231
|
+
if (styles.length > 1) {
|
232
|
+
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
|
233
|
+
}
|
234
|
+
else {
|
235
|
+
addButton(editor, id, tooltip, cmd, nodeName, normalizeStyleValue(styles[0]));
|
236
|
+
}
|
237
|
+
};
|
238
|
+
var register = function (editor) {
|
239
|
+
addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor));
|
240
|
+
addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor));
|
241
|
+
};
|
242
|
+
var Plugin = function () {
|
243
|
+
global$1.add('advlist', function (editor) {
|
244
|
+
if (editor.hasPlugin('lists')) {
|
245
|
+
register$1(editor);
|
246
|
+
register(editor);
|
247
|
+
register$2(editor);
|
248
|
+
}
|
249
|
+
else {
|
250
|
+
console.error('Please use the Lists plugin together with the Advanced List plugin.');
|
251
|
+
}
|
252
|
+
});
|
253
|
+
};
|
254
|
+
Plugin();
|
255
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
File without changes
|
@@ -0,0 +1,221 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* TinyMCE version 6.8.5 (TBD)
|
4
|
+
*/
|
5
|
+
(function () {
|
6
|
+
'use strict';
|
7
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
8
|
+
var link = function () { return /(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g; };
|
9
|
+
var option = function (name) { return function (editor) { return editor.options.get(name); }; };
|
10
|
+
var register = function (editor) {
|
11
|
+
var registerOption = editor.options.register;
|
12
|
+
registerOption('autolink_pattern', {
|
13
|
+
processor: 'regexp',
|
14
|
+
default: new RegExp('^' + link().source + '$', 'i')
|
15
|
+
});
|
16
|
+
registerOption('link_default_target', { processor: 'string' });
|
17
|
+
registerOption('link_default_protocol', {
|
18
|
+
processor: 'string',
|
19
|
+
default: 'https'
|
20
|
+
});
|
21
|
+
};
|
22
|
+
var getAutoLinkPattern = option('autolink_pattern');
|
23
|
+
var getDefaultLinkTarget = option('link_default_target');
|
24
|
+
var getDefaultLinkProtocol = option('link_default_protocol');
|
25
|
+
var allowUnsafeLinkTarget = option('allow_unsafe_link_target');
|
26
|
+
var hasProto = function (v, constructor, predicate) {
|
27
|
+
var _a;
|
28
|
+
if (predicate(v, constructor.prototype)) {
|
29
|
+
return true;
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
|
33
|
+
}
|
34
|
+
};
|
35
|
+
var typeOf = function (x) {
|
36
|
+
var t = typeof x;
|
37
|
+
if (x === null) {
|
38
|
+
return 'null';
|
39
|
+
}
|
40
|
+
else if (t === 'object' && Array.isArray(x)) {
|
41
|
+
return 'array';
|
42
|
+
}
|
43
|
+
else if (t === 'object' && hasProto(x, String, function (o, proto) { return proto.isPrototypeOf(o); })) {
|
44
|
+
return 'string';
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
return t;
|
48
|
+
}
|
49
|
+
};
|
50
|
+
var isType = function (type) { return function (value) { return typeOf(value) === type; }; };
|
51
|
+
var eq = function (t) { return function (a) { return t === a; }; };
|
52
|
+
var isString = isType('string');
|
53
|
+
var isUndefined = eq(undefined);
|
54
|
+
var isNullable = function (a) { return a === null || a === undefined; };
|
55
|
+
var isNonNullable = function (a) { return !isNullable(a); };
|
56
|
+
var not = function (f) { return function (t) { return !f(t); }; };
|
57
|
+
var hasOwnProperty = Object.hasOwnProperty;
|
58
|
+
var has = function (obj, key) { return hasOwnProperty.call(obj, key); };
|
59
|
+
var checkRange = function (str, substr, start) { return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; };
|
60
|
+
var contains = function (str, substr, start, end) {
|
61
|
+
if (start === void 0) { start = 0; }
|
62
|
+
var idx = str.indexOf(substr, start);
|
63
|
+
if (idx !== -1) {
|
64
|
+
return isUndefined(end) ? true : idx + substr.length <= end;
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
return false;
|
68
|
+
}
|
69
|
+
};
|
70
|
+
var startsWith = function (str, prefix) {
|
71
|
+
return checkRange(str, prefix, 0);
|
72
|
+
};
|
73
|
+
var zeroWidth = '\uFEFF';
|
74
|
+
var isZwsp = function (char) { return char === zeroWidth; };
|
75
|
+
var removeZwsp = function (s) { return s.replace(/\uFEFF/g, ''); };
|
76
|
+
var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');
|
77
|
+
var isTextNode = function (node) { return node.nodeType === 3; };
|
78
|
+
var isElement = function (node) { return node.nodeType === 1; };
|
79
|
+
var isBracketOrSpace = function (char) { return /^[(\[{ \u00a0]$/.test(char); };
|
80
|
+
var hasProtocol = function (url) { return /^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(url); };
|
81
|
+
var isPunctuation = function (char) { return /[?!,.;:]/.test(char); };
|
82
|
+
var findChar = function (text, index, predicate) {
|
83
|
+
for (var i = index - 1; i >= 0; i--) {
|
84
|
+
var char = text.charAt(i);
|
85
|
+
if (!isZwsp(char) && predicate(char)) {
|
86
|
+
return i;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
return -1;
|
90
|
+
};
|
91
|
+
var freefallRtl = function (container, offset) {
|
92
|
+
var tempNode = container;
|
93
|
+
var tempOffset = offset;
|
94
|
+
while (isElement(tempNode) && tempNode.childNodes[tempOffset]) {
|
95
|
+
tempNode = tempNode.childNodes[tempOffset];
|
96
|
+
tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length;
|
97
|
+
}
|
98
|
+
return {
|
99
|
+
container: tempNode,
|
100
|
+
offset: tempOffset
|
101
|
+
};
|
102
|
+
};
|
103
|
+
var parseCurrentLine = function (editor, offset) {
|
104
|
+
var _a;
|
105
|
+
var voidElements = editor.schema.getVoidElements();
|
106
|
+
var autoLinkPattern = getAutoLinkPattern(editor);
|
107
|
+
var dom = editor.dom, selection = editor.selection;
|
108
|
+
if (dom.getParent(selection.getNode(), 'a[href]') !== null) {
|
109
|
+
return null;
|
110
|
+
}
|
111
|
+
var rng = selection.getRng();
|
112
|
+
var textSeeker = global(dom, function (node) {
|
113
|
+
return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false';
|
114
|
+
});
|
115
|
+
var _b = freefallRtl(rng.endContainer, rng.endOffset), endContainer = _b.container, endOffset = _b.offset;
|
116
|
+
var root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();
|
117
|
+
var endSpot = textSeeker.backwards(endContainer, endOffset + offset, function (node, offset) {
|
118
|
+
var text = node.data;
|
119
|
+
var idx = findChar(text, offset, not(isBracketOrSpace));
|
120
|
+
return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1;
|
121
|
+
}, root);
|
122
|
+
if (!endSpot) {
|
123
|
+
return null;
|
124
|
+
}
|
125
|
+
var lastTextNode = endSpot.container;
|
126
|
+
var startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, function (node, offset) {
|
127
|
+
lastTextNode = node;
|
128
|
+
var idx = findChar(node.data, offset, isBracketOrSpace);
|
129
|
+
return idx === -1 ? idx : idx + 1;
|
130
|
+
}, root);
|
131
|
+
var newRng = dom.createRng();
|
132
|
+
if (!startSpot) {
|
133
|
+
newRng.setStart(lastTextNode, 0);
|
134
|
+
}
|
135
|
+
else {
|
136
|
+
newRng.setStart(startSpot.container, startSpot.offset);
|
137
|
+
}
|
138
|
+
newRng.setEnd(endSpot.container, endSpot.offset);
|
139
|
+
var rngText = removeZwsp(newRng.toString());
|
140
|
+
var matches = rngText.match(autoLinkPattern);
|
141
|
+
if (matches) {
|
142
|
+
var url = matches[0];
|
143
|
+
if (startsWith(url, 'www.')) {
|
144
|
+
var protocol = getDefaultLinkProtocol(editor);
|
145
|
+
url = protocol + '://' + url;
|
146
|
+
}
|
147
|
+
else if (contains(url, '@') && !hasProtocol(url)) {
|
148
|
+
url = 'mailto:' + url;
|
149
|
+
}
|
150
|
+
return {
|
151
|
+
rng: newRng,
|
152
|
+
url: url
|
153
|
+
};
|
154
|
+
}
|
155
|
+
else {
|
156
|
+
return null;
|
157
|
+
}
|
158
|
+
};
|
159
|
+
var convertToLink = function (editor, result) {
|
160
|
+
var dom = editor.dom, selection = editor.selection;
|
161
|
+
var rng = result.rng, url = result.url;
|
162
|
+
var bookmark = selection.getBookmark();
|
163
|
+
selection.setRng(rng);
|
164
|
+
var command = 'createlink';
|
165
|
+
var args = {
|
166
|
+
command: command,
|
167
|
+
ui: false,
|
168
|
+
value: url
|
169
|
+
};
|
170
|
+
var beforeExecEvent = editor.dispatch('BeforeExecCommand', args);
|
171
|
+
if (!beforeExecEvent.isDefaultPrevented()) {
|
172
|
+
editor.getDoc().execCommand(command, false, url);
|
173
|
+
editor.dispatch('ExecCommand', args);
|
174
|
+
var defaultLinkTarget = getDefaultLinkTarget(editor);
|
175
|
+
if (isString(defaultLinkTarget)) {
|
176
|
+
var anchor = selection.getNode();
|
177
|
+
dom.setAttrib(anchor, 'target', defaultLinkTarget);
|
178
|
+
if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) {
|
179
|
+
dom.setAttrib(anchor, 'rel', 'noopener');
|
180
|
+
}
|
181
|
+
}
|
182
|
+
}
|
183
|
+
selection.moveToBookmark(bookmark);
|
184
|
+
editor.nodeChanged();
|
185
|
+
};
|
186
|
+
var handleSpacebar = function (editor) {
|
187
|
+
var result = parseCurrentLine(editor, -1);
|
188
|
+
if (isNonNullable(result)) {
|
189
|
+
convertToLink(editor, result);
|
190
|
+
}
|
191
|
+
};
|
192
|
+
var handleBracket = handleSpacebar;
|
193
|
+
var handleEnter = function (editor) {
|
194
|
+
var result = parseCurrentLine(editor, 0);
|
195
|
+
if (isNonNullable(result)) {
|
196
|
+
convertToLink(editor, result);
|
197
|
+
}
|
198
|
+
};
|
199
|
+
var setup = function (editor) {
|
200
|
+
editor.on('keydown', function (e) {
|
201
|
+
if (e.keyCode === 13 && !e.isDefaultPrevented()) {
|
202
|
+
handleEnter(editor);
|
203
|
+
}
|
204
|
+
});
|
205
|
+
editor.on('keyup', function (e) {
|
206
|
+
if (e.keyCode === 32) {
|
207
|
+
handleSpacebar(editor);
|
208
|
+
}
|
209
|
+
else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) {
|
210
|
+
handleBracket(editor);
|
211
|
+
}
|
212
|
+
});
|
213
|
+
};
|
214
|
+
var Plugin = function () {
|
215
|
+
global$1.add('autolink', function (editor) {
|
216
|
+
register(editor);
|
217
|
+
setup(editor);
|
218
|
+
});
|
219
|
+
};
|
220
|
+
Plugin();
|
221
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
File without changes
|
@@ -0,0 +1,77 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* TinyMCE version 6.8.5 (TBD)
|
4
|
+
*/
|
5
|
+
(function () {
|
6
|
+
'use strict';
|
7
|
+
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
8
|
+
var setContent = function (editor, html) {
|
9
|
+
editor.focus();
|
10
|
+
editor.undoManager.transact(function () {
|
11
|
+
editor.setContent(html);
|
12
|
+
});
|
13
|
+
editor.selection.setCursorLocation();
|
14
|
+
editor.nodeChanged();
|
15
|
+
};
|
16
|
+
var getContent = function (editor) {
|
17
|
+
return editor.getContent({ source_view: true });
|
18
|
+
};
|
19
|
+
var open = function (editor) {
|
20
|
+
var editorContent = getContent(editor);
|
21
|
+
editor.windowManager.open({
|
22
|
+
title: 'Source Code',
|
23
|
+
size: 'large',
|
24
|
+
body: {
|
25
|
+
type: 'panel',
|
26
|
+
items: [{
|
27
|
+
type: 'textarea',
|
28
|
+
name: 'code'
|
29
|
+
}]
|
30
|
+
},
|
31
|
+
buttons: [
|
32
|
+
{
|
33
|
+
type: 'cancel',
|
34
|
+
name: 'cancel',
|
35
|
+
text: 'Cancel'
|
36
|
+
},
|
37
|
+
{
|
38
|
+
type: 'submit',
|
39
|
+
name: 'save',
|
40
|
+
text: 'Save',
|
41
|
+
primary: true
|
42
|
+
}
|
43
|
+
],
|
44
|
+
initialData: { code: editorContent },
|
45
|
+
onSubmit: function (api) {
|
46
|
+
setContent(editor, api.getData().code);
|
47
|
+
api.close();
|
48
|
+
}
|
49
|
+
});
|
50
|
+
};
|
51
|
+
var register$1 = function (editor) {
|
52
|
+
editor.addCommand('mceCodeEditor', function () {
|
53
|
+
open(editor);
|
54
|
+
});
|
55
|
+
};
|
56
|
+
var register = function (editor) {
|
57
|
+
var onAction = function () { return editor.execCommand('mceCodeEditor'); };
|
58
|
+
editor.ui.registry.addButton('code', {
|
59
|
+
icon: 'sourcecode',
|
60
|
+
tooltip: 'Source code',
|
61
|
+
onAction: onAction
|
62
|
+
});
|
63
|
+
editor.ui.registry.addMenuItem('code', {
|
64
|
+
icon: 'sourcecode',
|
65
|
+
text: 'Source code',
|
66
|
+
onAction: onAction
|
67
|
+
});
|
68
|
+
};
|
69
|
+
var Plugin = function () {
|
70
|
+
global.add('code', function (editor) {
|
71
|
+
register$1(editor);
|
72
|
+
register(editor);
|
73
|
+
return {};
|
74
|
+
});
|
75
|
+
};
|
76
|
+
Plugin();
|
77
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,45 @@
|
|
1
|
+
declare var plainTextGrammar: {};
|
2
|
+
export function Token(type: any, content: any, alias: any, matchedStr: any): void;
|
3
|
+
export namespace Token {
|
4
|
+
function stringify(o: any, language: any): any;
|
5
|
+
}
|
6
|
+
export class Token {
|
7
|
+
constructor(type: any, content: any, alias: any, matchedStr: any);
|
8
|
+
type: any;
|
9
|
+
content: any;
|
10
|
+
alias: any;
|
11
|
+
length: number;
|
12
|
+
}
|
13
|
+
export declare let manual: any;
|
14
|
+
export declare let disableWorkerMessageHandler: any;
|
15
|
+
export declare namespace util {
|
16
|
+
function encode(tokens: any): any;
|
17
|
+
function type(o: any): string;
|
18
|
+
function objId(obj: any): any;
|
19
|
+
function clone(o: any, visited: any): any;
|
20
|
+
function getLanguage(element: any): string;
|
21
|
+
function setLanguage(element: any, language: any): void;
|
22
|
+
function currentScript(): HTMLOrSVGScriptElement | null;
|
23
|
+
function isActive(element: any, className: any, defaultActivation: any): boolean;
|
24
|
+
}
|
25
|
+
export declare namespace languages {
|
26
|
+
export { plainTextGrammar as plain };
|
27
|
+
export { plainTextGrammar as plaintext };
|
28
|
+
export { plainTextGrammar as text };
|
29
|
+
export { plainTextGrammar as txt };
|
30
|
+
export function extend(id: any, redef: any): any;
|
31
|
+
export function insertBefore(inside: any, before: any, insert: any, root: any): {};
|
32
|
+
export function DFS(o: any, callback: any, type: any, visited: any): void;
|
33
|
+
}
|
34
|
+
export declare let plugins: {};
|
35
|
+
export declare function highlightAll(async: any, callback: any): void;
|
36
|
+
export declare function highlightAllUnder(container: any, async: any, callback: any): void;
|
37
|
+
export declare function highlightElement(element: any, async: any, callback: any): void;
|
38
|
+
export declare function highlight(text: any, grammar: any, language: any): any;
|
39
|
+
export declare function tokenize(text: any, grammar: any): any[];
|
40
|
+
export declare namespace hooks {
|
41
|
+
let all: {};
|
42
|
+
function add(name: any, callback: any): void;
|
43
|
+
function run(name: any, env: any): void;
|
44
|
+
}
|
45
|
+
export {};
|