tinymce-rails 5.0.13 → 5.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/source/tinymce/tinymce.js +113 -135
  3. data/lib/tinymce/rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/tinymce/plugins/advlist/plugin.js +1 -1
  5. data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.js +1 -1
  6. data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.js +1 -1
  7. data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.js +1 -1
  8. data/vendor/assets/javascripts/tinymce/plugins/autosave/plugin.js +1 -1
  9. data/vendor/assets/javascripts/tinymce/plugins/bbcode/plugin.js +1 -1
  10. data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.js +1 -1
  11. data/vendor/assets/javascripts/tinymce/plugins/code/plugin.js +1 -1
  12. data/vendor/assets/javascripts/tinymce/plugins/codesample/plugin.js +1 -1
  13. data/vendor/assets/javascripts/tinymce/plugins/colorpicker/plugin.js +1 -1
  14. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/plugin.js +1 -1
  15. data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.js +2 -2
  16. data/vendor/assets/javascripts/tinymce/plugins/emoticons/plugin.js +1 -1
  17. data/vendor/assets/javascripts/tinymce/plugins/fullpage/plugin.js +1 -1
  18. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.js +2 -2
  19. data/vendor/assets/javascripts/tinymce/plugins/help/plugin.js +1 -1
  20. data/vendor/assets/javascripts/tinymce/plugins/hr/plugin.js +1 -1
  21. data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -1
  22. data/vendor/assets/javascripts/tinymce/plugins/imagetools/plugin.js +2 -2
  23. data/vendor/assets/javascripts/tinymce/plugins/importcss/plugin.js +1 -1
  24. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.js +1 -1
  25. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/plugin.js +1 -1
  26. data/vendor/assets/javascripts/tinymce/plugins/link/plugin.js +1 -1
  27. data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +2 -2
  28. data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +1 -1
  29. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/plugin.js +1 -1
  30. data/vendor/assets/javascripts/tinymce/plugins/noneditable/plugin.js +1 -1
  31. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/plugin.js +1 -1
  32. data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.js +1 -1
  33. data/vendor/assets/javascripts/tinymce/plugins/preview/plugin.js +1 -1
  34. data/vendor/assets/javascripts/tinymce/plugins/print/plugin.js +1 -1
  35. data/vendor/assets/javascripts/tinymce/plugins/quickbars/plugin.js +2 -2
  36. data/vendor/assets/javascripts/tinymce/plugins/save/plugin.js +1 -1
  37. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.js +1 -1
  38. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/plugin.js +1 -1
  39. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.js +1 -1
  40. data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +2 -2
  41. data/vendor/assets/javascripts/tinymce/plugins/template/plugin.js +1 -1
  42. data/vendor/assets/javascripts/tinymce/plugins/textcolor/plugin.js +1 -1
  43. data/vendor/assets/javascripts/tinymce/plugins/textpattern/plugin.js +1 -1
  44. data/vendor/assets/javascripts/tinymce/plugins/toc/plugin.js +1 -1
  45. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/plugin.js +1 -1
  46. data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.js +2 -2
  47. data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.js +1 -1
  48. data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.css +1 -1
  49. data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  50. data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.css +1 -1
  51. data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.min.css +1 -1
  52. data/vendor/assets/javascripts/tinymce/themes/mobile/theme.js +2 -2
  53. data/vendor/assets/javascripts/tinymce/themes/silver/theme.js +2 -2
  54. data/vendor/assets/javascripts/tinymce/tinymce.js +2 -2
  55. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75cea0a3470f10e2b30af1c61af87354a14b7a4ecbe7a3b5721bae0a08b0be09
4
- data.tar.gz: 17bcec541aeeca306c947a3db45c4a51eda8325bf7195689214cf79b3f02747a
3
+ metadata.gz: 82ad3a419045eb4f1f2004b363206fa490cfe3e34c53161bd69143e4ae3135be
4
+ data.tar.gz: dc31a70b97ff33c946992e3ee55c647332269763d8b06455e032cdfd59173633
5
5
  SHA512:
6
- metadata.gz: dc1faf8b0e49117efa9097f245ce85f75ccd1403a28cbd94fedef758234747a283e3a66530f4a1716f57f04f30a941a24fdb5c70f983b7c3bcb8e5b38c7c4bfa
7
- data.tar.gz: 72ac2548d61e8d64a1072020dd1f1aacc9c74a4f3f943ae7bdc17209554d7fc921df95ff653347df19e7545e740562af9abf16dc0a9e7dd4f57ae4d2fd7166fc
6
+ metadata.gz: 8caa09d91ff8cd6995904cbb03affab4a2edd92ecfebe55e9f0b5e2f680242226978289ea13429cc7f3c0e874ede880786cc886f7d7ee23af4700a10dbc687bb
7
+ data.tar.gz: b997f5d6fbb7e4d6b7a76f48fd0353ce87c150ef143d1b710ce0b8df0697ed92349a69c21712b0c0d852cf52eef1678a7bf6164c8f3bee07133ddbb677b30b92
@@ -4,7 +4,7 @@
4
4
  * For LGPL see License.txt in the project root for license information.
5
5
  * For commercial licenses see https://www.tiny.cloud/
6
6
  *
7
- * Version: 5.0.13 (2019-08-06)
7
+ * Version: 5.0.14 (2019-08-19)
8
8
  */
9
9
  (function (domGlobals) {
10
10
  'use strict';
@@ -3631,6 +3631,8 @@
3631
3631
  var ENTITY = domGlobals.Node.ENTITY_NODE;
3632
3632
  var NOTATION = domGlobals.Node.NOTATION_NODE;
3633
3633
 
3634
+ var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
3635
+
3634
3636
  var name = function (element) {
3635
3637
  var r = element.dom().nodeName;
3636
3638
  return r.toLowerCase();
@@ -3645,7 +3647,6 @@
3645
3647
  };
3646
3648
  var isElement = isType$1(ELEMENT);
3647
3649
  var isText = isType$1(TEXT);
3648
- var isDocument = isType$1(DOCUMENT);
3649
3650
 
3650
3651
  var keys = Object.keys;
3651
3652
  var hasOwnProperty$1 = Object.hasOwnProperty;
@@ -3803,19 +3804,22 @@
3803
3804
  var ELEMENT$1 = ELEMENT;
3804
3805
  var DOCUMENT$1 = DOCUMENT;
3805
3806
  var is$1 = function (element, selector) {
3806
- var elem = element.dom();
3807
- if (elem.nodeType !== ELEMENT$1) {
3807
+ var dom = element.dom();
3808
+ if (dom.nodeType !== ELEMENT$1) {
3808
3809
  return false;
3809
- } else if (elem.matches !== undefined) {
3810
- return elem.matches(selector);
3811
- } else if (elem.msMatchesSelector !== undefined) {
3812
- return elem.msMatchesSelector(selector);
3813
- } else if (elem.webkitMatchesSelector !== undefined) {
3814
- return elem.webkitMatchesSelector(selector);
3815
- } else if (elem.mozMatchesSelector !== undefined) {
3816
- return elem.mozMatchesSelector(selector);
3817
3810
  } else {
3818
- throw new Error('Browser lacks native selectors');
3811
+ var elem = dom;
3812
+ if (elem.matches !== undefined) {
3813
+ return elem.matches(selector);
3814
+ } else if (elem.msMatchesSelector !== undefined) {
3815
+ return elem.msMatchesSelector(selector);
3816
+ } else if (elem.webkitMatchesSelector !== undefined) {
3817
+ return elem.webkitMatchesSelector(selector);
3818
+ } else if (elem.mozMatchesSelector !== undefined) {
3819
+ return elem.mozMatchesSelector(selector);
3820
+ } else {
3821
+ throw new Error('Browser lacks native selectors');
3822
+ }
3819
3823
  }
3820
3824
  };
3821
3825
  var bypassSelector = function (dom) {
@@ -3851,16 +3855,13 @@
3851
3855
  return Element.fromDom(element.dom().ownerDocument.documentElement);
3852
3856
  };
3853
3857
  var defaultView = function (element) {
3854
- var el = element.dom();
3855
- var defView = el.ownerDocument.defaultView;
3856
- return Element.fromDom(defView);
3858
+ return Element.fromDom(element.dom().ownerDocument.defaultView);
3857
3859
  };
3858
3860
  var parent = function (element) {
3859
- var dom = element.dom();
3860
- return Option.from(dom.parentNode).map(Element.fromDom);
3861
+ return Option.from(element.dom().parentNode).map(Element.fromDom);
3861
3862
  };
3862
3863
  var parents = function (element, isRoot) {
3863
- var stop = isFunction(isRoot) ? isRoot : constant(false);
3864
+ var stop = isFunction(isRoot) ? isRoot : never;
3864
3865
  var dom = element.dom();
3865
3866
  var ret = [];
3866
3867
  while (dom.parentNode !== null && dom.parentNode !== undefined) {
@@ -3876,12 +3877,10 @@
3876
3877
  return ret;
3877
3878
  };
3878
3879
  var prevSibling = function (element) {
3879
- var dom = element.dom();
3880
- return Option.from(dom.previousSibling).map(Element.fromDom);
3880
+ return Option.from(element.dom().previousSibling).map(Element.fromDom);
3881
3881
  };
3882
3882
  var nextSibling = function (element) {
3883
- var dom = element.dom();
3884
- return Option.from(dom.nextSibling).map(Element.fromDom);
3883
+ return Option.from(element.dom().nextSibling).map(Element.fromDom);
3885
3884
  };
3886
3885
  var prevSiblings = function (element) {
3887
3886
  return reverse(Recurse.toArray(element, prevSibling));
@@ -3890,8 +3889,7 @@
3890
3889
  return Recurse.toArray(element, nextSibling);
3891
3890
  };
3892
3891
  var children = function (element) {
3893
- var dom = element.dom();
3894
- return map(dom.childNodes, Element.fromDom);
3892
+ return map(element.dom().childNodes, Element.fromDom);
3895
3893
  };
3896
3894
  var child = function (element, index) {
3897
3895
  var cs = element.dom().childNodes;
@@ -4953,7 +4951,7 @@
4953
4951
  ]);
4954
4952
  var isText$1 = isNodeType(3);
4955
4953
  var isComment = isNodeType(8);
4956
- var isDocument$1 = isNodeType(9);
4954
+ var isDocument = isNodeType(9);
4957
4955
  var isDocumentFragment = isNodeType(11);
4958
4956
  var isBr = matchNodeNames(['br']);
4959
4957
  var isContentEditableTrue = hasContentEditableState('true');
@@ -4962,7 +4960,7 @@
4962
4960
  isText: isText$1,
4963
4961
  isElement: isElement$1,
4964
4962
  isComment: isComment,
4965
- isDocument: isDocument$1,
4963
+ isDocument: isDocument,
4966
4964
  isDocumentFragment: isDocumentFragment,
4967
4965
  isBr: isBr,
4968
4966
  isContentEditableTrue: isContentEditableTrue,
@@ -7741,8 +7739,8 @@
7741
7739
  return Option.none();
7742
7740
  };
7743
7741
  var closest = function (scope, predicate, isRoot) {
7744
- var is = function (s) {
7745
- return predicate(s);
7742
+ var is = function (s, test) {
7743
+ return test(s);
7746
7744
  };
7747
7745
  return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
7748
7746
  };
@@ -10366,18 +10364,9 @@
10366
10364
  }
10367
10365
  return getOption(element).getOr('');
10368
10366
  };
10369
- var getOptionIE10 = function (element) {
10370
- try {
10371
- return getOptionSafe(element);
10372
- } catch (e) {
10373
- return Option.none();
10374
- }
10375
- };
10376
- var getOptionSafe = function (element) {
10367
+ var getOption = function (element) {
10377
10368
  return is(element) ? Option.from(element.dom().nodeValue) : Option.none();
10378
10369
  };
10379
- var browser = PlatformDetection$1.detect().browser;
10380
- var getOption = browser.isIE() && browser.version.major === 10 ? getOptionIE10 : getOptionSafe;
10381
10370
  var set = function (element, value) {
10382
10371
  if (!is(element)) {
10383
10372
  throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
@@ -10548,19 +10537,17 @@
10548
10537
  '#document-fragment': 11
10549
10538
  };
10550
10539
  var walk$2 = function (node, root, prev) {
10551
- var sibling;
10552
- var parent;
10553
10540
  var startName = prev ? 'lastChild' : 'firstChild';
10554
10541
  var siblingName = prev ? 'prev' : 'next';
10555
10542
  if (node[startName]) {
10556
10543
  return node[startName];
10557
10544
  }
10558
10545
  if (node !== root) {
10559
- sibling = node[siblingName];
10546
+ var sibling = node[siblingName];
10560
10547
  if (sibling) {
10561
10548
  return sibling;
10562
10549
  }
10563
- for (parent = node.parent; parent && parent !== root; parent = parent.parent) {
10550
+ for (var parent = node.parent; parent && parent !== root; parent = parent.parent) {
10564
10551
  sibling = parent[siblingName];
10565
10552
  if (sibling) {
10566
10553
  return sibling;
@@ -10578,10 +10565,9 @@
10578
10565
  }
10579
10566
  }
10580
10567
  Node.create = function (name, attrs) {
10581
- var node, attrName;
10582
- node = new Node(name, typeLookup[name] || 1);
10568
+ var node = new Node(name, typeLookup[name] || 1);
10583
10569
  if (attrs) {
10584
- for (attrName in attrs) {
10570
+ for (var attrName in attrs) {
10585
10571
  node.attr(attrName, attrs[attrName]);
10586
10572
  }
10587
10573
  }
@@ -10598,10 +10584,10 @@
10598
10584
  };
10599
10585
  Node.prototype.attr = function (name, value) {
10600
10586
  var self = this;
10601
- var attrs, i;
10587
+ var attrs;
10602
10588
  if (typeof name !== 'string') {
10603
- for (i in name) {
10604
- self.attr(i, name[i]);
10589
+ for (var key in name) {
10590
+ self.attr(key, name[key]);
10605
10591
  }
10606
10592
  return self;
10607
10593
  }
@@ -10610,10 +10596,10 @@
10610
10596
  if (value === null) {
10611
10597
  if (name in attrs.map) {
10612
10598
  delete attrs.map[name];
10613
- i = attrs.length;
10599
+ var i = attrs.length;
10614
10600
  while (i--) {
10615
10601
  if (attrs[i].name === name) {
10616
- attrs = attrs.splice(i, 1);
10602
+ attrs.splice(i, 1);
10617
10603
  return self;
10618
10604
  }
10619
10605
  }
@@ -10621,7 +10607,7 @@
10621
10607
  return self;
10622
10608
  }
10623
10609
  if (name in attrs.map) {
10624
- i = attrs.length;
10610
+ var i = attrs.length;
10625
10611
  while (i--) {
10626
10612
  if (attrs[i].name === name) {
10627
10613
  attrs[i].value = value;
@@ -10643,12 +10629,12 @@
10643
10629
  Node.prototype.clone = function () {
10644
10630
  var self = this;
10645
10631
  var clone = new Node(self.name, self.type);
10646
- var i, l, selfAttrs, selfAttr, cloneAttrs;
10632
+ var selfAttrs;
10647
10633
  if (selfAttrs = self.attributes) {
10648
- cloneAttrs = [];
10634
+ var cloneAttrs = [];
10649
10635
  cloneAttrs.map = {};
10650
- for (i = 0, l = selfAttrs.length; i < l; i++) {
10651
- selfAttr = selfAttrs[i];
10636
+ for (var i = 0, l = selfAttrs.length; i < l; i++) {
10637
+ var selfAttr = selfAttrs[i];
10652
10638
  if (selfAttr.name !== 'id') {
10653
10639
  cloneAttrs[cloneAttrs.length] = {
10654
10640
  name: selfAttr.name,
@@ -10671,9 +10657,8 @@
10671
10657
  };
10672
10658
  Node.prototype.unwrap = function () {
10673
10659
  var self = this;
10674
- var node, next;
10675
- for (node = self.firstChild; node;) {
10676
- next = node.next;
10660
+ for (var node = self.firstChild; node;) {
10661
+ var next = node.next;
10677
10662
  self.insert(node, self, true);
10678
10663
  node = next;
10679
10664
  }
@@ -10704,11 +10689,10 @@
10704
10689
  };
10705
10690
  Node.prototype.append = function (node) {
10706
10691
  var self = this;
10707
- var last;
10708
10692
  if (node.parent) {
10709
10693
  node.remove();
10710
10694
  }
10711
- last = self.lastChild;
10695
+ var last = self.lastChild;
10712
10696
  if (last) {
10713
10697
  last.next = node;
10714
10698
  node.prev = last;
@@ -10720,11 +10704,10 @@
10720
10704
  return node;
10721
10705
  };
10722
10706
  Node.prototype.insert = function (node, refNode, before) {
10723
- var parent;
10724
10707
  if (node.parent) {
10725
10708
  node.remove();
10726
10709
  }
10727
- parent = refNode.parent || this;
10710
+ var parent = refNode.parent || this;
10728
10711
  if (before) {
10729
10712
  if (refNode === parent.firstChild) {
10730
10713
  parent.firstChild = node;
@@ -10749,9 +10732,8 @@
10749
10732
  };
10750
10733
  Node.prototype.getAll = function (name) {
10751
10734
  var self = this;
10752
- var node;
10753
10735
  var collection = [];
10754
- for (node = self.firstChild; node; node = walk$2(node, self)) {
10736
+ for (var node = self.firstChild; node; node = walk$2(node, self)) {
10755
10737
  if (node.name === name) {
10756
10738
  collection.push(node);
10757
10739
  }
@@ -10760,15 +10742,14 @@
10760
10742
  };
10761
10743
  Node.prototype.empty = function () {
10762
10744
  var self = this;
10763
- var nodes, i, node;
10764
10745
  if (self.firstChild) {
10765
- nodes = [];
10766
- for (node = self.firstChild; node; node = walk$2(node, self)) {
10746
+ var nodes = [];
10747
+ for (var node = self.firstChild; node; node = walk$2(node, self)) {
10767
10748
  nodes.push(node);
10768
10749
  }
10769
- i = nodes.length;
10750
+ var i = nodes.length;
10770
10751
  while (i--) {
10771
- node = nodes[i];
10752
+ var node = nodes[i];
10772
10753
  node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;
10773
10754
  }
10774
10755
  }
@@ -10776,9 +10757,11 @@
10776
10757
  return self;
10777
10758
  };
10778
10759
  Node.prototype.isEmpty = function (elements, whitespace, predicate) {
10760
+ if (whitespace === void 0) {
10761
+ whitespace = {};
10762
+ }
10779
10763
  var self = this;
10780
- var node = self.firstChild, i, name;
10781
- whitespace = whitespace || {};
10764
+ var node = self.firstChild;
10782
10765
  if (node) {
10783
10766
  do {
10784
10767
  if (node.type === 1) {
@@ -10788,9 +10771,9 @@
10788
10771
  if (elements[node.name]) {
10789
10772
  return false;
10790
10773
  }
10791
- i = node.attributes.length;
10774
+ var i = node.attributes.length;
10792
10775
  while (i--) {
10793
- name = node.attributes[i].name;
10776
+ var name = node.attributes[i].name;
10794
10777
  if (name === 'name' || name.indexOf('data-mce-bookmark') === 0) {
10795
10778
  return false;
10796
10779
  }
@@ -11630,8 +11613,8 @@
11630
11613
  var doc = owner(element).dom();
11631
11614
  return element.dom() === doc.activeElement;
11632
11615
  };
11633
- var active = function (_DOC) {
11634
- var doc = _DOC !== undefined ? _DOC.dom() : domGlobals.document;
11616
+ var active = function (_doc) {
11617
+ var doc = _doc !== undefined ? _doc.dom() : domGlobals.document;
11635
11618
  return Option.from(doc.activeElement).map(Element.fromDom);
11636
11619
  };
11637
11620
  var search = function (element) {
@@ -12307,6 +12290,38 @@
12307
12290
  editor.destroyed = true;
12308
12291
  };
12309
12292
 
12293
+ var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
12294
+ var shallow$1 = function (old, nu) {
12295
+ return nu;
12296
+ };
12297
+ var deep$1 = function (old, nu) {
12298
+ var bothObjects = isObject(old) && isObject(nu);
12299
+ return bothObjects ? deepMerge(old, nu) : nu;
12300
+ };
12301
+ var baseMerge = function (merger) {
12302
+ return function () {
12303
+ var objects = new Array(arguments.length);
12304
+ for (var i = 0; i < objects.length; i++) {
12305
+ objects[i] = arguments[i];
12306
+ }
12307
+ if (objects.length === 0) {
12308
+ throw new Error('Can\'t merge zero objects');
12309
+ }
12310
+ var ret = {};
12311
+ for (var j = 0; j < objects.length; j++) {
12312
+ var curObject = objects[j];
12313
+ for (var key in curObject) {
12314
+ if (hasOwnProperty$2.call(curObject, key)) {
12315
+ ret[key] = merger(ret[key], curObject[key]);
12316
+ }
12317
+ }
12318
+ }
12319
+ return ret;
12320
+ };
12321
+ };
12322
+ var deepMerge = baseMerge(deep$1);
12323
+ var merge = baseMerge(shallow$1);
12324
+
12310
12325
  var sectionResult = Immutable('sections', 'settings');
12311
12326
  var detection = PlatformDetection$1.detect();
12312
12327
  var isTouch = detection.deviceType.isTouch();
@@ -12316,7 +12331,7 @@
12316
12331
  'autolink',
12317
12332
  'autosave'
12318
12333
  ];
12319
- var defaultMobileSettings = isPhone ? { theme: 'mobile' } : {};
12334
+ var defaultMobileSettings = { theme: 'mobile' };
12320
12335
  var normalizePlugins = function (plugins) {
12321
12336
  var pluginNames = isArray(plugins) ? plugins.join(' ') : plugins;
12322
12337
  var trimmedPlugins = map(isString(pluginNames) ? pluginNames.split(' ') : [], trim$2);
@@ -12334,6 +12349,9 @@
12334
12349
  return sectionResult(result.t, result.f);
12335
12350
  };
12336
12351
  var getSection = function (sectionResult, name, defaults) {
12352
+ if (defaults === void 0) {
12353
+ defaults = {};
12354
+ }
12337
12355
  var sections = sectionResult.sections();
12338
12356
  var sectionSettings = sections.hasOwnProperty(name) ? sections[name] : {};
12339
12357
  return Tools.extend({}, defaults, sectionSettings);
@@ -12398,11 +12416,12 @@
12398
12416
  };
12399
12417
  var isOnMobile = function (isTouchDevice, sectionResult) {
12400
12418
  var isInline = sectionResult.settings().inline;
12401
- return isTouchDevice && !isInline;
12419
+ return isTouchDevice && hasSection(sectionResult, 'mobile') && !isInline;
12402
12420
  };
12403
- var combineSettings = function (isTouchDevice, defaultSettings, defaultOverrideSettings, settings) {
12404
- var sectionResult = extractSections(['mobile'], settings);
12405
- var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isTouchDevice, sectionResult) ? getSection(sectionResult, 'mobile', defaultMobileSettings) : {}, {
12421
+ var combineSettings = function (isTouchDevice, isPhone, defaultSettings, defaultOverrideSettings, settings) {
12422
+ var defaultDeviceSettings = isPhone ? { mobile: defaultMobileSettings } : {};
12423
+ var sectionResult = extractSections(['mobile'], deepMerge(defaultDeviceSettings, settings));
12424
+ var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isTouchDevice, sectionResult) ? getSection(sectionResult, 'mobile') : {}, {
12406
12425
  validate: true,
12407
12426
  external_plugins: getExternalPlugins(defaultOverrideSettings, sectionResult.settings())
12408
12427
  });
@@ -12410,7 +12429,7 @@
12410
12429
  };
12411
12430
  var getEditorSettings = function (editor, id, documentBaseUrl, defaultOverrideSettings, settings) {
12412
12431
  var defaultSettings = getDefaultSettings(id, documentBaseUrl, editor);
12413
- return combineSettings(isTouch, defaultSettings, defaultOverrideSettings, settings);
12432
+ return combineSettings(isTouch, isPhone, defaultSettings, defaultOverrideSettings, settings);
12414
12433
  };
12415
12434
  var getFiltered = function (predicate, editor, name) {
12416
12435
  return Option.from(editor.settings[name]).filter(predicate);
@@ -15816,12 +15835,8 @@
15816
15835
  }
15817
15836
  };
15818
15837
  var deleteNormalized = function (elm, afterDeletePosOpt, normalizeWhitespace) {
15819
- var prevTextOpt = prevSibling(elm).filter(function (e) {
15820
- return NodeType.isText(e.dom());
15821
- });
15822
- var nextTextOpt = nextSibling(elm).filter(function (e) {
15823
- return NodeType.isText(e.dom());
15824
- });
15838
+ var prevTextOpt = prevSibling(elm).filter(isText);
15839
+ var nextTextOpt = nextSibling(elm).filter(isText);
15825
15840
  remove$1(elm);
15826
15841
  return liftN([
15827
15842
  prevTextOpt,
@@ -17635,33 +17650,6 @@
17635
17650
  };
17636
17651
  };
17637
17652
 
17638
- var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
17639
- var shallow$1 = function (old, nu) {
17640
- return nu;
17641
- };
17642
- var baseMerge = function (merger) {
17643
- return function () {
17644
- var objects = new Array(arguments.length);
17645
- for (var i = 0; i < objects.length; i++) {
17646
- objects[i] = arguments[i];
17647
- }
17648
- if (objects.length === 0) {
17649
- throw new Error('Can\'t merge zero objects');
17650
- }
17651
- var ret = {};
17652
- for (var j = 0; j < objects.length; j++) {
17653
- var curObject = objects[j];
17654
- for (var key in curObject) {
17655
- if (hasOwnProperty$2.call(curObject, key)) {
17656
- ret[key] = merger(ret[key], curObject[key]);
17657
- }
17658
- }
17659
- }
17660
- return ret;
17661
- };
17662
- };
17663
- var merge = baseMerge(shallow$1);
17664
-
17665
17653
  var register$1 = function (htmlParser, settings, dom) {
17666
17654
  htmlParser.addAttributeFilter('data-mce-tabindex', function (nodes, name) {
17667
17655
  var i = nodes.length, node;
@@ -19076,18 +19064,6 @@
19076
19064
  return api$1.get(element);
19077
19065
  };
19078
19066
 
19079
- var attached = function (element, scope) {
19080
- var doc = scope || Element.fromDom(domGlobals.document.documentElement);
19081
- return ancestor(element, curry(eq, doc)).isSome();
19082
- };
19083
- var windowOf = function (element) {
19084
- var dom = element.dom();
19085
- if (dom === dom.window && element instanceof domGlobals.Window) {
19086
- return element;
19087
- }
19088
- return isDocument(element) ? dom.defaultView || dom.parentWindow : null;
19089
- };
19090
-
19091
19067
  var r = function (left, top) {
19092
19068
  var translate = function (x, y) {
19093
19069
  return r(left + x, top + y);
@@ -19110,7 +19086,7 @@
19110
19086
  var absolute = function (element) {
19111
19087
  var doc = element.dom().ownerDocument;
19112
19088
  var body = doc.body;
19113
- var win = windowOf(Element.fromDom(doc));
19089
+ var win = doc.defaultView;
19114
19090
  var html = doc.documentElement;
19115
19091
  var scrollTop = firstDefinedOrZero(win.pageYOffset, html.scrollTop);
19116
19092
  var scrollLeft = firstDefinedOrZero(win.pageXOffset, html.scrollLeft);
@@ -19122,11 +19098,10 @@
19122
19098
  var dom = element.dom();
19123
19099
  var doc = dom.ownerDocument;
19124
19100
  var body = doc.body;
19125
- var html = Element.fromDom(doc.documentElement);
19126
19101
  if (body === dom) {
19127
19102
  return Position$1(body.offsetLeft, body.offsetTop);
19128
19103
  }
19129
- if (!attached(element, html)) {
19104
+ if (!inBody(element)) {
19130
19105
  return Position$1(0, 0);
19131
19106
  }
19132
19107
  return boxPosition(dom);
@@ -20093,7 +20068,8 @@
20093
20068
  }
20094
20069
  };
20095
20070
  function SelectorChanged (dom, editor) {
20096
- var selectorChangedData, currentSelectors;
20071
+ var selectorChangedData;
20072
+ var currentSelectors;
20097
20073
  return {
20098
20074
  selectorChangedWithUnbind: function (selector, callback) {
20099
20075
  if (!selectorChangedData) {
@@ -20163,8 +20139,10 @@
20163
20139
  }
20164
20140
  };
20165
20141
  var Selection$1 = function (dom, win, serializer, editor) {
20166
- var bookmarkManager, controlSelection;
20167
- var selectedRange, explicitRange;
20142
+ var bookmarkManager;
20143
+ var controlSelection;
20144
+ var selectedRange;
20145
+ var explicitRange;
20168
20146
  var selectorChangedWithUnbind = SelectorChanged(dom, editor).selectorChangedWithUnbind;
20169
20147
  var setCursorLocation = function (node, offset) {
20170
20148
  var rng = dom.createRng();
@@ -27198,8 +27176,8 @@
27198
27176
  suffix: null,
27199
27177
  $: DomQuery,
27200
27178
  majorVersion: '5',
27201
- minorVersion: '0.13',
27202
- releaseDate: '2019-08-06',
27179
+ minorVersion: '0.14',
27180
+ releaseDate: '2019-08-19',
27203
27181
  editors: legacyEditors,
27204
27182
  i18n: I18n,
27205
27183
  activeEditor: null,