/** * 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.0.14 (2019-08-19) */ !function(m){"use strict";var l=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return l(n())}}},y=function(){},C=function(n,r){return function(){for(var e=[],t=0;tn.maxRow()||sn.maxCol()||(vn.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=Ee.fromTag("td"),Nt(u,Ee.fromTag("br")),(o?Nt:Et)(i,u)):f=!0)}(m,g,p,d),o=e,f=p,s=M(un.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),B(s,Mt),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||B(un.firstLayer(o,"th,td"),function(e){Ce(e,"rowspan"),Ce(e,"colspan")}),Ce(o,"width"),Ce(o,"height"),je(o,"width"),je(o,"height"),e};var yn=function $f(n,r){var t=function(e){return n(e)?x.from(e.dom().nodeValue):x.none()};return{get:function(e){if(!n(e))throw new Error("Can only get "+r+" value of a "+r+" node");return t(e).getOr("")},getOption:t,set:function(e,t){if(!n(e))throw new Error("Can only set raw "+r+" value of a "+r+" node");e.dom().nodeValue=t}}}(pe,"text"),Cn=function(e){return yn.get(e)},Sn=function(e){return yn.getOption(e)},xn=function(e,t){yn.set(e,t)},Rn=function(e){return"img"===fe(e)?1:Sn(e).fold(function(){return Tt(e).length},function(e){return e.length})},Tn=["img","br"],On=function(e){return Sn(e).filter(function(e){return 0!==e.trim().length||-1=e.startCol()&&t.column()+t.colspan()-1<=e.finishCol()&&t.row()>=e.startRow()&&t.row()+t.rowspan()-1<=e.finishRow()},Hn=function(e,t){var n=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return n<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},Fn=function(e,t){for(var n=!0,r=b(zn,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&vn.getAt(e,o,i).exists(r);return n?x.some(t):x.none()},Un=function(e,t,n){var r=vn.findItem(e,t,vt),o=vn.findItem(e,n,vt);return r.bind(function(r){return o.map(function(e){return t=r,n=e,Yt(Math.min(t.row(),n.row()),Math.min(t.column(),n.column()),Math.max(t.row()+t.rowspan()-1,n.row()+n.rowspan()-1),Math.max(t.column()+t.colspan()-1,n.column()+n.colspan()-1));var t,n})})},qn=Un,Vn=function(t,e,n){return Un(t,e,n).bind(function(e){return Fn(t,e)})},Gn=function(r,e,o,i){return vn.findItem(r,e,vt).bind(function(e){var t=0=t.length-1)return x.none();var e=t[n].fold(function(){var e=V(t.slice(0,n));return Oo(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return x.some({value:e,delta:0})}),r=t[n+1].fold(function(){var e=t.slice(n+1);return Oo(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return x.some({value:e,delta:1})});return e.bind(function(n){return r.map(function(e){var t=e.delta+n.delta;return Math.abs(e.value-n.value)/t})})},jo=function(e,t,n){var r=e();return L(r,t).orThunk(function(){return x.from(r[0]).orThunk(n)}).map(function(e){return e.element()})},zo=function(n){var e=n.grid(),t=_o(0,e.columns()),r=_o(0,e.rows());return P(t,function(t){return jo(function(){return U(r,function(e){return vn.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(S([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return vn.getAt(n,0,t)})})},Ho=function(n){var e=n.grid(),t=_o(0,e.rows()),r=_o(0,e.columns());return P(t,function(t){return jo(function(){return U(r,function(e){return vn.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(S([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return vn.getAt(n,t,0)})})},Fo=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},Uo={resolve:Fo("ephox-snooker").resolve},qo=function(e,t,n,r,o){var i=Ee.fromTag("div");return Me(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),be(i,{"data-column":e,role:"presentation"}),i},Vo=function(e,t,n,r,o){var i=Ee.fromTag("div");return Me(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),be(i,{"data-row":e,role:"presentation"}),i},Go=Uo.resolve("resizer-bar"),Yo=Uo.resolve("resizer-rows"),Ko=Uo.resolve("resizer-cols"),Xo=function(e){var t=Jt(e.parent(),"."+Go);B(t,Mt)},$o=function(n,e,r){var o=n.origin();B(e,function(e,t){e.each(function(e){var t=r(o,e);Bo(t,Go),Nt(n.parent(),t)})})},Jo=function(e,t,n,r,o,i){var u,c,a,l,f=uo(t),s=0=t.length||e.column()>ci.cellLength(t[0]))return Ci.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=t.slice(e.row()),o=r[0].cells().slice(e.column()),i=ci.cellLength(n[0]),u=n.length;return Ci.value({rowDelta:S(r.length-u),colDelta:S(o.length-i)})},Oi=function(e,t){var n=ci.cellLength(e[0]),r=ci.cellLength(t[0]);return{rowDelta:S(0),colDelta:S(n-r)}},Di=function(e,t,n){var r=t.colDelta()<0?Ri:o;return(t.rowDelta()<0?xi:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},Ai=function(e,t,n,r){if(0===e.length)return e;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)ci.mutateCell(e[o],i,Ut(r(),!1));return e},Ei=function(e,t,n,r){for(var o=!0,i=0;i',r.insertBefore(o,r.firstChild)),""===u.align?bc(n,r):hc(n,r,u.align),n.focus(),n.addVisual()})},ta=function(e,t){var n,r=e.dom,o=Ic(e,ic(e));!1===t?(n=r.getParent(e.selection.getStart(),"table"))?o=Ac(e,n,ic(e)):ic(e)&&(o.borderstyle="",o.bordercolor="",o.backgroundcolor=""):(o.cols="1",o.rows="1",ic(e)&&(o.borderstyle="",o.bordercolor="",o.backgroundcolor=""));var i=0=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},Qa=function(n,r,e,t,o){var i=function(e){var t=n.dom().createRange();return t.setStart(r.dom(),e),t.collapse(!0),t},u=Cn(r).length,c=function(e,t,n,r,o){if(0===o)return 0;if(t===r)return o-1;for(var i=r,u=1;ur.left&&o.left ("+e.right()+", "+e.bottom()+")"}},cf=function(e){return uf.nu({left:e.left,top:e.top,right:e.right,bottom:e.bottom})},af=function(e,t){return x.some(e.getRect(t))},lf=function(e,t,n){return ge(t)?af(e,t).map(cf):pe(t)?(r=e,o=t,i=n,0<=i&&in.right();var t,n})});var n,o,i},mf={point:uf.getTop,adjuster:function(e,t,n,r,o){var i=uf.moveUp(o,5);return Math.abs(n.top()-r.top())<1?sf.retry(i):n.bottom()o.bottom()?sf.retry(i):n.top()===o.bottom()?sf.retry(uf.moveDown(o,1)):df(e,t,o)?sf.retry(uf.translate(i,5,0)):sf.none()},move:uf.moveDown,gather:Gl},pf=function(n,r,o,i,u){return 0===u?x.some(i):(a=n,l=i.left(),f=r.point(i),a.elementFromPoint(l,f).filter(function(e){return"table"===fe(e)}).isSome()?(t=i,c=u-1,pf(n,e=r,o,e.move(t,5),c)):n.situsFromPoint(i.left(),r.point(i)).bind(function(e){return e.start().fold(x.none,function(t){return ff(n,t).bind(function(e){return r.adjuster(n,t,e,o,i).fold(x.none,function(e){return pf(n,r,o,e,u-1)})}).orThunk(function(){return x.some(i)})},x.none)}));var e,t,c,a,l,f},hf=function(t,n,e){var r,o,i,u=t.move(e,5),c=pf(n,t,e,u,100).getOr(u);return(r=t,o=c,i=n,r.point(o)>i.getInnerHeight()?x.some(r.point(o)-i.getInnerHeight()):r.point(o)<0?x.some(-r.point(o)):x.none()).fold(function(){return n.situsFromPoint(c.left(),t.point(c))},function(e){return n.scrollBy(0,e),n.situsFromPoint(c.left(),t.point(c)-e)})},vf={tryUp:b(hf,mf),tryDown:b(hf,gf),ieTryUp:function(e,t){return e.situsFromPoint(t.left(),t.top()-5)},ieTryDown:function(e,t){return e.situsFromPoint(t.left(),t.bottom()+5)},getJumpSize:S(5)},bf=dt.detect(),wf=function(r,o,i,u,c,a){return 0===a?x.none():Sf(r,o,i,u,c).bind(function(e){var t=r.fromSitus(e),n=$l.verify(r,i,u,t.finish(),t.foffset(),c.failure,o);return $l.cata(n,function(){return x.none()},function(){return x.some(e)},function(e){return vt(i,e)&&0===u?yf(r,i,u,uf.moveUp,c):wf(r,o,e,0,c,a-1)},function(e){return vt(i,e)&&u===Rn(e)?yf(r,i,u,uf.moveDown,c):wf(r,o,e,Rn(e),c,a-1)})})},yf=function(t,e,n,r,o){return lf(t,e,n).bind(function(e){return Cf(t,o,r(e,vf.getJumpSize()))})},Cf=function(e,t,n){return bf.browser.isChrome()||bf.browser.isSafari()||bf.browser.isFirefox()||bf.browser.isEdge()?t.otherRetry(e,n):bf.browser.isIE()?t.ieRetry(e,n):x.none()},Sf=function(t,e,n,r,o){return lf(t,n,r).bind(function(e){return Cf(t,o,e)})},xf=function(t,n,r){return(o=t,i=n,u=r,o.getSelection().bind(function(r){return nf(i,r.finish(),r.foffset(),u).fold(function(){return x.some(Yl(r.finish(),r.foffset()))},function(e){var t=o.fromSitus(e),n=$l.verify(o,r.finish(),r.foffset(),t.finish(),t.foffset(),u.failure,i);return rf(n)})})).bind(function(e){return wf(t,n,e.element(),e.offset(),r,20).map(t.fromSitus)});var o,i,u},Rf=dt.detect(),Tf=function(e,t){return Zt(e,function(e){return Ct(e).exists(function(e){return vt(e,t)})},n).isSome();var n},Of=function(t,r,o,e,i){return rn(e,"td,th",r).bind(function(n){return rn(n,"table",r).bind(function(e){return Tf(i,e)?xf(t,r,o).bind(function(t){return rn(t.finish(),"td,th",r).map(function(e){return{start:S(n),finish:S(e),range:S(t)}})}):x.none()})})},Df=function(e,t,n,r,o,i){return Rf.browser.isIE()?x.none():i(r,t).orThunk(function(){return Of(e,t,n,r,o).map(function(e){var t=e.range();return Dl.create(x.some(El.makeSitus(t.start(),t.soffset(),t.finish(),t.foffset())),!0)})})},Af=function(e,t,n,r,o,i,u){return Of(e,n,r,o,i).bind(function(e){return Il.detect(t,n,e.start(),e.finish(),u)})},Ef=function(e,u){return rn(e,"tr",u).bind(function(i){return rn(i,"table",u).bind(function(e){var t,n,r,o=Jt(e,"tr");return vt(i,o[0])?(t=e,n=function(e){return An(e).isSome()},r=u,Fl(ql,t,n,r)).map(function(e){var t=Rn(e);return Dl.create(x.some(El.makeSitus(e,t,e,t)),!0)}):x.none()})})},Nf=function(e,u){return rn(e,"tr",u).bind(function(i){return rn(i,"table",u).bind(function(e){var t,n,r,o=Jt(e,"tr");return vt(i,o[o.length-1])?(t=e,n=function(e){return Dn(e).isSome()},r=u,Ul(ql,t,n,r)).map(function(e){return Dl.create(x.some(El.makeSitus(e,0,e,0)),!0)}):x.none()})})},If=function(e,t){return rn(e,"td,th",t)};var kf={down:{traverse:Rt,gather:Gl,relative:za.before,otherRetry:vf.tryDown,ieRetry:vf.ieTryDown,failure:$l.failedDown},up:{traverse:xt,gather:Vl,relative:za.before,otherRetry:vf.tryUp,ieRetry:vf.ieTryUp,failure:$l.failedUp}},Pf=function(t){return function(e){return e===t}},Bf=Pf(38),Mf=Pf(40),Wf={ltr:{isBackward:Pf(37),isForward:Pf(39)},rtl:{isBackward:Pf(39),isForward:Pf(37)},isUp:Bf,isDown:Mf,isNavigation:function(e){return 37<=e&&e<=40}},_f=(dt.detect().browser.isSafari(),function(c){return{elementFromPoint:function(e,t){return Ee.fromPoint(Ee.fromDom(c.document),e,t)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,t,n,r){var o=Fa.exact(e,t,n,r);return vl(c,o).map(function(e){return X(e,u)})},getSelection:function(){return hl(c).map(function(e){return El.convertToRange(c,e)})},fromSitus:function(e){var t=Fa.relative(e.start(),e.finish());return El.convertToRange(c,t)},situsFromPoint:function(e,t){return bl(c,e,t).map(function(e){return Al(e.start(),e.soffset(),e.finish(),e.foffset())})},clearSelection:function(){c.getSelection().removeAllRanges()},setSelection:function(e){var t,n,r,o,i,u;t=c,n=e.start(),r=e.soffset(),o=e.finish(),i=e.foffset(),u=al(n,r,o,i),dl(t,u)},setRelativeSelection:function(e,t){var n,r;n=c,r=cl(e,t),dl(n,r)},selectContents:function(e){pl(c,e)},getInnerHeight:function(){return c.innerHeight},getScrollY:function(){var e,t,n,r;return(e=Ee.fromDom(c.document),t=e!==undefined?e.dom():m.document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop,oo(n,r)).top()},scrollBy:function(e,t){var n,r,o;n=e,r=t,((o=Ee.fromDom(c.document))!==undefined?o.dom():m.document).defaultView.scrollBy(n,r)}}}),Lf=Z("rows","cols"),jf={mouse:function(e,t,n,r){var o=function c(o,i,t,u){var n=x.none(),r=function(){n=x.none()};return{mousedown:function(e){u.clear(i),n=If(e.target(),t)},mouseover:function(e){n.each(function(r){u.clear(i),If(e.target(),t).each(function(n){pr(r,n,t).each(function(e){var t=e.boxes().getOr([]);(1