wp/wp-includes/js/tinymce/plugins/lists/plugin.js
changeset 16 a86126ab1dd4
parent 9 177826044cd9
equal deleted inserted replaced
15:3d4e9c994f10 16:a86126ab1dd4
   202     var Bookmark = {
   202     var Bookmark = {
   203       createBookmark: createBookmark,
   203       createBookmark: createBookmark,
   204       resolveBookmark: resolveBookmark
   204       resolveBookmark: resolveBookmark
   205     };
   205     };
   206 
   206 
       
   207     var noop = function () {
       
   208     };
   207     var constant = function (value) {
   209     var constant = function (value) {
   208       return function () {
   210       return function () {
   209         return value;
   211         return value;
   210       };
   212       };
   211     };
   213     };
   219       };
   221       };
   220     };
   222     };
   221     var never = constant(false);
   223     var never = constant(false);
   222     var always = constant(true);
   224     var always = constant(true);
   223 
   225 
   224     var never$1 = never;
       
   225     var always$1 = always;
       
   226     var none = function () {
   226     var none = function () {
   227       return NONE;
   227       return NONE;
   228     };
   228     };
   229     var NONE = function () {
   229     var NONE = function () {
   230       var eq = function (o) {
   230       var eq = function (o) {
   233       var call = function (thunk) {
   233       var call = function (thunk) {
   234         return thunk();
   234         return thunk();
   235       };
   235       };
   236       var id = function (n) {
   236       var id = function (n) {
   237         return n;
   237         return n;
   238       };
       
   239       var noop = function () {
       
   240       };
       
   241       var nul = function () {
       
   242         return null;
       
   243       };
       
   244       var undef = function () {
       
   245         return undefined;
       
   246       };
   238       };
   247       var me = {
   239       var me = {
   248         fold: function (n, s) {
   240         fold: function (n, s) {
   249           return n();
   241           return n();
   250         },
   242         },
   251         is: never$1,
   243         is: never,
   252         isSome: never$1,
   244         isSome: never,
   253         isNone: always$1,
   245         isNone: always,
   254         getOr: id,
   246         getOr: id,
   255         getOrThunk: call,
   247         getOrThunk: call,
   256         getOrDie: function (msg) {
   248         getOrDie: function (msg) {
   257           throw new Error(msg || 'error: getOrDie called on none.');
   249           throw new Error(msg || 'error: getOrDie called on none.');
   258         },
   250         },
   259         getOrNull: nul,
   251         getOrNull: constant(null),
   260         getOrUndefined: undef,
   252         getOrUndefined: constant(undefined),
   261         or: id,
   253         or: id,
   262         orThunk: call,
   254         orThunk: call,
   263         map: none,
   255         map: none,
   264         ap: none,
       
   265         each: noop,
   256         each: noop,
   266         bind: none,
   257         bind: none,
   267         flatten: none,
   258         exists: never,
   268         exists: never$1,
   259         forall: always,
   269         forall: always$1,
       
   270         filter: none,
   260         filter: none,
   271         equals: eq,
   261         equals: eq,
   272         equals_: eq,
   262         equals_: eq,
   273         toArray: function () {
   263         toArray: function () {
   274           return [];
   264           return [];
   275         },
   265         },
   276         toString: constant('none()')
   266         toString: constant('none()')
   277       };
   267       };
   278       if (Object.freeze)
   268       if (Object.freeze) {
   279         Object.freeze(me);
   269         Object.freeze(me);
       
   270       }
   280       return me;
   271       return me;
   281     }();
   272     }();
   282     var some = function (a) {
   273     var some = function (a) {
   283       var constant_a = function () {
   274       var constant_a = constant(a);
   284         return a;
       
   285       };
       
   286       var self = function () {
   275       var self = function () {
   287         return me;
   276         return me;
   288       };
       
   289       var map = function (f) {
       
   290         return some(f(a));
       
   291       };
   277       };
   292       var bind = function (f) {
   278       var bind = function (f) {
   293         return f(a);
   279         return f(a);
   294       };
   280       };
   295       var me = {
   281       var me = {
   297           return s(a);
   283           return s(a);
   298         },
   284         },
   299         is: function (v) {
   285         is: function (v) {
   300           return a === v;
   286           return a === v;
   301         },
   287         },
   302         isSome: always$1,
   288         isSome: always,
   303         isNone: never$1,
   289         isNone: never,
   304         getOr: constant_a,
   290         getOr: constant_a,
   305         getOrThunk: constant_a,
   291         getOrThunk: constant_a,
   306         getOrDie: constant_a,
   292         getOrDie: constant_a,
   307         getOrNull: constant_a,
   293         getOrNull: constant_a,
   308         getOrUndefined: constant_a,
   294         getOrUndefined: constant_a,
   309         or: self,
   295         or: self,
   310         orThunk: self,
   296         orThunk: self,
   311         map: map,
   297         map: function (f) {
   312         ap: function (optfab) {
   298           return some(f(a));
   313           return optfab.fold(none, function (fab) {
       
   314             return some(fab(a));
       
   315           });
       
   316         },
   299         },
   317         each: function (f) {
   300         each: function (f) {
   318           f(a);
   301           f(a);
   319         },
   302         },
   320         bind: bind,
   303         bind: bind,
   321         flatten: constant_a,
       
   322         exists: bind,
   304         exists: bind,
   323         forall: bind,
   305         forall: bind,
   324         filter: function (f) {
   306         filter: function (f) {
   325           return f(a) ? me : NONE;
   307           return f(a) ? me : NONE;
   326         },
       
   327         equals: function (o) {
       
   328           return o.is(a);
       
   329         },
       
   330         equals_: function (o, elementEq) {
       
   331           return o.fold(never$1, function (b) {
       
   332             return elementEq(a, b);
       
   333           });
       
   334         },
   308         },
   335         toArray: function () {
   309         toArray: function () {
   336           return [a];
   310           return [a];
   337         },
   311         },
   338         toString: function () {
   312         toString: function () {
   339           return 'some(' + a + ')';
   313           return 'some(' + a + ')';
       
   314         },
       
   315         equals: function (o) {
       
   316           return o.is(a);
       
   317         },
       
   318         equals_: function (o, elementEq) {
       
   319           return o.fold(never, function (b) {
       
   320             return elementEq(a, b);
       
   321           });
   340         }
   322         }
   341       };
   323       };
   342       return me;
   324       return me;
   343     };
   325     };
   344     var from = function (value) {
   326     var from = function (value) {
   349       none: none,
   331       none: none,
   350       from: from
   332       from: from
   351     };
   333     };
   352 
   334 
   353     var typeOf = function (x) {
   335     var typeOf = function (x) {
   354       if (x === null)
   336       if (x === null) {
   355         return 'null';
   337         return 'null';
       
   338       }
   356       var t = typeof x;
   339       var t = typeof x;
   357       if (t === 'object' && Array.prototype.isPrototypeOf(x))
   340       if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
   358         return 'array';
   341         return 'array';
   359       if (t === 'object' && String.prototype.isPrototypeOf(x))
   342       }
       
   343       if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
   360         return 'string';
   344         return 'string';
       
   345       }
   361       return t;
   346       return t;
   362     };
   347     };
   363     var isType = function (type) {
   348     var isType = function (type) {
   364       return function (value) {
   349       return function (value) {
   365         return typeOf(value) === type;
   350         return typeOf(value) === type;
   366       };
   351       };
   367     };
   352     };
   368     var isString = isType('string');
   353     var isString = isType('string');
       
   354     var isArray = isType('array');
   369     var isBoolean = isType('boolean');
   355     var isBoolean = isType('boolean');
   370     var isFunction = isType('function');
   356     var isFunction = isType('function');
   371     var isNumber = isType('number');
   357     var isNumber = isType('number');
   372 
   358 
       
   359     var nativeSlice = Array.prototype.slice;
       
   360     var nativePush = Array.prototype.push;
   373     var map = function (xs, f) {
   361     var map = function (xs, f) {
   374       var len = xs.length;
   362       var len = xs.length;
   375       var r = new Array(len);
   363       var r = new Array(len);
   376       for (var i = 0; i < len; i++) {
   364       for (var i = 0; i < len; i++) {
   377         var x = xs[i];
   365         var x = xs[i];
   378         r[i] = f(x, i, xs);
   366         r[i] = f(x, i);
   379       }
   367       }
   380       return r;
   368       return r;
   381     };
   369     };
   382     var each = function (xs, f) {
   370     var each = function (xs, f) {
   383       for (var i = 0, len = xs.length; i < len; i++) {
   371       for (var i = 0, len = xs.length; i < len; i++) {
   384         var x = xs[i];
   372         var x = xs[i];
   385         f(x, i, xs);
   373         f(x, i);
   386       }
   374       }
   387     };
   375     };
   388     var filter = function (xs, pred) {
   376     var filter = function (xs, pred) {
   389       var r = [];
   377       var r = [];
   390       for (var i = 0, len = xs.length; i < len; i++) {
   378       for (var i = 0, len = xs.length; i < len; i++) {
   391         var x = xs[i];
   379         var x = xs[i];
   392         if (pred(x, i, xs)) {
   380         if (pred(x, i)) {
   393           r.push(x);
   381           r.push(x);
   394         }
   382         }
   395       }
   383       }
   396       return r;
   384       return r;
   397     };
   385     };
   425       return acc;
   413       return acc;
   426     };
   414     };
   427     var find = function (xs, pred) {
   415     var find = function (xs, pred) {
   428       for (var i = 0, len = xs.length; i < len; i++) {
   416       for (var i = 0, len = xs.length; i < len; i++) {
   429         var x = xs[i];
   417         var x = xs[i];
   430         if (pred(x, i, xs)) {
   418         if (pred(x, i)) {
   431           return Option.some(x);
   419           return Option.some(x);
   432         }
   420         }
   433       }
   421       }
   434       return Option.none();
   422       return Option.none();
   435     };
   423     };
   436     var push = Array.prototype.push;
       
   437     var flatten = function (xs) {
   424     var flatten = function (xs) {
   438       var r = [];
   425       var r = [];
   439       for (var i = 0, len = xs.length; i < len; ++i) {
   426       for (var i = 0, len = xs.length; i < len; ++i) {
   440         if (!Array.prototype.isPrototypeOf(xs[i]))
   427         if (!isArray(xs[i])) {
   441           throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
   428           throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
   442         push.apply(r, xs[i]);
   429         }
       
   430         nativePush.apply(r, xs[i]);
   443       }
   431       }
   444       return r;
   432       return r;
   445     };
   433     };
   446     var bind = function (xs, f) {
   434     var bind = function (xs, f) {
   447       var output = map(xs, f);
   435       var output = map(xs, f);
   448       return flatten(output);
   436       return flatten(output);
   449     };
   437     };
   450     var slice = Array.prototype.slice;
       
   451     var reverse = function (xs) {
   438     var reverse = function (xs) {
   452       var r = slice.call(xs, 0);
   439       var r = nativeSlice.call(xs, 0);
   453       r.reverse();
   440       r.reverse();
   454       return r;
   441       return r;
   455     };
   442     };
   456     var head = function (xs) {
   443     var head = function (xs) {
   457       return xs.length === 0 ? Option.none() : Option.some(xs[0]);
   444       return xs.length === 0 ? Option.none() : Option.some(xs[0]);
   458     };
   445     };
   459     var last = function (xs) {
   446     var last = function (xs) {
   460       return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
   447       return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
   461     };
   448     };
   462     var from$1 = isFunction(Array.from) ? Array.from : function (x) {
   449     var from$1 = isFunction(Array.from) ? Array.from : function (x) {
   463       return slice.call(x);
   450       return nativeSlice.call(x);
   464     };
   451     };
   465 
   452 
   466     var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
   453     var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
   467 
   454 
   468     var path = function (parts, scope) {
   455     var path = function (parts, scope) {
   469       var o = scope !== undefined && scope !== null ? scope : Global;
   456       var o = scope !== undefined && scope !== null ? scope : Global;
   470       for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
   457       for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) {
   471         o = o[parts[i]];
   458         o = o[parts[i]];
       
   459       }
   472       return o;
   460       return o;
   473     };
   461     };
   474     var resolve = function (p, scope) {
   462     var resolve = function (p, scope) {
   475       var parts = p.split('.');
   463       var parts = p.split('.');
   476       return path(parts, scope);
   464       return path(parts, scope);
   479     var unsafe = function (name, scope) {
   467     var unsafe = function (name, scope) {
   480       return resolve(name, scope);
   468       return resolve(name, scope);
   481     };
   469     };
   482     var getOrDie = function (name, scope) {
   470     var getOrDie = function (name, scope) {
   483       var actual = unsafe(name, scope);
   471       var actual = unsafe(name, scope);
   484       if (actual === undefined || actual === null)
   472       if (actual === undefined || actual === null) {
   485         throw name + ' not available on this browser';
   473         throw new Error(name + ' not available on this browser');
       
   474       }
   486       return actual;
   475       return actual;
   487     };
   476     };
   488     var Global$1 = { getOrDie: getOrDie };
   477     var Global$1 = { getOrDie: getOrDie };
   489 
   478 
   490     var htmlElement = function (scope) {
   479     var htmlElement = function (scope) {
   611       fromText: fromText,
   600       fromText: fromText,
   612       fromDom: fromDom,
   601       fromDom: fromDom,
   613       fromPoint: fromPoint
   602       fromPoint: fromPoint
   614     };
   603     };
   615 
   604 
   616     var liftN = function (arr, f) {
   605     var lift2 = function (oa, ob, f) {
   617       var r = [];
   606       return oa.isSome() && ob.isSome() ? Option.some(f(oa.getOrDie(), ob.getOrDie())) : Option.none();
   618       for (var i = 0; i < arr.length; i++) {
       
   619         var x = arr[i];
       
   620         if (x.isSome()) {
       
   621           r.push(x.getOrDie());
       
   622         } else {
       
   623           return Option.none();
       
   624         }
       
   625       }
       
   626       return Option.some(f.apply(null, r));
       
   627     };
   607     };
   628 
   608 
   629     var fromElements = function (elements, scope) {
   609     var fromElements = function (elements, scope) {
   630       var doc = scope || domGlobals.document;
   610       var doc = scope || domGlobals.document;
   631       var fragment = doc.createDocumentFragment();
   611       var fragment = doc.createDocumentFragment();
   660     var each$1 = function (obj, f) {
   640     var each$1 = function (obj, f) {
   661       var props = keys(obj);
   641       var props = keys(obj);
   662       for (var k = 0, len = props.length; k < len; k++) {
   642       for (var k = 0, len = props.length; k < len; k++) {
   663         var i = props[k];
   643         var i = props[k];
   664         var x = obj[i];
   644         var x = obj[i];
   665         f(x, i, obj);
   645         f(x, i);
   666       }
   646       }
   667     };
   647     };
   668 
   648 
   669     var node = function () {
   649     var node = function () {
   670       var f = Global$1.getOrDie('Node');
   650       var f = Global$1.getOrDie('Node');
   701     };
   681     };
   702 
   682 
   703     var firstMatch = function (regexes, s) {
   683     var firstMatch = function (regexes, s) {
   704       for (var i = 0; i < regexes.length; i++) {
   684       for (var i = 0; i < regexes.length; i++) {
   705         var x = regexes[i];
   685         var x = regexes[i];
   706         if (x.test(s))
   686         if (x.test(s)) {
   707           return x;
   687           return x;
       
   688         }
   708       }
   689       }
   709       return undefined;
   690       return undefined;
   710     };
   691     };
   711     var find$1 = function (regexes, agent) {
   692     var find$1 = function (regexes, agent) {
   712       var r = firstMatch(regexes, agent);
   693       var r = firstMatch(regexes, agent);
   713       if (!r)
   694       if (!r) {
   714         return {
   695         return {
   715           major: 0,
   696           major: 0,
   716           minor: 0
   697           minor: 0
   717         };
   698         };
       
   699       }
   718       var group = function (i) {
   700       var group = function (i) {
   719         return Number(agent.replace(r, '$' + i));
   701         return Number(agent.replace(r, '$' + i));
   720       };
   702       };
   721       return nu(group(1), group(2));
   703       return nu(group(1), group(2));
   722     };
   704     };
   723     var detect = function (versionRegexes, agent) {
   705     var detect = function (versionRegexes, agent) {
   724       var cleanedAgent = String(agent).toLowerCase();
   706       var cleanedAgent = String(agent).toLowerCase();
   725       if (versionRegexes.length === 0)
   707       if (versionRegexes.length === 0) {
   726         return unknown();
   708         return unknown();
       
   709       }
   727       return find$1(versionRegexes, cleanedAgent);
   710       return find$1(versionRegexes, cleanedAgent);
   728     };
   711     };
   729     var unknown = function () {
   712     var unknown = function () {
   730       return nu(0, 0);
   713       return nu(0, 0);
   731     };
   714     };
   891     var browsers = [
   874     var browsers = [
   892       {
   875       {
   893         name: 'Edge',
   876         name: 'Edge',
   894         versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
   877         versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
   895         search: function (uastring) {
   878         search: function (uastring) {
   896           var monstrosity = contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');
   879           return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');
   897           return monstrosity;
       
   898         }
   880         }
   899       },
   881       },
   900       {
   882       {
   901         name: 'Chrome',
   883         name: 'Chrome',
   902         versionRegexes: [
   884         versionRegexes: [
  1022     var ENTITY = domGlobals.Node.ENTITY_NODE;
  1004     var ENTITY = domGlobals.Node.ENTITY_NODE;
  1023     var NOTATION = domGlobals.Node.NOTATION_NODE;
  1005     var NOTATION = domGlobals.Node.NOTATION_NODE;
  1024 
  1006 
  1025     var ELEMENT$1 = ELEMENT;
  1007     var ELEMENT$1 = ELEMENT;
  1026     var is = function (element, selector) {
  1008     var is = function (element, selector) {
  1027       var elem = element.dom();
  1009       var dom = element.dom();
  1028       if (elem.nodeType !== ELEMENT$1) {
  1010       if (dom.nodeType !== ELEMENT$1) {
  1029         return false;
  1011         return false;
  1030       } else if (elem.matches !== undefined) {
       
  1031         return elem.matches(selector);
       
  1032       } else if (elem.msMatchesSelector !== undefined) {
       
  1033         return elem.msMatchesSelector(selector);
       
  1034       } else if (elem.webkitMatchesSelector !== undefined) {
       
  1035         return elem.webkitMatchesSelector(selector);
       
  1036       } else if (elem.mozMatchesSelector !== undefined) {
       
  1037         return elem.mozMatchesSelector(selector);
       
  1038       } else {
  1012       } else {
  1039         throw new Error('Browser lacks native selectors');
  1013         var elem = dom;
       
  1014         if (elem.matches !== undefined) {
       
  1015           return elem.matches(selector);
       
  1016         } else if (elem.msMatchesSelector !== undefined) {
       
  1017           return elem.msMatchesSelector(selector);
       
  1018         } else if (elem.webkitMatchesSelector !== undefined) {
       
  1019           return elem.webkitMatchesSelector(selector);
       
  1020         } else if (elem.mozMatchesSelector !== undefined) {
       
  1021           return elem.mozMatchesSelector(selector);
       
  1022         } else {
       
  1023           throw new Error('Browser lacks native selectors');
       
  1024         }
  1040       }
  1025       }
  1041     };
  1026     };
  1042 
  1027 
  1043     var eq = function (e1, e2) {
  1028     var eq = function (e1, e2) {
  1044       return e1.dom() === e2.dom();
  1029       return e1.dom() === e2.dom();
  1054     var browser = PlatformDetection$1.detect().browser;
  1039     var browser = PlatformDetection$1.detect().browser;
  1055     var contains$1 = browser.isIE() ? ieContains : regularContains;
  1040     var contains$1 = browser.isIE() ? ieContains : regularContains;
  1056     var is$1 = is;
  1041     var is$1 = is;
  1057 
  1042 
  1058     var parent = function (element) {
  1043     var parent = function (element) {
  1059       var dom = element.dom();
  1044       return Option.from(element.dom().parentNode).map(Element.fromDom);
  1060       return Option.from(dom.parentNode).map(Element.fromDom);
       
  1061     };
  1045     };
  1062     var children = function (element) {
  1046     var children = function (element) {
  1063       var dom = element.dom();
  1047       return map(element.dom().childNodes, Element.fromDom);
  1064       return map(dom.childNodes, Element.fromDom);
       
  1065     };
  1048     };
  1066     var child = function (element, index) {
  1049     var child = function (element, index) {
  1067       var cs = element.dom().childNodes;
  1050       var cs = element.dom().childNodes;
  1068       return Option.from(cs[index]).map(Element.fromDom);
  1051       return Option.from(cs[index]).map(Element.fromDom);
  1069     };
  1052     };
  1105 
  1088 
  1106     var name = function (element) {
  1089     var name = function (element) {
  1107       var r = element.dom().nodeName;
  1090       var r = element.dom().nodeName;
  1108       return r.toLowerCase();
  1091       return r.toLowerCase();
  1109     };
  1092     };
       
  1093     var type = function (element) {
       
  1094       return element.dom().nodeType;
       
  1095     };
       
  1096     var isType$1 = function (t) {
       
  1097       return function (element) {
       
  1098         return type(element) === t;
       
  1099       };
       
  1100     };
       
  1101     var isElement = isType$1(ELEMENT);
  1110 
  1102 
  1111     var rawSet = function (dom, key, value) {
  1103     var rawSet = function (dom, key, value) {
  1112       if (isString(value) || isBoolean(value) || isNumber(value)) {
  1104       if (isString(value) || isBoolean(value) || isNumber(value)) {
  1113         dom.setAttribute(key, value + '');
  1105         dom.setAttribute(key, value + '');
  1114       } else {
  1106       } else {
  1128         return acc;
  1120         return acc;
  1129       }, {});
  1121       }, {});
  1130     };
  1122     };
  1131 
  1123 
  1132     var isSupported = function (dom) {
  1124     var isSupported = function (dom) {
  1133       return dom.style !== undefined;
  1125       return dom.style !== undefined && isFunction(dom.style.getPropertyValue);
  1134     };
  1126     };
  1135 
  1127 
  1136     var internalSet = function (dom, property, value) {
  1128     var internalSet = function (dom, property, value) {
  1137       if (!isString(value)) {
  1129       if (!isString(value)) {
  1138         domGlobals.console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);
  1130         domGlobals.console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);
  1175       for (var i = 1; i < segments.length; i++) {
  1167       for (var i = 1; i < segments.length; i++) {
  1176         joinSegment(segments[i - 1], segments[i]);
  1168         joinSegment(segments[i - 1], segments[i]);
  1177       }
  1169       }
  1178     };
  1170     };
  1179     var appendSegments = function (head$1, tail) {
  1171     var appendSegments = function (head$1, tail) {
  1180       liftN([
  1172       lift2(last(head$1), head(tail), joinSegment);
  1181         last(head$1),
       
  1182         head(tail)
       
  1183       ], joinSegment);
       
  1184     };
  1173     };
  1185     var createSegment = function (scope, listType) {
  1174     var createSegment = function (scope, listType) {
  1186       var segment = {
  1175       var segment = {
  1187         list: Element.fromTag(listType, scope),
  1176         list: Element.fromTag(listType, scope),
  1188         item: Element.fromTag('li', scope)
  1177         item: Element.fromTag('li', scope)
  1268       var children$1 = children(li);
  1257       var children$1 = children(li);
  1269       var content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
  1258       var content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
  1270       return map(content, deep);
  1259       return map(content, deep);
  1271     };
  1260     };
  1272     var createEntry = function (li, depth, isSelected) {
  1261     var createEntry = function (li, depth, isSelected) {
  1273       return parent(li).map(function (list) {
  1262       return parent(li).filter(isElement).map(function (list) {
  1274         return {
  1263         return {
  1275           depth: depth,
  1264           depth: depth,
  1276           isSelected: isSelected,
  1265           isSelected: isSelected,
  1277           content: cloneItemContent(li),
  1266           content: cloneItemContent(li),
  1278           itemAttributes: clone(li),
  1267           itemAttributes: clone(li),
  1300       return nu;
  1289       return nu;
  1301     };
  1290     };
  1302     var baseMerge = function (merger) {
  1291     var baseMerge = function (merger) {
  1303       return function () {
  1292       return function () {
  1304         var objects = new Array(arguments.length);
  1293         var objects = new Array(arguments.length);
  1305         for (var i = 0; i < objects.length; i++)
  1294         for (var i = 0; i < objects.length; i++) {
  1306           objects[i] = arguments[i];
  1295           objects[i] = arguments[i];
  1307         if (objects.length === 0)
  1296         }
       
  1297         if (objects.length === 0) {
  1308           throw new Error('Can\'t merge zero objects');
  1298           throw new Error('Can\'t merge zero objects');
       
  1299         }
  1309         var ret = {};
  1300         var ret = {};
  1310         for (var j = 0; j < objects.length; j++) {
  1301         for (var j = 0; j < objects.length; j++) {
  1311           var curObject = objects[j];
  1302           var curObject = objects[j];
  1312           for (var key in curObject)
  1303           for (var key in curObject) {
  1313             if (hasOwnProperty.call(curObject, key)) {
  1304             if (hasOwnProperty.call(curObject, key)) {
  1314               ret[key] = merger(ret[key], curObject[key]);
  1305               ret[key] = merger(ret[key], curObject[key]);
  1315             }
  1306             }
       
  1307           }
  1316         }
  1308         }
  1317         return ret;
  1309         return ret;
  1318       };
  1310       };
  1319     };
  1311     };
  1320     var merge = baseMerge(shallow);
  1312     var merge = baseMerge(shallow);
  1472         return indentEntry(indentation, entry);
  1464         return indentEntry(indentation, entry);
  1473       });
  1465       });
  1474     };
  1466     };
  1475     var getItemSelection = function (editor) {
  1467     var getItemSelection = function (editor) {
  1476       var selectedListItems = map(Selection.getSelectedListItems(editor), Element.fromDom);
  1468       var selectedListItems = map(Selection.getSelectedListItems(editor), Element.fromDom);
  1477       return liftN([
  1469       return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), function (start, end) {
  1478         find(selectedListItems, not(hasFirstChildList)),
       
  1479         find(reverse(selectedListItems), not(hasFirstChildList))
       
  1480       ], function (start, end) {
       
  1481         return {
  1470         return {
  1482           start: start,
  1471           start: start,
  1483           end: end
  1472           end: end
  1484         };
  1473         };
  1485       });
  1474       });
  1527       }
  1516       }
  1528     };
  1517     };
  1529     var SplitList = { splitList: splitList };
  1518     var SplitList = { splitList: splitList };
  1530 
  1519 
  1531     var outdentDlItem = function (editor, item) {
  1520     var outdentDlItem = function (editor, item) {
  1532       if (is$1(item, 'DD')) {
  1521       if (is$1(item, 'dd')) {
  1533         mutate(item, 'DT');
  1522         mutate(item, 'dt');
  1534       } else if (is$1(item, 'DT')) {
  1523       } else if (is$1(item, 'dt')) {
  1535         parent(item).each(function (dl) {
  1524         parent(item).each(function (dl) {
  1536           return SplitList.splitList(editor, dl.dom(), item.dom());
  1525           return SplitList.splitList(editor, dl.dom(), item.dom());
  1537         });
  1526         });
  1538       }
  1527       }
  1539     };
  1528     };
  1540     var indentDlItem = function (item) {
  1529     var indentDlItem = function (item) {
  1541       if (is$1(item, 'DT')) {
  1530       if (is$1(item, 'dt')) {
  1542         mutate(item, 'DD');
  1531         mutate(item, 'dd');
  1543       }
  1532       }
  1544     };
  1533     };
  1545     var dlIndentation = function (editor, indentation, dlItems) {
  1534     var dlIndentation = function (editor, indentation, dlItems) {
  1546       if (indentation === 'Indent') {
  1535       if (indentation === 'Indent') {
  1547         each(dlItems, indentDlItem);
  1536         each(dlItems, indentDlItem);