@ntlab/ntjs-assets 2.116.0 → 2.118.0
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/assets/js/cdn.json +2 -2
- package/assets/js/tinymce/CHANGELOG.md +24 -0
- package/assets/js/tinymce/models/dom/model.js +32 -37
- package/assets/js/tinymce/models/dom/model.min.js +1 -1
- package/assets/js/tinymce/plugins/accordion/plugin.js +27 -14
- package/assets/js/tinymce/plugins/accordion/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/advlist/plugin.js +7 -5
- package/assets/js/tinymce/plugins/advlist/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/anchor/plugin.js +1 -1
- package/assets/js/tinymce/plugins/autolink/plugin.js +3 -5
- package/assets/js/tinymce/plugins/autolink/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/autoresize/plugin.js +4 -6
- package/assets/js/tinymce/plugins/autoresize/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/autosave/plugin.js +4 -7
- package/assets/js/tinymce/plugins/autosave/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/charmap/plugin.js +8 -7
- package/assets/js/tinymce/plugins/charmap/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/code/plugin.js +1 -1
- package/assets/js/tinymce/plugins/codesample/plugin.js +9 -9
- package/assets/js/tinymce/plugins/codesample/plugin.min.js +2 -2
- package/assets/js/tinymce/plugins/directionality/plugin.js +8 -7
- package/assets/js/tinymce/plugins/directionality/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/emoticons/plugin.js +7 -5
- package/assets/js/tinymce/plugins/emoticons/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/fullscreen/plugin.js +10 -9
- package/assets/js/tinymce/plugins/fullscreen/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/help/plugin.js +10 -11
- package/assets/js/tinymce/plugins/help/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/image/plugin.js +21 -28
- package/assets/js/tinymce/plugins/image/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/importcss/plugin.js +4 -5
- package/assets/js/tinymce/plugins/importcss/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/insertdatetime/plugin.js +3 -3
- package/assets/js/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/langs8/it.js +1 -1
- package/assets/js/tinymce/plugins/langs8/zh-CN.js +4 -4
- package/assets/js/tinymce/plugins/link/plugin.js +15 -17
- package/assets/js/tinymce/plugins/link/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/lists/plugin.js +7 -5
- package/assets/js/tinymce/plugins/lists/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/media/plugin.js +15 -21
- package/assets/js/tinymce/plugins/media/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/nonbreaking/plugin.js +1 -1
- package/assets/js/tinymce/plugins/pagebreak/plugin.js +1 -1
- package/assets/js/tinymce/plugins/preview/plugin.js +88 -10
- package/assets/js/tinymce/plugins/preview/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/quickbars/plugin.js +9 -9
- package/assets/js/tinymce/plugins/quickbars/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/save/plugin.js +1 -1
- package/assets/js/tinymce/plugins/searchreplace/plugin.js +10 -11
- package/assets/js/tinymce/plugins/searchreplace/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/table/plugin.js +12 -13
- package/assets/js/tinymce/plugins/table/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/visualblocks/plugin.js +1 -1
- package/assets/js/tinymce/plugins/visualchars/plugin.js +9 -9
- package/assets/js/tinymce/plugins/visualchars/plugin.min.js +1 -1
- package/assets/js/tinymce/plugins/wordcount/plugin.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide/content.css +32 -0
- package/assets/js/tinymce/skins/ui/oxide/content.inline.css +32 -0
- package/assets/js/tinymce/skins/ui/oxide/content.inline.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- package/assets/js/tinymce/skins/ui/oxide/content.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide/content.min.css +1 -1
- package/assets/js/tinymce/skins/ui/oxide/skin.css +52 -3
- package/assets/js/tinymce/skins/ui/oxide/skin.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide/skin.min.css +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/content.css +32 -0
- package/assets/js/tinymce/skins/ui/oxide-dark/content.inline.css +32 -0
- package/assets/js/tinymce/skins/ui/oxide-dark/content.inline.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/content.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/skin.css +52 -3
- package/assets/js/tinymce/skins/ui/oxide-dark/skin.js +1 -1
- package/assets/js/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/content.css +32 -0
- package/assets/js/tinymce/skins/ui/tinymce-5/content.inline.css +32 -0
- package/assets/js/tinymce/skins/ui/tinymce-5/content.inline.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/content.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/skin.css +52 -3
- package/assets/js/tinymce/skins/ui/tinymce-5/skin.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.css +32 -0
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.inline.css +32 -0
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/skin.css +52 -3
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -1
- package/assets/js/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- package/assets/js/tinymce/themes/silver/theme.js +73 -88
- package/assets/js/tinymce/themes/silver/theme.min.js +1 -1
- package/assets/js/tinymce/tinymce.js +671 -449
- package/assets/js/tinymce/tinymce.min.js +2 -2
- package/package.json +1 -1
package/assets/js/cdn.json
CHANGED
|
@@ -5,6 +5,30 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
5
5
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
6
6
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
|
7
7
|
|
|
8
|
+
## 8.2.0 - 2025-10-23
|
|
9
|
+
|
|
10
|
+
### Improved
|
|
11
|
+
- Some elements would be given an extra newline by the serializer when indented. #TINY-12857
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- UI elements like focus outlines and placeholders would be visible after printing. #TINY-12584
|
|
15
|
+
- The `open` attribute on `<details>` elements is now normalized to `open="open"` when the accordion plugin is enabled. #TINY-12862
|
|
16
|
+
- Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered. #TINY-12289
|
|
17
|
+
- The editor would upon gaining focus scroll to the center of the editor on some browsers if the top of the editor was out of frame. #TINY-12626
|
|
18
|
+
- Some UI elements related to dragging elements were not properly filtered out when fetching content. #TINY-12384
|
|
19
|
+
- The cursor could get stuck around an absolute CEF element when navigating using arrow keys. #TINY-10526
|
|
20
|
+
- The schema will now allow the `property` RDFa attribute on `meta` elements. #TINY-12858
|
|
21
|
+
- Corrected type of `undoManager.add` method. The `event` parameter is type `EditorEvent` not `Event`. #TINY-12936
|
|
22
|
+
- Chromium browsers would in certain situations scroll the editor unexpectedly when dragging content over the editor. #INT-3373
|
|
23
|
+
- Support for setting component urls for custom elements. #TINY-13006
|
|
24
|
+
- Reverted toolbar button width to `auto`. #TINY-13097
|
|
25
|
+
- Addressed split buttons rendering narrower than in TinyMCE 7, ensuring consistent sizing across the toolbar. #TINY-13111
|
|
26
|
+
|
|
27
|
+
## 8.1.2 - 2025-09-18
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
- Some sidebar UI components were not rendering correctly. #TINY-12925
|
|
31
|
+
|
|
8
32
|
## 8.1.1 - 2025-09-17
|
|
9
33
|
|
|
10
34
|
### Fixed
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TinyMCE version 8.
|
|
2
|
+
* TinyMCE version 8.2.0 (2025-10-23)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
(function () {
|
|
@@ -9,13 +9,12 @@
|
|
|
9
9
|
|
|
10
10
|
/* eslint-disable @typescript-eslint/no-wrapper-object-types */
|
|
11
11
|
const hasProto = (v, constructor, predicate) => {
|
|
12
|
-
var _a;
|
|
13
12
|
if (predicate(v, constructor.prototype)) {
|
|
14
13
|
return true;
|
|
15
14
|
}
|
|
16
15
|
else {
|
|
17
16
|
// String-based fallback time
|
|
18
|
-
return
|
|
17
|
+
return v.constructor?.name === constructor.name;
|
|
19
18
|
}
|
|
20
19
|
};
|
|
21
20
|
const typeOf = (x) => {
|
|
@@ -101,6 +100,11 @@
|
|
|
101
100
|
* strict-null-checks
|
|
102
101
|
*/
|
|
103
102
|
class Optional {
|
|
103
|
+
tag;
|
|
104
|
+
value;
|
|
105
|
+
// Sneaky optimisation: every instance of Optional.none is identical, so just
|
|
106
|
+
// reuse the same object
|
|
107
|
+
static singletonNone = new Optional(false);
|
|
104
108
|
// The internal representation has a `tag` and a `value`, but both are
|
|
105
109
|
// private: able to be console.logged, but not able to be accessed by code
|
|
106
110
|
constructor(tag, value) {
|
|
@@ -268,7 +272,7 @@
|
|
|
268
272
|
*/
|
|
269
273
|
getOrDie(message) {
|
|
270
274
|
if (!this.tag) {
|
|
271
|
-
throw new Error(message
|
|
275
|
+
throw new Error(message ?? 'Called getOrDie on None');
|
|
272
276
|
}
|
|
273
277
|
else {
|
|
274
278
|
return this.value;
|
|
@@ -332,9 +336,6 @@
|
|
|
332
336
|
return this.tag ? `some(${this.value})` : 'none()';
|
|
333
337
|
}
|
|
334
338
|
}
|
|
335
|
-
// Sneaky optimisation: every instance of Optional.none is identical, so just
|
|
336
|
-
// reuse the same object
|
|
337
|
-
Optional.singletonNone = new Optional(false);
|
|
338
339
|
|
|
339
340
|
const nativeSlice = Array.prototype.slice;
|
|
340
341
|
const nativeIndexOf = Array.prototype.indexOf;
|
|
@@ -1350,7 +1351,7 @@
|
|
|
1350
1351
|
const detectBrowser$1 = (browsers, userAgentData) => {
|
|
1351
1352
|
return findMap(userAgentData.brands, (uaBrand) => {
|
|
1352
1353
|
const lcBrand = uaBrand.brand.toLowerCase();
|
|
1353
|
-
return find$1(browsers, (browser) =>
|
|
1354
|
+
return find$1(browsers, (browser) => lcBrand === browser.brand?.toLowerCase())
|
|
1354
1355
|
.map((info) => ({
|
|
1355
1356
|
current: info.name,
|
|
1356
1357
|
version: Version.nu(parseInt(uaBrand.version, 10), 0)
|
|
@@ -2220,8 +2221,8 @@
|
|
|
2220
2221
|
if (body === element.dom) {
|
|
2221
2222
|
return SugarPosition(body.offsetLeft, body.offsetTop);
|
|
2222
2223
|
}
|
|
2223
|
-
const scrollTop = firstDefinedOrZero(win
|
|
2224
|
-
const scrollLeft = firstDefinedOrZero(win
|
|
2224
|
+
const scrollTop = firstDefinedOrZero(win?.pageYOffset, html.scrollTop);
|
|
2225
|
+
const scrollLeft = firstDefinedOrZero(win?.pageXOffset, html.scrollLeft);
|
|
2225
2226
|
const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);
|
|
2226
2227
|
const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);
|
|
2227
2228
|
return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);
|
|
@@ -2575,21 +2576,18 @@
|
|
|
2575
2576
|
range
|
|
2576
2577
|
};
|
|
2577
2578
|
|
|
2578
|
-
const caretPositionFromPoint = (doc, x, y) =>
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
});
|
|
2591
|
-
};
|
|
2592
|
-
const caretRangeFromPoint = (doc, x, y) => { var _a; return Optional.from((_a = doc.caretRangeFromPoint) === null || _a === void 0 ? void 0 : _a.call(doc, x, y)); };
|
|
2579
|
+
const caretPositionFromPoint = (doc, x, y) => Optional.from(doc.caretPositionFromPoint?.(x, y))
|
|
2580
|
+
.bind((pos) => {
|
|
2581
|
+
// It turns out that Firefox can return null for pos.offsetNode
|
|
2582
|
+
if (pos.offsetNode === null) {
|
|
2583
|
+
return Optional.none();
|
|
2584
|
+
}
|
|
2585
|
+
const r = doc.createRange();
|
|
2586
|
+
r.setStart(pos.offsetNode, pos.offset);
|
|
2587
|
+
r.collapse();
|
|
2588
|
+
return Optional.some(r);
|
|
2589
|
+
});
|
|
2590
|
+
const caretRangeFromPoint = (doc, x, y) => Optional.from(doc.caretRangeFromPoint?.(x, y));
|
|
2593
2591
|
const availableSearch = (doc, x, y) => {
|
|
2594
2592
|
if (doc.caretPositionFromPoint) {
|
|
2595
2593
|
return caretPositionFromPoint(doc, x, y); // defined standard, firefox only
|
|
@@ -2663,7 +2661,7 @@
|
|
|
2663
2661
|
try {
|
|
2664
2662
|
setLegacyRtlRange(win, selection, start, soffset, finish, foffset);
|
|
2665
2663
|
}
|
|
2666
|
-
catch
|
|
2664
|
+
catch {
|
|
2667
2665
|
// If it does fail, try again with ltr.
|
|
2668
2666
|
doSetRange(win, finish, foffset, start, soffset);
|
|
2669
2667
|
}
|
|
@@ -3868,7 +3866,7 @@
|
|
|
3868
3866
|
};
|
|
3869
3867
|
const run = (operation, extract, adjustment, postAction, genWrappers, table, target, generators, behaviours) => {
|
|
3870
3868
|
const warehouse = Warehouse.fromTable(table);
|
|
3871
|
-
const tableSection = Optional.from(behaviours
|
|
3869
|
+
const tableSection = Optional.from(behaviours?.section).getOrThunk(TableSection.fallback);
|
|
3872
3870
|
const output = extract(warehouse, target).map((info) => {
|
|
3873
3871
|
const model = fromWarehouse(warehouse, generators);
|
|
3874
3872
|
const result = operation(model, info, eq$1, genWrappers(generators), tableSection);
|
|
@@ -3883,8 +3881,8 @@
|
|
|
3883
3881
|
});
|
|
3884
3882
|
return output.bind((out) => {
|
|
3885
3883
|
const newElements = render$1(table, out.grid);
|
|
3886
|
-
const tableSizing = Optional.from(behaviours
|
|
3887
|
-
const resizing = Optional.from(behaviours
|
|
3884
|
+
const tableSizing = Optional.from(behaviours?.sizing).getOrThunk(() => TableSize.getTableSize(table));
|
|
3885
|
+
const resizing = Optional.from(behaviours?.resize).getOrThunk(preserveTable);
|
|
3888
3886
|
adjustment(table, out.grid, out.info, { sizing: tableSizing, resize: resizing, section: tableSection });
|
|
3889
3887
|
postAction(table);
|
|
3890
3888
|
// Update locked cols attribute
|
|
@@ -5823,9 +5821,8 @@
|
|
|
5823
5821
|
return someIf(isEditable(elem), elem);
|
|
5824
5822
|
}));
|
|
5825
5823
|
const elementFromGrid = (grid, row, column) => {
|
|
5826
|
-
var _a, _b;
|
|
5827
5824
|
const rows = extractGridDetails(grid).rows;
|
|
5828
|
-
return Optional.from(
|
|
5825
|
+
return Optional.from(rows[row]?.cells[column]?.element)
|
|
5829
5826
|
.filter(isEditable)
|
|
5830
5827
|
// Fallback to the first valid position in the table
|
|
5831
5828
|
.orThunk(() => findEditableCursorPosition(rows));
|
|
@@ -6431,6 +6428,7 @@
|
|
|
6431
6428
|
};
|
|
6432
6429
|
const div = SugarElement.fromTag('div');
|
|
6433
6430
|
set$2(div, 'role', 'presentation');
|
|
6431
|
+
set$2(div, 'data-mce-bogus', 'all');
|
|
6434
6432
|
setAll(div, {
|
|
6435
6433
|
position: 'fixed',
|
|
6436
6434
|
left: '0px',
|
|
@@ -6494,8 +6492,7 @@
|
|
|
6494
6492
|
});
|
|
6495
6493
|
|
|
6496
6494
|
const transform = (mutation, settings = {}) => {
|
|
6497
|
-
|
|
6498
|
-
const mode = (_a = settings.mode) !== null && _a !== void 0 ? _a : MouseDrag;
|
|
6495
|
+
const mode = settings.mode ?? MouseDrag;
|
|
6499
6496
|
return setup(mutation, mode, settings);
|
|
6500
6497
|
};
|
|
6501
6498
|
|
|
@@ -6812,10 +6809,9 @@
|
|
|
6812
6809
|
// Note: This is also contained in the table plugin Options.ts file
|
|
6813
6810
|
const defaultWidth = '100%';
|
|
6814
6811
|
const getPixelForcedWidth = (editor) => {
|
|
6815
|
-
var _a;
|
|
6816
6812
|
// Determine the inner size of the parent block element where the table will be inserted
|
|
6817
6813
|
const dom = editor.dom;
|
|
6818
|
-
const parentBlock =
|
|
6814
|
+
const parentBlock = dom.getParent(editor.selection.getStart(), dom.isBlock) ?? editor.getBody();
|
|
6819
6815
|
return getInner(SugarElement.fromDom(parentBlock)) + 'px';
|
|
6820
6816
|
};
|
|
6821
6817
|
// Note: This is also contained in the table plugin Options.ts file
|
|
@@ -8384,8 +8380,7 @@
|
|
|
8384
8380
|
global.write([fakeClipboardItem]);
|
|
8385
8381
|
};
|
|
8386
8382
|
const getData = (type) => {
|
|
8387
|
-
|
|
8388
|
-
const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];
|
|
8383
|
+
const items = global.read() ?? [];
|
|
8389
8384
|
return findMap(items, (item) => Optional.from(item.getType(type)));
|
|
8390
8385
|
};
|
|
8391
8386
|
const clearData = (type) => {
|