/** * 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.2.0 (2020-02-13) */ !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()))pt.getAt(n,l,s).filter(r).isNone()?(o=f,void 0,i=e[l].element(),u=un.fromTag("td"),_n(u,un.fromTag("br")),(o?_n:Oe)(i,u)):f=!0}}(r,o,i,t),function(e,n){var t=h(at.firstLayer(e,"tr"),function(e){return 0===e.dom().childElementCount});p(t,Ln),n.minCol()!==n.maxCol()&&n.minRow()!==n.maxRow()||p(at.firstLayer(e,"th,td"),function(e){K(e,"rowspan"),K(e,"colspan")}),K(e,"width"),K(e,"height"),ce(e,"width"),ce(e,"height")}(e,i),e};function bt(e){return Mt.get(e)}function wt(e){return Mt.getOption(e)}function yt(e,n){Mt.set(e,n)}function Ct(e){return"img"===nn(e)?1:wt(e).fold(function(){return Se(e).length},function(e){return e.length})}function St(e){return function(e){return wt(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 Pt(e,n,t){var r=pt.findItem(e,n,Pn),o=pt.findItem(e,t,Pn);return r.bind(function(n){return o.map(function(e){return function(e,n){return Xn(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 Mt=function $f(t,r){var n=function(e){return t(e)?We.from(e.dom().nodeValue):We.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}}}(rn,"text"),Wt=["img","br"],_t=function(e,i){var u=function(e){for(var n=Se(e),t=n.length-1;0<=t;t--){var r=n[t];if(i(r))return We.some(r);var o=u(r);if(o.isSome())return o}return We.none()};return u(e)},Lt={cellOperations:function(i,e,u){return{row:It(e),cell:function(e){var n=ve(e.element()),t=un.fromTag(nn(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()},zt=function(e,n){for(var t=!0,r=b(Bt,n),o=n.startRow();o<=n.finishRow();o++)for(var i=n.startCol();i<=n.finishCol();i++)t=t&&pt.getAt(e,o,i).exists(r);return t?We.some(n):We.none()},Ht=Pt,Ft=function(n,e,t){return Pt(n,e,t).bind(function(e){return zt(n,e)})},Ut=function(r,e,o,i){return pt.findItem(r,e,Pn).bind(function(e){var n=0=n.length-1)return We.none();var e=n[t].fold(function(){var e=E(n.slice(0,t));return N(e,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return We.some({value:e,delta:0})}),r=n[t+1].fold(function(){var e=n.slice(t+1);return N(e,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return We.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=Pe(e.parent(),"."+iu);p(n,Ln)}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,iu),_n(t.parent(),n)})})}function Bo(e,n,t,r,o,i){var u=Vr(n);!function(e,n,r,o){Io(e,n,function(e,n){var t=ou(n.row(),r.left()-e.left(),n.y()-e.top(),o,7);return To(t,uu),t})}(e,0',r.insertBefore(o,r.firstChild)),""===u.align?Nc(t,r):Ac(t,r,u.align),t.focus(),t.addVisual()})}function Gi(n){return function(e){return We.from(e.dom.getParent(e.selection.getStart(),n)).map(un.fromDom)}}function Yi(e){function n(){e.stopPropagation()}function t(){e.preventDefault()}var r=un.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(la,e,n,i,o)}}function Xi(e,n,t){return function(e,n,t,r){return Ki(e,n,t,r,!1)}(e,n,fa,t)}var $i=function(e){var n=dt(e);return pt.generate(n).grid()},Ji=function(o,e){function n(e,n){0=n.length||e.column()>pu.cellLength(n[0]))return Cu.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=pu.cellLength(t[0]),u=t.length;return Cu.value({rowDelta:D(r.length-u),colDelta:D(o.length-i)})},xu=function(e,n){var t=pu.cellLength(e[0]),r=pu.cellLength(n[0]);return{rowDelta:D(0),colDelta:D(t-r)}},Ru=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)},Tu=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++)pu.mutateCell(e[o],i,Vn(r(),!1));return e},Ou=function(e,n,t,r){for(var o=!0,i=0;i=e.left&&n<=e.right&&t>=e.top&&t<=e.bottom}function Ea(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=bt(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 fl(n,t,e){var r=n.move(e,5),o=vf(t,n,e,r,100).getOr(r);return function(e,n,t){return e.point(n)>t.getInnerHeight()?We.some(e.point(n)-t.getInnerHeight()):e.point(n)<0?We.some(-e.point(n)):We.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 sl(e,n){return function(e,n,t){return Qn(e,n,t).isSome()}(e,function(e){return be(e).exists(function(e){return Pn(e,n)})})}function dl(n,r,o,e,i){return tt(e,"td,th",r).bind(function(t){return tt(t,"table",r).bind(function(e){return sl(i,e)?Rf(n,r,o).bind(function(n){return tt(n.finish(),"td,th",r).map(function(e){return{start:D(t),finish:D(e),range:D(n)}})}):We.none()})})}function ml(e,n){return tt(e,"td,th",n)}var gl=function(n,t,e){function r(){l.stop(),u.isOn()&&(u.off(),i.trigger.stop())}var o=!1,i=aa.create({start:ca([]),stop:ca([])}),u=va(),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()+")"}},df=function(e,n,t){return tn(n)?al(e,n).map(cl):rn(n)?function(e,n,t){return 0<=t&&to.bottom()?gf.retry(i):t.top()===o.bottom()?gf.retry(sf.moveDown(o,1)):ll(e,n,o)?gf.retry(sf.translate(i,5,0)):gf.none()},move:sf.moveDown,gather:rl},vf=function(t,r,o,i,u){return 0===u?We.some(i):function(e,n,t){return e.elementFromPoint(n,t).filter(function(e){return"table"===nn(e)}).isSome()}(t,i.left(),r.point(i))?function(e,n,t,r,o){return vf(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(We.none,function(n){return mf(t,n).bind(function(e){return r.adjuster(t,n,e,o,i).fold(We.none,function(e){return vf(t,r,o,e,u-1)})}).orThunk(function(){return We.some(i)})},We.none)})},bf={tryUp:b(fl,pf),tryDown:b(fl,hf),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)},wf=ge(),yf=function(r,o,i,u,c,a){return 0===a?We.none():xf(r,o,i,u,c).bind(function(e){var n=r.fromSitus(e),t=rf.verify(r,i,u,n.finish(),n.foffset(),c.failure,o);return rf.cata(t,function(){return We.none()},function(){return We.some(e)},function(e){return Pn(i,e)&&0===u?Cf(r,i,u,sf.moveUp,c):yf(r,o,e,0,c,a-1)},function(e){return Pn(i,e)&&u===Ct(e)?Cf(r,i,u,sf.moveDown,c):yf(r,o,e,Ct(e),c,a-1)})})},Cf=function(n,e,t,r,o){return df(n,e,t).bind(function(e){return Sf(n,o,r(e,bf.getJumpSize()))})},Sf=function(e,n,t){return wf.browser.isChrome()||wf.browser.isSafari()||wf.browser.isFirefox()||wf.browser.isEdge()?n.otherRetry(e,t):wf.browser.isIE()?n.ieRetry(e,t):We.none()},xf=function(n,e,t,r,o){return df(n,t,r).bind(function(e){return Sf(n,o,e)})},Rf=function(n,t,r){return function(o,i,u){return o.getSelection().bind(function(r){return af(i,r.finish(),r.foffset(),u).fold(function(){return We.some(nf(r.finish(),r.foffset()))},function(e){var n=o.fromSitus(e),t=rf.verify(o,r.finish(),r.foffset(),n.finish(),n.foffset(),u.failure,i);return lf(t)})})}(n,t,r).bind(function(e){return yf(n,t,e.element(),e.offset(),r,20).map(n.fromSitus)})},Tf=ge(),Of=function(e,n,t,r,o,i){return Tf.browser.isIE()?We.none():i(r,n).orThunk(function(){return dl(e,n,t,r,o).map(function(e){var n=e.range();return jl.create(We.some(Hl.makeSitus(n.start(),n.soffset(),n.finish(),n.foffset())),!0)})})},Df=function(e,n,t,r,o,i,u){return dl(e,t,r,o,i).bind(function(e){return Ul.detect(n,t,e.start(),e.finish(),u)})},Af=function(e,r){return tt(e,"tr",r).bind(function(t){return tt(t,"table",r).bind(function(e){var n=Pe(e,"tr");return Pn(t,n[0])?function(e,n,t){return Ql(ef,e,n,t)}(e,function(e){return Rt(e).isSome()},r).map(function(e){var n=Ct(e);return jl.create(We.some(Hl.makeSitus(e,n,e,n)),!0)}):We.none()})})},Ef=function(e,r){return tt(e,"tr",r).bind(function(t){return tt(t,"table",r).bind(function(e){var n=Pe(e,"tr");return Pn(t,n[n.length-1])?function(e,n,t){return Zl(ef,e,n,t)}(e,function(e){return xt(e).isSome()},r).map(function(e){return jl.create(We.some(Hl.makeSitus(e,0,e,0)),!0)}):We.none()})})};function Nf(n){return function(e){return e===n}}function kf(c){return{elementFromPoint:function(e,n){return un.fromPoint(un.fromDom(c.document),e,n)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,n,t,r){var o=El.exact(e,n,t,r);return Ka(c,o).map(_f)},getSelection:function(){return Ya(c).map(function(e){return Hl.convertToRange(c,e)})},fromSitus:function(e){var n=El.relative(e.start(),e.finish());return Hl.convertToRange(c,n)},situsFromPoint:function(e,n){return Xa(c,e,n).map(function(e){return zl(e.start(),e.soffset(),e.finish(),e.foffset())})},clearSelection:function(){!function(e){e.getSelection().removeAllRanges()}(c)},collapseSelection:function(u){void 0===u&&(u=!1),Ya(c).each(function(e){return e.fold(function(e){return e.collapse(u)},function(e,n){var t=u?e:n;Ua(c,t,t)},function(e,n,t,r){var o=u?e:t,i=u?n:r;Fa(c,o,i,o,i)})})},setSelection:function(e){Fa(c,e.start(),e.soffset(),e.finish(),e.foffset())},setRelativeSelection:function(e,n){Ua(c,e,n)},selectContents:function(e){Ga(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 so(t,r)}(un.fromDom(c.document)).top()},scrollBy:function(e,n){!function(e,n,t){(t!==undefined?t.dom():f.document).defaultView.scrollBy(e,n)}(e,n,un.fromDom(c.document))}}}function If(n,e){p(e,function(e){!function(e,n){So(e)?e.dom().classList.remove(n):Ro(e,n);Oo(e)}(n,e)})}var Bf={down:{traverse:Ce,gather:rl,relative:Dl.before,otherRetry:bf.tryDown,ieRetry:bf.ieTryDown,failure:rf.failedDown},up:{traverse:ye,gather:tl,relative:Dl.before,otherRetry:bf.tryUp,ieRetry:bf.ieTryUp,failure:rf.failedUp}},Pf=Nf(38),Mf=Nf(40),Wf={ltr:{isBackward:Nf(37),isForward:Nf(39)},rtl:{isBackward:Nf(39),isForward:Nf(37)},isUp:Pf,isDown:Mf,isNavigation:function(e){return 37<=e&&e<=40}},_f=function(e){return{left:e.left(),top:e.top(),right:e.right(),bottom:e.bottom(),width:e.width(),height:e.height()}},Lf=(ge().browser.isSafari(),P("rows","cols")),jf={mouse:function(e,n,t,r){var o=function c(o,i,n,u){function t(){r=We.none()}var r=We.none();return{mousedown:function(e){u.clear(i),r=ml(e.target(),n)},mouseover:function(e){r.each(function(r){u.clearBeforeUpdate(i),ml(e.target(),n).each(function(t){gr(r,t,n).each(function(e){var n=e.boxes().getOr([]);(1