/** * Copyright (c) Tiny Technologies, Inc. All rights reserved. * Licensed under the LGPL or a commercial license. * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * * Version: 5.1.6 (2020-01-28) */ !function(f){"use strict";function o(e){return e}var R=function(e){function n(){return t}var t=e;return{get:n,set:function(e){t=e},clone:function(){return R(n())}}},T=function(){},O=function(t,r){return function(){for(var e=[],n=0;nt.maxRow()||st.maxCol()))gt.getAt(n,l,s).filter(r).isNone()?(o=f,void 0,i=e[l].element(),u=on.fromTag("td"),Wn(u,on.fromTag("br")),(o?Wn:Te)(i,u)):f=!0}}(r,o,i,t),function(e,n){var t=h(ct.firstLayer(e,"tr"),function(e){return 0===e.dom().childElementCount});p(t,_n),n.minCol()!==n.maxCol()&&n.minRow()!==n.maxRow()||p(ct.firstLayer(e,"th,td"),function(e){Y(e,"rowspan"),Y(e,"colspan")}),Y(e,"width"),Y(e,"height"),ue(e,"width"),ue(e,"height")}(e,i),e};function vt(e){return Pt.get(e)}function bt(e){return Pt.getOption(e)}function wt(e,n){Pt.set(e,n)}function yt(e){return"img"===en(e)?1:bt(e).fold(function(){return Ce(e).length},function(e){return e.length})}function Ct(e){return function(e){return bt(e).filter(function(e){return 0!==e.trim().length||-1=e.startCol()&&n.column()+n.colspan()-1<=e.finishCol()&&n.row()>=e.startRow()&&n.row()+n.rowspan()-1<=e.finishRow()}function Bt(e,n,t){var r=gt.findItem(e,n,Bn),o=gt.findItem(e,t,Bn);return r.bind(function(n){return o.map(function(e){return function(e,n){return Kn(Math.min(e.row(),n.row()),Math.min(e.column(),n.column()),Math.max(e.row()+e.rowspan()-1,n.row()+n.rowspan()-1),Math.max(e.column()+e.colspan()-1,n.column()+n.colspan()-1))}(n,e)})})}var Pt=function Zf(t,r){var n=function(e){return t(e)?Me.from(e.dom().nodeValue):Me.none()};return{get:function(e){if(!t(e))throw new Error("Can only get "+r+" value of a "+r+" node");return n(e).getOr("")},getOption:n,set:function(e,n){if(!t(e))throw new Error("Can only set raw "+r+" value of a "+r+" node");e.dom().nodeValue=n}}}(tn,"text"),Mt=["img","br"],Wt=function(e,i){var u=function(e){for(var n=Ce(e),t=n.length-1;0<=t;t--){var r=n[t];if(i(r))return Me.some(r);var o=u(r);if(o.isSome())return o}return Me.none()};return u(e)},_t={cellOperations:function(i,e,u){return{row:kt(e),cell:function(e){var n=he(e.element()),t=on.fromTag(en(e.element()),n.dom()),r=u.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),o=0=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},jt=function(e,n){for(var t=!0,r=b(It,n),o=n.startRow();o<=n.finishRow();o++)for(var i=n.startCol();i<=n.finishCol();i++)t=t&>.getAt(e,o,i).exists(r);return t?Me.some(n):Me.none()},zt=Bt,Ht=function(n,e,t){return Bt(n,e,t).bind(function(e){return jt(n,e)})},Ft=function(r,e,o,i){return gt.findItem(r,e,Bn).bind(function(e){var n=0=n.length-1)return Me.none();var e=n[t].fold(function(){var e=E(n.slice(0,t));return wo(e,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return Me.some({value:e,delta:0})}),r=n[t+1].fold(function(){var e=n.slice(t+1);return wo(e,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return Me.some({value:e,delta:1})});return e.bind(function(t){return r.map(function(e){var n=e.delta+t.delta;return Math.abs(e.value-t.value)/n})})}function No(e){var n=e.replace(/\./g,"-");return{resolve:function(e){return n+"-"+e}}}function ko(e){var n=Be(e.parent(),"."+uu);p(n,_n)}function Io(t,e,r){var o=t.origin();p(e,function(e,n){e.each(function(e){var n=r(o,e);To(n,uu),Wn(t.parent(),n)})})}function Bo(e,n,t,r,o,i){var u=qr(n);!function(e,n,r,o){Io(e,n,function(e,n){var t=iu(n.row(),r.left()-e.left(),n.y()-e.top(),o,7);return To(t,cu),t})}(e,0',r.insertBefore(o,r.firstChild)),""===u.align?kc(t,r):Ec(t,r,u.align),t.focus(),t.addVisual()})}function Gi(n){return function(e){return Me.from(e.dom.getParent(e.selection.getStart(),n)).map(on.fromDom)}}function Yi(e){function n(){e.stopPropagation()}function t(){e.preventDefault()}var r=on.fromDom(e.target),o=O(t,n);return function(e,n,t,r,o,i,u){return{target:D(e),x:D(n),y:D(t),stop:r,prevent:o,kill:i,raw:D(u)}}(r,e.clientX,e.clientY,n,t,o,e)}function Ki(e,n,t,r,o){var i=function(n,t){return function(e){n(e)&&t(Yi(e))}}(t,r);return e.dom().addEventListener(n,i,o),{unbind:b(da,e,n,i,o)}}function Xi(e,n,t){return function(e,n,t,r){return Ki(e,n,t,r,!1)}(e,n,ma,t)}var $i,Ji=function(e){var n=st(e);return gt.generate(n).grid()},Qi=function(o,e){function n(e,n){0=n.length||e.column()>hu.cellLength(n[0]))return Su.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=n.slice(e.row()),o=r[0].cells().slice(e.column()),i=hu.cellLength(t[0]),u=t.length;return Su.value({rowDelta:D(r.length-u),colDelta:D(o.length-i)})},Ru=function(e,n){var t=hu.cellLength(e[0]),r=hu.cellLength(n[0]);return{rowDelta:D(0),colDelta:D(t-r)}},Tu=function(e,n,t){var r=n.colDelta()<0?Go:o;return(n.rowDelta()<0?Vo:o)(r(e,Math.abs(n.colDelta()),t),Math.abs(n.rowDelta()),t)},Ou=function(e,n,t,r){if(0===e.length)return e;for(var o=n.startRow();o<=n.finishRow();o++)for(var i=n.startCol();i<=n.finishCol();i++)hu.mutateCell(e[o],i,qn(r(),!1));return e},Du=function(e,n,t,r){for(var o=!0,i=0;i=e.left&&n<=e.right&&t>=e.top&&t<=e.bottom}function Ia(t,r,e,n,o){function i(e){var n=t.dom().createRange();return n.setStart(r.dom(),e),n.collapse(!0),n}var u=vt(r).length,c=function(e,n,t,r,o){if(0===o)return 0;if(n===r)return o-1;for(var i=r,u=1;un.right()}(t,e)})})}function ml(n,t,e){var r=n.move(e,5),o=yf(t,n,e,r,100).getOr(r);return function(e,n,t){return e.point(n)>t.getInnerHeight()?Me.some(e.point(n)-t.getInnerHeight()):e.point(n)<0?Me.some(-e.point(n)):Me.none()}(n,o,t).fold(function(){return t.situsFromPoint(o.left(),n.point(o))},function(e){return t.scrollBy(0,e),t.situsFromPoint(o.left(),n.point(o)-e)})}function gl(e,n){return function(e,n,t){return Jn(e,n,t).isSome()}(e,function(e){return ve(e).exists(function(e){return Bn(e,n)})})}function pl(n,r,o,e,i){return nt(e,"td,th",r).bind(function(t){return nt(t,"table",r).bind(function(e){return gl(i,e)?Df(n,r,o).bind(function(n){return nt(n.finish(),"td,th",r).map(function(e){return{start:D(t),finish:D(e),range:D(n)}})}):Me.none()})})}function hl(e,n){return nt(e,"td,th",n)}var vl=function(n,t,e){function r(){l.stop(),u.isOn()&&(u.off(),i.trigger.stop())}var o=!1,i=sa.create({start:fa([]),stop:fa([])}),u=ya(),c=function(t,r){var o=null;return{cancel:function(){null!==o&&(f.clearTimeout(o),o=null)},throttle:function(){for(var e=[],n=0;nr.left&&o.left ("+e.right()+", "+e.bottom()+")"}},pf=function(e,n,t){return nn(n)?sl(e,n).map(fl):tn(n)?function(e,n,t){return 0<=t&&to.bottom()?vf.retry(i):t.top()===o.bottom()?vf.retry(gf.moveDown(o,1)):dl(e,n,o)?vf.retry(gf.translate(i,5,0)):vf.none()},move:gf.moveDown,gather:ul},yf=function(t,r,o,i,u){return 0===u?Me.some(i):function(e,n,t){return e.elementFromPoint(n,t).filter(function(e){return"table"===en(e)}).isSome()}(t,i.left(),r.point(i))?function(e,n,t,r,o){return yf(e,n,t,n.move(r,5),o)}(t,r,o,i,u-1):t.situsFromPoint(i.left(),r.point(i)).bind(function(e){return e.start().fold(Me.none,function(n){return hf(t,n).bind(function(e){return r.adjuster(t,n,e,o,i).fold(Me.none,function(e){return yf(t,r,o,e,u-1)})}).orThunk(function(){return Me.some(i)})},Me.none)})},Cf={tryUp:b(ml,bf),tryDown:b(ml,wf),ieTryUp:function(e,n){return e.situsFromPoint(n.left(),n.top()-5)},ieTryDown:function(e,n){return e.situsFromPoint(n.left(),n.bottom()+5)},getJumpSize:D(5)},Sf=me(),xf=function(r,o,i,u,c,a){return 0===a?Me.none():Of(r,o,i,u,c).bind(function(e){var n=r.fromSitus(e),t=cf.verify(r,i,u,n.finish(),n.foffset(),c.failure,o);return cf.cata(t,function(){return Me.none()},function(){return Me.some(e)},function(e){return Bn(i,e)&&0===u?Rf(r,i,u,gf.moveUp,c):xf(r,o,e,0,c,a-1)},function(e){return Bn(i,e)&&u===yt(e)?Rf(r,i,u,gf.moveDown,c):xf(r,o,e,yt(e),c,a-1)})})},Rf=function(n,e,t,r,o){return pf(n,e,t).bind(function(e){return Tf(n,o,r(e,Cf.getJumpSize()))})},Tf=function(e,n,t){return Sf.browser.isChrome()||Sf.browser.isSafari()||Sf.browser.isFirefox()||Sf.browser.isEdge()?n.otherRetry(e,t):Sf.browser.isIE()?n.ieRetry(e,t):Me.none()},Of=function(n,e,t,r,o){return pf(n,t,r).bind(function(e){return Tf(n,o,e)})},Df=function(n,t,r){return function(o,i,u){return o.getSelection().bind(function(r){return sf(i,r.finish(),r.foffset(),u).fold(function(){return Me.some(of(r.finish(),r.foffset()))},function(e){var n=o.fromSitus(e),t=cf.verify(o,r.finish(),r.foffset(),n.finish(),n.foffset(),u.failure,i);return df(t)})})}(n,t,r).bind(function(e){return xf(n,t,e.element(),e.offset(),r,20).map(n.fromSitus)})},Af=me(),Ef=function(e,n,t,r,o,i){return Af.browser.isIE()?Me.none():i(r,n).orThunk(function(){return pl(e,n,t,r,o).map(function(e){var n=e.range();return Fl.create(Me.some(ql.makeSitus(n.start(),n.soffset(),n.finish(),n.foffset())),!0)})})},Nf=function(e,n,t,r,o,i,u){return pl(e,t,r,o,i).bind(function(e){return Gl.detect(n,t,e.start(),e.finish(),u)})},kf=function(e,r){return nt(e,"tr",r).bind(function(t){return nt(t,"table",r).bind(function(e){var n=Be(e,"tr");return Bn(t,n[0])?function(e,n,t){return nf(rf,e,n,t)}(e,function(e){return xt(e).isSome()},r).map(function(e){var n=yt(e);return Fl.create(Me.some(ql.makeSitus(e,n,e,n)),!0)}):Me.none()})})},If=function(e,r){return nt(e,"tr",r).bind(function(t){return nt(t,"table",r).bind(function(e){var n=Be(e,"tr");return Bn(t,n[n.length-1])?function(e,n,t){return tf(rf,e,n,t)}(e,function(e){return St(e).isSome()},r).map(function(e){return Fl.create(Me.some(ql.makeSitus(e,0,e,0)),!0)}):Me.none()})})};function Bf(n){return function(e){return e===n}}function Pf(c){return{elementFromPoint:function(e,n){return on.fromPoint(on.fromDom(c.document),e,n)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,n,t,r){var o=Il.exact(e,n,t,r);return Ja(c,o).map(zf)},getSelection:function(){return $a(c).map(function(e){return ql.convertToRange(c,e)})},fromSitus:function(e){var n=Il.relative(e.start(),e.finish());return ql.convertToRange(c,n)},situsFromPoint:function(e,n){return Qa(c,e,n).map(function(e){return Ul(e.start(),e.soffset(),e.finish(),e.foffset())})},clearSelection:function(){!function(e){e.getSelection().removeAllRanges()}(c)},collapseSelection:function(u){void 0===u&&(u=!1),$a(c).each(function(e){return e.fold(function(e){return e.collapse(u)},function(e,n){var t=u?e:n;Ga(c,t,t)},function(e,n,t,r){var o=u?e:t,i=u?n:r;Va(c,o,i,o,i)})})},setSelection:function(e){Va(c,e.start(),e.soffset(),e.finish(),e.foffset())},setRelativeSelection:function(e,n){Ga(c,e,n)},selectContents:function(e){Xa(c,e)},getInnerHeight:function(){return c.innerHeight},getScrollY:function(){return function(e){var n=e!==undefined?e.dom():f.document,t=n.body.scrollLeft||n.documentElement.scrollLeft,r=n.body.scrollTop||n.documentElement.scrollTop;return fo(t,r)}(on.fromDom(c.document)).top()},scrollBy:function(e,n){!function(e,n,t){(t!==undefined?t.dom():f.document).defaultView.scrollBy(e,n)}(e,n,on.fromDom(c.document))}}}function Mf(n,e){p(e,function(e){!function(e,n){So(e)?e.dom().classList.remove(n):Ro(e,n);Oo(e)}(n,e)})}var Wf={down:{traverse:ye,gather:ul,relative:Nl.before,otherRetry:Cf.tryDown,ieRetry:Cf.ieTryDown,failure:cf.failedDown},up:{traverse:we,gather:il,relative:Nl.before,otherRetry:Cf.tryUp,ieRetry:Cf.ieTryUp,failure:cf.failedUp}},_f=Bf(38),Lf=Bf(40),jf={ltr:{isBackward:Bf(37),isForward:Bf(39)},rtl:{isBackward:Bf(39),isForward:Bf(37)},isUp:_f,isDown:Lf,isNavigation:function(e){return 37<=e&&e<=40}},zf=function(e){return{left:e.left(),top:e.top(),right:e.right(),bottom:e.bottom(),width:e.width(),height:e.height()}},Hf=(me().browser.isSafari(),B("rows","cols")),Ff={mouse:function(e,n,t,r){var o=function c(o,i,n,u){function t(){r=Me.none()}var r=Me.none();return{mousedown:function(e){u.clear(i),r=hl(e.target(),n)},mouseover:function(e){r.each(function(r){u.clearBeforeUpdate(i),hl(e.target(),n).each(function(t){mr(r,t,n).each(function(e){var n=e.boxes().getOr([]);(1