diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-includes/js/tinymce/plugins/lists/plugin.js --- a/wp/wp-includes/js/tinymce/plugins/lists/plugin.js Tue Oct 22 16:11:46 2019 +0200 +++ b/wp/wp-includes/js/tinymce/plugins/lists/plugin.js Tue Dec 15 13:49:49 2020 +0100 @@ -204,6 +204,8 @@ resolveBookmark: resolveBookmark }; + var noop = function () { + }; var constant = function (value) { return function () { return value; @@ -221,8 +223,6 @@ var never = constant(false); var always = constant(true); - var never$1 = never; - var always$1 = always; var none = function () { return NONE; }; @@ -236,37 +236,27 @@ var id = function (n) { return n; }; - var noop = function () { - }; - var nul = function () { - return null; - }; - var undef = function () { - return undefined; - }; var me = { fold: function (n, s) { return n(); }, - is: never$1, - isSome: never$1, - isNone: always$1, + is: never, + isSome: never, + isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, - getOrNull: nul, - getOrUndefined: undef, + getOrNull: constant(null), + getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, - ap: none, each: noop, bind: none, - flatten: none, - exists: never$1, - forall: always$1, + exists: never, + forall: always, filter: none, equals: eq, equals_: eq, @@ -275,20 +265,16 @@ }, toString: constant('none()') }; - if (Object.freeze) + if (Object.freeze) { Object.freeze(me); + } return me; }(); var some = function (a) { - var constant_a = function () { - return a; - }; + var constant_a = constant(a); var self = function () { return me; }; - var map = function (f) { - return some(f(a)); - }; var bind = function (f) { return f(a); }; @@ -299,8 +285,8 @@ is: function (v) { return a === v; }, - isSome: always$1, - isNone: never$1, + isSome: always, + isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, @@ -308,35 +294,31 @@ getOrUndefined: constant_a, or: self, orThunk: self, - map: map, - ap: function (optfab) { - return optfab.fold(none, function (fab) { - return some(fab(a)); - }); + map: function (f) { + return some(f(a)); }, each: function (f) { f(a); }, bind: bind, - flatten: constant_a, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, - equals: function (o) { - return o.is(a); - }, - equals_: function (o, elementEq) { - return o.fold(never$1, function (b) { - return elementEq(a, b); - }); - }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; + }, + equals: function (o) { + return o.is(a); + }, + equals_: function (o, elementEq) { + return o.fold(never, function (b) { + return elementEq(a, b); + }); } }; return me; @@ -351,13 +333,16 @@ }; var typeOf = function (x) { - if (x === null) + if (x === null) { return 'null'; + } var t = typeof x; - if (t === 'object' && Array.prototype.isPrototypeOf(x)) + if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; - if (t === 'object' && String.prototype.isPrototypeOf(x)) + } + if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; + } return t; }; var isType = function (type) { @@ -366,30 +351,33 @@ }; }; var isString = isType('string'); + var isArray = isType('array'); var isBoolean = isType('boolean'); var isFunction = isType('function'); var isNumber = isType('number'); + var nativeSlice = Array.prototype.slice; + var nativePush = Array.prototype.push; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; - r[i] = f(x, i, xs); + r[i] = f(x, i); } return r; }; var each = function (xs, f) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; - f(x, i, xs); + f(x, i); } }; var filter = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; - if (pred(x, i, xs)) { + if (pred(x, i)) { r.push(x); } } @@ -427,19 +415,19 @@ var find = function (xs, pred) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; - if (pred(x, i, xs)) { + if (pred(x, i)) { return Option.some(x); } } return Option.none(); }; - var push = Array.prototype.push; var flatten = function (xs) { var r = []; for (var i = 0, len = xs.length; i < len; ++i) { - if (!Array.prototype.isPrototypeOf(xs[i])) + if (!isArray(xs[i])) { throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); - push.apply(r, xs[i]); + } + nativePush.apply(r, xs[i]); } return r; }; @@ -447,9 +435,8 @@ var output = map(xs, f); return flatten(output); }; - var slice = Array.prototype.slice; var reverse = function (xs) { - var r = slice.call(xs, 0); + var r = nativeSlice.call(xs, 0); r.reverse(); return r; }; @@ -460,15 +447,16 @@ return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]); }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { - return slice.call(x); + return nativeSlice.call(x); }; var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')(); var path = function (parts, scope) { var o = scope !== undefined && scope !== null ? scope : Global; - for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) + for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) { o = o[parts[i]]; + } return o; }; var resolve = function (p, scope) { @@ -481,8 +469,9 @@ }; var getOrDie = function (name, scope) { var actual = unsafe(name, scope); - if (actual === undefined || actual === null) - throw name + ' not available on this browser'; + if (actual === undefined || actual === null) { + throw new Error(name + ' not available on this browser'); + } return actual; }; var Global$1 = { getOrDie: getOrDie }; @@ -613,17 +602,8 @@ fromPoint: fromPoint }; - var liftN = function (arr, f) { - var r = []; - for (var i = 0; i < arr.length; i++) { - var x = arr[i]; - if (x.isSome()) { - r.push(x.getOrDie()); - } else { - return Option.none(); - } - } - return Option.some(f.apply(null, r)); + var lift2 = function (oa, ob, f) { + return oa.isSome() && ob.isSome() ? Option.some(f(oa.getOrDie(), ob.getOrDie())) : Option.none(); }; var fromElements = function (elements, scope) { @@ -662,7 +642,7 @@ for (var k = 0, len = props.length; k < len; k++) { var i = props[k]; var x = obj[i]; - f(x, i, obj); + f(x, i); } }; @@ -703,18 +683,20 @@ var firstMatch = function (regexes, s) { for (var i = 0; i < regexes.length; i++) { var x = regexes[i]; - if (x.test(s)) + if (x.test(s)) { return x; + } } return undefined; }; var find$1 = function (regexes, agent) { var r = firstMatch(regexes, agent); - if (!r) + if (!r) { return { major: 0, minor: 0 }; + } var group = function (i) { return Number(agent.replace(r, '$' + i)); }; @@ -722,8 +704,9 @@ }; var detect = function (versionRegexes, agent) { var cleanedAgent = String(agent).toLowerCase(); - if (versionRegexes.length === 0) + if (versionRegexes.length === 0) { return unknown(); + } return find$1(versionRegexes, cleanedAgent); }; var unknown = function () { @@ -893,8 +876,7 @@ name: 'Edge', versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], search: function (uastring) { - var monstrosity = contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); - return monstrosity; + return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); } }, { @@ -1024,19 +1006,22 @@ var ELEMENT$1 = ELEMENT; var is = function (element, selector) { - var elem = element.dom(); - if (elem.nodeType !== ELEMENT$1) { + var dom = element.dom(); + if (dom.nodeType !== ELEMENT$1) { return false; - } else if (elem.matches !== undefined) { - return elem.matches(selector); - } else if (elem.msMatchesSelector !== undefined) { - return elem.msMatchesSelector(selector); - } else if (elem.webkitMatchesSelector !== undefined) { - return elem.webkitMatchesSelector(selector); - } else if (elem.mozMatchesSelector !== undefined) { - return elem.mozMatchesSelector(selector); } else { - throw new Error('Browser lacks native selectors'); + var elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } } }; @@ -1056,12 +1041,10 @@ var is$1 = is; var parent = function (element) { - var dom = element.dom(); - return Option.from(dom.parentNode).map(Element.fromDom); + return Option.from(element.dom().parentNode).map(Element.fromDom); }; var children = function (element) { - var dom = element.dom(); - return map(dom.childNodes, Element.fromDom); + return map(element.dom().childNodes, Element.fromDom); }; var child = function (element, index) { var cs = element.dom().childNodes; @@ -1107,6 +1090,15 @@ var r = element.dom().nodeName; return r.toLowerCase(); }; + var type = function (element) { + return element.dom().nodeType; + }; + var isType$1 = function (t) { + return function (element) { + return type(element) === t; + }; + }; + var isElement = isType$1(ELEMENT); var rawSet = function (dom, key, value) { if (isString(value) || isBoolean(value) || isNumber(value)) { @@ -1130,7 +1122,7 @@ }; var isSupported = function (dom) { - return dom.style !== undefined; + return dom.style !== undefined && isFunction(dom.style.getPropertyValue); }; var internalSet = function (dom, property, value) { @@ -1177,10 +1169,7 @@ } }; var appendSegments = function (head$1, tail) { - liftN([ - last(head$1), - head(tail) - ], joinSegment); + lift2(last(head$1), head(tail), joinSegment); }; var createSegment = function (scope, listType) { var segment = { @@ -1270,7 +1259,7 @@ return map(content, deep); }; var createEntry = function (li, depth, isSelected) { - return parent(li).map(function (list) { + return parent(li).filter(isElement).map(function (list) { return { depth: depth, isSelected: isSelected, @@ -1302,17 +1291,20 @@ var baseMerge = function (merger) { return function () { var objects = new Array(arguments.length); - for (var i = 0; i < objects.length; i++) + for (var i = 0; i < objects.length; i++) { objects[i] = arguments[i]; - if (objects.length === 0) + } + if (objects.length === 0) { throw new Error('Can\'t merge zero objects'); + } var ret = {}; for (var j = 0; j < objects.length; j++) { var curObject = objects[j]; - for (var key in curObject) + for (var key in curObject) { if (hasOwnProperty.call(curObject, key)) { ret[key] = merger(ret[key], curObject[key]); } + } } return ret; }; @@ -1474,10 +1466,7 @@ }; var getItemSelection = function (editor) { var selectedListItems = map(Selection.getSelectedListItems(editor), Element.fromDom); - return liftN([ - find(selectedListItems, not(hasFirstChildList)), - find(reverse(selectedListItems), not(hasFirstChildList)) - ], function (start, end) { + return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), function (start, end) { return { start: start, end: end @@ -1529,17 +1518,17 @@ var SplitList = { splitList: splitList }; var outdentDlItem = function (editor, item) { - if (is$1(item, 'DD')) { - mutate(item, 'DT'); - } else if (is$1(item, 'DT')) { + if (is$1(item, 'dd')) { + mutate(item, 'dt'); + } else if (is$1(item, 'dt')) { parent(item).each(function (dl) { return SplitList.splitList(editor, dl.dom(), item.dom()); }); } }; var indentDlItem = function (item) { - if (is$1(item, 'DT')) { - mutate(item, 'DD'); + if (is$1(item, 'dt')) { + mutate(item, 'dd'); } }; var dlIndentation = function (editor, indentation, dlItems) {