/** * 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.12 (2019-07-18) */ !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(){},S=function(n,r){return function(){for(var e=[],t=0;tn.maxRow()||sn.maxCol()||(Cn.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=Ne.fromTag("td"),Mt(u,Ne.fromTag("br")),(o?Mt:Bt)(i,u)):f=!0)}(m,g,p,d),o=e,f=p,s=M(sn.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),B(s,zt),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||B(sn.firstLayer(o,"th,td"),function(e){Ce(e,"rowspan"),Ce(e,"colspan")}),Ce(o,"width"),Ce(o,"height"),ze(o,"width"),ze(o,"height"),e};var Tn=function rs(n,r){var o=function(e){return n(e)?x.from(e.dom().nodeValue):x.none()},e=vt.detect().browser,t=e.isIE()&&10===e.version.major?function(e){try{return o(e)}catch(t){return x.none()}}:o;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"),On=function(e){return Tn.get(e)},Dn=function(e){return Tn.getOption(e)},An=function(e,t){Tn.set(e,t)},En=function(e){return"img"===fe(e)?1:Dn(e).fold(function(){return Nt(e).length},function(e){return e.length})},Nn=["img","br"],kn=function(e){return Dn(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()},Gn=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()},Yn=function(e,t){for(var n=!0,r=b(Vn,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&Cn.getAt(e,o,i).exists(r);return n?x.some(t):x.none()},Kn=function(e,t,n){var r=Cn.findItem(e,t,Ct),o=Cn.findItem(e,n,Ct);return r.bind(function(r){return o.map(function(e){return t=r,n=e,Qt(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})})},Xn=Kn,$n=function(t,e,n){return Kn(t,e,n).bind(function(e){return Yn(t,e)})},Jn=function(r,e,o,i){return Cn.findItem(r,e,Ct).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 ko(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 ko(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})})},qo=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()})},Vo=function(n){var e=n.grid(),t=Fo(0,e.columns()),r=Fo(0,e.rows());return P(t,function(t){return qo(function(){return U(r,function(e){return Cn.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return Cn.getAt(n,0,t)})})},Go=function(n){var e=n.grid(),t=Fo(0,e.rows()),r=Fo(0,e.columns());return P(t,function(t){return qo(function(){return U(r,function(e){return Cn.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return Cn.getAt(n,t,0)})})},Yo=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},Ko={resolve:Yo("ephox-snooker").resolve},Xo=function(e,t,n,r,o){var i=Ne.fromTag("div");return We(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),we(i,{"data-column":e,role:"presentation"}),i},$o=function(e,t,n,r,o){var i=Ne.fromTag("div");return We(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),we(i,{"data-row":e,role:"presentation"}),i},Jo=Ko.resolve("resizer-bar"),Qo=Ko.resolve("resizer-rows"),Zo=Ko.resolve("resizer-cols"),ei=function(e){var t=nn(e.parent(),"."+Jo);B(t,zt)},ti=function(n,e,r){var o=n.origin();B(e,function(e,t){e.each(function(e){var t=r(o,e);jo(t,Jo),Mt(n.parent(),t)})})},ni=function(e,t,n,r,o,i){var u,c,a,l,f=so(t),s=0=t.length||e.column()>di.cellLength(t[0]))return Oi.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=di.cellLength(n[0]),u=n.length;return Oi.value({rowDelta:C(r.length-u),colDelta:C(o.length-i)})},ki=function(e,t){var n=di.cellLength(e[0]),r=di.cellLength(t[0]);return{rowDelta:C(0),colDelta:C(n-r)}},Ii=function(e,t,n){var r=t.colDelta()<0?Ei:o;return(t.rowDelta()<0?Ai:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},Pi=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++)di.mutateCell(e[o],i,Kt(r(),!1));return e},Bi=function(e,t,n,r){for(var o=!0,i=0;i',r.insertBefore(o,r.firstChild)),""===u.align?xc(n,r):Sc(n,r,u.align),n.focus(),n.addVisual()})},ua=function(e,t){var n,r=e.dom,o=Wc(e,fc(e));!1===t?(n=r.getParent(e.selection.getStart(),"table"))?o=Pc(e,n,fc(e)):fc(e)&&(o.borderstyle="",o.bordercolor="",o.backgroundcolor=""):(o.cols="1",o.rows="1",fc(e)&&(o.borderstyle="",o.bordercolor="",o.backgroundcolor=""));var i=0=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},rl=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=On(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()+")"}},gf=function(e){return mf.nu({left:e.left,top:e.top,right:e.right,bottom:e.bottom})},pf=function(e,t){return x.some(e.getRect(t))},hf=function(e,t,n){return ge(t)?pf(e,t).map(gf):pe(t)?(r=e,o=t,i=n,0<=i&&in.right();var t,n})});var n,o,i},yf={point:mf.getTop,adjuster:function(e,t,n,r,o){var i=mf.moveUp(o,5);return Math.abs(n.top()-r.top())<1?bf.retry(i):n.bottom()o.bottom()?bf.retry(i):n.top()===o.bottom()?bf.retry(mf.moveDown(o,1)):wf(e,t,o)?bf.retry(mf.translate(i,5,0)):bf.none()},move:mf.moveDown,gather:Zl},Cf=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,Cf(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 vf(n,t).bind(function(e){return r.adjuster(n,t,e,o,i).fold(x.none,function(e){return Cf(n,r,o,e,u-1)})}).orThunk(function(){return x.some(i)})},x.none)}));var e,t,c,a,l,f},xf=function(t,n,e){var r,o,i,u=t.move(e,5),c=Cf(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)})},Rf={tryUp:b(xf,yf),tryDown:b(xf,Sf),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:C(5)},Tf=vt.detect(),Of=function(r,o,i,u,c,a){return 0===a?x.none():Ef(r,o,i,u,c).bind(function(e){var t=r.fromSitus(e),n=rf.verify(r,i,u,t.finish(),t.foffset(),c.failure,o);return rf.cata(n,function(){return x.none()},function(){return x.some(e)},function(e){return Ct(i,e)&&0===u?Df(r,i,u,mf.moveUp,c):Of(r,o,e,0,c,a-1)},function(e){return Ct(i,e)&&u===En(e)?Df(r,i,u,mf.moveDown,c):Of(r,o,e,En(e),c,a-1)})})},Df=function(t,e,n,r,o){return hf(t,e,n).bind(function(e){return Af(t,o,r(e,Rf.getJumpSize()))})},Af=function(e,t,n){return Tf.browser.isChrome()||Tf.browser.isSafari()||Tf.browser.isFirefox()||Tf.browser.isEdge()?t.otherRetry(e,n):Tf.browser.isIE()?t.ieRetry(e,n):x.none()},Ef=function(t,e,n,r,o){return hf(t,n,r).bind(function(e){return Af(t,o,e)})},Nf=function(t,n,r){return(o=t,i=n,u=r,o.getSelection().bind(function(r){return ff(i,r.finish(),r.foffset(),u).fold(function(){return x.some(ef(r.finish(),r.foffset()))},function(e){var t=o.fromSitus(e),n=rf.verify(o,r.finish(),r.foffset(),t.finish(),t.foffset(),u.failure,i);return sf(n)})})).bind(function(e){return Of(t,n,e.element(),e.offset(),r,20).map(t.fromSitus)});var o,i,u},kf=vt.detect(),If=function(e,t){return on(e,function(e){return Ot(e).exists(function(e){return Ct(e,t)})},n).isSome();var n},Pf=function(t,r,o,e,i){return ln(e,"td,th",r).bind(function(n){return ln(n,"table",r).bind(function(e){return If(i,e)?Nf(t,r,o).bind(function(t){return ln(t.finish(),"td,th",r).map(function(e){return{start:C(n),finish:C(e),range:C(t)}})}):x.none()})})},Bf=function(e,t,n,r,o,i){return kf.browser.isIE()?x.none():i(r,t).orThunk(function(){return Pf(e,t,n,r,o).map(function(e){var t=e.range();return Bl.create(x.some(Wl.makeSitus(t.start(),t.soffset(),t.finish(),t.foffset())),!0)})})},Mf=function(e,t,n,r,o,i,u){return Pf(e,n,r,o,i).bind(function(e){return Ll.detect(t,n,e.start(),e.finish(),u)})},Wf=function(e,u){return ln(e,"tr",u).bind(function(i){return ln(i,"table",u).bind(function(e){var t,n,r,o=nn(e,"tr");return Ct(i,o[0])?(t=e,n=function(e){return Pn(e).isSome()},r=u,Xl(Jl,t,n,r)).map(function(e){var t=En(e);return Bl.create(x.some(Wl.makeSitus(e,t,e,t)),!0)}):x.none()})})},_f=function(e,u){return ln(e,"tr",u).bind(function(i){return ln(i,"table",u).bind(function(e){var t,n,r,o=nn(e,"tr");return Ct(i,o[o.length-1])?(t=e,n=function(e){return In(e).isSome()},r=u,$l(Jl,t,n,r)).map(function(e){return Bl.create(x.some(Wl.makeSitus(e,0,e,0)),!0)}):x.none()})})},Lf=function(e,t){return ln(e,"td,th",t)};var jf={down:{traverse:Et,gather:Zl,relative:Va.before,otherRetry:Rf.tryDown,ieRetry:Rf.ieTryDown,failure:rf.failedDown},up:{traverse:At,gather:Ql,relative:Va.before,otherRetry:Rf.tryUp,ieRetry:Rf.ieTryUp,failure:rf.failedUp}},zf=function(t){return function(e){return e===t}},Hf=zf(38),Ff=zf(40),Uf={ltr:{isBackward:zf(37),isForward:zf(39)},rtl:{isBackward:zf(39),isForward:zf(37)},isUp:Hf,isDown:Ff,isNavigation:function(e){return 37<=e&&e<=40}},qf=(vt.detect().browser.isSafari(),function(c){return{elementFromPoint:function(e,t){return Ne.fromPoint(Ne.fromDom(c.document),e,t)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,t,n,r){var o=Ya.exact(e,t,n,r);return Rl(c,o).map(function(e){return X(e,u)})},getSelection:function(){return xl(c).map(function(e){return Wl.convertToRange(c,e)})},fromSitus:function(e){var t=Ya.relative(e.start(),e.finish());return Wl.convertToRange(c,t)},situsFromPoint:function(e,t){return Tl(c,e,t).map(function(e){return Ml(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=pl(n,r,o,i),wl(t,u)},setRelativeSelection:function(e,t){var n,r;n=c,r=gl(e,t),wl(n,r)},selectContents:function(e){Cl(c,e)},getInnerHeight:function(){return c.innerHeight},getScrollY:function(){var e,t,n,r;return(e=Ne.fromDom(c.document),t=e!==undefined?e.dom():m.document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop,lo(n,r)).top()},scrollBy:function(e,t){var n,r,o;n=e,r=t,((o=Ne.fromDom(c.document))!==undefined?o.dom():m.document).defaultView.scrollBy(n,r)}}}),Vf=Z("rows","cols"),Gf={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=Lf(e.target(),t)},mouseover:function(e){n.each(function(r){u.clear(i),Lf(e.target(),t).each(function(n){yr(r,n,t).each(function(e){var t=e.boxes().getOr([]);(1