!(function (m) {
'use strict';
var e = tinymce.util.Tools.resolve('tinymce.PluginManager'),
y = function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
},
x = function (n, r) {
return function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
return n(r.apply(null, e));
};
},
C = function (e) {
return function () {
return e;
};
},
o = function (e) {
return e;
};
function b(r) {
for (var o = [], e = 1; e < arguments.length; e++) o[e - 1] = arguments[e];
return function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
var n = o.concat(e);
return r.apply(null, n);
};
}
var t,
n,
r,
i,
u,
g = function (n) {
return function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
return !n.apply(null, e);
};
},
c = function (e) {
return e();
},
a = C(!1),
l = C(!0),
f = a,
s = l,
d = function () {
return h;
},
h =
((i = {
fold: function (e, t) {
return e();
},
is: f,
isSome: f,
isNone: s,
getOr: (r = function (e) {
return e;
}),
getOrThunk: (n = function (e) {
return e();
}),
getOrDie: function (e) {
throw new Error(e || 'error: getOrDie called on none.');
},
getOrNull: function () {
return null;
},
getOrUndefined: function () {
return undefined;
},
or: r,
orThunk: n,
map: d,
ap: d,
each: function () {},
bind: d,
flatten: d,
exists: f,
forall: s,
filter: d,
equals: (t = function (e) {
return e.isNone();
}),
equals_: t,
toArray: function () {
return [];
},
toString: C('none()'),
}),
Object.freeze && Object.freeze(i),
i),
p = function (n) {
var e = function () {
return n;
},
t = function () {
return o;
},
r = function (e) {
return e(n);
},
o = {
fold: function (e, t) {
return t(n);
},
is: function (e) {
return n === e;
},
isSome: s,
isNone: f,
getOr: e,
getOrThunk: e,
getOrDie: e,
getOrNull: e,
getOrUndefined: e,
or: t,
orThunk: t,
map: function (e) {
return p(e(n));
},
ap: function (e) {
return e.fold(d, function (e) {
return p(e(n));
});
},
each: function (e) {
e(n);
},
bind: r,
flatten: e,
exists: r,
forall: r,
filter: function (e) {
return e(n) ? o : h;
},
equals: function (e) {
return e.is(n);
},
equals_: function (e, t) {
return e.fold(f, function (e) {
return t(n, e);
});
},
toArray: function () {
return [n];
},
toString: function () {
return 'some(' + n + ')';
},
};
return o;
},
S = {
some: p,
none: d,
from: function (e) {
return null === e || e === undefined ? h : p(e);
},
},
v = function (t) {
return function (e) {
return (
(function (e) {
if (null === e) return 'null';
var t = typeof e;
return 'object' === t && Array.prototype.isPrototypeOf(e)
? 'array'
: 'object' === t && String.prototype.isPrototypeOf(e)
? 'string'
: t;
})(e) === t
);
};
},
w = v('string'),
R = v('array'),
T = v('boolean'),
D = v('function'),
O = v('number'),
N =
(u = Array.prototype.indexOf) === undefined
? function (e, t) {
return j(e, t);
}
: function (e, t) {
return u.call(e, t);
},
E = function (e, t) {
return -1 < N(e, t);
},
A = function (e, t) {
return L(e, t).isSome();
},
k = function (e, t) {
for (var n = e.length, r = new Array(n), o = 0; o < n; o++) {
var i = e[o];
r[o] = t(i, o, e);
}
return r;
},
P = function (e, t) {
for (var n = 0, r = e.length; n < r; n++) t(e[n], n, e);
},
I = function (e, t) {
for (var n = [], r = 0, o = e.length; r < o; r++) {
var i = e[r];
t(i, r, e) && n.push(i);
}
return n;
},
B = function (e, t) {
if (0 === e.length) return [];
for (var n = t(e[0]), r = [], o = [], i = 0, u = e.length; i < u; i++) {
var a = e[i],
c = t(a);
c !== n && (r.push(o), (o = [])), (n = c), o.push(a);
}
return 0 !== o.length && r.push(o), r;
},
W = function (e, t, n) {
return (
(function (e, t) {
for (var n = e.length - 1; 0 <= n; n--) t(e[n], n, e);
})(e, function (e) {
n = t(n, e);
}),
n
);
},
M = function (e, t, n) {
return (
P(e, function (e) {
n = t(n, e);
}),
n
);
},
_ = function (e, t) {
for (var n = 0, r = e.length; n < r; n++) {
var o = e[n];
if (t(o, n, e)) return S.some(o);
}
return S.none();
},
L = function (e, t) {
for (var n = 0, r = e.length; n < r; n++) if (t(e[n], n, e)) return S.some(n);
return S.none();
},
j = function (e, t) {
for (var n = 0, r = e.length; n < r; ++n) if (e[n] === t) return n;
return -1;
},
F = Array.prototype.push,
z = function (e) {
for (var t = [], n = 0, r = e.length; n < r; ++n) {
if (!Array.prototype.isPrototypeOf(e[n]))
throw new Error('Arr.flatten item ' + n + ' was not an array, input: ' + e);
F.apply(t, e[n]);
}
return t;
},
H = function (e, t) {
var n = k(e, t);
return z(n);
},
U = function (e, t) {
for (var n = 0, r = e.length; n < r; ++n) if (!0 !== t(e[n], n, e)) return !1;
return !0;
},
q = Array.prototype.slice,
V = function (e) {
var t = q.call(e, 0);
return t.reverse(), t;
},
G = function (e, t) {
var n = q.call(e, 0);
return n.sort(t), n;
},
Y = (D(Array.from) && Array.from, Object.keys),
X = function (e, t) {
for (var n = Y(e), r = 0, o = n.length; r < o; r++) {
var i = n[r];
t(e[i], i, e);
}
},
K = function (e, r) {
return J(e, function (e, t, n) {
return { k: t, v: r(e, t, n) };
});
},
J = function (r, o) {
var i = {};
return (
X(r, function (e, t) {
var n = o(e, t, r);
i[n.k] = n.v;
}),
i
);
},
$ = function () {
for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
return function () {
for (var n = [], e = 0; e < arguments.length; e++) n[e] = arguments[e];
if (t.length !== n.length)
throw new Error(
'Wrong number of arguments to struct. Expected "[' +
t.length +
']", got ' +
n.length +
' arguments',
);
var r = {};
return (
P(t, function (e, t) {
r[e] = C(n[t]);
}),
r
);
};
},
Q = function (e) {
return e.slice(0).sort();
},
Z = function (e, t) {
throw new Error(
'All required keys (' +
Q(e).join(', ') +
') were not specified. Specified keys were: ' +
Q(t).join(', ') +
'.',
);
},
ee = function (e) {
throw new Error('Unsupported keys for object: ' + Q(e).join(', '));
},
te = function (t, e) {
if (!R(e)) throw new Error('The ' + t + ' fields must be an array. Was: ' + e + '.');
P(e, function (e) {
if (!w(e)) throw new Error('The value ' + e + ' in the ' + t + ' fields was not a string.');
});
},
ne = function (e) {
var n = Q(e);
_(n, function (e, t) {
return t < n.length - 1 && e === n[t + 1];
}).each(function (e) {
throw new Error(
'The field: ' +
e +
' occurs more than once in the combined fields: [' +
n.join(', ') +
'].',
);
});
},
re = function (o, i) {
var u = o.concat(i);
if (0 === u.length)
throw new Error('You must specify at least one required or optional field.');
return (
te('required', o),
te('optional', i),
ne(u),
function (t) {
var n = Y(t);
U(o, function (e) {
return E(n, e);
}) || Z(o, n);
var e = I(n, function (e) {
return !E(u, e);
});
0 < e.length && ee(e);
var r = {};
return (
P(o, function (e) {
r[e] = C(t[e]);
}),
P(i, function (e) {
r[e] = C(Object.prototype.hasOwnProperty.call(t, e) ? S.some(t[e]) : S.none());
}),
r
);
}
);
},
oe = (m.Node.ATTRIBUTE_NODE, m.Node.CDATA_SECTION_NODE, m.Node.COMMENT_NODE),
ie = m.Node.DOCUMENT_NODE,
ue = (m.Node.DOCUMENT_TYPE_NODE, m.Node.DOCUMENT_FRAGMENT_NODE, m.Node.ELEMENT_NODE),
ae = m.Node.TEXT_NODE,
ce =
(m.Node.PROCESSING_INSTRUCTION_NODE,
m.Node.ENTITY_REFERENCE_NODE,
m.Node.ENTITY_NODE,
m.Node.NOTATION_NODE,
function (e) {
return e.dom().nodeName.toLowerCase();
}),
le = function (e) {
return e.dom().nodeType;
},
fe = function (t) {
return function (e) {
return le(e) === t;
};
},
se = function (e) {
return le(e) === oe || '#comment' === ce(e);
},
de = fe(ue),
me = fe(ae),
ge = fe(ie),
he = function (e, t, n) {
if (!(w(n) || T(n) || O(n)))
throw (
(m.console.error('Invalid call to Attr.set. Key ', t, ':: Value ', n, ':: Element ', e),
new Error('Attribute value was not simple'))
);
e.setAttribute(t, n + '');
},
pe = function (e, t, n) {
he(e.dom(), t, n);
},
ve = function (e, t) {
var n = e.dom();
X(t, function (e, t) {
he(n, t, e);
});
},
be = function (e, t) {
var n = e.dom().getAttribute(t);
return null === n ? undefined : n;
},
we = function (e, t) {
var n = e.dom();
return !(!n || !n.hasAttribute) && n.hasAttribute(t);
},
ye = function (e, t) {
e.dom().removeAttribute(t);
},
xe = function (e) {
return M(
e.dom().attributes,
function (e, t) {
return (e[t.name] = t.value), e;
},
{},
);
},
Ce = function (e, t) {
return -1 !== e.indexOf(t);
},
Se = function (e) {
return e.style !== undefined;
},
Re = function (n) {
var r,
o = !1;
return function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
return o || ((o = !0), (r = n.apply(null, e))), r;
};
},
Te = function (e) {
if (null === e || e === undefined) throw new Error('Node cannot be null or undefined');
return { dom: C(e) };
},
De = {
fromHtml: function (e, t) {
var n = (t || m.document).createElement('div');
if (((n.innerHTML = e), !n.hasChildNodes() || 1 < n.childNodes.length))
throw (
(m.console.error('HTML does not have a single root node', e),
new Error('HTML must have a single root node'))
);
return Te(n.childNodes[0]);
},
fromTag: function (e, t) {
var n = (t || m.document).createElement(e);
return Te(n);
},
fromText: function (e, t) {
var n = (t || m.document).createTextNode(e);
return Te(n);
},
fromDom: Te,
fromPoint: function (e, t, n) {
var r = e.dom();
return S.from(r.elementFromPoint(t, n)).map(Te);
},
},
Oe = function (e) {
var t = me(e) ? e.dom().parentNode : e.dom();
return t !== undefined && null !== t && t.ownerDocument.body.contains(t);
},
Ne = Re(function () {
return Ee(De.fromDom(m.document));
}),
Ee = function (e) {
var t = e.dom().body;
if (null === t || t === undefined) throw new Error('Body is not available yet');
return De.fromDom(t);
},
Ae = function (e, t, n) {
if (!w(n))
throw (
(m.console.error(
'Invalid call to CSS.set. Property ',
t,
':: Value ',
n,
':: Element ',
e,
),
new Error('CSS value must be a string: ' + n))
);
Se(e) && e.style.setProperty(t, n);
},
ke = function (e, t, n) {
var r = e.dom();
Ae(r, t, n);
},
Pe = function (e, t) {
var n = e.dom();
X(t, function (e, t) {
Ae(n, t, e);
});
},
Ie = function (e, t) {
var n = e.dom(),
r = m.window.getComputedStyle(n).getPropertyValue(t),
o = '' !== r || Oe(e) ? r : Be(n, t);
return null === o ? undefined : o;
},
Be = function (e, t) {
return Se(e) ? e.style.getPropertyValue(t) : '';
},
We = function (e, t) {
var n = e.dom(),
r = Be(n, t);
return S.from(r).filter(function (e) {
return 0 < e.length;
});
},
Me = function (e, t) {
var n,
r,
o = e.dom();
(r = t),
Se((n = o)) && n.style.removeProperty(r),
we(e, 'style') && '' === be(e, 'style').replace(/^\s+|\s+$/g, '') && ye(e, 'style');
},
_e = 'undefined' != typeof m.window ? m.window : Function('return this;')(),
Le = function (e, t) {
return (function (e, t) {
for (
var n = t !== undefined && null !== t ? t : _e, r = 0;
r < e.length && n !== undefined && null !== n;
++r
)
n = n[e[r]];
return n;
})(e.split('.'), t);
},
je = function (e, t) {
var n = Le(e, t);
if (n === undefined || null === n) throw e + ' not available on this browser';
return n;
},
Fe = function () {
return je('Node');
},
ze = function (e, t, n) {
return 0 != (e.compareDocumentPosition(t) & n);
},
He = function (e, t) {
return ze(e, t, Fe().DOCUMENT_POSITION_CONTAINED_BY);
},
Ue = function (e, t) {
var n = (function (e, t) {
for (var n = 0; n < e.length; n++) {
var r = e[n];
if (r.test(t)) return r;
}
return undefined;
})(e, t);
if (!n) return { major: 0, minor: 0 };
var r = function (e) {
return Number(t.replace(n, '$' + e));
};
return Ve(r(1), r(2));
},
qe = function () {
return Ve(0, 0);
},
Ve = function (e, t) {
return { major: e, minor: t };
},
Ge = {
nu: Ve,
detect: function (e, t) {
var n = String(t).toLowerCase();
return 0 === e.length ? qe() : Ue(e, n);
},
unknown: qe,
},
Ye = 'Firefox',
Xe = function (e, t) {
return function () {
return t === e;
};
},
Ke = function (e) {
var t = e.current;
return {
current: t,
version: e.version,
isEdge: Xe('Edge', t),
isChrome: Xe('Chrome', t),
isIE: Xe('IE', t),
isOpera: Xe('Opera', t),
isFirefox: Xe(Ye, t),
isSafari: Xe('Safari', t),
};
},
Je = {
unknown: function () {
return Ke({ current: undefined, version: Ge.unknown() });
},
nu: Ke,
edge: C('Edge'),
chrome: C('Chrome'),
ie: C('IE'),
opera: C('Opera'),
firefox: C(Ye),
safari: C('Safari'),
},
$e = 'Windows',
Qe = 'Android',
Ze = 'Solaris',
et = 'FreeBSD',
tt = function (e, t) {
return function () {
return t === e;
};
},
nt = function (e) {
var t = e.current;
return {
current: t,
version: e.version,
isWindows: tt($e, t),
isiOS: tt('iOS', t),
isAndroid: tt(Qe, t),
isOSX: tt('OSX', t),
isLinux: tt('Linux', t),
isSolaris: tt(Ze, t),
isFreeBSD: tt(et, t),
};
},
rt = {
unknown: function () {
return nt({ current: undefined, version: Ge.unknown() });
},
nu: nt,
windows: C($e),
ios: C('iOS'),
android: C(Qe),
linux: C('Linux'),
osx: C('OSX'),
solaris: C(Ze),
freebsd: C(et),
},
ot = function (e, t) {
var n = String(t).toLowerCase();
return _(e, function (e) {
return e.search(n);
});
},
it = function (e, n) {
return ot(e, n).map(function (e) {
var t = Ge.detect(e.versionRegexes, n);
return { current: e.name, version: t };
});
},
ut = function (e, n) {
return ot(e, n).map(function (e) {
var t = Ge.detect(e.versionRegexes, n);
return { current: e.name, version: t };
});
},
at = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
ct = function (t) {
return function (e) {
return Ce(e, t);
};
},
lt = [
{
name: 'Edge',
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
search: function (e) {
return Ce(e, 'edge/') && Ce(e, 'chrome') && Ce(e, 'safari') && Ce(e, 'applewebkit');
},
},
{
name: 'Chrome',
versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, at],
search: function (e) {
return Ce(e, 'chrome') && !Ce(e, 'chromeframe');
},
},
{
name: 'IE',
versionRegexes: [/.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/],
search: function (e) {
return Ce(e, 'msie') || Ce(e, 'trident');
},
},
{
name: 'Opera',
versionRegexes: [at, /.*?opera\/([0-9]+)\.([0-9]+).*/],
search: ct('opera'),
},
{
name: 'Firefox',
versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
search: ct('firefox'),
},
{
name: 'Safari',
versionRegexes: [at, /.*?cpu os ([0-9]+)_([0-9]+).*/],
search: function (e) {
return (Ce(e, 'safari') || Ce(e, 'mobile/')) && Ce(e, 'applewebkit');
},
},
],
ft = [
{
name: 'Windows',
search: ct('win'),
versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/],
},
{
name: 'iOS',
search: function (e) {
return Ce(e, 'iphone') || Ce(e, 'ipad');
},
versionRegexes: [
/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
/.*cpu os ([0-9]+)_([0-9]+).*/,
/.*cpu iphone os ([0-9]+)_([0-9]+).*/,
],
},
{
name: 'Android',
search: ct('android'),
versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/],
},
{ name: 'OSX', search: ct('os x'), versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/] },
{ name: 'Linux', search: ct('linux'), versionRegexes: [] },
{ name: 'Solaris', search: ct('sunos'), versionRegexes: [] },
{ name: 'FreeBSD', search: ct('freebsd'), versionRegexes: [] },
],
st = { browsers: C(lt), oses: C(ft) },
dt = function (e) {
var t,
n,
r,
o,
i,
u,
a,
c,
l,
f,
s,
d = st.browsers(),
m = st.oses(),
g = it(d, e).fold(Je.unknown, Je.nu),
h = ut(m, e).fold(rt.unknown, rt.nu);
return {
browser: g,
os: h,
deviceType:
((n = g),
(r = e),
(o = (t = h).isiOS() && !0 === /ipad/i.test(r)),
(i = t.isiOS() && !o),
(u = t.isAndroid() && 3 === t.version.major),
(a = t.isAndroid() && 4 === t.version.major),
(c = o || u || (a && !0 === /mobile/i.test(r))),
(l = t.isiOS() || t.isAndroid()),
(f = l && !c),
(s = n.isSafari() && t.isiOS() && !1 === /safari/i.test(r)),
{
isiPad: C(o),
isiPhone: C(i),
isTablet: C(c),
isPhone: C(f),
isTouch: C(l),
isAndroid: t.isAndroid,
isiOS: t.isiOS,
isWebView: C(s),
}),
};
},
mt = {
detect: Re(function () {
var e = m.navigator.userAgent;
return dt(e);
}),
},
gt = ue,
ht = ie,
pt = function (e, t) {
var n = e.dom();
if (n.nodeType !== gt) return !1;
if (n.matches !== undefined) return n.matches(t);
if (n.msMatchesSelector !== undefined) return n.msMatchesSelector(t);
if (n.webkitMatchesSelector !== undefined) return n.webkitMatchesSelector(t);
if (n.mozMatchesSelector !== undefined) return n.mozMatchesSelector(t);
throw new Error('Browser lacks native selectors');
},
vt = function (e) {
return (e.nodeType !== gt && e.nodeType !== ht) || 0 === e.childElementCount;
},
bt = function (e, t) {
return e.dom() === t.dom();
},
wt = mt.detect().browser.isIE()
? function (e, t) {
return He(e.dom(), t.dom());
}
: function (e, t) {
var n = e.dom(),
r = t.dom();
return n !== r && n.contains(r);
},
yt = pt,
xt = function (e) {
return De.fromDom(e.dom().ownerDocument);
},
Ct = function (e) {
var t = e.dom();
return S.from(t.parentNode).map(De.fromDom);
},
St = function (e, t) {
for (
var n = D(t) ? t : C(!1), r = e.dom(), o = [];
null !== r.parentNode && r.parentNode !== undefined;
) {
var i = r.parentNode,
u = De.fromDom(i);
if ((o.push(u), !0 === n(u))) break;
r = i;
}
return o;
},
Rt = function (e) {
var t = e.dom();
return S.from(t.previousSibling).map(De.fromDom);
},
Tt = function (e) {
var t = e.dom();
return S.from(t.nextSibling).map(De.fromDom);
},
Dt = function (e) {
var t = e.dom();
return k(t.childNodes, De.fromDom);
},
Ot = function (e, t) {
var n = e.dom().childNodes;
return S.from(n[t]).map(De.fromDom);
},
Nt =
($('element', 'offset'),
function (t, n) {
Ct(t).each(function (e) {
e.dom().insertBefore(n.dom(), t.dom());
});
}),
Et = function (e, t) {
Tt(e).fold(
function () {
Ct(e).each(function (e) {
kt(e, t);
});
},
function (e) {
Nt(e, t);
},
);
},
At = function (t, n) {
Ot(t, 0).fold(
function () {
kt(t, n);
},
function (e) {
t.dom().insertBefore(n.dom(), e.dom());
},
);
},
kt = function (e, t) {
e.dom().appendChild(t.dom());
},
Pt = function (e, t) {
Nt(e, t), kt(t, e);
},
It = function (r, o) {
P(o, function (e, t) {
var n = 0 === t ? r : o[t - 1];
Et(n, e);
});
},
Bt = function (t, e) {
P(e, function (e) {
kt(t, e);
});
},
Wt = function (e) {
(e.dom().textContent = ''),
P(Dt(e), function (e) {
Mt(e);
});
},
Mt = function (e) {
var t = e.dom();
null !== t.parentNode && t.parentNode.removeChild(t);
},
_t = function (e) {
var t,
n = Dt(e);
0 < n.length &&
((t = e),
P(n, function (e) {
Nt(t, e);
})),
Mt(e);
},
Lt = $('width', 'height'),
jt = $('rows', 'columns'),
Ft = $('row', 'column'),
zt = $('x', 'y'),
Ht = $('element', 'rowspan', 'colspan'),
Ut = $('element', 'rowspan', 'colspan', 'isNew'),
qt = {
dimensions: Lt,
grid: jt,
address: Ft,
coords: zt,
extended: $('element', 'rowspan', 'colspan', 'row', 'column'),
detail: Ht,
detailnew: Ut,
rowdata: $('element', 'cells', 'section'),
elementnew: $('element', 'isNew'),
rowdatanew: $('element', 'cells', 'section', 'isNew'),
rowcells: $('cells', 'section'),
rowdetails: $('details', 'section'),
bounds: $('startRow', 'startCol', 'finishRow', 'finishCol'),
},
Vt = function (e, t) {
var n = [];
return (
P(Dt(e), function (e) {
t(e) && (n = n.concat([e])), (n = n.concat(Vt(e, t)));
}),
n
);
},
Gt = function (e, t, n) {
return (
(r = function (e) {
return pt(e, t);
}),
I(St(e, n), r)
);
var r;
},
Yt = function (e, t) {
return (
(n = function (e) {
return pt(e, t);
}),
I(Dt(e), n)
);
var n;
},
Xt = function (e, t) {
return (
(n = t),
(o = (r = e) === undefined ? m.document : r.dom()),
vt(o) ? [] : k(o.querySelectorAll(n), De.fromDom)
);
var n, r, o;
};
function Kt(e, t, n, r, o) {
return e(n, r) ? S.some(n) : D(o) && o(n) ? S.none() : t(n, r, o);
}
var Jt,
$t,
Qt,
Zt,
en,
tn = function (e, t, n) {
for (var r = e.dom(), o = D(n) ? n : C(!1); r.parentNode; ) {
r = r.parentNode;
var i = De.fromDom(r);
if (t(i)) return S.some(i);
if (o(i)) break;
}
return S.none();
},
nn = function (e, t, n) {
return tn(
e,
function (e) {
return pt(e, t);
},
n,
);
},
rn = function (e, t) {
return (
(n = function (e) {
return pt(e, t);
}),
_(e.dom().childNodes, x(n, De.fromDom)).map(De.fromDom)
);
var n;
},
on = function (e, t) {
return (
(n = t),
(o = (r = e) === undefined ? m.document : r.dom()),
vt(o) ? S.none() : S.from(o.querySelector(n)).map(De.fromDom)
);
var n, r, o;
},
un = function (e, t, n) {
return Kt(pt, nn, e, t, n);
},
an = function (e, t, n) {
return H(Dt(e), function (e) {
return pt(e, t) ? (n(e) ? [e] : []) : an(e, t, n);
});
},
cn = {
firstLayer: function (e, t) {
return an(e, t, C(!0));
},
filterFirstLayer: an,
},
ln = function (e, t, n) {
var r = n !== undefined ? n : C(!1);
return r(t)
? S.none()
: E(e, ce(t))
? S.some(t)
: nn(t, e.join(','), function (e) {
return pt(e, 'table') || r(e);
});
},
fn = function (t, e) {
return Ct(e).map(function (e) {
return Yt(e, t);
});
},
sn = b(fn, 'th,td'),
dn = b(fn, 'tr'),
mn = function (e, t) {
return parseInt(be(e, t), 10);
},
gn = {
cell: function (e, t) {
return ln(['td', 'th'], e, t);
},
firstCell: function (e) {
return on(e, 'th,td');
},
cells: function (e) {
return cn.firstLayer(e, 'th,td');
},
neighbourCells: sn,
table: function (e, t) {
return un(e, 'table', t);
},
row: function (e, t) {
return ln(['tr'], e, t);
},
rows: function (e) {
return cn.firstLayer(e, 'tr');
},
notCell: function (e, t) {
return ln(['caption', 'tr', 'tbody', 'tfoot', 'thead'], e, t);
},
neighbourRows: dn,
attr: mn,
grid: function (e, t, n) {
var r = mn(e, t),
o = mn(e, n);
return qt.grid(r, o);
},
},
hn = function (e) {
var t = gn.rows(e);
return k(t, function (e) {
var t = e,
n = Ct(t)
.map(function (e) {
var t = ce(e);
return 'tfoot' === t || 'thead' === t || 'tbody' === t ? t : 'tbody';
})
.getOr('tbody'),
r = k(gn.cells(e), function (e) {
var t = we(e, 'rowspan') ? parseInt(be(e, 'rowspan'), 10) : 1,
n = we(e, 'colspan') ? parseInt(be(e, 'colspan'), 10) : 1;
return qt.detail(e, t, n);
});
return qt.rowdata(t, r, n);
});
},
pn = function (e, n) {
return k(e, function (e) {
var t = k(gn.cells(e), function (e) {
var t = we(e, 'rowspan') ? parseInt(be(e, 'rowspan'), 10) : 1,
n = we(e, 'colspan') ? parseInt(be(e, 'colspan'), 10) : 1;
return qt.detail(e, t, n);
});
return qt.rowdata(e, t, n.section());
});
},
vn = function (e, t) {
return e + ',' + t;
},
bn = function (e, t) {
var n = H(e.all(), function (e) {
return e.cells();
});
return I(n, t);
},
wn = {
generate: function (e) {
var f = {},
t = [],
n = e.length,
s = 0;
P(e, function (e, c) {
var l = [];
P(e.cells(), function (e, t) {
for (var n = 0; f[vn(c, n)] !== undefined; ) n++;
for (
var r = qt.extended(e.element(), e.rowspan(), e.colspan(), c, n), o = 0;
o < e.colspan();
o++
)
for (var i = 0; i < e.rowspan(); i++) {
var u = n + o,
a = vn(c + i, u);
(f[a] = r), (s = Math.max(s, u + 1));
}
l.push(r);
}),
t.push(qt.rowdata(e.element(), l, e.section()));
});
var r = qt.grid(n, s);
return { grid: C(r), access: C(f), all: C(t) };
},
getAt: function (e, t, n) {
var r = e.access()[vn(t, n)];
return r !== undefined ? S.some(r) : S.none();
},
findItem: function (e, t, n) {
var r = bn(e, function (e) {
return n(t, e.element());
});
return 0 < r.length ? S.some(r[0]) : S.none();
},
filterItems: bn,
justCells: function (e) {
var t = k(e.all(), function (e) {
return e.cells();
});
return z(t);
},
},
yn = $('minRow', 'minCol', 'maxRow', 'maxCol'),
xn = function (e, t) {
var n,
i,
r,
u,
a,
c,
l,
o,
f,
s,
d = function (e) {
return pt(e.element(), t);
},
m = hn(e),
g = wn.generate(m),
h =
((i = d),
(r = (n = g).grid().columns()),
(u = n.grid().rows()),
(a = r),
(l = c = 0),
X(n.access(), function (e) {
if (i(e)) {
var t = e.row(),
n = t + e.rowspan() - 1,
r = e.column(),
o = r + e.colspan() - 1;
t < u ? (u = t) : c < n && (c = n), r < a ? (a = r) : l < o && (l = o);
}
}),
yn(u, a, c, l)),
p = 'th:not(' + t + '),td:not(' + t + ')',
v = cn.filterFirstLayer(e, 'th,td', function (e) {
return pt(e, p);
});
return (
P(v, Mt),
(function (e, t, n, r) {
for (var o, i, u, a = t.grid().columns(), c = t.grid().rows(), l = 0; l < c; l++)
for (var f = !1, s = 0; s < a; s++)
l < n.minRow() ||
l > n.maxRow() ||
s < n.minCol() ||
s > n.maxCol() ||
(wn.getAt(t, l, s).filter(r).isNone()
? ((o = f),
(i = e[l].element()),
(u = De.fromTag('td')),
kt(u, De.fromTag('br')),
(o ? kt : At)(i, u))
: (f = !0));
})(m, g, h, d),
(o = e),
(f = h),
(s = I(cn.firstLayer(o, 'tr'), function (e) {
return 0 === e.dom().childElementCount;
})),
P(s, Mt),
(f.minCol() !== f.maxCol() && f.minRow() !== f.maxRow()) ||
P(cn.firstLayer(o, 'th,td'), function (e) {
ye(e, 'rowspan'), ye(e, 'colspan');
}),
ye(o, 'width'),
ye(o, 'height'),
Me(o, 'width'),
Me(o, 'height'),
e
);
},
Cn =
((Jt = me),
($t = 'text'),
(Qt = function (e) {
return Jt(e) ? S.from(e.dom().nodeValue) : S.none();
}),
(Zt = mt.detect().browser),
{
get: function (e) {
if (!Jt(e)) throw new Error('Can only get ' + $t + ' value of a ' + $t + ' node');
return en(e).getOr('');
},
getOption: (en =
Zt.isIE() && 10 === Zt.version.major
? function (e) {
try {
return Qt(e);
} catch (t) {
return S.none();
}
}
: Qt),
set: function (e, t) {
if (!Jt(e)) throw new Error('Can only set raw ' + $t + ' value of a ' + $t + ' node');
e.dom().nodeValue = t;
},
}),
Sn = function (e) {
return Cn.get(e);
},
Rn = function (e) {
return Cn.getOption(e);
},
Tn = function (e, t) {
Cn.set(e, t);
},
Dn = function (e) {
return 'img' === ce(e)
? 1
: Rn(e).fold(
function () {
return Dt(e).length;
},
function (e) {
return e.length;
},
);
},
On = ['img', 'br'],
Nn = function (e) {
return (
Rn(e)
.filter(function (e) {
return 0 !== e.trim().length || -1 < e.indexOf('\xa0');
})
.isSome() || E(On, ce(e))
);
},
En = function (e) {
return (
(r = Nn),
(o = function (e) {
for (var t = 0; t < e.childNodes.length; t++) {
if (r(De.fromDom(e.childNodes[t]))) return S.some(De.fromDom(e.childNodes[t]));
var n = o(e.childNodes[t]);
if (n.isSome()) return n;
}
return S.none();
})(e.dom())
);
var r, o;
},
An = function (e) {
return kn(e, Nn);
},
kn = function (e, i) {
var u = function (e) {
for (var t = Dt(e), n = t.length - 1; 0 <= n; n--) {
var r = t[n];
if (i(r)) return S.some(r);
var o = u(r);
if (o.isSome()) return o;
}
return S.none();
};
return u(e);
},
Pn = function (e, t) {
return De.fromDom(e.dom().cloneNode(t));
},
In = function (e) {
return Pn(e, !1);
},
Bn = function (e) {
return Pn(e, !0);
},
Wn = function (e, t) {
var n,
r,
o,
i,
u = ((n = e), (r = t), (o = De.fromTag(r)), (i = xe(n)), ve(o, i), o),
a = Dt(Bn(e));
return Bt(u, a), u;
},
Mn = function () {
var e = De.fromTag('td');
return kt(e, De.fromTag('br')), e;
},
_n = function (e, t, n) {
var r = Wn(e, t);
return (
X(n, function (e, t) {
null === e ? ye(r, t) : pe(r, t, e);
}),
r
);
},
Ln = function (e) {
return e;
},
jn = function (e) {
return function () {
return De.fromTag('tr', e.dom());
};
},
Fn = function (d, e, m) {
return {
row: jn(e),
cell: function (e) {
var r,
o,
i,
t,
n,
u,
a,
c = xt(e.element()),
l = De.fromTag(ce(e.element()), c.dom()),
f = m.getOr([
'strong',
'em',
'b',
'i',
'span',
'font',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'p',
'div',
]),
s =
0 < f.length
? ((r = e.element()),
(o = l),
(i = f),
En(r)
.map(function (e) {
var t = i.join(','),
n = Gt(e, t, function (e) {
return bt(e, r);
});
return W(
n,
function (e, t) {
var n = In(t);
return ye(n, 'contenteditable'), kt(e, n), n;
},
o,
);
})
.getOr(o))
: l;
return (
kt(s, De.fromTag('br')),
(t = e.element()),
(n = l),
(u = t.dom()),
(a = n.dom()),
Se(u) && Se(a) && (a.style.cssText = u.style.cssText),
Me(l, 'height'),
1 !== e.colspan() && Me(e.element(), 'width'),
d(e.element(), l),
l
);
},
replace: _n,
gap: Mn,
};
},
zn = function (e) {
return { row: jn(e), cell: Mn, replace: Ln, gap: Mn };
},
Hn = [
'body',
'p',
'div',
'article',
'aside',
'figcaption',
'figure',
'footer',
'header',
'nav',
'section',
'ol',
'ul',
'li',
'table',
'thead',
'tbody',
'tfoot',
'caption',
'tr',
'td',
'th',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'blockquote',
'pre',
'address',
];
function Un() {
return {
up: C({ selector: nn, closest: un, predicate: tn, all: St }),
down: C({ selector: Xt, predicate: Vt }),
styles: C({ get: Ie, getRaw: We, set: ke, remove: Me }),
attrs: C({
get: be,
set: pe,
remove: ye,
copyTo: function (e, t) {
var n = xe(e);
ve(t, n);
},
}),
insert: C({
before: Nt,
after: Et,
afterAll: It,
append: kt,
appendAll: Bt,
prepend: At,
wrap: Pt,
}),
remove: C({ unwrap: _t, remove: Mt }),
create: C({
nu: De.fromTag,
clone: function (e) {
return De.fromDom(e.dom().cloneNode(!1));
},
text: De.fromText,
}),
query: C({
comparePosition: function (e, t) {
return e.dom().compareDocumentPosition(t.dom());
},
prevSibling: Rt,
nextSibling: Tt,
}),
property: C({
children: Dt,
name: ce,
parent: Ct,
document: function (e) {
return e.dom().ownerDocument;
},
isText: me,
isComment: se,
isElement: de,
getText: Sn,
setText: Tn,
isBoundary: function (e) {
return !!de(e) && ('body' === ce(e) || E(Hn, ce(e)));
},
isEmptyTag: function (e) {
return !!de(e) && E(['br', 'img', 'hr', 'input'], ce(e));
},
}),
eq: bt,
is: yt,
};
}
var qn = $('left', 'right'),
Vn = function (e, t, n) {
var r = e.property().children(t);
return L(r, b(e.eq, n)).map(function (e) {
return { before: C(r.slice(0, e)), after: C(r.slice(e + 1)) };
});
},
Gn = function (n, r, o) {
return Vn(n, r, o).map(function (e) {
var t = n.create().clone(r);
return (
n.insert().appendAll(t, e.before().concat([o])),
n.insert().appendAll(r, e.after()),
n.insert().before(r, t),
qn(t, r)
);
});
},
Yn = function (n, r, e) {
return Vn(n, r, e).map(function (e) {
var t = n.create().clone(r);
return n.insert().appendAll(t, e.after()), n.insert().after(r, t), qn(r, t);
});
},
Xn = function (i, e, u, a) {
var r = $('first', 'second', 'splits'),
c = function (e, t, o) {
var n = r(e, S.none(), o);
return u(e)
? r(e, t, o)
: i
.property()
.parent(e)
.bind(function (r) {
return a(i, r, e)
.map(function (e) {
var t = [{ first: e.left, second: e.right }],
n = u(r) ? r : e.left();
return c(n, S.some(e.right()), o.concat(t));
})
.getOr(n);
});
};
return c(e, S.none(), []);
},
Kn = function (r, o, e, t) {
var n = o(r, e);
return W(
t,
function (e, t) {
var n = o(r, t);
return Jn(r, e, n);
},
n,
);
},
Jn = function (t, e, n) {
return e.bind(function (e) {
return n.filter(b(t.eq, e));
});
},
$n = function (e, t, n) {
return 0 < n.length ? Kn(e, t, (r = n)[0], r.slice(1)) : S.none();
var r;
},
Qn = function (e, t) {
return b(e.eq, t);
},
Zn = function (t, e, n, r) {
var o = r !== undefined ? r : C(!1),
i = [e].concat(t.up().all(e)),
u = [n].concat(t.up().all(n)),
a = function (t) {
return L(t, o).fold(
function () {
return t;
},
function (e) {
return t.slice(0, e + 1);
},
);
},
c = a(i),
l = a(u),
f = _(c, function (e) {
return A(l, Qn(t, e));
});
return { firstpath: C(c), secondpath: C(l), shared: C(f) };
},
er = function (t, e, n) {
var r = Zn(t, e, n);
return r.shared().bind(function (e) {
return (function (o, i, e, t) {
var u = o.property().children(i);
if (o.eq(i, e[0])) return S.some([e[0]]);
if (o.eq(i, t[0])) return S.some([t[0]]);
var n = function (e) {
var t = V(e),
n = L(t, Qn(o, i)).getOr(-1),
r = n < t.length - 1 ? t[n + 1] : t[n];
return L(u, Qn(o, r));
},
r = n(e),
a = n(t);
return r.bind(function (r) {
return a.map(function (e) {
var t = Math.min(r, e),
n = Math.max(r, e);
return u.slice(t, n + 1);
});
});
})(t, e, r.firstpath(), r.secondpath());
});
},
tr = Zn,
nr = function (e, t, n) {
return $n(e, t, n);
},
rr = function (e, t, n) {
return er(e, t, n);
},
or = function (e, t, n, r) {
return tr(e, t, n, r);
},
ir = function (e, t, n) {
return Gn(e, t, n);
},
ur = function (e, t, n) {
return Yn(e, t, n);
},
ar = function (e, t, n, r) {
return Xn(e, t, n, r);
},
cr = Un(),
lr = {
sharedOne: function (n, e) {
return nr(
cr,
function (e, t) {
return n(t);
},
e,
);
},
subset: function (e, t) {
return rr(cr, e, t);
},
ancestors: function (e, t, n) {
return or(cr, e, t, n);
},
breakToLeft: function (e, t) {
return ir(cr, e, t);
},
breakToRight: function (e, t) {
return ur(cr, e, t);
},
breakPath: function (e, t, r) {
return ar(cr, e, t, function (e, t, n) {
return r(t, n);
});
},
},
fr = function (e, t) {
return (
t.column() >= e.startCol() &&
t.column() + t.colspan() - 1 <= e.finishCol() &&
t.row() >= e.startRow() &&
t.row() + t.rowspan() - 1 <= e.finishRow()
);
},
sr = 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();
},
dr = function (e, t) {
for (var n = !0, r = b(fr, t), o = t.startRow(); o <= t.finishRow(); o++)
for (var i = t.startCol(); i <= t.finishCol(); i++) n = n && wn.getAt(e, o, i).exists(r);
return n ? S.some(t) : S.none();
},
mr = function (e, t, n) {
var r = wn.findItem(e, t, bt),
o = wn.findItem(e, n, bt);
return r.bind(function (r) {
return o.map(function (e) {
return (
(t = r),
(n = e),
qt.bounds(
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;
});
});
},
gr = mr,
hr = function (t, e, n) {
return mr(t, e, n).bind(function (e) {
return dr(t, e);
});
},
pr = function (r, e, o, i) {
return wn.findItem(r, e, bt).bind(function (e) {
var t = 0 < o ? e.row() + e.rowspan() - 1 : e.row(),
n = 0 < i ? e.column() + e.colspan() - 1 : e.column();
return wn.getAt(r, t + o, n + i).map(function (e) {
return e.element();
});
});
},
vr = function (n, e, t) {
return gr(n, e, t).map(function (e) {
var t = wn.filterItems(n, b(sr, e));
return k(t, function (e) {
return e.element();
});
});
},
br = function (e, t) {
return wn
.findItem(e, t, function (e, t) {
return wt(t, e);
})
.bind(function (e) {
return e.element();
});
},
wr = function (e) {
var t = hn(e);
return wn.generate(t);
},
yr = function (n, r, o) {
return gn.table(n).bind(function (e) {
var t = wr(e);
return pr(t, n, r, o);
});
},
xr = function (e, t, n) {
var r = wr(e);
return vr(r, t, n);
},
Cr = function (e, t, n, r, o) {
var i = wr(e),
u = bt(e, n) ? t : br(i, t),
a = bt(e, o) ? r : br(i, r);
return vr(i, u, a);
},
Sr = function (e, t, n) {
var r = wr(e);
return hr(r, t, n);
},
Rr = function (e, t) {
return nn(e, 'table');
},
Tr = re(['boxes', 'start', 'finish'], []),
Dr = function (a, c, r) {
var l = function (t) {
return function (e) {
return r(e) || bt(e, t);
};
};
return bt(a, c)
? S.some(Tr({ boxes: S.some([a]), start: a, finish: c }))
: Rr(a).bind(function (u) {
return Rr(c).bind(function (i) {
if (bt(u, i)) return S.some(Tr({ boxes: xr(u, a, c), start: a, finish: c }));
if (wt(u, i)) {
var e = 0 < (t = Gt(c, 'td,th', l(u))).length ? t[t.length - 1] : c;
return S.some(Tr({ boxes: Cr(u, a, u, c, i), start: a, finish: e }));
}
if (wt(i, u)) {
var t,
n = 0 < (t = Gt(a, 'td,th', l(i))).length ? t[t.length - 1] : a;
return S.some(Tr({ boxes: Cr(i, a, u, c, i), start: a, finish: n }));
}
return lr
.ancestors(a, c)
.shared()
.bind(function (e) {
return un(e, 'table', r).bind(function (e) {
var t = Gt(c, 'td,th', l(e)),
n = 0 < t.length ? t[t.length - 1] : c,
r = Gt(a, 'td,th', l(e)),
o = 0 < r.length ? r[r.length - 1] : a;
return S.some(Tr({ boxes: Cr(e, a, u, c, i), start: o, finish: n }));
});
});
});
});
},
Or = Dr,
Nr = function (e, t) {
var n = Xt(e, t);
return 0 < n.length ? S.some(n) : S.none();
},
Er = function (e, t, n, r, o) {
return ((i = e),
(u = o),
_(i, function (e) {
return pt(e, u);
})).bind(function (e) {
return yr(e, t, n).bind(function (e) {
return (
(n = r),
nn((t = e), 'table').bind(function (e) {
return on(e, n).bind(function (e) {
return Dr(e, t).bind(function (t) {
return t.boxes().map(function (e) {
return { boxes: C(e), start: C(t.start()), finish: C(t.finish()) };
});
});
});
})
);
var t, n;
});
});
var i, u;
},
Ar = function (e, t, r) {
return on(e, t).bind(function (n) {
return on(e, r).bind(function (t) {
return lr.sharedOne(Rr, [n, t]).map(function (e) {
return { first: C(n), last: C(t), table: C(e) };
});
});
});
},
kr = function (e, t) {
return Nr(e, t);
},
Pr = function (o, e, t) {
return Ar(o, e, t).bind(function (n) {
var e = function (e) {
return bt(o, e);
},
t = nn(n.first(), 'thead,tfoot,tbody,table', e),
r = nn(n.last(), 'thead,tfoot,tbody,table', e);
return t.bind(function (t) {
return r.bind(function (e) {
return bt(t, e) ? Sr(n.table(), n.first(), n.last()) : S.none();
});
});
});
},
Ir = 'data-mce-selected',
Br = 'data-mce-first-selected',
Wr = 'data-mce-last-selected',
Mr = {
selected: C(Ir),
selectedSelector: C('td[data-mce-selected],th[data-mce-selected]'),
attributeSelector: C('[data-mce-selected]'),
firstSelected: C(Br),
firstSelectedSelector: C('td[data-mce-first-selected],th[data-mce-first-selected]'),
lastSelected: C(Wr),
lastSelectedSelector: C('td[data-mce-last-selected],th[data-mce-last-selected]'),
},
_r = function (u) {
if (!R(u)) throw new Error('cases must be an array');
if (0 === u.length) throw new Error('there must be at least one case');
var a = [],
n = {};
return (
P(u, function (e, r) {
var t = Y(e);
if (1 !== t.length) throw new Error('one and only one name per case');
var o = t[0],
i = e[o];
if (n[o] !== undefined) throw new Error('duplicate key detected:' + o);
if ('cata' === o) throw new Error('cannot have a case named cata (sorry)');
if (!R(i)) throw new Error('case arguments must be an array');
a.push(o),
(n[o] = function () {
var e = arguments.length;
if (e !== i.length)
throw new Error(
'Wrong number of arguments to case ' +
o +
'. Expected ' +
i.length +
' (' +
i +
'), got ' +
e,
);
for (var n = new Array(e), t = 0; t < n.length; t++) n[t] = arguments[t];
return {
fold: function () {
if (arguments.length !== u.length)
throw new Error(
'Wrong number of arguments to fold. Expected ' +
u.length +
', got ' +
arguments.length,
);
return arguments[r].apply(null, n);
},
match: function (e) {
var t = Y(e);
if (a.length !== t.length)
throw new Error(
'Wrong number of arguments to match. Expected: ' +
a.join(',') +
'\nActual: ' +
t.join(','),
);
if (
!U(a, function (e) {
return E(t, e);
})
)
throw new Error(
'Not all branches were specified when using match. Specified: ' +
t.join(', ') +
'\nRequired: ' +
a.join(', '),
);
return e[o].apply(null, n);
},
log: function (e) {
m.console.log(e, { constructors: a, constructor: o, params: n });
},
};
});
}),
n
);
},
Lr = _r([{ none: [] }, { multiple: ['elements'] }, { single: ['selection'] }]),
jr = {
cata: function (e, t, n, r) {
return e.fold(t, n, r);
},
none: Lr.none,
multiple: Lr.multiple,
single: Lr.single,
},
Fr = function (e, t) {
return jr.cata(t.get(), C([]), o, C([e]));
},
zr = function (n, e) {
return jr.cata(
e.get(),
S.none,
function (t, e) {
return 0 === t.length
? S.none()
: Pr(n, Mr.firstSelectedSelector(), Mr.lastSelectedSelector()).bind(function (e) {
return 1 < t.length ? S.some({ bounds: C(e), cells: C(t) }) : S.none();
});
},
S.none,
);
},
Hr = function (e, t) {
var n = Fr(e, t);
return 0 < n.length &&
U(n, function (e) {
return (
(we(e, 'rowspan') && 1 < parseInt(be(e, 'rowspan'), 10)) ||
(we(e, 'colspan') && 1 < parseInt(be(e, 'colspan'), 10))
);
})
? S.some(n)
: S.none();
},
Ur = Fr,
qr = function (e) {
return { element: C(e), mergable: S.none, unmergable: S.none, selection: C([e]) };
},
Vr = $('element', 'clipboard', 'generators'),
Gr = {
noMenu: qr,
forMenu: function (e, t, n) {
return {
element: C(n),
mergable: C(zr(t, e)),
unmergable: C(Hr(n, e)),
selection: C(Ur(n, e)),
};
},
notCell: function (e) {
return qr(e);
},
paste: Vr,
pasteRows: function (e, t, n, r, o) {
return {
element: C(n),
mergable: S.none,
unmergable: S.none,
selection: C(Ur(n, e)),
clipboard: C(r),
generators: C(o),
};
},
},
Yr = function (f, e, s, d) {
f.on('BeforeGetContent', function (n) {
!0 === n.selection &&
jr.cata(
e.get(),
y,
function (e) {
var t;
n.preventDefault(),
((t = e),
gn
.table(t[0])
.map(Bn)
.map(function (e) {
return [xn(e, Mr.attributeSelector())];
})).each(function (e) {
var t;
n.content =
'text' === n.format
? k(e, function (e) {
return e.dom().innerText;
}).join('')
: ((t = f),
k(e, function (e) {
return t.selection.serializer.serialize(e.dom(), {});
}).join(''));
});
},
y,
);
}),
f.on('BeforeSetContent', function (l) {
!0 === l.selection &&
!0 === l.paste &&
S.from(f.dom.getParent(f.selection.getStart(), 'th,td')).each(function (e) {
var c = De.fromDom(e);
gn.table(c).each(function (t) {
var e,
n,
r,
o = I(
((e = l.content),
((r = (n || m.document).createElement('div')).innerHTML = e),
Dt(De.fromDom(r))),
function (e) {
return 'meta' !== ce(e);
},
);
if (1 === o.length && 'table' === ce(o[0])) {
l.preventDefault();
var i = De.fromDom(f.getDoc()),
u = zn(i),
a = Gr.paste(c, o[0], u);
s.pasteCells(t, a).each(function (e) {
f.selection.setRng(e), f.focus(), d.clear(t);
});
}
});
});
});
};
function Xr(r, o) {
var e = function (e) {
var t = o(e);
if (t <= 0 || null === t) {
var n = Ie(e, r);
return parseFloat(n) || 0;
}
return t;
},
i = function (o, e) {
return M(
e,
function (e, t) {
var n = Ie(o, t),
r = n === undefined ? 0 : parseInt(n, 10);
return isNaN(r) ? e : e + r;
},
0,
);
};
return {
set: function (e, t) {
if (!O(t) && !t.match(/^[0-9]+$/))
throw new Error(r + '.set accepts only positive integer values. Value was ' + t);
var n = e.dom();
Se(n) && (n.style[r] = t + 'px');
},
get: e,
getOuter: e,
aggregate: i,
max: function (e, t, n) {
var r = i(e, n);
return r < t ? t - r : 0;
},
};
}
var Kr = Xr('height', function (e) {
var t = e.dom();
return Oe(e) ? t.getBoundingClientRect().height : t.offsetHeight;
}),
Jr = function (e) {
return Kr.get(e);
},
$r = function (e) {
return Kr.getOuter(e);
},
Qr = Xr('width', function (e) {
return e.dom().offsetWidth;
}),
Zr = function (e) {
return Qr.get(e);
},
eo = function (e) {
return Qr.getOuter(e);
},
to = mt.detect(),
no = function (e, t, n) {
return (r = Ie(e, t)), (o = n), (i = parseFloat(r)), isNaN(i) ? o : i;
var r, o, i;
},
ro = function (e) {
return to.browser.isIE() || to.browser.isEdge()
? ((n = no((t = e), 'padding-top', 0)),
(r = no(t, 'padding-bottom', 0)),
(o = no(t, 'border-top-width', 0)),
(i = no(t, 'border-bottom-width', 0)),
(u = t.dom().getBoundingClientRect().height),
'border-box' === Ie(t, 'box-sizing') ? u : u - n - r - (o + i))
: no(e, 'height', Jr(e));
var t, n, r, o, i, u;
},
oo = /(\d+(\.\d+)?)(\w|%)*/,
io = /(\d+(\.\d+)?)%/,
uo = /(\d+(\.\d+)?)px|em/,
ao = function (e, t) {
ke(e, 'height', t + 'px');
},
co = function (e, t, n, r) {
var o,
i,
u,
a,
c,
l,
f,
s,
d,
m = parseInt(e, 10);
return (
(s = l = '%'),
(d = (f = e).length - l.length),
('' !== s && (f.length < s.length || f.substr(d, d + s.length) !== s)) || 'table' === ce(t)
? m
: ((o = t),
(i = m),
(u = n),
(a = r),
(c = gn
.table(o)
.map(function (e) {
var t = u(e);
return Math.floor((i / 100) * t);
})
.getOr(i)),
a(o, c),
c)
);
},
lo = function (e) {
var t,
n = We((t = e), 'height').getOrThunk(function () {
return ro(t) + 'px';
});
return n ? co(n, e, Jr, ao) : Jr(e);
},
fo = function (e, t) {
return we(e, t) ? parseInt(be(e, t), 10) : 1;
},
so = function (e) {
return We(e, 'width').fold(
function () {
return S.from(be(e, 'width'));
},
function (e) {
return S.some(e);
},
);
},
mo = function (e, t) {
return (e / t.pixelWidth()) * 100;
},
go = {
percentageBasedSizeRegex: C(io),
pixelBasedSizeRegex: C(uo),
setPixelWidth: function (e, t) {
ke(e, 'width', t + 'px');
},
setPercentageWidth: function (e, t) {
ke(e, 'width', t + '%');
},
setHeight: ao,
getPixelWidth: function (t, n) {
return so(t).fold(
function () {
return Zr(t);
},
function (e) {
return (function (e, t, n) {
if (uo.test(t)) {
var r = uo.exec(t);
return parseInt(r[1], 10);
}
if (io.test(t)) {
var o = io.exec(t),
i = parseFloat(o[1]);
return (i / 100) * n.pixelWidth();
}
return Zr(e);
})(t, e, n);
},
);
},
getPercentageWidth: function (t, n) {
return so(t).fold(
function () {
var e = Zr(t);
return mo(e, n);
},
function (e) {
return (function (e, t, n) {
if (io.test(t)) {
var r = io.exec(t);
return parseFloat(r[1]);
}
var o = Zr(e);
return mo(o, n);
})(t, e, n);
},
);
},
getGenericWidth: function (e) {
return so(e).bind(function (e) {
if (oo.test(e)) {
var t = oo.exec(e);
return S.some({ width: C(t[1]), unit: C(t[3]) });
}
return S.none();
});
},
setGenericWidth: function (e, t, n) {
ke(e, 'width', t + n);
},
getHeight: function (e) {
return (n = 'rowspan'), lo((t = e)) / fo(t, n);
var t, n;
},
getRawWidth: so,
},
ho = function (n, r) {
go.getGenericWidth(n).each(function (e) {
var t = e.width() / 2;
go.setGenericWidth(n, t, e.unit()), go.setGenericWidth(r, t, e.unit());
});
},
po = function (n, r) {
return {
left: C(n),
top: C(r),
translate: function (e, t) {
return po(n + e, r + t);
},
};
},
vo = po,
bo = function (e, t) {
return e !== undefined ? e : t !== undefined ? t : 0;
},
wo = function (e) {
var t,
n,
r = e.dom().ownerDocument,
o = r.body,
i =
((t = De.fromDom(r)),
(n = t.dom()) === n.window && t instanceof m.Window
? t
: ge(t)
? n.defaultView || n.parentWindow
: null),
u = r.documentElement,
a = bo(i.pageYOffset, u.scrollTop),
c = bo(i.pageXOffset, u.scrollLeft),
l = bo(u.clientTop, o.clientTop),
f = bo(u.clientLeft, o.clientLeft);
return yo(e).translate(c - f, a - l);
},
yo = function (e) {
var t,
n,
r,
o = e.dom(),
i = o.ownerDocument,
u = i.body,
a = De.fromDom(i.documentElement);
return u === o
? vo(u.offsetLeft, u.offsetTop)
: ((t = e),
(n = a || De.fromDom(m.document.documentElement)),
tn(t, b(bt, n)).isSome()
? ((r = o.getBoundingClientRect()), vo(r.left, r.top))
: vo(0, 0));
},
xo = $('row', 'y'),
Co = $('col', 'x'),
So = function (e) {
return wo(e).left() + eo(e);
},
Ro = function (e) {
return wo(e).left();
},
To = function (e, t) {
return Co(e, Ro(t));
},
Do = function (e, t) {
return Co(e, So(t));
},
Oo = function (e) {
return wo(e).top();
},
No = function (n, t, r) {
if (0 === r.length) return [];
var e = k(r.slice(1), function (e, t) {
return e.map(function (e) {
return n(t, e);
});
}),
o = r[r.length - 1].map(function (e) {
return t(r.length - 1, e);
});
return e.concat([o]);
},
Eo = {
delta: o,
positions: b(
No,
function (e, t) {
return xo(e, Oo(t));
},
function (e, t) {
return xo(e, Oo(t) + $r(t));
},
),
edge: Oo,
},
Ao = { delta: o, edge: Ro, positions: b(No, To, Do) },
ko = {
height: Eo,
rtl: {
delta: function (e, t) {
return -e;
},
edge: So,
positions: b(No, Do, To),
},
ltr: Ao,
},
Po = { ltr: ko.ltr, rtl: ko.rtl };
function Io(t) {
var n = function (e) {
return t(e).isRtl() ? Po.rtl : Po.ltr;
};
return {
delta: function (e, t) {
return n(t).delta(e, t);
},
edge: function (e) {
return n(e).edge(e);
},
positions: function (e, t) {
return n(t).positions(e);
},
};
}
var Bo,
Wo = function (e) {
var t = hn(e);
return wn.generate(t).grid();
},
Mo = Object.prototype.hasOwnProperty,
_o =
((Bo = function (e, t) {
return t;
}),
function () {
for (var e = new Array(arguments.length), t = 0; t < e.length; t++) e[t] = arguments[t];
if (0 === e.length) throw new Error("Can't merge zero objects");
for (var n = {}, r = 0; r < e.length; r++) {
var o = e[r];
for (var i in o) Mo.call(o, i) && (n[i] = Bo(n[i], o[i]));
}
return n;
}),
Lo = function (e) {
for (
var t = [],
n = function (e) {
t.push(e);
},
r = 0;
r < e.length;
r++
)
e[r].each(n);
return t;
},
jo = function (e, t) {
for (var n = 0; n < e.length; n++) {
var r = t(e[n], n);
if (r.isSome()) return r;
}
return S.none();
},
Fo = function (e, t, n, r) {
n === r ? ye(e, t) : pe(e, t, n);
},
zo = function (o, e) {
var i = [],
u = [],
t = function (e, t) {
0 < e.length
? (function (e, t) {
var n = rn(o, t).getOrThunk(function () {
var e = De.fromTag(t, xt(o).dom());
return kt(o, e), e;
});
Wt(n);
var r = k(e, function (e) {
e.isNew() && i.push(e.element());
var t = e.element();
return (
Wt(t),
P(e.cells(), function (e) {
e.isNew() && u.push(e.element()),
Fo(e.element(), 'colspan', e.colspan(), 1),
Fo(e.element(), 'rowspan', e.rowspan(), 1),
kt(t, e.element());
}),
t
);
});
Bt(n, r);
})(e, t)
: rn(o, t).each(Mt);
},
n = [],
r = [],
a = [];
return (
P(e, function (e) {
switch (e.section()) {
case 'thead':
n.push(e);
break;
case 'tbody':
r.push(e);
break;
case 'tfoot':
a.push(e);
}
}),
t(n, 'thead'),
t(r, 'tbody'),
t(a, 'tfoot'),
{ newRows: C(i), newCells: C(u) }
);
},
Ho = function (e) {
return k(e, function (e) {
var n = In(e.element());
return (
P(e.cells(), function (e) {
var t = Bn(e.element());
Fo(t, 'colspan', e.colspan(), 1), Fo(t, 'rowspan', e.rowspan(), 1), kt(n, t);
}),
n
);
});
},
Uo = function (e, t) {
var n = be(e, t);
return n === undefined || '' === n ? [] : n.split(' ');
},
qo = function (e) {
return e.dom().classList !== undefined;
},
Vo = function (e, t) {
return (o = t), (i = Uo((n = e), (r = 'class')).concat([o])), pe(n, r, i.join(' ')), !0;
var n, r, o, i;
},
Go = function (e, t) {
return (
(o = t),
0 <
(i = I(Uo((n = e), (r = 'class')), function (e) {
return e !== o;
})).length
? pe(n, r, i.join(' '))
: ye(n, r),
!1
);
var n, r, o, i;
},
Yo = function (e, t) {
qo(e) ? e.dom().classList.add(t) : Vo(e, t);
},
Xo = function (e) {
0 === (qo(e) ? e.dom().classList : Uo(e, 'class')).length && ye(e, 'class');
},
Ko = function (e, t) {
return qo(e) && e.dom().classList.contains(t);
},
Jo = function (e, t) {
for (var n = [], r = 0; r < e; r++) n.push(t(r));
return n;
},
$o = function (e, t) {
for (var n = [], r = e; r < t; r++) n.push(r);
return n;
},
Qo = function (t, n) {
if (n < 0 || n >= t.length - 1) return S.none();
var e = t[n].fold(
function () {
var e = V(t.slice(0, n));
return jo(e, function (e, t) {
return e.map(function (e) {
return { value: e, delta: t + 1 };
});
});
},
function (e) {
return S.some({ value: e, delta: 0 });
},
),
r = t[n + 1].fold(
function () {
var e = t.slice(n + 1);
return jo(e, function (e, t) {
return e.map(function (e) {
return { value: e, delta: t + 1 };
});
});
},
function (e) {
return S.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;
});
});
},
Zo = function (e, t, n) {
var r = e();
return _(r, t)
.orThunk(function () {
return S.from(r[0]).orThunk(n);
})
.map(function (e) {
return e.element();
});
},
ei = function (n) {
var e = n.grid(),
t = $o(0, e.columns()),
r = $o(0, e.rows());
return k(t, function (t) {
return Zo(
function () {
return H(r, function (e) {
return wn
.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 wn.getAt(n, 0, t);
},
);
});
},
ti = function (n) {
var e = n.grid(),
t = $o(0, e.rows()),
r = $o(0, e.columns());
return k(t, function (t) {
return Zo(
function () {
return H(r, function (e) {
return wn
.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 wn.getAt(n, t, 0);
},
);
});
},
ni = function (e) {
var t = e.replace(/\./g, '-');
return {
resolve: function (e) {
return t + '-' + e;
},
};
},
ri = { resolve: ni('ephox-snooker').resolve },
oi = function (e, t, n, r, o) {
var i = De.fromTag('div');
return (
Pe(i, {
position: 'absolute',
left: t - r / 2 + 'px',
top: n + 'px',
height: o + 'px',
width: r + 'px',
}),
ve(i, { 'data-column': e, role: 'presentation' }),
i
);
},
ii = function (e, t, n, r, o) {
var i = De.fromTag('div');
return (
Pe(i, {
position: 'absolute',
left: t + 'px',
top: n - o / 2 + 'px',
height: o + 'px',
width: r + 'px',
}),
ve(i, { 'data-row': e, role: 'presentation' }),
i
);
},
ui = ri.resolve('resizer-bar'),
ai = ri.resolve('resizer-rows'),
ci = ri.resolve('resizer-cols'),
li = function (e) {
var t = Xt(e.parent(), '.' + ui);
P(t, Mt);
},
fi = function (n, e, r) {
var o = n.origin();
P(e, function (e, t) {
e.each(function (e) {
var t = r(o, e);
Yo(t, ui), kt(n.parent(), t);
});
});
},
si = function (e, t, n, r, o, i) {
var u,
a,
c,
l,
f = wo(t),
s = 0 < n.length ? o.positions(n, t) : [];
(u = e),
(a = s),
(c = f),
(l = eo(t)),
fi(u, a, function (e, t) {
var n = ii(t.row(), c.left() - e.left(), t.y() - e.top(), l, 7);
return Yo(n, ai), n;
});
var d,
m,
g,
h,
p = 0 < r.length ? i.positions(r, t) : [];
(d = e),
(m = p),
(g = f),
(h = $r(t)),
fi(d, m, function (e, t) {
var n = oi(t.col(), t.x() - e.left(), g.top() - e.top(), 7, h);
return Yo(n, ci), n;
});
},
di = function (e, t) {
var n = Xt(e.parent(), '.' + ui);
P(n, t);
},
mi = {
refresh: function (e, t, n, r) {
li(e);
var o = hn(t),
i = wn.generate(o),
u = ti(i),
a = ei(i);
si(e, t, u, a, n, r);
},
hide: function (e) {
di(e, function (e) {
ke(e, 'display', 'none');
});
},
show: function (e) {
di(e, function (e) {
ke(e, 'display', 'block');
});
},
destroy: li,
isRowBar: function (e) {
return Ko(e, ai);
},
isColBar: function (e) {
return Ko(e, ci);
},
},
gi = function (e, t) {
return qt.rowcells(t, e.section());
},
hi = function (e, t) {
return e.cells()[t];
},
pi = {
addCell: function (e, t, n) {
var r = e.cells(),
o = r.slice(0, t),
i = r.slice(t),
u = o.concat([n]).concat(i);
return gi(e, u);
},
setCells: gi,
mutateCell: function (e, t, n) {
e.cells()[t] = n;
},
getCell: hi,
getCellElement: function (e, t) {
return hi(e, t).element();
},
mapCells: function (e, t) {
var n = e.cells(),
r = k(n, t);
return qt.rowcells(r, e.section());
},
cellLength: function (e) {
return e.cells().length;
},
},
vi = function (e, t) {
if (0 === e.length) return 0;
var n = e[0];
return L(e, function (e) {
return !t(n.element(), e.element());
}).fold(
function () {
return e.length;
},
function (e) {
return e;
},
);
},
bi = function (e, t, n, r) {
var o,
i,
u,
a,
c = ((o = e), (i = t), o[i]).cells().slice(n),
l = vi(c, r),
f = ((u = e),
(a = n),
k(u, function (e) {
return pi.getCell(e, a);
})).slice(t),
s = vi(f, r);
return { colspan: C(l), rowspan: C(s) };
},
wi = function (o, i) {
var u = k(o, function (e, t) {
return k(e.cells(), function (e, t) {
return !1;
});
});
return k(o, function (e, r) {
var t = H(e.cells(), function (e, t) {
if (!1 === u[r][t]) {
var n = bi(o, r, t, i);
return (
(function (e, t, n, r) {
for (var o = e; o < e + n; o++) for (var i = t; i < t + r; i++) u[o][i] = !0;
})(r, t, n.rowspan(), n.colspan()),
[qt.detailnew(e.element(), n.rowspan(), n.colspan(), e.isNew())]
);
}
return [];
});
return qt.rowdetails(t, e.section());
});
},
yi = function (e, t, n) {
for (var r = [], o = 0; o < e.grid().rows(); o++) {
for (var i = [], u = 0; u < e.grid().columns(); u++) {
var a = wn
.getAt(e, o, u)
.map(function (e) {
return qt.elementnew(e.element(), n);
})
.getOrThunk(function () {
return qt.elementnew(t.gap(), !0);
});
i.push(a);
}
var c = qt.rowcells(i, e.all()[o].section());
r.push(c);
}
return r;
},
xi = function (e, r) {
return k(e, function (e) {
var t,
n =
((t = e.details()),
jo(t, function (e) {
return Ct(e.element()).map(function (e) {
var t = Ct(e).isNone();
return qt.elementnew(e, t);
});
}).getOrThunk(function () {
return qt.elementnew(r.row(), !0);
}));
return qt.rowdatanew(n.element(), e.details(), e.section(), n.isNew());
});
},
Ci = function (e, t) {
var n = wi(e, bt);
return xi(n, t);
},
Si = function (e, t) {
var n = z(
k(e.all(), function (e) {
return e.cells();
}),
);
return _(n, function (e) {
return bt(t, e.element());
});
},
Ri = function (a, c, l, f, s) {
return function (n, r, e, o, i) {
var t = hn(r),
u = wn.generate(t);
return c(u, e)
.map(function (e) {
var t = yi(u, o, !1),
n = a(t, e, bt, s(o)),
r = Ci(n.grid(), o);
return { grid: C(r), cursor: n.cursor };
})
.fold(
function () {
return S.none();
},
function (e) {
var t = zo(r, e.grid());
return (
l(r, e.grid(), i),
f(r),
mi.refresh(n, r, ko.height, i),
S.some({ cursor: e.cursor, newRows: t.newRows, newCells: t.newCells })
);
},
);
};
},
Ti = Ci,
Di = function (t, e) {
return gn.cell(e.element()).bind(function (e) {
return Si(t, e);
});
},
Oi = function (t, e) {
var n = k(e.selection(), function (e) {
return gn.cell(e).bind(function (e) {
return Si(t, e);
});
}),
r = Lo(n);
return 0 < r.length ? S.some(r) : S.none();
},
Ni = function (t, n) {
return gn.cell(n.element()).bind(function (e) {
return Si(t, e).map(function (e) {
return _o(e, { generators: n.generators, clipboard: n.clipboard });
});
});
},
Ei = function (t, e) {
var n = k(e.selection(), function (e) {
return gn.cell(e).bind(function (e) {
return Si(t, e);
});
}),
r = Lo(n);
return 0 < r.length
? S.some(_o({ cells: r }, { generators: e.generators, clipboard: e.clipboard }))
: S.none();
},
Ai = function (e, t) {
return t.mergable();
},
ki = function (e, t) {
return t.unmergable();
},
Pi = function (n) {
return {
is: function (e) {
return n === e;
},
isValue: l,
isError: a,
getOr: C(n),
getOrThunk: C(n),
getOrDie: C(n),
or: function (e) {
return Pi(n);
},
orThunk: function (e) {
return Pi(n);
},
fold: function (e, t) {
return t(n);
},
map: function (e) {
return Pi(e(n));
},
mapError: function (e) {
return Pi(n);
},
each: function (e) {
e(n);
},
bind: function (e) {
return e(n);
},
exists: function (e) {
return e(n);
},
forall: function (e) {
return e(n);
},
toOption: function () {
return S.some(n);
},
};
},
Ii = function (n) {
return {
is: a,
isValue: a,
isError: l,
getOr: o,
getOrThunk: function (e) {
return e();
},
getOrDie: function () {
return (
(e = String(n)),
(function () {
throw new Error(e);
})()
);
var e;
},
or: function (e) {
return e;
},
orThunk: function (e) {
return e();
},
fold: function (e, t) {
return e(n);
},
map: function (e) {
return Ii(n);
},
mapError: function (e) {
return Ii(e(n));
},
each: y,
bind: function (e) {
return Ii(n);
},
exists: a,
forall: l,
toOption: S.none,
};
},
Bi = { value: Pi, error: Ii },
Wi = function (e, t) {
return k(e, function () {
return qt.elementnew(t.cell(), !0);
});
},
Mi = function (t, e, n) {
return t.concat(
Jo(e, function (e) {
return pi.setCells(t[t.length - 1], Wi(t[t.length - 1].cells(), n));
}),
);
},
_i = function (e, t, n) {
return k(e, function (e) {
return pi.setCells(e, e.cells().concat(Wi($o(0, t), n)));
});
},
Li = function (e, t, n) {
if (e.row() >= t.length || e.column() > pi.cellLength(t[0]))
return Bi.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 = pi.cellLength(n[0]),
u = n.length;
return Bi.value({ rowDelta: C(r.length - u), colDelta: C(o.length - i) });
},
ji = function (e, t) {
var n = pi.cellLength(e[0]),
r = pi.cellLength(t[0]);
return { rowDelta: C(0), colDelta: C(n - r) };
},
Fi = function (e, t, n) {
var r = t.colDelta() < 0 ? _i : o;
return (t.rowDelta() < 0 ? Mi : o)(
r(e, Math.abs(t.colDelta()), n),
Math.abs(t.rowDelta()),
n,
);
},
zi = 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++)
pi.mutateCell(e[o], i, qt.elementnew(r(), !1));
return e;
},
Hi = function (e, t, n, r) {
for (var o = !0, i = 0; i < e.length; i++)
for (var u = 0; u < pi.cellLength(e[0]); u++) {
var a = n(pi.getCellElement(e[i], u), t);
!0 === a && !1 === o
? pi.mutateCell(e[i], u, qt.elementnew(r(), !0))
: !0 === a && (o = !1);
}
return e;
},
Ui = function (i, n, u, a) {
if (0 < n && n < i.length) {
var e = i[n - 1].cells(),
t =
((r = u),
M(
e,
function (e, t) {
return A(e, function (e) {
return r(e.element(), t.element());
})
? e
: e.concat([t]);
},
[],
));
P(t, function (r) {
for (
var o = S.none(),
e = function (n) {
for (
var e = function (t) {
var e = i[n].cells()[t];
u(e.element(), r.element()) &&
(o.isNone() && (o = S.some(a())),
o.each(function (e) {
pi.mutateCell(i[n], t, qt.elementnew(e, !0));
}));
},
t = 0;
t < pi.cellLength(i[0]);
t++
)
e(t);
},
t = n;
t < i.length;
t++
)
e(t);
});
}
var r;
return i;
},
qi = function (n, r, o, i, u) {
return Li(n, r, o).map(function (e) {
var t = Fi(r, e, i);
return (function (e, t, n, r, o) {
for (
var i,
u,
a,
c,
l,
f = e.row(),
s = e.column(),
d = f + n.length,
m = s + pi.cellLength(n[0]),
g = f;
g < d;
g++
)
for (var h = s; h < m; h++) {
(i = t),
(u = g),
(a = h),
(c = void 0),
(c = b(o, pi.getCell(i[u], a).element())),
(l = i[u]),
1 < i.length &&
1 < pi.cellLength(l) &&
((0 < a && c(pi.getCellElement(l, a - 1))) ||
(a < l.length - 1 && c(pi.getCellElement(l, a + 1))) ||
(0 < u && c(pi.getCellElement(i[u - 1], a))) ||
(u < i.length - 1 && c(pi.getCellElement(i[u + 1], a)))) &&
Hi(t, pi.getCellElement(t[g], h), o, r.cell);
var p = pi.getCellElement(n[g - f], h - s),
v = r.replace(p);
pi.mutateCell(t[g], h, qt.elementnew(v, !0));
}
return t;
})(n, t, o, i, u);
});
},
Vi = function (e, t, n, r, o) {
Ui(t, e, o, r.cell);
var i = ji(n, t),
u = Fi(n, i, r),
a = ji(t, u),
c = Fi(t, a, r);
return c.slice(0, e).concat(u).concat(c.slice(e, c.length));
},
Gi = function (n, r, e, o, i) {
var t = n.slice(0, r),
u = n.slice(r),
a = pi.mapCells(n[e], function (e, t) {
return 0 < r &&
r < n.length &&
o(pi.getCellElement(n[r - 1], t), pi.getCellElement(n[r], t))
? pi.getCell(n[r], t)
: qt.elementnew(i(e.element(), o), !0);
});
return t.concat([a]).concat(u);
},
Yi = function (e, n, r, o, i) {
return k(e, function (e) {
var t =
0 < n && n < pi.cellLength(e) && o(pi.getCellElement(e, n - 1), pi.getCellElement(e, n))
? pi.getCell(e, n)
: qt.elementnew(i(pi.getCellElement(e, r), o), !0);
return pi.addCell(e, n, t);
});
},
Xi = function (e, r, o, i, u) {
var a = o + 1;
return k(e, function (e, t) {
var n = t === r ? qt.elementnew(u(pi.getCellElement(e, o), i), !0) : pi.getCell(e, o);
return pi.addCell(e, a, n);
});
},
Ki = function (e, t, n, r, o) {
var i = t + 1,
u = e.slice(0, i),
a = e.slice(i),
c = pi.mapCells(e[t], function (e, t) {
return t === n ? qt.elementnew(o(e.element(), r), !0) : e;
});
return u.concat([c]).concat(a);
},
Ji = function (e, t, n) {
return e.slice(0, t).concat(e.slice(n + 1));
},
$i = function (e, n, r) {
var t = k(e, function (e) {
var t = e
.cells()
.slice(0, n)
.concat(e.cells().slice(r + 1));
return qt.rowcells(t, e.section());
});
return I(t, function (e) {
return 0 < e.cells().length;
});
},
Qi = function (e) {
return e.dom().textContent;
},
Zi = function (e, n, r, o) {
return k(e, function (e) {
return pi.mapCells(e, function (e) {
return (
(t = e),
A(n, function (e) {
return r(t.element(), e.element());
})
? qt.elementnew(o(e.element(), r), !0)
: e
);
var t;
});
});
},
eu = function (e, t, n, r) {
return (
pi.getCellElement(e[t], n) !== undefined &&
0 < t &&
r(pi.getCellElement(e[t - 1], n), pi.getCellElement(e[t], n))
);
},
tu = function (e, t, n) {
return 0 < t && n(pi.getCellElement(e, t - 1), pi.getCellElement(e, t));
},
nu = function (n, r, o, e) {
var t = H(n, function (e, t) {
return eu(n, t, r, o) || tu(e, r, o) ? [] : [pi.getCell(e, r)];
});
return Zi(n, t, o, e);
},
ru = function (n, r, o, e) {
var i = n[r],
t = H(i.cells(), function (e, t) {
return eu(n, r, t, o) || tu(i, t, o) ? [] : [e];
});
return Zi(n, t, o, e);
},
ou = function (e, r, o, i) {
var t = B(e, function (e) {
return ce(pi.getCell(e, r).element());
});
return H(t, function (e) {
return 'th' === ce(pi.getCell(e[0], r).element())
? e
: ((t = k(e, function (e) {
var t = pi.getCell(e, r);
return { row: e, text: Qi(t.element()) };
})),
(n = G(t, function (e, t) {
var n = o(e.text, t.text);
return i ? n : -1 * n;
})),
k(n, function (e) {
return e.row;
}));
var t, n;
});
},
iu = function (e, t, o, i) {
var n = e[t].cells(),
r = k(n, function (e) {
return Qi(e.element());
}),
u = k(e, function (e) {
return {
zippedCells: k(e.cells(), function (e, t) {
return { cell: e, reference: n[t], referenceText: r[t] };
}),
section: e.section(),
};
});
return k(u, function (e) {
var t = B(e.zippedCells, function (e) {
return ce(e.reference.element());
}),
n = H(t, function (e) {
return 'th' === ce(e[0].reference.element())
? e
: G(e, function (e, t) {
var n = o(e.referenceText, t.referenceText);
return i ? n : -1 * n;
});
}),
r = k(n, function (e) {
return e.cell;
});
return qt.rowcells(r, e.section);
});
},
uu = function (e) {
return { fold: e };
},
au = function () {
return uu(function (e, t, n, r, o) {
return e();
});
},
cu = function (i) {
return uu(function (e, t, n, r, o) {
return t(i);
});
},
lu = function (i, u) {
return uu(function (e, t, n, r, o) {
return n(i, u);
});
},
fu = function (i, u, a) {
return uu(function (e, t, n, r, o) {
return r(i, u, a);
});
},
su = function (i, u) {
return uu(function (e, t, n, r, o) {
return o(i, u);
});
},
du = function (e, t, i, u) {
var n,
r,
a = e.slice(0),
o =
((r = t),
0 === (n = e).length
? au()
: 1 === n.length
? cu(0)
: 0 === r
? lu(0, 1)
: r === n.length - 1
? su(r - 1, r)
: 0 < r && r < n.length - 1
? fu(r - 1, r, r + 1)
: au()),
c = function (e) {
return k(e, C(0));
},
l = C(c(a)),
f = function (e, t) {
if (0 <= i) {
var n = Math.max(u.minCellWidth(), a[t] - i);
return c(a.slice(0, e))
.concat([i, n - a[t]])
.concat(c(a.slice(t + 1)));
}
var r = Math.max(u.minCellWidth(), a[e] + i),
o = a[e] - r;
return c(a.slice(0, e))
.concat([r - a[e], o])
.concat(c(a.slice(t + 1)));
},
s = f;
return o.fold(
l,
function (e) {
return u.singleColumnWidth(a[e], i);
},
s,
function (e, t, n) {
return f(t, n);
},
function (e, t) {
if (0 <= i) return c(a.slice(0, t)).concat([i]);
var n = Math.max(u.minCellWidth(), a[t] + i);
return c(a.slice(0, t)).concat([n - a[t]]);
},
);
},
mu = function (e, t) {
return we(e, t) && 1 < parseInt(be(e, t), 10);
},
gu = {
hasColspan: function (e) {
return mu(e, 'colspan');
},
hasRowspan: function (e) {
return mu(e, 'rowspan');
},
minWidth: C(10),
minHeight: C(10),
getInt: function (e, t) {
return parseInt(Ie(e, t), 10);
},
},
hu = function (e, t, n) {
return We(e, t).fold(
function () {
return n(e) + 'px';
},
function (e) {
return e;
},
);
},
pu = function (e) {
return hu(e, 'width', go.getPixelWidth);
},
vu = function (e) {
return hu(e, 'height', go.getHeight);
},
bu = function (e, t, n, r, o) {
var i = ei(e),
u = k(i, function (e) {
return e.map(t.edge);
});
return k(i, function (e, t) {
return e.filter(g(gu.hasColspan)).fold(
function () {
var e = Qo(u, t);
return r(e);
},
function (e) {
return n(e, o);
},
);
});
},
wu = function (e) {
return e
.map(function (e) {
return e + 'px';
})
.getOr('');
},
yu = function (e, t, n, r) {
var o = ti(e),
i = k(o, function (e) {
return e.map(t.edge);
});
return k(o, function (e, t) {
return e.filter(g(gu.hasRowspan)).fold(
function () {
var e = Qo(i, t);
return r(e);
},
function (e) {
return n(e);
},
);
});
},
xu = {
getRawWidths: function (e, t) {
return bu(e, t, pu, wu);
},
getPixelWidths: function (e, t, n) {
return bu(
e,
t,
go.getPixelWidth,
function (e) {
return e.getOrThunk(n.minCellWidth);
},
n,
);
},
getPercentageWidths: function (e, t, n) {
return bu(
e,
t,
go.getPercentageWidth,
function (e) {
return e.fold(
function () {
return n.minCellWidth();
},
function (e) {
return (e / n.pixelWidth()) * 100;
},
);
},
n,
);
},
getPixelHeights: function (e, t) {
return yu(e, t, go.getHeight, function (e) {
return e.getOrThunk(gu.minHeight);
});
},
getRawHeights: function (e, t) {
return yu(e, t, vu, wu);
},
},
Cu = function (e, t, n) {
for (var r = 0, o = e; o < t; o++) r += n[o] !== undefined ? n[o] : 0;
return r;
},
Su = function (e, n) {
var t = wn.justCells(e);
return k(t, function (e) {
var t = Cu(e.column(), e.column() + e.colspan(), n);
return { element: e.element, width: C(t), colspan: e.colspan };
});
},
Ru = function (e, n) {
var t = wn.justCells(e);
return k(t, function (e) {
var t = Cu(e.row(), e.row() + e.rowspan(), n);
return { element: e.element, height: C(t), rowspan: e.rowspan };
});
},
Tu = function (e, n) {
return k(e.all(), function (e, t) {
return { element: e.element, height: C(n[t]) };
});
},
Du = function (e) {
var t = parseInt(e, 10),
n = o;
return {
width: C(t),
pixelWidth: C(t),
getWidths: xu.getPixelWidths,
getCellDelta: n,
singleColumnWidth: function (e, t) {
return [Math.max(gu.minWidth(), e + t) - e];
},
minCellWidth: gu.minWidth,
setElementWidth: go.setPixelWidth,
setTableWidth: function (e, t, n) {
var r = W(
t,
function (e, t) {
return e + t;
},
0,
);
go.setPixelWidth(e, r);
},
};
},
Ou = function (e, t) {
if (go.percentageBasedSizeRegex().test(t)) {
var n = go.percentageBasedSizeRegex().exec(t);
return (
(o = n[1]),
(i = e),
(u = parseFloat(o)),
(a = Zr(i)),
{
width: C(u),
pixelWidth: C(a),
getWidths: xu.getPercentageWidths,
getCellDelta: function (e) {
return (e / a) * 100;
},
singleColumnWidth: function (e, t) {
return [100 - e];
},
minCellWidth: function () {
return (gu.minWidth() / a) * 100;
},
setElementWidth: go.setPercentageWidth,
setTableWidth: function (e, t, n) {
var r = u + n;
go.setPercentageWidth(e, r);
},
}
);
}
if (go.pixelBasedSizeRegex().test(t)) {
var r = go.pixelBasedSizeRegex().exec(t);
return Du(r[1]);
}
var o,
i,
u,
a,
c = Zr(e);
return Du(c);
},
Nu = function (t) {
return go.getRawWidth(t).fold(
function () {
var e = Zr(t);
return Du(e);
},
function (e) {
return Ou(t, e);
},
);
},
Eu = function (e) {
return wn.generate(e);
},
Au = function (e) {
var t = hn(e);
return Eu(t);
},
ku = function (e, t, n, r) {
var o = Nu(e),
i = o.getCellDelta(t),
u = Au(e),
a = o.getWidths(u, r, o),
c = du(a, n, i, o),
l = k(c, function (e, t) {
return e + a[t];
}),
f = Su(u, l);
P(f, function (e) {
o.setElementWidth(e.element(), e.width());
}),
n === u.grid().columns() - 1 && o.setTableWidth(e, l, i);
},
Pu = function (e, n, r, t) {
var o = Au(e),
i = xu.getPixelHeights(o, t),
u = k(i, function (e, t) {
return r === t ? Math.max(n + e, gu.minHeight()) : e;
}),
a = Ru(o, u),
c = Tu(o, u);
P(c, function (e) {
go.setHeight(e.element(), e.height());
}),
P(a, function (e) {
go.setHeight(e.element(), e.height());
});
var l = W(
u,
function (e, t) {
return e + t;
},
0,
);
go.setHeight(e, l);
},
Iu = function (e, t, n) {
var r = Nu(e),
o = Eu(t),
i = r.getWidths(o, n, r),
u = Su(o, i);
P(u, function (e) {
r.setElementWidth(e.element(), e.width());
});
var a = W(
i,
function (e, t) {
return t + e;
},
0,
);
0 < u.length && r.setTableWidth(e, a);
},
Bu = function (e) {
var t = e,
n = function () {
return t;
};
return {
get: n,
set: function (e) {
t = e;
},
clone: function () {
return Bu(n());
},
};
},
Wu = function (r, o, i) {
if (0 === o.length) throw new Error('You must specify at least one required field.');
return (
te('required', o),
ne(o),
function (t) {
var n = Y(t);
U(o, function (e) {
return E(n, e);
}) || Z(o, n),
r(o, n);
var e = I(o, function (e) {
return !i.validate(t[e], e);
});
return (
0 < e.length &&
(function (e, t) {
throw new Error(
'All values need to be of type: ' +
t +
'. Keys (' +
Q(e).join(', ') +
') were not.',
);
})(e, i.label),
t
);
}
);
},
Mu = function (t, e) {
var n = I(e, function (e) {
return !E(t, e);
});
0 < n.length && ee(n);
},
_u = function (e) {
return Wu(Mu, e, { validate: D, label: 'function' });
},
Lu = function (e) {
var t = we(e, 'colspan') ? parseInt(be(e, 'colspan'), 10) : 1,
n = we(e, 'rowspan') ? parseInt(be(e, 'rowspan'), 10) : 1;
return { element: C(e), colspan: C(t), rowspan: C(n) };
},
ju = _u(['cell', 'row', 'replace', 'gap']),
Fu = function (r, e) {
ju(r);
var n = Bu(S.none()),
o = e !== undefined ? e : Lu,
i = function (e) {
var t,
n = o(e);
return (t = n), r.cell(t);
},
u = function (e) {
var t = i(e);
return n.get().isNone() && n.set(S.some(t)), (a = S.some({ item: e, replacement: t })), t;
},
a = S.none();
return {
getOrInit: function (t, n) {
return a.fold(
function () {
return u(t);
},
function (e) {
return n(t, e.item) ? e.replacement : u(t);
},
);
},
cursor: n.get,
};
},
zu = function (o, a) {
return function (n) {
var r = Bu(S.none());
ju(n);
var i = [],
u = function (e) {
var t = n.replace(e, a, { scope: o });
return i.push({ item: e, sub: t }), r.get().isNone() && r.set(S.some(t)), t;
};
return {
replaceOrInit: function (t, n) {
return ((r = t),
(o = n),
_(i, function (e) {
return o(e.item, r);
})).fold(
function () {
return u(t);
},
function (e) {
return n(t, e.item) ? e.sub : u(t);
},
);
var r, o;
},
cursor: r.get,
};
};
},
Hu = function (n) {
ju(n);
var e = Bu(S.none());
return {
combine: function (t) {
return (
e.get().isNone() && e.set(S.some(t)),
function () {
var e = n.cell({ element: C(t), colspan: C(1), rowspan: C(1) });
return Me(e, 'width'), Me(t, 'width'), e;
}
);
},
cursor: e.get,
};
},
Uu = [
'body',
'p',
'div',
'article',
'aside',
'figcaption',
'figure',
'footer',
'header',
'nav',
'section',
'ol',
'ul',
'table',
'thead',
'tfoot',
'tbody',
'caption',
'tr',
'td',
'th',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'blockquote',
'pre',
'address',
],
qu = function (e, t) {
var n = e.property().name(t);
return E(Uu, n);
},
Vu = function (e, t) {
return E(['br', 'img', 'hr', 'input'], e.property().name(t));
},
Gu = qu,
Yu = function (e, t) {
var n = e.property().name(t);
return E(['ol', 'ul'], n);
},
Xu = Vu,
Ku = Un(),
Ju = function (e) {
return Gu(Ku, e);
},
$u = function (e) {
return Yu(Ku, e);
},
Qu = function (e) {
return Xu(Ku, e);
},
Zu = function (e) {
var t,
i = function (e) {
return 'br' === ce(e);
},
n = function (o) {
return An(o)
.bind(function (n) {
var r = Tt(n)
.map(function (e) {
return !!Ju(e) || (Qu(e) ? 'img' !== ce(e) : void 0);
})
.getOr(!1);
return Ct(n).map(function (e) {
return !0 === r ||
'li' === ce((t = e)) ||
tn(t, $u).isSome() ||
i(n) ||
(Ju(e) && !bt(o, e))
? []
: [De.fromTag('br')];
var t;
});
})
.getOr([]);
},
r =
0 ===
(t = H(e, function (e) {
var t = Dt(e);
return U(t, function (e) {
return i(e) || (me(e) && 0 === Sn(e).trim().length);
})
? []
: t.concat(n(e));
})).length
? [De.fromTag('br')]
: t;
Wt(e[0]), Bt(e[0], r);
},
ea = function (e) {
0 === gn.cells(e).length && Mt(e);
},
ta = $('grid', 'cursor'),
na = function (e, t, n) {
return ra(e, t, n).orThunk(function () {
return ra(e, 0, 0);
});
},
ra = function (e, t, n) {
return S.from(e[t]).bind(function (e) {
return S.from(e.cells()[n]).bind(function (e) {
return S.from(e.element());
});
});
},
oa = function (e, t, n) {
return ta(e, ra(e, t, n));
},
ia = function (e) {
return M(
e,
function (e, t) {
return A(e, function (e) {
return e.row() === t.row();
})
? e
: e.concat([t]);
},
[],
).sort(function (e, t) {
return e.row() - t.row();
});
},
ua = function (e) {
return M(
e,
function (e, t) {
return A(e, function (e) {
return e.column() === t.column();
})
? e
: e.concat([t]);
},
[],
).sort(function (e, t) {
return e.column() - t.column();
});
},
aa = function (e, t, n) {
var r = pn(e, n),
o = wn.generate(r);
return yi(o, t, !0);
},
ca = function (a) {
return function (e, t, n, r, o, i, u) {
return Ri(
function (e, t, n, r) {
return a(e, t, i, u);
},
Di,
y,
y,
Fu,
)(e, t, n, r, o);
};
},
la = Iu,
fa = {
insertRowBefore: Ri(
function (e, t, n, r) {
var o = t.row(),
i = t.row(),
u = Gi(e, i, o, n, r.getOrInit);
return oa(u, i, t.column());
},
Di,
y,
y,
Fu,
),
insertRowsBefore: Ri(
function (e, t, n, r) {
var o = t[0].row(),
i = t[0].row(),
u = ia(t),
a = M(
u,
function (e, t) {
return Gi(e, i, o, n, r.getOrInit);
},
e,
);
return oa(a, i, t[0].column());
},
Oi,
y,
y,
Fu,
),
insertRowAfter: Ri(
function (e, t, n, r) {
var o = t.row(),
i = t.row() + t.rowspan(),
u = Gi(e, i, o, n, r.getOrInit);
return oa(u, i, t.column());
},
Di,
y,
y,
Fu,
),
insertRowsAfter: Ri(
function (e, t, n, r) {
var o = ia(t),
i = o[o.length - 1].row(),
u = o[o.length - 1].row() + o[o.length - 1].rowspan(),
a = M(
o,
function (e, t) {
return Gi(e, u, i, n, r.getOrInit);
},
e,
);
return oa(a, u, t[0].column());
},
Oi,
y,
y,
Fu,
),
insertColumnBefore: Ri(
function (e, t, n, r) {
var o = t.column(),
i = t.column(),
u = Yi(e, i, o, n, r.getOrInit);
return oa(u, t.row(), i);
},
Di,
la,
y,
Fu,
),
insertColumnsBefore: Ri(
function (e, t, n, r) {
var o = ua(t),
i = o[0].column(),
u = o[0].column(),
a = M(
o,
function (e, t) {
return Yi(e, u, i, n, r.getOrInit);
},
e,
);
return oa(a, t[0].row(), u);
},
Oi,
la,
y,
Fu,
),
insertColumnAfter: Ri(
function (e, t, n, r) {
var o = t.column(),
i = t.column() + t.colspan(),
u = Yi(e, i, o, n, r.getOrInit);
return oa(u, t.row(), i);
},
Di,
la,
y,
Fu,
),
insertColumnsAfter: Ri(
function (e, t, n, r) {
var o = t[t.length - 1].column(),
i = t[t.length - 1].column() + t[t.length - 1].colspan(),
u = ua(t),
a = M(
u,
function (e, t) {
return Yi(e, i, o, n, r.getOrInit);
},
e,
);
return oa(a, t[0].row(), i);
},
Oi,
la,
y,
Fu,
),
splitCellIntoColumns: Ri(
function (e, t, n, r) {
var o = Xi(e, t.row(), t.column(), n, r.getOrInit);
return oa(o, t.row(), t.column());
},
Di,
la,
y,
Fu,
),
splitCellIntoRows: Ri(
function (e, t, n, r) {
var o = Ki(e, t.row(), t.column(), n, r.getOrInit);
return oa(o, t.row(), t.column());
},
Di,
y,
y,
Fu,
),
eraseColumns: Ri(
function (e, t, n, r) {
var o = ua(t),
i = $i(e, o[0].column(), o[o.length - 1].column()),
u = na(i, t[0].row(), t[0].column());
return ta(i, u);
},
Oi,
la,
ea,
Fu,
),
eraseRows: Ri(
function (e, t, n, r) {
var o = ia(t),
i = Ji(e, o[0].row(), o[o.length - 1].row()),
u = na(i, t[0].row(), t[0].column());
return ta(i, u);
},
Oi,
y,
ea,
Fu,
),
makeColumnHeader: Ri(
function (e, t, n, r) {
var o = nu(e, t.column(), n, r.replaceOrInit);
return oa(o, t.row(), t.column());
},
Di,
y,
y,
zu('row', 'th'),
),
unmakeColumnHeader: Ri(
function (e, t, n, r) {
var o = nu(e, t.column(), n, r.replaceOrInit);
return oa(o, t.row(), t.column());
},
Di,
y,
y,
zu(null, 'td'),
),
makeRowHeader: Ri(
function (e, t, n, r) {
var o = ru(e, t.row(), n, r.replaceOrInit);
return oa(o, t.row(), t.column());
},
Di,
y,
y,
zu('col', 'th'),
),
unmakeRowHeader: Ri(
function (e, t, n, r) {
var o = ru(e, t.row(), n, r.replaceOrInit);
return oa(o, t.row(), t.column());
},
Di,
y,
y,
zu(null, 'td'),
),
mergeCells: Ri(
function (e, t, n, r) {
var o = t.cells();
Zu(o);
var i = zi(e, t.bounds(), n, C(o[0]));
return ta(i, S.from(o[0]));
},
Ai,
y,
y,
Hu,
),
unmergeCells: Ri(
function (e, t, n, r) {
var o = W(
t,
function (e, t) {
return Hi(e, t, n, r.combine(t));
},
e,
);
return ta(o, S.from(t[0]));
},
ki,
la,
y,
Hu,
),
pasteCells: Ri(
function (e, n, t, r) {
var o,
i,
u,
a,
c =
((o = n.clipboard()),
(i = n.generators()),
(u = hn(o)),
(a = wn.generate(u)),
yi(a, i, !0)),
l = qt.address(n.row(), n.column());
return qi(l, e, c, n.generators(), t).fold(
function () {
return ta(e, S.some(n.element()));
},
function (e) {
var t = na(e, n.row(), n.column());
return ta(e, t);
},
);
},
Ni,
la,
y,
Fu,
),
pasteRowsBefore: Ri(
function (e, t, n, r) {
var o = e[t.cells[0].row()],
i = t.cells[0].row(),
u = aa(t.clipboard(), t.generators(), o),
a = Vi(i, e, u, t.generators(), n),
c = na(a, t.cells[0].row(), t.cells[0].column());
return ta(a, c);
},
Ei,
y,
y,
Fu,
),
pasteRowsAfter: Ri(
function (e, t, n, r) {
var o = e[t.cells[0].row()],
i = t.cells[t.cells.length - 1].row() + t.cells[t.cells.length - 1].rowspan(),
u = aa(t.clipboard(), t.generators(), o),
a = Vi(i, e, u, t.generators(), n),
c = na(a, t.cells[0].row(), t.cells[0].column());
return ta(a, c);
},
Ei,
y,
y,
Fu,
),
sortRows: ca(function (e, t, n, r) {
var o = ou(e, t.column(), n, r);
return oa(o, t.row(), t.column());
}),
sortColumns: ca(function (e, t, n, r) {
var o = iu(e, t.row(), n, r);
return oa(o, t.row(), t.column());
}),
},
sa = function (e) {
return De.fromDom(e.getBody());
},
da = function (e) {
return e.getBoundingClientRect().width;
},
ma = function (e) {
return e.getBoundingClientRect().height;
},
ga = function (t) {
return function (e) {
return bt(e, sa(t));
};
},
ha = function (e) {
return /^[0-9]+$/.test(e) && (e += 'px'), e;
},
pa = function (e) {
var t = Xt(e, 'td[data-mce-style],th[data-mce-style]');
ye(e, 'data-mce-style'),
P(t, function (e) {
ye(e, 'data-mce-style');
});
},
va = { isRtl: C(!1) },
ba = { isRtl: C(!0) },
wa = {
directionAt: function (e) {
return 'rtl' == ('rtl' === Ie(e, 'direction') ? 'rtl' : 'ltr') ? ba : va;
},
},
ya = [
'tableprops',
'tabledelete',
'|',
'tableinsertrowbefore',
'tableinsertrowafter',
'tabledeleterow',
'|',
'tableinsertcolbefore',
'tableinsertcolafter',
'tabledeletecol',
],
xa = { 'border-collapse': 'collapse', width: '100%' },
Ca = { border: '1' },
Sa = function (e) {
return e.getParam('table_cell_advtab', !0, 'boolean');
},
Ra = function (e) {
return e.getParam('table_row_advtab', !0, 'boolean');
},
Ta = function (e) {
return e.getParam('table_advtab', !0, 'boolean');
},
Da = function (e) {
return e.getParam('table_style_by_css', !1, 'boolean');
},
Oa = function (e) {
return e.getParam('table_cell_class_list', [], 'array');
},
Na = function (e) {
return e.getParam('table_row_class_list', [], 'array');
},
Ea = function (e) {
return e.getParam('table_class_list', [], 'array');
},
Aa = function (e) {
return !1 === e.getParam('table_responsive_width');
},
ka = function (e, t) {
return e.fire('newrow', { node: t });
},
Pa = function (e, t) {
return e.fire('newcell', { node: t });
},
Ia = function (e, t, n, r) {
e.fire('ObjectResizeStart', { target: t, width: n, height: r });
},
Ba = function (e, t, n, r) {
e.fire('ObjectResized', { target: t, width: n, height: r });
},
Wa = function (f, e) {
var t,
n = function (e) {
return 'table' === ce(sa(e));
},
s =
((t = f.getParam('table_clone_elements')),
w(t) ? S.some(t.split(/[ ,]/)) : Array.isArray(t) ? S.some(t) : S.none()),
r = function (u, a, c, l) {
return function (e, t) {
pa(e);
var n = l(),
r = De.fromDom(f.getDoc()),
o = Io(wa.directionAt),
i = Fn(c, r, s);
return a(e)
? u(n, e, t, i, o).bind(function (e) {
return (
P(e.newRows(), function (e) {
ka(f, e.dom());
}),
P(e.newCells(), function (e) {
Pa(f, e.dom());
}),
e.cursor().map(function (e) {
var t = f.dom.createRng();
return t.setStart(e.dom(), 0), t.setEnd(e.dom(), 0), t;
})
);
})
: S.none();
};
};
return {
deleteRow: r(
fa.eraseRows,
function (e) {
var t = Wo(e);
return !1 === n(f) || 1 < t.rows();
},
y,
e,
),
deleteColumn: r(
fa.eraseColumns,
function (e) {
var t = Wo(e);
return !1 === n(f) || 1 < t.columns();
},
y,
e,
),
insertRowsBefore: r(fa.insertRowsBefore, l, y, e),
insertRowsAfter: r(fa.insertRowsAfter, l, y, e),
insertColumnsBefore: r(fa.insertColumnsBefore, l, ho, e),
insertColumnsAfter: r(fa.insertColumnsAfter, l, ho, e),
mergeCells: r(fa.mergeCells, l, y, e),
unmergeCells: r(fa.unmergeCells, l, y, e),
pasteRowsBefore: r(fa.pasteRowsBefore, l, y, e),
pasteRowsAfter: r(fa.pasteRowsAfter, l, y, e),
pasteCells: r(fa.pasteCells, l, y, e),
};
},
Ma = function (e, t, r) {
var n = hn(e),
o = wn.generate(n);
return Oi(o, t).map(function (e) {
var t = yi(o, r, !1).slice(e[0].row(), e[e.length - 1].row() + e[e.length - 1].rowspan()),
n = Ti(t, r);
return Ho(n);
});
},
_a = tinymce.util.Tools.resolve('tinymce.util.Tools'),
La = function (e, t, n) {
n && e.formatter.apply('align' + n, {}, t);
},
ja = function (e, t, n) {
n && e.formatter.apply('valign' + n, {}, t);
},
Fa = function (t, n) {
_a.each('left center right'.split(' '), function (e) {
t.formatter.remove('align' + e, {}, n);
});
},
za = function (t, n) {
_a.each('top middle bottom'.split(' '), function (e) {
t.formatter.remove('valign' + e, {}, n);
});
},
Ha = function (o, e, i) {
var t;
return (t = (function (e, t) {
for (var n = 0; n < t.length; n++) {
var r = o.getStyle(t[n], i);
if ((void 0 === e && (e = r), e !== r)) return '';
}
return e;
})(t, o.select('td,th', e)));
},
Ua = function (e, t) {
var n = e.dom,
r = t.control.rootControl,
o = r.toJSON(),
i = n.parseStyle(o.style);
(i['border-style'] = o.borderStyle),
(i['border-color'] = o.borderColor),
(i['background-color'] = o.backgroundColor),
(i.width = o.width ? ha(o.width) : ''),
(i.height = o.height ? ha(o.height) : ''),
r.find('#style').value(n.serializeStyle(n.parseStyle(n.serializeStyle(i))));
},
qa = function (e, t) {
var n = e.dom,
r = t.control.rootControl,
o = r.toJSON(),
i = n.parseStyle(o.style);
r.find('#borderStyle').value(i['border-style'] || ''),
r.find('#borderColor').value(i['border-color'] || ''),
r.find('#backgroundColor').value(i['background-color'] || ''),
r.find('#width').value(i.width || ''),
r.find('#height').value(i.height || '');
},
Va = {
createStyleForm: function (n) {
var e = function () {
var e = n.getParam('color_picker_callback');
if (e)
return function (t) {
return e.call(
n,
function (e) {
t.control.value(e).fire('change');
},
t.control.value(),
);
};
};
return {
title: 'Advanced',
type: 'form',
defaults: { onchange: b(Ua, n) },
items: [
{ label: 'Style', name: 'style', type: 'textbox', onchange: b(qa, n) },
{
type: 'form',
padding: 0,
formItemDefaults: { layout: 'grid', alignH: ['start', 'right'] },
defaults: { size: 7 },
items: [
{
label: 'Border style',
type: 'listbox',
name: 'borderStyle',
width: 90,
onselect: b(Ua, n),
values: [
{ text: 'Select...', value: '' },
{ text: 'Solid', value: 'solid' },
{ text: 'Dotted', value: 'dotted' },
{ text: 'Dashed', value: 'dashed' },
{ text: 'Double', value: 'double' },
{ text: 'Groove', value: 'groove' },
{ text: 'Ridge', value: 'ridge' },
{ text: 'Inset', value: 'inset' },
{ text: 'Outset', value: 'outset' },
{ text: 'None', value: 'none' },
{ text: 'Hidden', value: 'hidden' },
],
},
{ label: 'Border color', type: 'colorbox', name: 'borderColor', onaction: e() },
{
label: 'Background color',
type: 'colorbox',
name: 'backgroundColor',
onaction: e(),
},
],
},
],
};
},
buildListItems: function (e, r, t) {
var o = function (e, n) {
return (
(n = n || []),
_a.each(e, function (e) {
var t = { text: e.text || e.title };
e.menu ? (t.menu = o(e.menu)) : ((t.value = e.value), r && r(t)), n.push(t);
}),
n
);
};
return o(e, t || []);
},
updateStyleField: Ua,
extractAdvancedStyles: function (e, t) {
var n = e.parseStyle(e.getAttrib(t, 'style')),
r = {};
return (
n['border-style'] && (r.borderStyle = n['border-style']),
n['border-color'] && (r.borderColor = n['border-color']),
n['background-color'] && (r.backgroundColor = n['background-color']),
(r.style = e.serializeStyle(n)),
r
);
},
updateAdvancedFields: qa,
syncAdvancedStyleFields: function (e, t) {
t.control.rootControl.find('#style')[0].getEl().isEqualNode(m.document.activeElement)
? qa(e, t)
: Ua(e, t);
},
},
Ga = function (r, o, e) {
var i,
u = r.dom;
function a(e, t, n) {
(1 === o.length || n) && u.setAttrib(e, t, n);
}
function c(e, t, n) {
(1 === o.length || n) && u.setStyle(e, t, n);
}
Sa(r) && Va.syncAdvancedStyleFields(r, e),
(i = e.control.rootControl.toJSON()),
r.undoManager.transact(function () {
_a.each(o, function (e) {
var t, n;
a(e, 'scope', i.scope),
1 === o.length
? a(e, 'style', i.style)
: ((t = e), (n = i.style), delete t.dataset.mceStyle, (t.style.cssText += ';' + n)),
a(e, 'class', i['class']),
c(e, 'width', ha(i.width)),
c(e, 'height', ha(i.height)),
i.type && e.nodeName.toLowerCase() !== i.type && (e = u.rename(e, i.type)),
1 === o.length && (Fa(r, e), za(r, e)),
i.align && La(r, e, i.align),
i.valign && ja(r, e, i.valign);
}),
r.focus();
});
},
Ya = function (t) {
var e,
n,
r,
o = [];
if (
((o = t.dom.select('td[data-mce-selected],th[data-mce-selected]')),
(e = t.dom.getParent(t.selection.getStart(), 'td,th')),
!o.length && e && o.push(e),
(e = e || o[0]))
) {
var i, u, a, c;
1 < o.length
? (n = {
width: '',
height: '',
scope: '',
class: '',
align: '',
valign: '',
style: '',
type: e.nodeName.toLowerCase(),
})
: ((u = e),
(a = (i = t).dom),
(c = {
width: a.getStyle(u, 'width') || a.getAttrib(u, 'width'),
height: a.getStyle(u, 'height') || a.getAttrib(u, 'height'),
scope: a.getAttrib(u, 'scope'),
class: a.getAttrib(u, 'class'),
type: u.nodeName.toLowerCase(),
style: '',
align: '',
valign: '',
}),
_a.each('left center right'.split(' '), function (e) {
i.formatter.matchNode(u, 'align' + e) && (c.align = e);
}),
_a.each('top middle bottom'.split(' '), function (e) {
i.formatter.matchNode(u, 'valign' + e) && (c.valign = e);
}),
Sa(i) && _a.extend(c, Va.extractAdvancedStyles(a, u)),
(n = c)),
0 < Oa(t).length &&
(r = {
name: 'class',
type: 'listbox',
label: 'Class',
values: Va.buildListItems(Oa(t), function (e) {
e.value &&
(e.textStyle = function () {
return t.formatter.getCssText({ block: 'td', classes: [e.value] });
});
}),
});
var l = {
type: 'form',
layout: 'flex',
direction: 'column',
labelGapCalc: 'children',
padding: 0,
items: [
{
type: 'form',
layout: 'grid',
columns: 2,
labelGapCalc: !1,
padding: 0,
defaults: { type: 'textbox', maxWidth: 50 },
items: [
{ label: 'Width', name: 'width', onchange: b(Va.updateStyleField, t) },
{ label: 'Height', name: 'height', onchange: b(Va.updateStyleField, t) },
{
label: 'Cell type',
name: 'type',
type: 'listbox',
text: 'None',
minWidth: 90,
maxWidth: null,
values: [
{ text: 'Cell', value: 'td' },
{ text: 'Header cell', value: 'th' },
],
},
{
label: 'Scope',
name: 'scope',
type: 'listbox',
text: 'None',
minWidth: 90,
maxWidth: null,
values: [
{ text: 'None', value: '' },
{ text: 'Row', value: 'row' },
{ text: 'Column', value: 'col' },
{ text: 'Row group', value: 'rowgroup' },
{ text: 'Column group', value: 'colgroup' },
],
},
{
label: 'H Align',
name: 'align',
type: 'listbox',
text: 'None',
minWidth: 90,
maxWidth: null,
values: [
{ text: 'None', value: '' },
{ text: 'Left', value: 'left' },
{ text: 'Center', value: 'center' },
{ text: 'Right', value: 'right' },
],
},
{
label: 'V Align',
name: 'valign',
type: 'listbox',
text: 'None',
minWidth: 90,
maxWidth: null,
values: [
{ text: 'None', value: '' },
{ text: 'Top', value: 'top' },
{ text: 'Middle', value: 'middle' },
{ text: 'Bottom', value: 'bottom' },
],
},
],
},
r,
],
};
Sa(t)
? t.windowManager.open({
title: 'Cell properties',
bodyType: 'tabpanel',
data: n,
body: [{ title: 'General', type: 'form', items: l }, Va.createStyleForm(t)],
onsubmit: b(Ga, t, o),
})
: t.windowManager.open({
title: 'Cell properties',
data: n,
body: l,
onsubmit: b(Ga, t, o),
});
}
};
function Xa(f, s, d, e) {
var m = f.dom;
function g(e, t, n) {
(1 === s.length || n) && m.setAttrib(e, t, n);
}
Ra(f) && Va.syncAdvancedStyleFields(f, e);
var h = e.control.rootControl.toJSON();
f.undoManager.transact(function () {
_a.each(s, function (e) {
var t, n, r, o, i, u, a, c, l;
g(e, 'scope', h.scope),
g(e, 'style', h.style),
g(e, 'class', h['class']),
(t = e),
(n = 'height'),
(r = ha(h.height)),
(1 === s.length || r) && m.setStyle(t, n, r),
h.type !== e.parentNode.nodeName.toLowerCase() &&
((o = f.dom),
(i = e),
(u = h.type),
(a = o.getParent(i, 'table')),
(c = i.parentNode),
(l = o.select(u, a)[0]) ||
((l = o.create(u)),
a.firstChild
? 'CAPTION' === a.firstChild.nodeName
? o.insertAfter(l, a.firstChild)
: a.insertBefore(l, a.firstChild)
: a.appendChild(l)),
l.appendChild(i),
c.hasChildNodes() || o.remove(c)),
h.align !== d.align && (Fa(f, e), La(f, e, h.align));
}),
f.focus();
});
}
var Ka = function (t) {
var e,
n,
r,
o,
i,
u,
a,
c,
l,
f,
s = t.dom,
d = [];
(e = s.getParent(t.selection.getStart(), 'table')),
(n = s.getParent(t.selection.getStart(), 'td,th')),
_a.each(e.rows, function (t) {
_a.each(t.cells, function (e) {
if (s.getAttrib(e, 'data-mce-selected') || e === n) return d.push(t), !1;
});
}),
(r = d[0]) &&
(1 < d.length
? (i = {
height: '',
scope: '',
style: '',
class: '',
align: '',
type: r.parentNode.nodeName.toLowerCase(),
})
: ((c = r),
(l = (a = t).dom),
(f = {
height: l.getStyle(c, 'height') || l.getAttrib(c, 'height'),
scope: l.getAttrib(c, 'scope'),
class: l.getAttrib(c, 'class'),
align: '',
style: '',
type: c.parentNode.nodeName.toLowerCase(),
}),
_a.each('left center right'.split(' '), function (e) {
a.formatter.matchNode(c, 'align' + e) && (f.align = e);
}),
Ra(a) && _a.extend(f, Va.extractAdvancedStyles(l, c)),
(i = f)),
0 < Na(t).length &&
(o = {
name: 'class',
type: 'listbox',
label: 'Class',
values: Va.buildListItems(Na(t), function (e) {
e.value &&
(e.textStyle = function () {
return t.formatter.getCssText({ block: 'tr', classes: [e.value] });
});
}),
}),
(u = {
type: 'form',
columns: 2,
padding: 0,
defaults: { type: 'textbox' },
items: [
{
type: 'listbox',
name: 'type',
label: 'Row type',
text: 'Header',
maxWidth: null,
values: [
{ text: 'Header', value: 'thead' },
{ text: 'Body', value: 'tbody' },
{ text: 'Footer', value: 'tfoot' },
],
},
{
type: 'listbox',
name: 'align',
label: 'Alignment',
text: 'None',
maxWidth: null,
values: [
{ text: 'None', value: '' },
{ text: 'Left', value: 'left' },
{ text: 'Center', value: 'center' },
{ text: 'Right', value: 'right' },
],
},
{ label: 'Height', name: 'height' },
o,
],
}),
Ra(t)
? t.windowManager.open({
title: 'Row properties',
data: i,
bodyType: 'tabpanel',
body: [{ title: 'General', type: 'form', items: u }, Va.createStyleForm(t)],
onsubmit: b(Xa, t, d, i),
})
: t.windowManager.open({
title: 'Row properties',
data: i,
body: u,
onsubmit: b(Xa, t, d, i),
}));
},
Ja = tinymce.util.Tools.resolve('tinymce.Env'),
$a = {
styles: { 'border-collapse': 'collapse', width: '100%' },
attributes: { border: '1' },
percentages: !0,
},
Qa = function (e, t, n, r, o) {
void 0 === o && (o = $a);
var i = De.fromTag('table');
Pe(i, o.styles), ve(i, o.attributes);
var u = De.fromTag('tbody');
kt(i, u);
for (var a = [], c = 0; c < e; c++) {
for (var l = De.fromTag('tr'), f = 0; f < t; f++) {
var s = c < n || f < r ? De.fromTag('th') : De.fromTag('td');
f < r && pe(s, 'scope', 'row'),
c < n && pe(s, 'scope', 'col'),
kt(s, De.fromTag('br')),
o.percentages && ke(s, 'width', 100 / t + '%'),
kt(l, s);
}
a.push(l);
}
return Bt(u, a), i;
},
Za = function (e, t) {
e.selection.select(t.dom(), !0), e.selection.collapse(!0);
},
ec = function (r, e, t) {
var n,
o,
i = r.getParam('table_default_styles', xa, 'object'),
u = {
styles: i,
attributes: ((o = r), o.getParam('table_default_attributes', Ca, 'object')),
percentages: ((n = i.width), w(n) && -1 !== n.indexOf('%') && !Aa(r)),
},
a = Qa(t, e, 0, 0, u);
pe(a, 'data-mce-id', '__mce');
var c,
l,
f,
s =
((c = a),
(l = De.fromTag('div')),
(f = De.fromDom(c.dom().cloneNode(!0))),
kt(l, f),
l.dom().innerHTML);
return (
r.insertContent(s),
on(sa(r), 'table[data-mce-id="__mce"]')
.map(function (e) {
var t, n;
return (
Aa(r) && ke(e, 'width', Ie(e, 'width')),
ye(e, 'data-mce-id'),
(t = r),
P(Xt(e, 'tr'), function (e) {
ka(t, e.dom()),
P(Xt(e, 'th,td'), function (e) {
Pa(t, e.dom());
});
}),
(n = r),
on(e, 'td,th').each(b(Za, n)),
e.dom()
);
})
.getOr(null)
);
};
function tc(e, t, n, r) {
if ('TD' === t.tagName || 'TH' === t.tagName) e.setStyle(t, n, r);
else if (t.children) for (var o = 0; o < t.children.length; o++) tc(e, t.children[o], n, r);
}
var nc = function (e, t, n) {
var r,
o,
i = e.dom;
Ta(e) && Va.syncAdvancedStyleFields(e, n),
!1 === (o = n.control.rootControl.toJSON())['class'] && delete o['class'],
e.undoManager.transact(function () {
t || (t = ec(e, o.cols || 1, o.rows || 1)),
(function (e, t, n) {
var r,
o = e.dom,
i = {},
u = {};
if (
((i['class'] = n['class']),
(u.height = ha(n.height)),
o.getAttrib(t, 'width') && !Da(e)
? (i.width = (r = n.width) ? r.replace(/px$/, '') : '')
: (u.width = ha(n.width)),
Da(e)
? ((u['border-width'] = ha(n.border)),
(u['border-spacing'] = ha(n.cellspacing)),
_a.extend(i, {
'data-mce-border-color': n.borderColor,
'data-mce-cell-padding': n.cellpadding,
'data-mce-border': n.border,
}))
: _a.extend(i, {
border: n.border,
cellpadding: n.cellpadding,
cellspacing: n.cellspacing,
}),
Da(e) && t.children)
)
for (var a = 0; a < t.children.length; a++)
tc(o, t.children[a], {
'border-width': ha(n.border),
'border-color': n.borderColor,
padding: ha(n.cellpadding),
});
n.style
? _a.extend(u, o.parseStyle(n.style))
: (u = _a.extend({}, o.parseStyle(o.getAttrib(t, 'style')), u)),
(i.style = o.serializeStyle(u)),
o.setAttribs(t, i);
})(e, t, o),
(r = i.select('caption', t)[0]) && !o.caption && i.remove(r),
!r &&
o.caption &&
(((r = i.create('caption')).innerHTML = Ja.ie ? '\xa0' : '
'),
t.insertBefore(r, t.firstChild)),
Fa(e, t),
o.align && La(e, t, o.align),
e.focus(),
e.addVisual();
});
},
rc = function (t, e) {
var n,
r,
o,
i,
u,
a,
c,
l,
f,
s,
d = t.dom,
m = {};
!0 === e
? (n = d.getParent(t.selection.getStart(), 'table')) &&
((c = n),
(l = (a = t).dom),
(f = {
width: l.getStyle(c, 'width') || l.getAttrib(c, 'width'),
height: l.getStyle(c, 'height') || l.getAttrib(c, 'height'),
cellspacing: l.getStyle(c, 'border-spacing') || l.getAttrib(c, 'cellspacing'),
cellpadding:
l.getAttrib(c, 'data-mce-cell-padding') ||
l.getAttrib(c, 'cellpadding') ||
Ha(a.dom, c, 'padding'),
border:
l.getAttrib(c, 'data-mce-border') ||
l.getAttrib(c, 'border') ||
Ha(a.dom, c, 'border'),
borderColor: l.getAttrib(c, 'data-mce-border-color'),
caption: !!l.select('caption', c)[0],
class: l.getAttrib(c, 'class'),
}),
_a.each('left center right'.split(' '), function (e) {
a.formatter.matchNode(c, 'align' + e) && (f.align = e);
}),
Ta(a) && _a.extend(f, Va.extractAdvancedStyles(l, c)),
(m = f))
: ((r = { label: 'Cols', name: 'cols' }), (o = { label: 'Rows', name: 'rows' })),
0 < Ea(t).length &&
(m['class'] && (m['class'] = m['class'].replace(/\s*mce\-item\-table\s*/g, '')),
(i = {
name: 'class',
type: 'listbox',
label: 'Class',
values: Va.buildListItems(Ea(t), function (e) {
e.value &&
(e.textStyle = function () {
return t.formatter.getCssText({ block: 'table', classes: [e.value] });
});
}),
})),
(u = {
type: 'form',
layout: 'flex',
direction: 'column',
labelGapCalc: 'children',
padding: 0,
items: [
{
type: 'form',
labelGapCalc: !1,
padding: 0,
layout: 'grid',
columns: 2,
defaults: { type: 'textbox', maxWidth: 50 },
items:
((s = t),
s.getParam('table_appearance_options', !0, 'boolean')
? [
r,
o,
{ label: 'Width', name: 'width', onchange: b(Va.updateStyleField, t) },
{ label: 'Height', name: 'height', onchange: b(Va.updateStyleField, t) },
{ label: 'Cell spacing', name: 'cellspacing' },
{ label: 'Cell padding', name: 'cellpadding' },
{ label: 'Border', name: 'border' },
{ label: 'Caption', name: 'caption', type: 'checkbox' },
]
: [
r,
o,
{ label: 'Width', name: 'width', onchange: b(Va.updateStyleField, t) },
{ label: 'Height', name: 'height', onchange: b(Va.updateStyleField, t) },
]),
},
{
label: 'Alignment',
name: 'align',
type: 'listbox',
text: 'None',
values: [
{ text: 'None', value: '' },
{ text: 'Left', value: 'left' },
{ text: 'Center', value: 'center' },
{ text: 'Right', value: 'right' },
],
},
i,
],
}),
Ta(t)
? t.windowManager.open({
title: 'Table properties',
data: m,
bodyType: 'tabpanel',
body: [{ title: 'General', type: 'form', items: u }, Va.createStyleForm(t)],
onsubmit: b(nc, t, n),
})
: t.windowManager.open({
title: 'Table properties',
data: m,
body: u,
onsubmit: b(nc, t, n),
});
},
oc = _a.each,
ic = function (a, t, c, l, n) {
var r = ga(a),
e = function (e) {
return function () {
return S.from(a.dom.getParent(a.selection.getStart(), e)).map(De.fromDom);
};
},
o = e('caption'),
f = e('th,td'),
s = function (e) {
return gn.table(e, r);
},
d = function (e) {
return { width: da(e.dom()), height: da(e.dom()) };
},
i = function (n) {
f().each(function (t) {
s(t).each(function (i) {
var e = Gr.forMenu(l, i, t),
u = d(i);
n(i, e).each(function (e) {
var t, n, r, o;
(t = a),
(n = u),
(o = d((r = i))),
(n.width === o.width && n.height === o.height) ||
(Ia(t, r.dom(), n.width, n.height), Ba(t, r.dom(), o.width, o.height)),
a.selection.setRng(e),
a.focus(),
c.clear(i),
pa(i);
});
});
});
},
u = function (e) {
return f().bind(function (o) {
return s(o).bind(function (e) {
var t = De.fromDom(a.getDoc()),
n = Gr.forMenu(l, e, o),
r = Fn(y, t, S.none());
return Ma(e, n, r);
});
});
},
m = function (u) {
n.get().each(function (e) {
var i = k(e, function (e) {
return Bn(e);
});
f().each(function (o) {
s(o).each(function (t) {
var e = De.fromDom(a.getDoc()),
n = zn(e),
r = Gr.pasteRows(l, t, o, i, n);
u(t, r).each(function (e) {
a.selection.setRng(e), a.focus(), c.clear(t);
});
});
});
});
};
oc(
{
mceTableSplitCells: function () {
i(t.unmergeCells);
},
mceTableMergeCells: function () {
i(t.mergeCells);
},
mceTableInsertRowBefore: function () {
i(t.insertRowsBefore);
},
mceTableInsertRowAfter: function () {
i(t.insertRowsAfter);
},
mceTableInsertColBefore: function () {
i(t.insertColumnsBefore);
},
mceTableInsertColAfter: function () {
i(t.insertColumnsAfter);
},
mceTableDeleteCol: function () {
i(t.deleteColumn);
},
mceTableDeleteRow: function () {
i(t.deleteRow);
},
mceTableCutRow: function (e) {
n.set(u()), i(t.deleteRow);
},
mceTableCopyRow: function (e) {
n.set(u());
},
mceTablePasteRowBefore: function (e) {
m(t.pasteRowsBefore);
},
mceTablePasteRowAfter: function (e) {
m(t.pasteRowsAfter);
},
mceTableDelete: function () {
f()
.orThunk(o)
.each(function (e) {
gn.table(e, r)
.filter(g(r))
.each(function (e) {
var t = De.fromText('');
Et(e, t), Mt(e);
var n = a.dom.createRng();
n.setStart(t.dom(), 0), n.setEnd(t.dom(), 0), a.selection.setRng(n);
});
});
},
},
function (e, t) {
a.addCommand(t, e);
},
),
oc(
{
mceInsertTable: b(rc, a),
mceTableProps: b(rc, a, !0),
mceTableRowProps: b(Ka, a),
mceTableCellProps: b(Ya, a),
},
function (n, e) {
a.addCommand(e, function (e, t) {
n(t);
});
},
);
},
uc = function (e) {
var t = S.from(e.dom().documentElement).map(De.fromDom).getOr(e);
return { parent: C(t), view: C(e), origin: C(vo(0, 0)) };
},
ac = function (e, t) {
return { parent: C(t), view: C(e), origin: C(vo(0, 0)) };
};
function cc(e) {
var n = $.apply(null, e),
r = [];
return {
bind: function (e) {
if (e === undefined) throw 'Event bind error: undefined handler';
r.push(e);
},
unbind: function (t) {
r = I(r, function (e) {
return e !== t;
});
},
trigger: function () {
var t = n.apply(null, arguments);
P(r, function (e) {
e(t);
});
},
};
}
var lc = {
create: function (e) {
return {
registry: K(e, function (e) {
return { bind: e.bind, unbind: e.unbind };
}),
trigger: K(e, function (e) {
return e.trigger;
}),
};
},
},
fc = {
mode: _u(['compare', 'extract', 'mutate', 'sink']),
sink: _u(['element', 'start', 'stop', 'destroy']),
api: _u(['forceDrop', 'drop', 'move', 'delayDrop']),
},
sc = { resolve: ni('ephox-dragster').resolve },
dc = function (m, g) {
return function (e) {
if (m(e)) {
var t,
n,
r,
o,
i,
u,
a,
c = De.fromDom(e.target),
l = function () {
e.stopPropagation();
},
f = function () {
e.preventDefault();
},
s = x(f, l),
d =
((t = c),
(n = e.clientX),
(r = e.clientY),
(o = l),
(i = f),
(u = s),
(a = e),
{ target: C(t), x: C(n), y: C(r), stop: o, prevent: i, kill: u, raw: C(a) });
g(d);
}
};
},
mc = function (e, t, n, r) {
return (
(o = e),
(i = t),
(u = !1),
(a = dc(n, r)),
o.dom().addEventListener(i, a, u),
{ unbind: b(gc, o, i, a, u) }
);
var o, i, u, a;
},
gc = function (e, t, n, r) {
e.dom().removeEventListener(t, n, r);
},
hc = C(!0),
pc = function (e, t, n) {
return mc(e, t, hc, n);
},
vc = fc.mode({
compare: function (e, t) {
return vo(t.left() - e.left(), t.top() - e.top());
},
extract: function (e) {
return S.some(vo(e.x(), e.y()));
},
sink: function (e, t) {
var n,
r,
o,
i =
((n = t),
(r = _o({ layerClass: sc.resolve('blocker') }, n)),
(o = De.fromTag('div')),
pe(o, 'role', 'presentation'),
Pe(o, { position: 'fixed', left: '0px', top: '0px', width: '100%', height: '100%' }),
Yo(o, sc.resolve('blocker')),
Yo(o, r.layerClass),
{
element: function () {
return o;
},
destroy: function () {
Mt(o);
},
}),
u = pc(i.element(), 'mousedown', e.forceDrop),
a = pc(i.element(), 'mouseup', e.drop),
c = pc(i.element(), 'mousemove', e.move),
l = pc(i.element(), 'mouseout', e.delayDrop);
return fc.sink({
element: i.element,
start: function (e) {
kt(e, i.element());
},
stop: function () {
Mt(i.element());
},
destroy: function () {
i.destroy(), a.unbind(), c.unbind(), l.unbind(), u.unbind();
},
});
},
mutate: function (e, t) {
e.mutate(t.left(), t.top());
},
});
function bc() {
var i = S.none(),
u = lc.create({ move: cc(['info']) });
return {
onEvent: function (e, o) {
o.extract(e).each(function (e) {
var t, n, r;
((t = o),
(n = e),
(r = i.map(function (e) {
return t.compare(e, n);
})),
(i = S.some(n)),
r).each(function (e) {
u.trigger.move(e);
});
});
},
reset: function () {
i = S.none();
},
events: u.registry,
};
}
function wc() {
var e = { onEvent: function (e, t) {}, reset: y },
t = bc(),
n = e;
return {
on: function () {
n.reset(), (n = t);
},
off: function () {
n.reset(), (n = e);
},
isOn: function () {
return n === t;
},
onEvent: function (e, t) {
n.onEvent(e, t);
},
events: t.events,
};
}
var yc = function (t, n, e) {
var r,
o,
i,
u = !1,
a = lc.create({ start: cc([]), stop: cc([]) }),
c = wc(),
l = function () {
d.stop(), c.isOn() && (c.off(), a.trigger.stop());
},
f =
((r = l),
(o = 200),
(i = null),
{
cancel: function () {
null !== i && (m.clearTimeout(i), (i = null));
},
throttle: function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
null !== i && m.clearTimeout(i),
(i = m.setTimeout(function () {
r.apply(null, e), (i = null);
}, o));
},
});
c.events.move.bind(function (e) {
n.mutate(t, e.info());
});
var s = function (t) {
return function () {
var e = Array.prototype.slice.call(arguments, 0);
if (u) return t.apply(null, e);
};
},
d = n.sink(
fc.api({
forceDrop: l,
drop: s(l),
move: s(function (e, t) {
f.cancel(), c.onEvent(e, n);
}),
delayDrop: s(f.throttle),
}),
e,
);
return {
element: d.element,
go: function (e) {
d.start(e), c.on(), a.trigger.start();
},
on: function () {
u = !0;
},
off: function () {
u = !1;
},
destroy: function () {
d.destroy();
},
events: a.registry,
};
},
xc = {
transform: function (e, t) {
var n = t !== undefined ? t : {},
r = n.mode !== undefined ? n.mode : vc;
return yc(e, r, t);
},
},
Cc = function (e, t, n) {
return un(e, t, n).isSome();
};
function Sc() {
var n,
r = lc.create({ drag: cc(['xDelta', 'yDelta', 'target']) }),
o = S.none(),
e = {
mutate: function (e, t) {
n.trigger.drag(e, t);
},
events: (n = lc.create({ drag: cc(['xDelta', 'yDelta']) })).registry,
};
return (
e.events.drag.bind(function (t) {
o.each(function (e) {
r.trigger.drag(t.xDelta(), t.yDelta(), e);
});
}),
{
assign: function (e) {
o = S.some(e);
},
get: function () {
return o;
},
mutate: e.mutate,
events: r.registry,
}
);
}
var Rc = ri.resolve('resizer-bar-dragging');
function Tc(e, n) {
var r = ko.height,
t = (function (o, t, i) {
var n = Sc(),
r = xc.transform(n, {}),
u = S.none(),
e = function (e, t) {
return S.from(be(e, t));
};
n.events.drag.bind(function (n) {
e(n.target(), 'data-row').each(function (e) {
var t = gu.getInt(n.target(), 'top');
ke(n.target(), 'top', t + n.yDelta() + 'px');
}),
e(n.target(), 'data-column').each(function (e) {
var t = gu.getInt(n.target(), 'left');
ke(n.target(), 'left', t + n.xDelta() + 'px');
});
});
var a = function (e, t) {
return gu.getInt(e, t) - parseInt(be(e, 'data-initial-' + t), 10);
};
r.events.stop.bind(function () {
n.get().each(function (r) {
u.each(function (n) {
e(r, 'data-row').each(function (e) {
var t = a(r, 'top');
ye(r, 'data-initial-top'), d.trigger.adjustHeight(n, t, parseInt(e, 10));
}),
e(r, 'data-column').each(function (e) {
var t = a(r, 'left');
ye(r, 'data-initial-left'), d.trigger.adjustWidth(n, t, parseInt(e, 10));
}),
mi.refresh(o, n, i, t);
});
});
});
var c = function (e, t) {
d.trigger.startAdjust(),
n.assign(e),
pe(e, 'data-initial-' + t, parseInt(Ie(e, t), 10)),
Yo(e, Rc),
ke(e, 'opacity', '0.2'),
r.go(o.parent());
},
l = pc(o.parent(), 'mousedown', function (e) {
mi.isRowBar(e.target()) && c(e.target(), 'top'),
mi.isColBar(e.target()) && c(e.target(), 'left');
}),
f = function (e) {
return bt(e, o.view());
},
s = pc(o.view(), 'mouseover', function (e) {
'table' === ce(e.target()) || Cc(e.target(), 'table', f)
? (u =
'table' === ce(e.target())
? S.some(e.target())
: nn(e.target(), 'table', f)).each(function (e) {
mi.refresh(o, e, i, t);
})
: Oe(e.target()) && mi.destroy(o);
}),
d = lc.create({
adjustHeight: cc(['table', 'delta', 'row']),
adjustWidth: cc(['table', 'delta', 'column']),
startAdjust: cc([]),
});
return {
destroy: function () {
l.unbind(), s.unbind(), r.destroy(), mi.destroy(o);
},
refresh: function (e) {
mi.refresh(o, e, i, t);
},
on: r.on,
off: r.off,
hideBars: b(mi.hide, o),
showBars: b(mi.show, o),
events: d.registry,
};
})(e, n, r),
o = lc.create({ beforeResize: cc(['table']), afterResize: cc(['table']), startDrag: cc([]) });
return (
t.events.adjustHeight.bind(function (e) {
o.trigger.beforeResize(e.table());
var t = r.delta(e.delta());
Pu(e.table(), t, e.row(), r), o.trigger.afterResize(e.table());
}),
t.events.startAdjust.bind(function (e) {
o.trigger.startDrag();
}),
t.events.adjustWidth.bind(function (e) {
o.trigger.beforeResize(e.table());
var t = n.delta(e.delta(), e.table());
ku(e.table(), t, e.column(), n), o.trigger.afterResize(e.table());
}),
{
on: t.on,
off: t.off,
hideBars: t.hideBars,
showBars: t.showBars,
destroy: t.destroy,
events: o.registry,
}
);
}
var Dc = function (e, t) {
return e.inline
? ac(
sa(e),
((n = De.fromTag('div')),
Pe(n, {
position: 'static',
height: '0',
width: '0',
padding: '0',
margin: '0',
border: '0',
}),
kt(Ne(), n),
n),
)
: uc(De.fromDom(e.getDoc()));
var n;
},
Oc = function (e, t) {
e.inline && Mt(t.parent());
},
Nc = function (u) {
var a,
c,
o = S.none(),
i = S.none(),
l = S.none(),
f = /(\d+(\.\d+)?)%/,
s = function (e) {
return 'TABLE' === e.nodeName;
};
return (
u.on('init', function () {
var e,
t = Io(wa.directionAt),
n = Dc(u);
if (
((l = S.some(n)),
('table' === (e = u.getParam('object_resizing', !0)) || e) &&
u.getParam('table_resize_bars', !0, 'boolean'))
) {
var r = Tc(n, t);
r.on(),
r.events.startDrag.bind(function (e) {
o = S.some(u.selection.getRng());
}),
r.events.beforeResize.bind(function (e) {
var t = e.table().dom();
Ia(u, t, da(t), ma(t));
}),
r.events.afterResize.bind(function (e) {
var t = e.table(),
n = t.dom();
pa(t),
o.each(function (e) {
u.selection.setRng(e), u.focus();
}),
Ba(u, n, da(n), ma(n)),
u.undoManager.add();
}),
(i = S.some(r));
}
}),
u.on('ObjectResizeStart', function (e) {
var t,
n = e.target;
s(n) &&
((a = e.width),
(t = n),
(c = u.dom.getStyle(t, 'width') || u.dom.getAttrib(t, 'width')));
}),
u.on('ObjectResized', function (e) {
var t = e.target;
if (s(t)) {
var n = t;
if (f.test(c)) {
var r = parseFloat(f.exec(c)[1]),
o = (e.width * r) / a;
u.dom.setStyle(n, 'width', o + '%');
} else {
var i = [];
_a.each(n.rows, function (e) {
_a.each(e.cells, function (e) {
var t = u.dom.getStyle(e, 'width', !0);
i.push({ cell: e, width: t });
});
}),
_a.each(i, function (e) {
u.dom.setStyle(e.cell, 'width', e.width), u.dom.setAttrib(e.cell, 'width', null);
});
}
}
}),
{
lazyResize: function () {
return i;
},
lazyWire: function () {
return l.getOr(uc(De.fromDom(u.getBody())));
},
destroy: function () {
i.each(function (e) {
e.destroy();
}),
l.each(function (e) {
Oc(u, e);
});
},
}
);
},
Ec = function (e) {
return { fold: e };
},
Ac = function (o) {
return Ec(function (e, t, n, r) {
return e(o);
});
},
kc = function (o) {
return Ec(function (e, t, n, r) {
return t(o);
});
},
Pc = function (o, i) {
return Ec(function (e, t, n, r) {
return n(o, i);
});
},
Ic = function (o) {
return Ec(function (e, t, n, r) {
return r(o);
});
},
Bc = function (n, e) {
return gn.table(n, e).bind(function (e) {
var t = gn.cells(e);
return L(t, function (e) {
return bt(n, e);
}).map(function (e) {
return { index: C(e), all: C(t) };
});
});
},
Wc = function (t, e) {
return Bc(t, e).fold(
function () {
return Ac(t);
},
function (e) {
return e.index() + 1 < e.all().length ? Pc(t, e.all()[e.index() + 1]) : Ic(t);
},
);
},
Mc = function (t, e) {
return Bc(t, e).fold(
function () {
return Ac();
},
function (e) {
return 0 <= e.index() - 1 ? Pc(t, e.all()[e.index() - 1]) : kc(t);
},
);
},
_c = _r([{ before: ['element'] }, { on: ['element', 'offset'] }, { after: ['element'] }]),
Lc = {
before: _c.before,
on: _c.on,
after: _c.after,
cata: function (e, t, n, r) {
return e.fold(t, n, r);
},
getStart: function (e) {
return e.fold(o, o, o);
},
},
jc = _r([
{ domRange: ['rng'] },
{ relative: ['startSitu', 'finishSitu'] },
{ exact: ['start', 'soffset', 'finish', 'foffset'] },
]),
Fc = $('start', 'soffset', 'finish', 'foffset'),
zc = function (e) {
var t,
n = e.match({
domRange: function (e) {
return De.fromDom(e.startContainer);
},
relative: function (e, t) {
return Lc.getStart(e);
},
exact: function (e, t, n, r) {
return e;
},
});
return (t = n.dom().ownerDocument.defaultView), De.fromDom(t);
},
Hc = jc.relative,
Uc = jc.exact,
qc = function (e, t, n, r) {
var o,
i,
u,
a,
c,
l =
((i = t),
(u = n),
(a = r),
(c = xt((o = e))
.dom()
.createRange()).setStart(o.dom(), i),
c.setEnd(u.dom(), a),
c),
f = bt(e, n) && t === r;
return l.collapsed && !f;
},
Vc = function (e, t) {
e.selectNodeContents(t.dom());
},
Gc = function (e, t, n) {
var r,
o,
i = e.document.createRange();
return (
(r = i),
t.fold(
function (e) {
r.setStartBefore(e.dom());
},
function (e, t) {
r.setStart(e.dom(), t);
},
function (e) {
r.setStartAfter(e.dom());
},
),
(o = i),
n.fold(
function (e) {
o.setEndBefore(e.dom());
},
function (e, t) {
o.setEnd(e.dom(), t);
},
function (e) {
o.setEndAfter(e.dom());
},
),
i
);
},
Yc = function (e, t, n, r, o) {
var i = e.document.createRange();
return i.setStart(t.dom(), n), i.setEnd(r.dom(), o), i;
},
Xc = function (e) {
return {
left: C(e.left),
top: C(e.top),
right: C(e.right),
bottom: C(e.bottom),
width: C(e.width),
height: C(e.height),
};
},
Kc = _r([
{ ltr: ['start', 'soffset', 'finish', 'foffset'] },
{ rtl: ['start', 'soffset', 'finish', 'foffset'] },
]),
Jc = function (e, t, n) {
return t(
De.fromDom(n.startContainer),
n.startOffset,
De.fromDom(n.endContainer),
n.endOffset,
);
},
$c = function (e, t) {
var o,
n,
r,
i =
((o = e),
t.match({
domRange: function (e) {
return { ltr: C(e), rtl: S.none };
},
relative: function (e, t) {
return {
ltr: Re(function () {
return Gc(o, e, t);
}),
rtl: Re(function () {
return S.some(Gc(o, t, e));
}),
};
},
exact: function (e, t, n, r) {
return {
ltr: Re(function () {
return Yc(o, e, t, n, r);
}),
rtl: Re(function () {
return S.some(Yc(o, n, r, e, t));
}),
};
},
}));
return (r = (n = i).ltr()).collapsed
? n
.rtl()
.filter(function (e) {
return !1 === e.collapsed;
})
.map(function (e) {
return Kc.rtl(
De.fromDom(e.endContainer),
e.endOffset,
De.fromDom(e.startContainer),
e.startOffset,
);
})
.getOrThunk(function () {
return Jc(0, Kc.ltr, r);
})
: Jc(0, Kc.ltr, r);
},
Qc = function (i, e) {
return $c(i, e).match({
ltr: function (e, t, n, r) {
var o = i.document.createRange();
return o.setStart(e.dom(), t), o.setEnd(n.dom(), r), o;
},
rtl: function (e, t, n, r) {
var o = i.document.createRange();
return o.setStart(n.dom(), r), o.setEnd(e.dom(), t), o;
},
});
},
Zc = function (e, t, n) {
return t >= e.left && t <= e.right && n >= e.top && n <= e.bottom;
},
el = 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 = Sn(r).length,
a = (function (e, t, n, r, o) {
if (0 === o) return 0;
if (t === r) return o - 1;
for (var i = r, u = 1; u < o; u++) {
var a = e(u),
c = Math.abs(t - a.left);
if (n <= a.bottom) {
if (n < a.top || i < c) return u - 1;
i = c;
}
}
return 0;
})(
function (e) {
return i(e).getBoundingClientRect();
},
e,
t,
o.right,
u,
);
return i(a);
},
tl = function (t, n, r, o) {
var e = t.dom().createRange();
e.selectNode(n.dom());
var i = e.getClientRects();
return jo(i, function (e) {
return Zc(e, r, o) ? S.some(e) : S.none();
}).map(function (e) {
return el(t, n, r, o, e);
});
},
nl = function (t, e, n, r) {
var o = t.dom().createRange(),
i = Dt(e);
return jo(i, function (e) {
return (
o.selectNode(e.dom()), Zc(o.getBoundingClientRect(), n, r) ? rl(t, e, n, r) : S.none()
);
});
},
rl = function (e, t, n, r) {
return (me(t) ? tl : nl)(e, t, n, r);
},
ol = function (e, t) {
return t - e.left < e.right - t;
},
il = function (e, t, n) {
var r = e.dom().createRange();
return r.selectNode(t.dom()), r.collapse(n), r;
},
ul = function (t, e, n) {
var r = t.dom().createRange();
r.selectNode(e.dom());
var o = r.getBoundingClientRect(),
i = ol(o, n);
return (!0 === i ? En : An)(e).map(function (e) {
return il(t, e, i);
});
},
al = function (e, t, n) {
var r = t.dom().getBoundingClientRect(),
o = ol(r, n);
return S.some(il(e, t, o));
},
cl = function (e, t, n, r) {
var o = e.dom().createRange();
o.selectNode(t.dom());
var i = o.getBoundingClientRect();
return (function (e, t, n, r) {
var o = e.dom().createRange();
o.selectNode(t.dom());
var i = o.getBoundingClientRect(),
u = Math.max(i.left, Math.min(i.right, n)),
a = Math.max(i.top, Math.min(i.bottom, r));
return rl(e, t, u, a);
})(e, t, Math.max(i.left, Math.min(i.right, n)), Math.max(i.top, Math.min(i.bottom, r)));
},
ll = document.caretPositionFromPoint
? function (n, e, t) {
return S.from(n.dom().caretPositionFromPoint(e, t)).bind(function (e) {
if (null === e.offsetNode) return S.none();
var t = n.dom().createRange();
return t.setStart(e.offsetNode, e.offset), t.collapse(), S.some(t);
});
}
: document.caretRangeFromPoint
? function (e, t, n) {
return S.from(e.dom().caretRangeFromPoint(t, n));
}
: function (o, i, t) {
return De.fromPoint(o, i, t).bind(function (r) {
var e = function () {
return (e = o), (n = i), (0 === Dt((t = r)).length ? al : ul)(e, t, n);
var e, t, n;
};
return 0 === Dt(r).length ? e() : cl(o, r, i, t).orThunk(e);
});
},
fl = function (e, t) {
var n = ce(e);
return 'input' === n
? Lc.after(e)
: E(['br', 'img'], n)
? 0 === t
? Lc.before(e)
: Lc.after(e)
: Lc.on(e, t);
},
sl = function (e, t) {
var n = e.fold(Lc.before, fl, Lc.after),
r = t.fold(Lc.before, fl, Lc.after);
return Hc(n, r);
},
dl = function (e, t, n, r) {
var o = fl(e, t),
i = fl(n, r);
return Hc(o, i);
},
ml = function (e, t) {
S.from(e.getSelection()).each(function (e) {
e.removeAllRanges(), e.addRange(t);
});
},
gl = function (e, t, n, r, o) {
var i = Yc(e, t, n, r, o);
ml(e, i);
},
hl = function (s, e) {
return $c(s, e).match({
ltr: function (e, t, n, r) {
gl(s, e, t, n, r);
},
rtl: function (e, t, n, r) {
var o,
i,
u,
a,
c,
l = s.getSelection();
if (l.setBaseAndExtent) l.setBaseAndExtent(e.dom(), t, n.dom(), r);
else if (l.extend)
try {
(i = e),
(u = t),
(a = n),
(c = r),
(o = l).collapse(i.dom(), u),
o.extend(a.dom(), c);
} catch (f) {
gl(s, n, r, e, t);
}
else gl(s, n, r, e, t);
},
});
},
pl = function (e) {
var o = zc(e).dom(),
t = function (e, t, n, r) {
return Yc(o, e, t, n, r);
},
n = e.match({
domRange: function (e) {
var t = De.fromDom(e.startContainer),
n = De.fromDom(e.endContainer);
return dl(t, e.startOffset, n, e.endOffset);
},
relative: sl,
exact: dl,
});
return $c(o, n).match({ ltr: t, rtl: t });
},
vl = function (e) {
var t = De.fromDom(e.anchorNode),
n = De.fromDom(e.focusNode);
return qc(t, e.anchorOffset, n, e.focusOffset)
? S.some(Fc(t, e.anchorOffset, n, e.focusOffset))
: (function (e) {
if (0 < e.rangeCount) {
var t = e.getRangeAt(0),
n = e.getRangeAt(e.rangeCount - 1);
return S.some(
Fc(
De.fromDom(t.startContainer),
t.startOffset,
De.fromDom(n.endContainer),
n.endOffset,
),
);
}
return S.none();
})(e);
},
bl = function (e, t) {
var n,
r,
o = ((n = t), (r = e.document.createRange()), Vc(r, n), r);
ml(e, o);
},
wl = function (e) {
return ((t = e),
S.from(t.getSelection())
.filter(function (e) {
return 0 < e.rangeCount;
})
.bind(vl)).map(function (e) {
return Uc(e.start(), e.soffset(), e.finish(), e.foffset());
});
var t;
},
yl = function (e, t) {
var n,
r,
o,
i = Qc(e, t);
return (
(r = (n = i).getClientRects()),
0 < (o = 0 < r.length ? r[0] : n.getBoundingClientRect()).width || 0 < o.height
? S.some(o).map(Xc)
: S.none()
);
},
xl = function (e, t, n) {
return (
(r = e),
(o = t),
(i = n),
(u = De.fromDom(r.document)),
ll(u, o, i).map(function (e) {
return Fc(
De.fromDom(e.startContainer),
e.startOffset,
De.fromDom(e.endContainer),
e.endOffset,
);
})
);
var r, o, i, u;
},
Cl = tinymce.util.Tools.resolve('tinymce.util.VK'),
Sl = function (e, t, n, r) {
return Ol(e, t, Wc(n), r);
},
Rl = function (e, t, n, r) {
return Ol(e, t, Mc(n), r);
},
Tl = function (e, t) {
var n = Uc(t, 0, t, 0);
return pl(n);
},
Dl = function (e, t) {
var n,
r = Xt(t, 'tr');
return ((n = r), 0 === n.length ? S.none() : S.some(n[n.length - 1])).bind(function (e) {
return on(e, 'td,th').map(function (e) {
return Tl(0, e);
});
});
},
Ol = function (r, e, t, o, n) {
return t.fold(
S.none,
S.none,
function (e, t) {
return En(t).map(function (e) {
return Tl(0, e);
});
},
function (n) {
return gn.table(n, e).bind(function (e) {
var t = Gr.noMenu(n);
return (
r.undoManager.transact(function () {
o.insertRowsAfter(e, t);
}),
Dl(0, e)
);
});
},
);
},
Nl = ['table', 'li', 'dl'],
El = function (t, n, r, o) {
if (t.keyCode === Cl.TAB) {
var i = sa(n),
u = function (e) {
var t = ce(e);
return bt(e, i) || E(Nl, t);
},
e = n.selection.getRng();
if (e.collapsed) {
var a = De.fromDom(e.startContainer);
gn.cell(a, u).each(function (e) {
t.preventDefault(),
(t.shiftKey ? Rl : Sl)(n, u, e, r, o).each(function (e) {
n.selection.setRng(e);
});
});
}
}
},
Al = { response: $('selection', 'kill') },
kl = function (t) {
return function (e) {
return e === t;
};
},
Pl = kl(38),
Il = kl(40),
Bl = {
ltr: { isBackward: kl(37), isForward: kl(39) },
rtl: { isBackward: kl(39), isForward: kl(37) },
isUp: Pl,
isDown: Il,
isNavigation: function (e) {
return 37 <= e && e <= 40;
},
},
Wl = function (e, t) {
var n = Qc(e, t);
return {
start: C(De.fromDom(n.startContainer)),
soffset: C(n.startOffset),
finish: C(De.fromDom(n.endContainer)),
foffset: C(n.endOffset),
};
},
Ml = function (e, t, n, r) {
return { start: C(Lc.on(e, t)), finish: C(Lc.on(n, r)) };
};
function _l(a) {
return {
elementFromPoint: function (e, t) {
return De.fromPoint(De.fromDom(a.document), e, t);
},
getRect: function (e) {
return e.dom().getBoundingClientRect();
},
getRangedRect: function (e, t, n, r) {
var o = Uc(e, t, n, r);
return yl(a, o).map(function (e) {
return K(e, c);
});
},
getSelection: function () {
return wl(a).map(function (e) {
return Wl(a, e);
});
},
fromSitus: function (e) {
var t = Hc(e.start(), e.finish());
return Wl(a, t);
},
situsFromPoint: function (e, t) {
return xl(a, e, t).map(function (e) {
return {
start: C(Lc.on(e.start(), e.soffset())),
finish: C(Lc.on(e.finish(), e.foffset())),
};
});
},
clearSelection: function () {
a.getSelection().removeAllRanges();
},
setSelection: function (e) {
var t, n, r, o, i, u;
(t = a),
(n = e.start()),
(r = e.soffset()),
(o = e.finish()),
(i = e.foffset()),
(u = dl(n, r, o, i)),
hl(t, u);
},
setRelativeSelection: function (e, t) {
var n, r;
(n = a), (r = sl(e, t)), hl(n, r);
},
selectContents: function (e) {
bl(a, e);
},
getInnerHeight: function () {
return a.innerHeight;
},
getScrollY: function () {
var e, t, n, r;
return ((e = De.fromDom(a.document)),
(t = e !== undefined ? e.dom() : m.document),
(n = t.body.scrollLeft || t.documentElement.scrollLeft),
(r = t.body.scrollTop || t.documentElement.scrollTop),
vo(n, r)).top();
},
scrollBy: function (e, t) {
var n, r, o;
(n = e),
(r = t),
((o = De.fromDom(a.document)) !== undefined ? o.dom() : m.document).defaultView.scrollBy(
n,
r,
);
},
};
}
mt.detect().browser.isSafari();
var Ll = function (n, e, r, t, o) {
return bt(r, t)
? S.none()
: Or(r, t, e).bind(function (e) {
var t = e.boxes().getOr([]);
return 0 < t.length
? (o(n, t, e.start(), e.finish()),
S.some(Al.response(S.some(Ml(r, 0, r, Dn(r))), !0)))
: S.none();
});
},
jl = {
sync: function (n, r, e, t, o, i, u) {
return bt(e, o) && t === i
? S.none()
: un(e, 'td,th', r).bind(function (t) {
return un(o, 'td,th', r).bind(function (e) {
return Ll(n, r, t, e, u);
});
});
},
detect: Ll,
update: function (e, t, n, r, o) {
return Er(r, e, t, o.firstSelectedSelector(), o.lastSelectedSelector()).map(function (e) {
return o.clear(n), o.selectRange(n, e.boxes(), e.start(), e.finish()), e.boxes();
});
},
},
Fl = re(['left', 'top', 'right', 'bottom'], []),
zl = {
nu: Fl,
moveUp: function (e, t) {
return Fl({ left: e.left(), top: e.top() - t, right: e.right(), bottom: e.bottom() - t });
},
moveDown: function (e, t) {
return Fl({ left: e.left(), top: e.top() + t, right: e.right(), bottom: e.bottom() + t });
},
moveBottomTo: function (e, t) {
var n = e.bottom() - e.top();
return Fl({ left: e.left(), top: t - n, right: e.right(), bottom: t });
},
moveTopTo: function (e, t) {
var n = e.bottom() - e.top();
return Fl({ left: e.left(), top: t, right: e.right(), bottom: t + n });
},
getTop: function (e) {
return e.top();
},
getBottom: function (e) {
return e.bottom();
},
translate: function (e, t, n) {
return Fl({
left: e.left() + t,
top: e.top() + n,
right: e.right() + t,
bottom: e.bottom() + n,
});
},
toString: function (e) {
return '(' + e.left() + ', ' + e.top() + ') -> (' + e.right() + ', ' + e.bottom() + ')';
},
},
Hl = function (e) {
return zl.nu({ left: e.left, top: e.top, right: e.right, bottom: e.bottom });
},
Ul = function (e, t) {
return S.some(e.getRect(t));
},
ql = function (e, t, n) {
return de(t)
? Ul(e, t).map(Hl)
: me(t)
? ((r = e),
(o = t),
(i = n),
0 <= i && i < Dn(o)
? r.getRangedRect(o, i, o, i + 1)
: 0 < i
? r.getRangedRect(o, i - 1, o, i)
: S.none()).map(Hl)
: S.none();
var r, o, i;
},
Vl = function (e, t) {
return de(t) ? Ul(e, t).map(Hl) : me(t) ? e.getRangedRect(t, 0, t, Dn(t)).map(Hl) : S.none();
},
Gl = $('item', 'mode'),
Yl = function (e, t, n, r) {
return (
void 0 === r && (r = Xl),
e
.property()
.parent(t)
.map(function (e) {
return Gl(e, r);
})
);
},
Xl = function (e, t, n, r) {
return (
void 0 === r && (r = Kl),
n.sibling(e, t).map(function (e) {
return Gl(e, r);
})
);
},
Kl = function (e, t, n, r) {
void 0 === r && (r = Kl);
var o = e.property().children(t);
return n.first(o).map(function (e) {
return Gl(e, r);
});
},
Jl = [
{ current: Yl, next: Xl, fallback: S.none() },
{ current: Xl, next: Kl, fallback: S.some(Yl) },
{ current: Kl, next: Kl, fallback: S.some(Xl) },
],
$l = function (t, n, r, o, e) {
return (
void 0 === e && (e = Jl),
_(e, function (e) {
return e.current === r;
}).bind(function (e) {
return e.current(t, n, o, e.next).orThunk(function () {
return e.fallback.bind(function (e) {
return $l(t, n, e, o);
});
});
})
);
},
Ql = function () {
return {
sibling: function (e, t) {
return e.query().prevSibling(t);
},
first: function (e) {
return 0 < e.length ? S.some(e[e.length - 1]) : S.none();
},
};
},
Zl = function () {
return {
sibling: function (e, t) {
return e.query().nextSibling(t);
},
first: function (e) {
return 0 < e.length ? S.some(e[0]) : S.none();
},
};
},
ef = function (t, e, n, r, o, i) {
return $l(t, e, r, o).bind(function (e) {
return i(e.item())
? S.none()
: n(e.item())
? S.some(e.item())
: ef(t, e.item(), n, e.mode(), o, i);
});
},
tf = function (t) {
return function (e) {
return 0 === t.property().children(e).length;
};
},
nf = function (e, t, n, r) {
return ef(e, t, n, Xl, Ql(), r);
},
rf = function (e, t, n, r) {
return ef(e, t, n, Xl, Zl(), r);
},
of = Un(),
uf = function (e, t) {
return (r = t), nf((n = of), e, tf(n), r);
var n, r;
},
af = function (e, t) {
return (r = t), rf((n = of), e, tf(n), r);
var n, r;
},
cf = _r([{ none: [] }, { retry: ['caret'] }]),
lf = function (t, e, r) {
return ((n = e),
(o = Ju),
Kt(
function (e) {
return o(e);
},
tn,
n,
o,
i,
)).fold(C(!1), function (e) {
return Vl(t, e).exists(function (e) {
return (
(n = e),
(t = r).left() < n.left() || Math.abs(n.right() - t.left()) < 1 || t.left() > n.right()
);
var t, n;
});
});
var n, o, i;
},
ff = {
point: zl.getTop,
adjuster: function (e, t, n, r, o) {
var i = zl.moveUp(o, 5);
return Math.abs(n.top() - r.top()) < 1
? cf.retry(i)
: n.bottom() < o.top()
? cf.retry(i)
: n.bottom() === o.top()
? cf.retry(zl.moveUp(o, 1))
: lf(e, t, o)
? cf.retry(zl.translate(i, 5, 0))
: cf.none();
},
move: zl.moveUp,
gather: uf,
},
sf = {
point: zl.getBottom,
adjuster: function (e, t, n, r, o) {
var i = zl.moveDown(o, 5);
return Math.abs(n.bottom() - r.bottom()) < 1
? cf.retry(i)
: n.top() > o.bottom()
? cf.retry(i)
: n.top() === o.bottom()
? cf.retry(zl.moveDown(o, 1))
: lf(e, t, o)
? cf.retry(zl.translate(i, 5, 0))
: cf.none();
},
move: zl.moveDown,
gather: af,
},
df = function (n, r, o, i, u) {
return 0 === u
? S.some(i)
: ((c = n),
(l = i.left()),
(f = r.point(i)),
c
.elementFromPoint(l, f)
.filter(function (e) {
return 'table' === ce(e);
})
.isSome()
? ((t = i), (a = u - 1), df(n, (e = r), o, e.move(t, 5), a))
: n.situsFromPoint(i.left(), r.point(i)).bind(function (e) {
return e.start().fold(
S.none,
function (t, e) {
return Vl(n, t, e)
.bind(function (e) {
return r.adjuster(n, t, e, o, i).fold(S.none, function (e) {
return df(n, r, o, e, u - 1);
});
})
.orThunk(function () {
return S.some(i);
});
},
S.none,
);
}));
var e, t, a, c, l, f;
},
mf = function (t, n, e) {
var r,
o,
i,
u = t.move(e, 5),
a = df(n, t, e, u, 100).getOr(u);
return ((r = t),
(o = a),
(i = n),
r.point(o) > i.getInnerHeight()
? S.some(r.point(o) - i.getInnerHeight())
: r.point(o) < 0
? S.some(-r.point(o))
: S.none()).fold(
function () {
return n.situsFromPoint(a.left(), t.point(a));
},
function (e) {
return n.scrollBy(0, e), n.situsFromPoint(a.left(), t.point(a) - e);
},
);
},
gf = {
tryUp: b(mf, ff),
tryDown: b(mf, 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),
},
hf = _r([
{ none: ['message'] },
{ success: [] },
{ failedUp: ['cell'] },
{ failedDown: ['cell'] },
]),
pf = function (e) {
return un(e, 'tr');
},
vf = {
verify: function (a, e, t, n, r, c, o) {
return un(n, 'td,th', o)
.bind(function (u) {
return un(e, 'td,th', o).map(function (i) {
return bt(u, i)
? bt(n, u) && Dn(u) === r
? c(i)
: hf.none('in same cell')
: lr.sharedOne(pf, [u, i]).fold(
function () {
return (
(t = i),
(n = u),
(r = (e = a).getRect(t)),
(o = e.getRect(n)).right > r.left && o.left < r.right ? hf.success() : c(i)
);
var e, t, n, r, o;
},
function (e) {
return c(i);
},
);
});
})
.getOr(hf.none('default'));
},
cata: function (e, t, n, r, o) {
return e.fold(t, n, r, o);
},
adt: hf,
},
bf = $('element', 'offset'),
wf =
($('element', 'deltaOffset'),
$('element', 'start', 'finish'),
$('begin', 'end'),
$('element', 'text'),
$('ancestor', 'descendants', 'element', 'index'),
$('parent', 'children', 'element', 'index')),
yf = function (e, t) {
return L(e, b(bt, t));
},
xf = function (e) {
return 'br' === ce(e);
},
Cf = function (e, t, n) {
return t(e, n).bind(function (e) {
return me(e) && 0 === Sn(e).trim().length ? Cf(e, t, n) : S.some(e);
});
},
Sf = function (t, e, n, r) {
return ((o = e),
(i = n),
Ot(o, i)
.filter(xf)
.orThunk(function () {
return Ot(o, i - 1).filter(xf);
})).bind(function (e) {
return r.traverse(e).fold(
function () {
return Cf(e, r.gather, t).map(r.relative);
},
function (e) {
return ((r = e),
Ct(r).bind(function (t) {
var n = Dt(t);
return yf(n, r).map(function (e) {
return wf(t, n, r, e);
});
})).map(function (e) {
return Lc.on(e.parent(), e.index());
});
var r;
},
);
});
var o, i;
},
Rf = function (e, t, n, r) {
var o, i, u;
return (
xf(t)
? ((o = e),
(i = t),
(u = r)
.traverse(i)
.orThunk(function () {
return Cf(i, u.gather, o);
})
.map(u.relative))
: Sf(e, t, n, r)
).map(function (e) {
return { start: C(e), finish: C(e) };
});
},
Tf = function (e) {
return vf.cata(
e,
function (e) {
return S.none();
},
function () {
return S.none();
},
function (e) {
return S.some(bf(e, 0));
},
function (e) {
return S.some(bf(e, Dn(e)));
},
);
},
Df = mt.detect(),
Of = function (r, o, i, u, a, c) {
return 0 === c
? S.none()
: Af(r, o, i, u, a).bind(function (e) {
var t = r.fromSitus(e),
n = vf.verify(r, i, u, t.finish(), t.foffset(), a.failure, o);
return vf.cata(
n,
function () {
return S.none();
},
function () {
return S.some(e);
},
function (e) {
return bt(i, e) && 0 === u ? Nf(r, i, u, zl.moveUp, a) : Of(r, o, e, 0, a, c - 1);
},
function (e) {
return bt(i, e) && u === Dn(e)
? Nf(r, i, u, zl.moveDown, a)
: Of(r, o, e, Dn(e), a, c - 1);
},
);
});
},
Nf = function (t, e, n, r, o) {
return ql(t, e, n).bind(function (e) {
return Ef(t, o, r(e, gf.getJumpSize()));
});
},
Ef = function (e, t, n) {
return Df.browser.isChrome() ||
Df.browser.isSafari() ||
Df.browser.isFirefox() ||
Df.browser.isEdge()
? t.otherRetry(e, n)
: Df.browser.isIE()
? t.ieRetry(e, n)
: S.none();
},
Af = function (t, e, n, r, o) {
return ql(t, n, r).bind(function (e) {
return Ef(t, o, e);
});
},
kf = function (t, n, r) {
return ((o = t),
(i = n),
(u = r),
o.getSelection().bind(function (r) {
return Rf(i, r.finish(), r.foffset(), u).fold(
function () {
return S.some(bf(r.finish(), r.foffset()));
},
function (e) {
var t = o.fromSitus(e),
n = vf.verify(o, r.finish(), r.foffset(), t.finish(), t.foffset(), u.failure, i);
return Tf(n);
},
);
})).bind(function (e) {
return Of(t, n, e.element(), e.offset(), r, 20).map(t.fromSitus);
});
var o, i, u;
},
Pf = mt.detect(),
If = function (e, t) {
return tn(
e,
function (e) {
return Ct(e).exists(function (e) {
return bt(e, t);
});
},
n,
).isSome();
var n;
},
Bf = function (t, r, o, e, i) {
return un(e, 'td,th', r).bind(function (n) {
return un(n, 'table', r).bind(function (e) {
return If(i, e)
? kf(t, r, o).bind(function (t) {
return un(t.finish(), 'td,th', r).map(function (e) {
return { start: C(n), finish: C(e), range: C(t) };
});
})
: S.none();
});
});
},
Wf = function (e, t, n, r, o, i) {
return Pf.browser.isIE()
? S.none()
: i(r, t).orThunk(function () {
return Bf(e, t, n, r, o).map(function (e) {
var t = e.range();
return Al.response(S.some(Ml(t.start(), t.soffset(), t.finish(), t.foffset())), !0);
});
});
},
Mf = function (e, t, n, r, o, i, u) {
return Bf(e, n, r, o, i).bind(function (e) {
return jl.detect(t, n, e.start(), e.finish(), u);
});
},
_f = function (e, u) {
return un(e, 'tr', u).bind(function (i) {
return un(i, 'table', u).bind(function (e) {
var t,
n,
r,
o = Xt(e, 'tr');
return bt(i, o[0])
? ((t = e),
(n = function (e) {
return An(e).isSome();
}),
(r = u),
nf(of, t, n, r)).map(function (e) {
var t = Dn(e);
return Al.response(S.some(Ml(e, t, e, t)), !0);
})
: S.none();
});
});
},
Lf = function (e, u) {
return un(e, 'tr', u).bind(function (i) {
return un(i, 'table', u).bind(function (e) {
var t,
n,
r,
o = Xt(e, 'tr');
return bt(i, o[o.length - 1])
? ((t = e),
(n = function (e) {
return En(e).isSome();
}),
(r = u),
rf(of, t, n, r)).map(function (e) {
return Al.response(S.some(Ml(e, 0, e, 0)), !0);
})
: S.none();
});
});
},
jf = function (e, t) {
return un(e, 'td,th', t);
},
Ff = {
down: {
traverse: Tt,
gather: af,
relative: Lc.before,
otherRetry: gf.tryDown,
ieRetry: gf.ieTryDown,
failure: vf.adt.failedDown,
},
up: {
traverse: Rt,
gather: uf,
relative: Lc.before,
otherRetry: gf.tryUp,
ieRetry: gf.ieTryUp,
failure: vf.adt.failedUp,
},
},
zf = $('rows', 'cols'),
Hf = {
mouse: function (e, t, n, r) {
var o,
i,
u,
a,
c,
l,
f = _l(e),
s =
((o = f),
(i = t),
(u = n),
(a = r),
(c = S.none()),
(l = function () {
c = S.none();
}),
{
mousedown: function (e) {
a.clear(i), (c = jf(e.target(), u));
},
mouseover: function (e) {
c.each(function (r) {
a.clear(i),
jf(e.target(), u).each(function (n) {
Or(r, n, u).each(function (e) {
var t = e.boxes().getOr([]);
(1 < t.length || (1 === t.length && !bt(r, n))) &&
(a.selectRange(i, t, e.start(), e.finish()), o.selectContents(n));
});
});
});
},
mouseup: function () {
c.each(l);
},
});
return { mousedown: s.mousedown, mouseover: s.mouseover, mouseup: s.mouseup };
},
keyboard: function (e, c, l, f) {
var s = _l(e),
d = function () {
return f.clear(c), S.none();
};
return {
keydown: function (e, t, n, r, o, i) {
var u = e.raw().which,
a = !0 === e.raw().shiftKey;
return Nr(c, f.selectedSelector()).fold(
function () {
return Bl.isDown(u) && a
? b(Mf, s, c, l, Ff.down, r, t, f.selectRange)
: Bl.isUp(u) && a
? b(Mf, s, c, l, Ff.up, r, t, f.selectRange)
: Bl.isDown(u)
? b(Wf, s, l, Ff.down, r, t, Lf)
: Bl.isUp(u)
? b(Wf, s, l, Ff.up, r, t, _f)
: S.none;
},
function (t) {
var e = function (e) {
return function () {
return jo(e, function (e) {
return jl.update(e.rows(), e.cols(), c, t, f);
}).fold(
function () {
return Ar(c, f.firstSelectedSelector(), f.lastSelectedSelector()).map(
function (e) {
var t = Bl.isDown(u) || i.isForward(u) ? Lc.after : Lc.before;
return (
s.setRelativeSelection(Lc.on(e.first(), 0), t(e.table())),
f.clear(c),
Al.response(S.none(), !0)
);
},
);
},
function (e) {
return S.some(Al.response(S.none(), !0));
},
);
};
};
return Bl.isDown(u) && a
? e([zf(1, 0)])
: Bl.isUp(u) && a
? e([zf(-1, 0)])
: i.isBackward(u) && a
? e([zf(0, -1), zf(-1, 0)])
: i.isForward(u) && a
? e([zf(0, 1), zf(1, 0)])
: Bl.isNavigation(u) && !1 === a
? d
: S.none;
},
)();
},
keyup: function (t, n, r, o, i) {
return Nr(c, f.selectedSelector()).fold(function () {
var e = t.raw().which;
return 0 == (!0 === t.raw().shiftKey)
? S.none()
: Bl.isNavigation(e)
? jl.sync(c, l, n, r, o, i, f.selectRange)
: S.none();
}, S.none);
},
};
},
},
Uf = function (r, e) {
P(e, function (e) {
var t, n;
(n = e), qo((t = r)) ? t.dom().classList.remove(n) : Go(t, n), Xo(t);
});
},
qf = {
byClass: function (o) {
var t,
n,
i =
((t = o.selected()),
function (e) {
Yo(e, t);
}),
r =
((n = [o.selected(), o.lastSelected(), o.firstSelected()]),
function (e) {
Uf(e, n);
}),
u = function (e) {
var t = Xt(e, o.selectedSelector());
P(t, r);
};
return {
clear: u,
selectRange: function (e, t, n, r) {
u(e), P(t, i), Yo(n, o.firstSelected()), Yo(r, o.lastSelected());
},
selectedSelector: o.selectedSelector,
firstSelectedSelector: o.firstSelectedSelector,
lastSelectedSelector: o.lastSelectedSelector,
};
},
byAttr: function (o) {
var n = function (e) {
ye(e, o.selected()), ye(e, o.firstSelected()), ye(e, o.lastSelected());
},
i = function (e) {
pe(e, o.selected(), '1');
},
u = function (e) {
var t = Xt(e, o.selectedSelector());
P(t, n);
};
return {
clear: u,
selectRange: function (e, t, n, r) {
u(e), P(t, i), pe(n, o.firstSelected(), '1'), pe(r, o.lastSelected(), '1');
},
selectedSelector: o.selectedSelector,
firstSelectedSelector: o.firstSelectedSelector,
lastSelectedSelector: o.lastSelectedSelector,
};
},
},
Vf = function (e) {
return !1 === Ko(De.fromDom(e.target), 'ephox-snooker-resizer-bar');
};
function Gf(h, p) {
var v = re(['mousedown', 'mouseover', 'mouseup', 'keyup', 'keydown'], []),
b = S.none(),
w = qf.byAttr(Mr);
return (
h.on('init', function (e) {
var r = h.getWin(),
o = sa(h),
t = ga(h),
n = Hf.mouse(r, o, t, w),
a = Hf.keyboard(r, o, t, w),
c = function (e, t) {
!0 === e.raw().shiftKey &&
(t.kill() && e.kill(),
t.selection().each(function (e) {
var t = Hc(e.start(), e.finish()),
n = Qc(r, t);
h.selection.setRng(n);
}));
},
i = function (e) {
var t = f(e);
if (t.raw().shiftKey && Bl.isNavigation(t.raw().which)) {
var n = h.selection.getRng(),
r = De.fromDom(n.startContainer),
o = De.fromDom(n.endContainer);
a.keyup(t, r, n.startOffset, o, n.endOffset).each(function (e) {
c(t, e);
});
}
},
u = function (e) {
var t = f(e);
p().each(function (e) {
e.hideBars();
});
var n = h.selection.getRng(),
r = De.fromDom(h.selection.getStart()),
o = De.fromDom(n.startContainer),
i = De.fromDom(n.endContainer),
u = wa.directionAt(r).isRtl() ? Bl.rtl : Bl.ltr;
a.keydown(t, o, n.startOffset, i, n.endOffset, u).each(function (e) {
c(t, e);
}),
p().each(function (e) {
e.showBars();
});
},
l = function (e) {
return e.hasOwnProperty('x') && e.hasOwnProperty('y');
},
f = function (e) {
var t = De.fromDom(e.target),
n = function () {
e.stopPropagation();
},
r = function () {
e.preventDefault();
},
o = x(r, n);
return {
target: C(t),
x: C(l(e) ? e.x : null),
y: C(l(e) ? e.y : null),
stop: n,
prevent: r,
kill: o,
raw: C(e),
};
},
s = function (e) {
return 0 === e.button;
},
d = function (e) {
s(e) && Vf(e) && n.mousedown(f(e));
},
m = function (e) {
var t;
((t = e).buttons !== undefined && 0 == (1 & t.buttons)) || !Vf(e) || n.mouseover(f(e));
},
g = function (e) {
s(e) && Vf(e) && n.mouseup(f(e));
};
h.on('mousedown', d),
h.on('mouseover', m),
h.on('mouseup', g),
h.on('keyup', i),
h.on('keydown', u),
h.on('nodechange', function () {
var e = h.selection,
t = De.fromDom(e.getStart()),
n = De.fromDom(e.getEnd());
lr.sharedOne(gn.table, [t, n]).fold(function () {
w.clear(o);
}, y);
}),
(b = S.some(v({ mousedown: d, mouseover: m, mouseup: g, keyup: i, keydown: u })));
}),
{
clear: w.clear,
destroy: function () {
b.each(function (e) {});
},
}
);
}
var Yf = _a.each,
Xf = function (t) {
var n = [];
function e(e) {
return function () {
t.execCommand(e);
};
}
Yf('inserttable tableprops deletetable | cell row column'.split(' '), function (e) {
'|' === e ? n.push({ text: '-' }) : n.push(t.menuItems[e]);
}),
t.addButton('table', { type: 'menubutton', title: 'Table', menu: n }),
t.addButton('tableprops', {
title: 'Table properties',
onclick: e('mceTableProps'),
icon: 'table',
}),
t.addButton('tabledelete', { title: 'Delete table', onclick: e('mceTableDelete') }),
t.addButton('tablecellprops', {
title: 'Cell properties',
onclick: e('mceTableCellProps'),
}),
t.addButton('tablemergecells', { title: 'Merge cells', onclick: e('mceTableMergeCells') }),
t.addButton('tablesplitcells', { title: 'Split cell', onclick: e('mceTableSplitCells') }),
t.addButton('tableinsertrowbefore', {
title: 'Insert row before',
onclick: e('mceTableInsertRowBefore'),
}),
t.addButton('tableinsertrowafter', {
title: 'Insert row after',
onclick: e('mceTableInsertRowAfter'),
}),
t.addButton('tabledeleterow', { title: 'Delete row', onclick: e('mceTableDeleteRow') }),
t.addButton('tablerowprops', { title: 'Row properties', onclick: e('mceTableRowProps') }),
t.addButton('tablecutrow', { title: 'Cut row', onclick: e('mceTableCutRow') }),
t.addButton('tablecopyrow', { title: 'Copy row', onclick: e('mceTableCopyRow') }),
t.addButton('tablepasterowbefore', {
title: 'Paste row before',
onclick: e('mceTablePasteRowBefore'),
}),
t.addButton('tablepasterowafter', {
title: 'Paste row after',
onclick: e('mceTablePasteRowAfter'),
}),
t.addButton('tableinsertcolbefore', {
title: 'Insert column before',
onclick: e('mceTableInsertColBefore'),
}),
t.addButton('tableinsertcolafter', {
title: 'Insert column after',
onclick: e('mceTableInsertColAfter'),
}),
t.addButton('tabledeletecol', { title: 'Delete column', onclick: e('mceTableDeleteCol') });
},
Kf = function (t) {
var e,
n =
'' === (e = t.getParam('table_toolbar', ya)) || !1 === e
? []
: w(e)
? e.split(/[ ,]/)
: R(e)
? e
: [];
0 < n.length &&
t.addContextToolbar(function (e) {
return t.dom.is(e, 'table') && t.getBody().contains(e);
}, n.join(' '));
},
Jf = function (o, n) {
var r = S.none(),
i = [],
u = [],
a = [],
c = [],
l = function (e) {
e.disabled(!0);
},
f = function (e) {
e.disabled(!1);
},
e = function () {
var t = this;
i.push(t),
r.fold(
function () {
l(t);
},
function (e) {
f(t);
},
);
},
t = function () {
var t = this;
u.push(t),
r.fold(
function () {
l(t);
},
function (e) {
f(t);
},
);
};
o.on('init', function () {
o.on('nodechange', function (e) {
var t = S.from(o.dom.getParent(o.selection.getStart(), 'th,td'));
(r = t.bind(function (e) {
var t = De.fromDom(e);
return gn.table(t).map(function (e) {
return Gr.forMenu(n, e, t);
});
})).fold(
function () {
P(i, l), P(u, l), P(a, l), P(c, l);
},
function (t) {
P(i, f),
P(u, f),
P(a, function (e) {
e.disabled(t.mergable().isNone());
}),
P(c, function (e) {
e.disabled(t.unmergable().isNone());
});
},
);
});
});
var s = function (e, t, n, r) {
var o,
i,
u,
a,
c,
l = r.getEl().getElementsByTagName('table')[0],
f = r.isRtl() || 'tl-tr' === r.parent().rel;
for (
l.nextSibling.innerHTML = t + 1 + ' x ' + (n + 1), f && (t = 9 - t), i = 0;
i < 10;
i++
)
for (o = 0; o < 10; o++)
(a = l.rows[i].childNodes[o].firstChild),
(c = (f ? t <= o : o <= t) && i <= n),
e.dom.toggleClass(a, 'mce-active', c),
c && (u = a);
return u.parentNode;
},
d =
!1 === o.getParam('table_grid', !0, 'boolean')
? { text: 'Table', icon: 'table', context: 'table', onclick: m('mceInsertTable') }
: {
text: 'Table',
icon: 'table',
context: 'table',
ariaHideMenu: !0,
onclick: function (e) {
e.aria &&
(this.parent().hideAll(),
e.stopImmediatePropagation(),
o.execCommand('mceInsertTable'));
},
onshow: function () {
s(o, 0, 0, this.menu.items()[0]);
},
onhide: function () {
var e = this.menu.items()[0].getEl().getElementsByTagName('a');
o.dom.removeClass(e, 'mce-active'), o.dom.addClass(e[0], 'mce-active');
},
menu: [
{
type: 'container',
html: (function () {
var e = '';
e =
'
| '; e += ' |