@maketribe/ms-app 3.0.9 → 3.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/form-components/form-date-picker/form-date-picker-options.d.ts +3 -3
- package/dist/cjs/components/form-components/form-date-picker/form-date-picker-options.js.map +1 -1
- package/dist/cjs/components/rich-text-editor/rich-text-editor-options.d.ts +2 -2
- package/dist/cjs/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
- package/dist/cjs/components/rich-text-editor/rich-text-editor.d.ts +2 -2
- package/dist/cjs/components/rich-text-editor/rich-text-editor.js +10 -11
- package/dist/cjs/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/cjs/composables/use-http-request.d.ts +1 -1
- package/dist/cjs/composables/use-http-request.js +1 -1
- package/dist/cjs/composables/use-http-request.js.map +1 -1
- package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js +3 -0
- package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js +4 -0
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js +7 -0
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/tinymce.js +20 -23
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/tinymce.js.map +1 -0
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/cjs/utils.js +1 -4
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/components/form-components/form-date-picker/form-date-picker-options.d.ts +3 -3
- package/dist/esm/components/form-components/form-date-picker/form-date-picker-options.js.map +1 -1
- package/dist/esm/components/rich-text-editor/rich-text-editor-options.d.ts +2 -2
- package/dist/esm/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
- package/dist/esm/components/rich-text-editor/rich-text-editor.d.ts +2 -2
- package/dist/esm/components/rich-text-editor/rich-text-editor.js +10 -11
- package/dist/esm/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/esm/composables/use-http-request.d.ts +1 -1
- package/dist/esm/composables/use-http-request.js +1 -1
- package/dist/esm/composables/use-http-request.js.map +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupTree.js +3 -0
- package/dist/esm/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js +2 -0
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js +5 -0
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/tinymce.js +20 -23
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/tinymce.js.map +1 -0
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/utils.js +1 -4
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/components/form-components/form-date-picker/form-date-picker-options.ts +1 -1
- package/src/components/rich-text-editor/rich-text-editor-options.ts +1 -1
- package/src/components/rich-text-editor/rich-text-editor.tsx +2 -3
- package/src/composables/use-http-request.ts +2 -2
- package/src/dataview/material/material-group/MaterialGroupTree.ts +4 -0
- package/src/page/signup/index.vue +1 -1
- package/src/utils.ts +4 -4
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js +0 -4
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js.map +0 -1
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js +0 -7
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js.map +0 -1
- package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/tinymce.js.map +0 -1
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js +0 -2
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js.map +0 -1
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js +0 -5
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js.map +0 -1
- package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/tinymce.js.map +0 -1
- /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js +0 -0
- /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js +0 -0
- /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js +0 -0
- /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js +0 -0
- /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js +0 -0
- /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../../../../../../../../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/plugins/fullscreen/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.0 (2023-11-22)\n */\n\n(function () {\n 'use strict';\n\n const Cell = initial => {\n let value = initial;\n const get = () => {\n return value;\n };\n const set = v => {\n value = v;\n };\n return {\n get,\n set\n };\n };\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const get$5 = fullscreenState => ({ isFullscreen: () => fullscreenState.get() !== null });\n\n const hasProto = (v, constructor, predicate) => {\n var _a;\n if (predicate(v, constructor.prototype)) {\n return true;\n } else {\n return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n }\n };\n const typeOf = x => {\n const t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && Array.isArray(x)) {\n return 'array';\n } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n return 'string';\n } else {\n return t;\n }\n };\n const isType$1 = type => value => typeOf(value) === type;\n const isSimpleType = type => value => typeof value === type;\n const eq$1 = t => a => t === a;\n const isString = isType$1('string');\n const isArray = isType$1('array');\n const isNull = eq$1(null);\n const isBoolean = isSimpleType('boolean');\n const isUndefined = eq$1(undefined);\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n const isFunction = isSimpleType('function');\n const isNumber = isSimpleType('number');\n\n const noop = () => {\n };\n const compose = (fa, fb) => {\n return (...args) => {\n return fa(fb.apply(null, args));\n };\n };\n const compose1 = (fbc, fab) => a => fbc(fab(a));\n const constant = value => {\n return () => {\n return value;\n };\n };\n function curry(fn, ...initialArgs) {\n return (...restArgs) => {\n const all = initialArgs.concat(restArgs);\n return fn.apply(null, all);\n };\n }\n const never = constant(false);\n const always = constant(true);\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const singleton = doRevoke => {\n const subject = Cell(Optional.none());\n const revoke = () => subject.get().each(doRevoke);\n const clear = () => {\n revoke();\n subject.set(Optional.none());\n };\n const isSet = () => subject.get().isSome();\n const get = () => subject.get();\n const set = s => {\n revoke();\n subject.set(Optional.some(s));\n };\n return {\n clear,\n isSet,\n get,\n set\n };\n };\n const unbindable = () => singleton(s => s.unbind());\n const value = () => {\n const subject = singleton(noop);\n const on = f => subject.get().each(f);\n return {\n ...subject,\n on\n };\n };\n\n const first = (fn, rate) => {\n let timer = null;\n const cancel = () => {\n if (!isNull(timer)) {\n clearTimeout(timer);\n timer = null;\n }\n };\n const throttle = (...args) => {\n if (isNull(timer)) {\n timer = setTimeout(() => {\n timer = null;\n fn.apply(null, args);\n }, rate);\n }\n };\n return {\n cancel,\n throttle\n };\n };\n\n const nativePush = Array.prototype.push;\n const map = (xs, f) => {\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n const each$1 = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const filter$1 = (xs, pred) => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n r.push(x);\n }\n }\n return r;\n };\n const findUntil = (xs, pred, until) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return Optional.some(x);\n } else if (until(x, i)) {\n break;\n }\n }\n return Optional.none();\n };\n const find$1 = (xs, pred) => {\n return findUntil(xs, pred, never);\n };\n const flatten = xs => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; ++i) {\n if (!isArray(xs[i])) {\n throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n }\n nativePush.apply(r, xs[i]);\n }\n return r;\n };\n const bind$3 = (xs, f) => flatten(map(xs, f));\n const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n const head = xs => get$4(xs, 0);\n const findMap = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n const r = f(arr[i], i);\n if (r.isSome()) {\n return r;\n }\n }\n return Optional.none();\n };\n\n const keys = Object.keys;\n const each = (obj, f) => {\n const props = keys(obj);\n for (let k = 0, len = props.length; k < len; k++) {\n const i = props[k];\n const x = obj[i];\n f(x, i);\n }\n };\n\n const contains = (str, substr, start = 0, end) => {\n const idx = str.indexOf(substr, start);\n if (idx !== -1) {\n return isUndefined(end) ? true : idx + substr.length <= end;\n } else {\n return false;\n }\n };\n\n const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n const fromHtml = (html, scope) => {\n const doc = scope || document;\n const div = doc.createElement('div');\n div.innerHTML = html;\n if (!div.hasChildNodes() || div.childNodes.length > 1) {\n const message = 'HTML does not have a single root node';\n console.error(message, html);\n throw new Error(message);\n }\n return fromDom(div.childNodes[0]);\n };\n const fromTag = (tag, scope) => {\n const doc = scope || document;\n const node = doc.createElement(tag);\n return fromDom(node);\n };\n const fromText = (text, scope) => {\n const doc = scope || document;\n const node = doc.createTextNode(text);\n return fromDom(node);\n };\n const fromDom = node => {\n if (node === null || node === undefined) {\n throw new Error('Node cannot be null or undefined');\n }\n return { dom: node };\n };\n const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n const SugarElement = {\n fromHtml,\n fromTag,\n fromText,\n fromDom,\n fromPoint\n };\n\n typeof window !== 'undefined' ? window : Function('return this;')();\n\n const DOCUMENT = 9;\n const DOCUMENT_FRAGMENT = 11;\n const ELEMENT = 1;\n const TEXT = 3;\n\n const type = element => element.dom.nodeType;\n const isType = t => element => type(element) === t;\n const isElement = isType(ELEMENT);\n const isText = isType(TEXT);\n const isDocument = isType(DOCUMENT);\n const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n const is = (element, selector) => {\n const dom = element.dom;\n if (dom.nodeType !== ELEMENT) {\n return false;\n } else {\n const elem = dom;\n if (elem.matches !== undefined) {\n return elem.matches(selector);\n } else if (elem.msMatchesSelector !== undefined) {\n return elem.msMatchesSelector(selector);\n } else if (elem.webkitMatchesSelector !== undefined) {\n return elem.webkitMatchesSelector(selector);\n } else if (elem.mozMatchesSelector !== undefined) {\n return elem.mozMatchesSelector(selector);\n } else {\n throw new Error('Browser lacks native selectors');\n }\n }\n };\n const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n const all$1 = (selector, scope) => {\n const base = scope === undefined ? document : scope.dom;\n return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n };\n\n const eq = (e1, e2) => e1.dom === e2.dom;\n\n const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n const parents = (element, isRoot) => {\n const stop = isFunction(isRoot) ? isRoot : never;\n let dom = element.dom;\n const ret = [];\n while (dom.parentNode !== null && dom.parentNode !== undefined) {\n const rawParent = dom.parentNode;\n const p = SugarElement.fromDom(rawParent);\n ret.push(p);\n if (stop(p) === true) {\n break;\n } else {\n dom = rawParent;\n }\n }\n return ret;\n };\n const siblings$2 = element => {\n const filterSelf = elements => filter$1(elements, x => !eq(element, x));\n return parent(element).map(children).map(filterSelf).getOr([]);\n };\n const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n const isSupported = constant(supported);\n const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n const getShadowRoot = e => {\n const r = getRootNode(e);\n return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n };\n const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n const getOriginalEventTarget = event => {\n if (isSupported() && isNonNullable(event.target)) {\n const el = SugarElement.fromDom(event.target);\n if (isElement(el) && isOpenShadowHost(el)) {\n if (event.composed && event.composedPath) {\n const composedPath = event.composedPath();\n if (composedPath) {\n return head(composedPath);\n }\n }\n }\n }\n return Optional.from(event.target);\n };\n const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n const inBody = element => {\n const dom = isText(element) ? element.dom.parentNode : element.dom;\n if (dom === undefined || dom === null || dom.ownerDocument === null) {\n return false;\n }\n const doc = dom.ownerDocument;\n return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n };\n const getBody = doc => {\n const b = doc.dom.body;\n if (b === null || b === undefined) {\n throw new Error('Body is not available yet');\n }\n return SugarElement.fromDom(b);\n };\n\n const rawSet = (dom, key, value) => {\n if (isString(value) || isBoolean(value) || isNumber(value)) {\n dom.setAttribute(key, value + '');\n } else {\n console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n throw new Error('Attribute value was not simple');\n }\n };\n const set = (element, key, value) => {\n rawSet(element.dom, key, value);\n };\n const get$3 = (element, key) => {\n const v = element.dom.getAttribute(key);\n return v === null ? undefined : v;\n };\n const remove = (element, key) => {\n element.dom.removeAttribute(key);\n };\n\n const internalSet = (dom, property, value) => {\n if (!isString(value)) {\n console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n throw new Error('CSS value must be a string: ' + value);\n }\n if (isSupported$1(dom)) {\n dom.style.setProperty(property, value);\n }\n };\n const setAll = (element, css) => {\n const dom = element.dom;\n each(css, (v, k) => {\n internalSet(dom, k, v);\n });\n };\n const get$2 = (element, property) => {\n const dom = element.dom;\n const styles = window.getComputedStyle(dom);\n const r = styles.getPropertyValue(property);\n return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n };\n const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n\n const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n target,\n x,\n y,\n stop,\n prevent,\n kill,\n raw\n });\n const fromRawEvent = rawEvent => {\n const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n const stop = () => rawEvent.stopPropagation();\n const prevent = () => rawEvent.preventDefault();\n const kill = compose(prevent, stop);\n return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n };\n const handle = (filter, handler) => rawEvent => {\n if (filter(rawEvent)) {\n handler(fromRawEvent(rawEvent));\n }\n };\n const binder = (element, event, filter, handler, useCapture) => {\n const wrapped = handle(filter, handler);\n element.dom.addEventListener(event, wrapped, useCapture);\n return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n };\n const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n const unbind = (element, event, handler, useCapture) => {\n element.dom.removeEventListener(event, handler, useCapture);\n };\n\n const filter = always;\n const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler);\n\n const cached = f => {\n let called = false;\n let r;\n return (...args) => {\n if (!called) {\n called = true;\n r = f.apply(null, args);\n }\n return r;\n };\n };\n\n const DeviceType = (os, browser, userAgent, mediaMatch) => {\n const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n const isiPhone = os.isiOS() && !isiPad;\n const isMobile = os.isiOS() || os.isAndroid();\n const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n const isPhone = isiPhone || isMobile && !isTablet;\n const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n const isDesktop = !isPhone && !isTablet && !iOSwebview;\n return {\n isiPad: constant(isiPad),\n isiPhone: constant(isiPhone),\n isTablet: constant(isTablet),\n isPhone: constant(isPhone),\n isTouch: constant(isTouch),\n isAndroid: os.isAndroid,\n isiOS: os.isiOS,\n isWebView: constant(iOSwebview),\n isDesktop: constant(isDesktop)\n };\n };\n\n const firstMatch = (regexes, s) => {\n for (let i = 0; i < regexes.length; i++) {\n const x = regexes[i];\n if (x.test(s)) {\n return x;\n }\n }\n return undefined;\n };\n const find = (regexes, agent) => {\n const r = firstMatch(regexes, agent);\n if (!r) {\n return {\n major: 0,\n minor: 0\n };\n }\n const group = i => {\n return Number(agent.replace(r, '$' + i));\n };\n return nu$2(group(1), group(2));\n };\n const detect$3 = (versionRegexes, agent) => {\n const cleanedAgent = String(agent).toLowerCase();\n if (versionRegexes.length === 0) {\n return unknown$2();\n }\n return find(versionRegexes, cleanedAgent);\n };\n const unknown$2 = () => {\n return nu$2(0, 0);\n };\n const nu$2 = (major, minor) => {\n return {\n major,\n minor\n };\n };\n const Version = {\n nu: nu$2,\n detect: detect$3,\n unknown: unknown$2\n };\n\n const detectBrowser$1 = (browsers, userAgentData) => {\n return findMap(userAgentData.brands, uaBrand => {\n const lcBrand = uaBrand.brand.toLowerCase();\n return find$1(browsers, browser => {\n var _a;\n return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }).map(info => ({\n current: info.name,\n version: Version.nu(parseInt(uaBrand.version, 10), 0)\n }));\n });\n };\n\n const detect$2 = (candidates, userAgent) => {\n const agent = String(userAgent).toLowerCase();\n return find$1(candidates, candidate => {\n return candidate.search(agent);\n });\n };\n const detectBrowser = (browsers, userAgent) => {\n return detect$2(browsers, userAgent).map(browser => {\n const version = Version.detect(browser.versionRegexes, userAgent);\n return {\n current: browser.name,\n version\n };\n });\n };\n const detectOs = (oses, userAgent) => {\n return detect$2(oses, userAgent).map(os => {\n const version = Version.detect(os.versionRegexes, userAgent);\n return {\n current: os.name,\n version\n };\n });\n };\n\n const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n const checkContains = target => {\n return uastring => {\n return contains(uastring, target);\n };\n };\n const browsers = [\n {\n name: 'Edge',\n versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n search: uastring => {\n return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n }\n },\n {\n name: 'Chromium',\n brand: 'Chromium',\n versionRegexes: [\n /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n normalVersionRegex\n ],\n search: uastring => {\n return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n }\n },\n {\n name: 'IE',\n versionRegexes: [\n /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n /.*?rv:([0-9]+)\\.([0-9]+).*/\n ],\n search: uastring => {\n return contains(uastring, 'msie') || contains(uastring, 'trident');\n }\n },\n {\n name: 'Opera',\n versionRegexes: [\n normalVersionRegex,\n /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n ],\n search: checkContains('opera')\n },\n {\n name: 'Firefox',\n versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n search: checkContains('firefox')\n },\n {\n name: 'Safari',\n versionRegexes: [\n normalVersionRegex,\n /.*?cpu os ([0-9]+)_([0-9]+).*/\n ],\n search: uastring => {\n return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n }\n }\n ];\n const oses = [\n {\n name: 'Windows',\n search: checkContains('win'),\n versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n },\n {\n name: 'iOS',\n search: uastring => {\n return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n },\n versionRegexes: [\n /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n /.*cpu os ([0-9]+)_([0-9]+).*/,\n /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n ]\n },\n {\n name: 'Android',\n search: checkContains('android'),\n versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n },\n {\n name: 'macOS',\n search: checkContains('mac os x'),\n versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n },\n {\n name: 'Linux',\n search: checkContains('linux'),\n versionRegexes: []\n },\n {\n name: 'Solaris',\n search: checkContains('sunos'),\n versionRegexes: []\n },\n {\n name: 'FreeBSD',\n search: checkContains('freebsd'),\n versionRegexes: []\n },\n {\n name: 'ChromeOS',\n search: checkContains('cros'),\n versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n }\n ];\n const PlatformInfo = {\n browsers: constant(browsers),\n oses: constant(oses)\n };\n\n const edge = 'Edge';\n const chromium = 'Chromium';\n const ie = 'IE';\n const opera = 'Opera';\n const firefox = 'Firefox';\n const safari = 'Safari';\n const unknown$1 = () => {\n return nu$1({\n current: undefined,\n version: Version.unknown()\n });\n };\n const nu$1 = info => {\n const current = info.current;\n const version = info.version;\n const isBrowser = name => () => current === name;\n return {\n current,\n version,\n isEdge: isBrowser(edge),\n isChromium: isBrowser(chromium),\n isIE: isBrowser(ie),\n isOpera: isBrowser(opera),\n isFirefox: isBrowser(firefox),\n isSafari: isBrowser(safari)\n };\n };\n const Browser = {\n unknown: unknown$1,\n nu: nu$1,\n edge: constant(edge),\n chromium: constant(chromium),\n ie: constant(ie),\n opera: constant(opera),\n firefox: constant(firefox),\n safari: constant(safari)\n };\n\n const windows = 'Windows';\n const ios = 'iOS';\n const android = 'Android';\n const linux = 'Linux';\n const macos = 'macOS';\n const solaris = 'Solaris';\n const freebsd = 'FreeBSD';\n const chromeos = 'ChromeOS';\n const unknown = () => {\n return nu({\n current: undefined,\n version: Version.unknown()\n });\n };\n const nu = info => {\n const current = info.current;\n const version = info.version;\n const isOS = name => () => current === name;\n return {\n current,\n version,\n isWindows: isOS(windows),\n isiOS: isOS(ios),\n isAndroid: isOS(android),\n isMacOS: isOS(macos),\n isLinux: isOS(linux),\n isSolaris: isOS(solaris),\n isFreeBSD: isOS(freebsd),\n isChromeOS: isOS(chromeos)\n };\n };\n const OperatingSystem = {\n unknown,\n nu,\n windows: constant(windows),\n ios: constant(ios),\n android: constant(android),\n linux: constant(linux),\n macos: constant(macos),\n solaris: constant(solaris),\n freebsd: constant(freebsd),\n chromeos: constant(chromeos)\n };\n\n const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => {\n const browsers = PlatformInfo.browsers();\n const oses = PlatformInfo.oses();\n const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n return {\n browser,\n os,\n deviceType\n };\n };\n const PlatformDetection = { detect: detect$1 };\n\n const mediaMatch = query => window.matchMedia(query).matches;\n let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n const detect = () => platform();\n\n const r = (left, top) => {\n const translate = (x, y) => r(left + x, top + y);\n return {\n left,\n top,\n translate\n };\n };\n const SugarPosition = r;\n\n const get$1 = _DOC => {\n const doc = _DOC !== undefined ? _DOC.dom : document;\n const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n return SugarPosition(x, y);\n };\n\n const get = _win => {\n const win = _win === undefined ? window : _win;\n if (detect().browser.isFirefox()) {\n return Optional.none();\n } else {\n return Optional.from(win.visualViewport);\n }\n };\n const bounds = (x, y, width, height) => ({\n x,\n y,\n width,\n height,\n right: x + width,\n bottom: y + height\n });\n const getBounds = _win => {\n const win = _win === undefined ? window : _win;\n const doc = win.document;\n const scroll = get$1(SugarElement.fromDom(doc));\n return get(win).fold(() => {\n const html = win.document.documentElement;\n const width = html.clientWidth;\n const height = html.clientHeight;\n return bounds(scroll.left, scroll.top, width, height);\n }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n };\n const bind = (name, callback, _win) => get(_win).map(visualViewport => {\n const handler = e => callback(fromRawEvent(e));\n visualViewport.addEventListener(name, handler);\n return { unbind: () => visualViewport.removeEventListener(name, handler) };\n }).getOrThunk(() => ({ unbind: noop }));\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n const fireFullscreenStateChanged = (editor, state) => {\n editor.dispatch('FullscreenStateChanged', { state });\n editor.dispatch('ResizeEditor');\n };\n\n const option = name => editor => editor.options.get(name);\n const register$2 = editor => {\n const registerOption = editor.options.register;\n registerOption('fullscreen_native', {\n processor: 'boolean',\n default: false\n });\n };\n const getFullscreenNative = option('fullscreen_native');\n\n const getFullscreenRoot = editor => {\n const elem = SugarElement.fromDom(editor.getElement());\n return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem)));\n };\n const getFullscreenElement = root => {\n if (root.fullscreenElement !== undefined) {\n return root.fullscreenElement;\n } else if (root.msFullscreenElement !== undefined) {\n return root.msFullscreenElement;\n } else if (root.webkitFullscreenElement !== undefined) {\n return root.webkitFullscreenElement;\n } else {\n return null;\n }\n };\n const getFullscreenchangeEventName = () => {\n if (document.fullscreenElement !== undefined) {\n return 'fullscreenchange';\n } else if (document.msFullscreenElement !== undefined) {\n return 'MSFullscreenChange';\n } else if (document.webkitFullscreenElement !== undefined) {\n return 'webkitfullscreenchange';\n } else {\n return 'fullscreenchange';\n }\n };\n const requestFullscreen = sugarElem => {\n const elem = sugarElem.dom;\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.msRequestFullscreen) {\n elem.msRequestFullscreen();\n } else if (elem.webkitRequestFullScreen) {\n elem.webkitRequestFullScreen();\n }\n };\n const exitFullscreen = sugarDoc => {\n const doc = sugarDoc.dom;\n if (doc.exitFullscreen) {\n doc.exitFullscreen();\n } else if (doc.msExitFullscreen) {\n doc.msExitFullscreen();\n } else if (doc.webkitCancelFullScreen) {\n doc.webkitCancelFullScreen();\n }\n };\n const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom);\n\n const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate);\n const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate);\n\n const all = selector => all$1(selector);\n const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot);\n const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector));\n\n const attr = 'data-ephox-mobile-fullscreen-style';\n const siblingStyles = 'display:none!important;';\n const ancestorPosition = 'position:absolute!important;';\n const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n const bgFallback = 'background-color:rgb(255,255,255)!important;';\n const isAndroid = global.os.isAndroid();\n const matchColor = editorBody => {\n const color = get$2(editorBody, 'background-color');\n return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n };\n const clobberStyles = (dom, container, editorBody) => {\n const gatherSiblings = element => {\n return siblings(element, '*:not(.tox-silver-sink)');\n };\n const clobber = clobberStyle => element => {\n const styles = get$3(element, 'style');\n const backup = styles === undefined ? 'no-styles' : styles.trim();\n if (backup === clobberStyle) {\n return;\n } else {\n set(element, attr, backup);\n setAll(element, dom.parseStyle(clobberStyle));\n }\n };\n const ancestors$1 = ancestors(container, '*');\n const siblings$1 = bind$3(ancestors$1, gatherSiblings);\n const bgColor = matchColor(editorBody);\n each$1(siblings$1, clobber(siblingStyles));\n each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n const containerStyles = isAndroid === true ? '' : ancestorPosition;\n clobber(containerStyles + ancestorStyles + bgColor)(container);\n };\n const restoreStyles = dom => {\n const clobberedEls = all('[' + attr + ']');\n each$1(clobberedEls, element => {\n const restore = get$3(element, attr);\n if (restore && restore !== 'no-styles') {\n setAll(element, dom.parseStyle(restore));\n } else {\n remove(element, 'style');\n }\n remove(element, attr);\n });\n };\n\n const DOM = global$1.DOM;\n const getScrollPos = () => getBounds(window);\n const setScrollPos = pos => window.scrollTo(pos.x, pos.y);\n const viewportUpdate = get().fold(() => ({\n bind: noop,\n unbind: noop\n }), visualViewport => {\n const editorContainer = value();\n const resizeBinder = unbindable();\n const scrollBinder = unbindable();\n const refreshScroll = () => {\n document.body.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n };\n const refreshVisualViewport = () => {\n window.requestAnimationFrame(() => {\n editorContainer.on(container => setAll(container, {\n top: visualViewport.offsetTop + 'px',\n left: visualViewport.offsetLeft + 'px',\n height: visualViewport.height + 'px',\n width: visualViewport.width + 'px'\n }));\n });\n };\n const update = first(() => {\n refreshScroll();\n refreshVisualViewport();\n }, 50);\n const bind$1 = element => {\n editorContainer.set(element);\n update.throttle();\n resizeBinder.set(bind('resize', update.throttle));\n scrollBinder.set(bind('scroll', update.throttle));\n };\n const unbind = () => {\n editorContainer.on(() => {\n resizeBinder.clear();\n scrollBinder.clear();\n });\n editorContainer.clear();\n };\n return {\n bind: bind$1,\n unbind\n };\n });\n const toggleFullscreen = (editor, fullscreenState) => {\n const body = document.body;\n const documentElement = document.documentElement;\n const editorContainer = editor.getContainer();\n const editorContainerS = SugarElement.fromDom(editorContainer);\n const fullscreenRoot = getFullscreenRoot(editor);\n const fullscreenInfo = fullscreenState.get();\n const editorBody = SugarElement.fromDom(editor.getBody());\n const isTouch = global.deviceType.isTouch();\n const editorContainerStyle = editorContainer.style;\n const iframe = editor.iframeElement;\n const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style;\n const handleClasses = handler => {\n handler(body, 'tox-fullscreen');\n handler(documentElement, 'tox-fullscreen');\n handler(editorContainer, 'tox-fullscreen');\n getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => {\n handler(host, 'tox-fullscreen');\n handler(host, 'tox-shadowhost');\n });\n };\n const cleanup = () => {\n if (isTouch) {\n restoreStyles(editor.dom);\n }\n handleClasses(DOM.removeClass);\n viewportUpdate.unbind();\n Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind());\n };\n if (!fullscreenInfo) {\n const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => {\n if (getFullscreenNative(editor)) {\n if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n toggleFullscreen(editor, fullscreenState);\n }\n }\n });\n const newFullScreenInfo = {\n scrollPos: getScrollPos(),\n containerWidth: editorContainerStyle.width,\n containerHeight: editorContainerStyle.height,\n containerTop: editorContainerStyle.top,\n containerLeft: editorContainerStyle.left,\n iframeWidth: iframeStyle.width,\n iframeHeight: iframeStyle.height,\n fullscreenChangeHandler\n };\n if (isTouch) {\n clobberStyles(editor.dom, editorContainerS, editorBody);\n }\n iframeStyle.width = iframeStyle.height = '100%';\n editorContainerStyle.width = editorContainerStyle.height = '';\n handleClasses(DOM.addClass);\n viewportUpdate.bind(editorContainerS);\n editor.on('remove', cleanup);\n fullscreenState.set(newFullScreenInfo);\n if (getFullscreenNative(editor)) {\n requestFullscreen(fullscreenRoot);\n }\n fireFullscreenStateChanged(editor, true);\n } else {\n fullscreenInfo.fullscreenChangeHandler.unbind();\n if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n exitFullscreen(owner(fullscreenRoot));\n }\n iframeStyle.width = fullscreenInfo.iframeWidth;\n iframeStyle.height = fullscreenInfo.iframeHeight;\n editorContainerStyle.width = fullscreenInfo.containerWidth;\n editorContainerStyle.height = fullscreenInfo.containerHeight;\n editorContainerStyle.top = fullscreenInfo.containerTop;\n editorContainerStyle.left = fullscreenInfo.containerLeft;\n cleanup();\n setScrollPos(fullscreenInfo.scrollPos);\n fullscreenState.set(null);\n fireFullscreenStateChanged(editor, false);\n editor.off('remove', cleanup);\n }\n };\n\n const register$1 = (editor, fullscreenState) => {\n editor.addCommand('mceFullScreen', () => {\n toggleFullscreen(editor, fullscreenState);\n });\n };\n\n const makeSetupHandler = (editor, fullscreenState) => api => {\n api.setActive(fullscreenState.get() !== null);\n const editorEventCallback = e => api.setActive(e.state);\n editor.on('FullscreenStateChanged', editorEventCallback);\n return () => editor.off('FullscreenStateChanged', editorEventCallback);\n };\n const register = (editor, fullscreenState) => {\n const onAction = () => editor.execCommand('mceFullScreen');\n editor.ui.registry.addToggleMenuItem('fullscreen', {\n text: 'Fullscreen',\n icon: 'fullscreen',\n shortcut: 'Meta+Shift+F',\n onAction,\n onSetup: makeSetupHandler(editor, fullscreenState)\n });\n editor.ui.registry.addToggleButton('fullscreen', {\n tooltip: 'Fullscreen',\n icon: 'fullscreen',\n onAction,\n onSetup: makeSetupHandler(editor, fullscreenState)\n });\n };\n\n var Plugin = () => {\n global$2.add('fullscreen', editor => {\n const fullscreenState = Cell(null);\n if (editor.inline) {\n return get$5(fullscreenState);\n }\n register$2(editor);\n register$1(editor, fullscreenState);\n register(editor, fullscreenState);\n editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n return get$5(fullscreenState);\n });\n };\n\n Plugin();\n\n})();\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../../../../../../../../../node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/plugins/fullscreen/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.2 (2023-12-11)\n */\n\n(function () {\n 'use strict';\n\n const Cell = initial => {\n let value = initial;\n const get = () => {\n return value;\n };\n const set = v => {\n value = v;\n };\n return {\n get,\n set\n };\n };\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const get$5 = fullscreenState => ({ isFullscreen: () => fullscreenState.get() !== null });\n\n const hasProto = (v, constructor, predicate) => {\n var _a;\n if (predicate(v, constructor.prototype)) {\n return true;\n } else {\n return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n }\n };\n const typeOf = x => {\n const t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && Array.isArray(x)) {\n return 'array';\n } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n return 'string';\n } else {\n return t;\n }\n };\n const isType$1 = type => value => typeOf(value) === type;\n const isSimpleType = type => value => typeof value === type;\n const eq$1 = t => a => t === a;\n const isString = isType$1('string');\n const isArray = isType$1('array');\n const isNull = eq$1(null);\n const isBoolean = isSimpleType('boolean');\n const isUndefined = eq$1(undefined);\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n const isFunction = isSimpleType('function');\n const isNumber = isSimpleType('number');\n\n const noop = () => {\n };\n const compose = (fa, fb) => {\n return (...args) => {\n return fa(fb.apply(null, args));\n };\n };\n const compose1 = (fbc, fab) => a => fbc(fab(a));\n const constant = value => {\n return () => {\n return value;\n };\n };\n function curry(fn, ...initialArgs) {\n return (...restArgs) => {\n const all = initialArgs.concat(restArgs);\n return fn.apply(null, all);\n };\n }\n const never = constant(false);\n const always = constant(true);\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const singleton = doRevoke => {\n const subject = Cell(Optional.none());\n const revoke = () => subject.get().each(doRevoke);\n const clear = () => {\n revoke();\n subject.set(Optional.none());\n };\n const isSet = () => subject.get().isSome();\n const get = () => subject.get();\n const set = s => {\n revoke();\n subject.set(Optional.some(s));\n };\n return {\n clear,\n isSet,\n get,\n set\n };\n };\n const unbindable = () => singleton(s => s.unbind());\n const value = () => {\n const subject = singleton(noop);\n const on = f => subject.get().each(f);\n return {\n ...subject,\n on\n };\n };\n\n const first = (fn, rate) => {\n let timer = null;\n const cancel = () => {\n if (!isNull(timer)) {\n clearTimeout(timer);\n timer = null;\n }\n };\n const throttle = (...args) => {\n if (isNull(timer)) {\n timer = setTimeout(() => {\n timer = null;\n fn.apply(null, args);\n }, rate);\n }\n };\n return {\n cancel,\n throttle\n };\n };\n\n const nativePush = Array.prototype.push;\n const map = (xs, f) => {\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n const each$1 = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const filter$1 = (xs, pred) => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n r.push(x);\n }\n }\n return r;\n };\n const findUntil = (xs, pred, until) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return Optional.some(x);\n } else if (until(x, i)) {\n break;\n }\n }\n return Optional.none();\n };\n const find$1 = (xs, pred) => {\n return findUntil(xs, pred, never);\n };\n const flatten = xs => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; ++i) {\n if (!isArray(xs[i])) {\n throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n }\n nativePush.apply(r, xs[i]);\n }\n return r;\n };\n const bind$3 = (xs, f) => flatten(map(xs, f));\n const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n const head = xs => get$4(xs, 0);\n const findMap = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n const r = f(arr[i], i);\n if (r.isSome()) {\n return r;\n }\n }\n return Optional.none();\n };\n\n const keys = Object.keys;\n const each = (obj, f) => {\n const props = keys(obj);\n for (let k = 0, len = props.length; k < len; k++) {\n const i = props[k];\n const x = obj[i];\n f(x, i);\n }\n };\n\n const contains = (str, substr, start = 0, end) => {\n const idx = str.indexOf(substr, start);\n if (idx !== -1) {\n return isUndefined(end) ? true : idx + substr.length <= end;\n } else {\n return false;\n }\n };\n\n const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n const fromHtml = (html, scope) => {\n const doc = scope || document;\n const div = doc.createElement('div');\n div.innerHTML = html;\n if (!div.hasChildNodes() || div.childNodes.length > 1) {\n const message = 'HTML does not have a single root node';\n console.error(message, html);\n throw new Error(message);\n }\n return fromDom(div.childNodes[0]);\n };\n const fromTag = (tag, scope) => {\n const doc = scope || document;\n const node = doc.createElement(tag);\n return fromDom(node);\n };\n const fromText = (text, scope) => {\n const doc = scope || document;\n const node = doc.createTextNode(text);\n return fromDom(node);\n };\n const fromDom = node => {\n if (node === null || node === undefined) {\n throw new Error('Node cannot be null or undefined');\n }\n return { dom: node };\n };\n const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n const SugarElement = {\n fromHtml,\n fromTag,\n fromText,\n fromDom,\n fromPoint\n };\n\n typeof window !== 'undefined' ? window : Function('return this;')();\n\n const DOCUMENT = 9;\n const DOCUMENT_FRAGMENT = 11;\n const ELEMENT = 1;\n const TEXT = 3;\n\n const type = element => element.dom.nodeType;\n const isType = t => element => type(element) === t;\n const isElement = isType(ELEMENT);\n const isText = isType(TEXT);\n const isDocument = isType(DOCUMENT);\n const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n const is = (element, selector) => {\n const dom = element.dom;\n if (dom.nodeType !== ELEMENT) {\n return false;\n } else {\n const elem = dom;\n if (elem.matches !== undefined) {\n return elem.matches(selector);\n } else if (elem.msMatchesSelector !== undefined) {\n return elem.msMatchesSelector(selector);\n } else if (elem.webkitMatchesSelector !== undefined) {\n return elem.webkitMatchesSelector(selector);\n } else if (elem.mozMatchesSelector !== undefined) {\n return elem.mozMatchesSelector(selector);\n } else {\n throw new Error('Browser lacks native selectors');\n }\n }\n };\n const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n const all$1 = (selector, scope) => {\n const base = scope === undefined ? document : scope.dom;\n return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n };\n\n const eq = (e1, e2) => e1.dom === e2.dom;\n\n const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n const parents = (element, isRoot) => {\n const stop = isFunction(isRoot) ? isRoot : never;\n let dom = element.dom;\n const ret = [];\n while (dom.parentNode !== null && dom.parentNode !== undefined) {\n const rawParent = dom.parentNode;\n const p = SugarElement.fromDom(rawParent);\n ret.push(p);\n if (stop(p) === true) {\n break;\n } else {\n dom = rawParent;\n }\n }\n return ret;\n };\n const siblings$2 = element => {\n const filterSelf = elements => filter$1(elements, x => !eq(element, x));\n return parent(element).map(children).map(filterSelf).getOr([]);\n };\n const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n const isSupported = constant(supported);\n const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n const getShadowRoot = e => {\n const r = getRootNode(e);\n return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n };\n const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n const getOriginalEventTarget = event => {\n if (isSupported() && isNonNullable(event.target)) {\n const el = SugarElement.fromDom(event.target);\n if (isElement(el) && isOpenShadowHost(el)) {\n if (event.composed && event.composedPath) {\n const composedPath = event.composedPath();\n if (composedPath) {\n return head(composedPath);\n }\n }\n }\n }\n return Optional.from(event.target);\n };\n const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n const inBody = element => {\n const dom = isText(element) ? element.dom.parentNode : element.dom;\n if (dom === undefined || dom === null || dom.ownerDocument === null) {\n return false;\n }\n const doc = dom.ownerDocument;\n return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n };\n const getBody = doc => {\n const b = doc.dom.body;\n if (b === null || b === undefined) {\n throw new Error('Body is not available yet');\n }\n return SugarElement.fromDom(b);\n };\n\n const rawSet = (dom, key, value) => {\n if (isString(value) || isBoolean(value) || isNumber(value)) {\n dom.setAttribute(key, value + '');\n } else {\n console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n throw new Error('Attribute value was not simple');\n }\n };\n const set = (element, key, value) => {\n rawSet(element.dom, key, value);\n };\n const get$3 = (element, key) => {\n const v = element.dom.getAttribute(key);\n return v === null ? undefined : v;\n };\n const remove = (element, key) => {\n element.dom.removeAttribute(key);\n };\n\n const internalSet = (dom, property, value) => {\n if (!isString(value)) {\n console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n throw new Error('CSS value must be a string: ' + value);\n }\n if (isSupported$1(dom)) {\n dom.style.setProperty(property, value);\n }\n };\n const setAll = (element, css) => {\n const dom = element.dom;\n each(css, (v, k) => {\n internalSet(dom, k, v);\n });\n };\n const get$2 = (element, property) => {\n const dom = element.dom;\n const styles = window.getComputedStyle(dom);\n const r = styles.getPropertyValue(property);\n return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n };\n const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n\n const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n target,\n x,\n y,\n stop,\n prevent,\n kill,\n raw\n });\n const fromRawEvent = rawEvent => {\n const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n const stop = () => rawEvent.stopPropagation();\n const prevent = () => rawEvent.preventDefault();\n const kill = compose(prevent, stop);\n return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n };\n const handle = (filter, handler) => rawEvent => {\n if (filter(rawEvent)) {\n handler(fromRawEvent(rawEvent));\n }\n };\n const binder = (element, event, filter, handler, useCapture) => {\n const wrapped = handle(filter, handler);\n element.dom.addEventListener(event, wrapped, useCapture);\n return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n };\n const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n const unbind = (element, event, handler, useCapture) => {\n element.dom.removeEventListener(event, handler, useCapture);\n };\n\n const filter = always;\n const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler);\n\n const cached = f => {\n let called = false;\n let r;\n return (...args) => {\n if (!called) {\n called = true;\n r = f.apply(null, args);\n }\n return r;\n };\n };\n\n const DeviceType = (os, browser, userAgent, mediaMatch) => {\n const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n const isiPhone = os.isiOS() && !isiPad;\n const isMobile = os.isiOS() || os.isAndroid();\n const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n const isPhone = isiPhone || isMobile && !isTablet;\n const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n const isDesktop = !isPhone && !isTablet && !iOSwebview;\n return {\n isiPad: constant(isiPad),\n isiPhone: constant(isiPhone),\n isTablet: constant(isTablet),\n isPhone: constant(isPhone),\n isTouch: constant(isTouch),\n isAndroid: os.isAndroid,\n isiOS: os.isiOS,\n isWebView: constant(iOSwebview),\n isDesktop: constant(isDesktop)\n };\n };\n\n const firstMatch = (regexes, s) => {\n for (let i = 0; i < regexes.length; i++) {\n const x = regexes[i];\n if (x.test(s)) {\n return x;\n }\n }\n return undefined;\n };\n const find = (regexes, agent) => {\n const r = firstMatch(regexes, agent);\n if (!r) {\n return {\n major: 0,\n minor: 0\n };\n }\n const group = i => {\n return Number(agent.replace(r, '$' + i));\n };\n return nu$2(group(1), group(2));\n };\n const detect$3 = (versionRegexes, agent) => {\n const cleanedAgent = String(agent).toLowerCase();\n if (versionRegexes.length === 0) {\n return unknown$2();\n }\n return find(versionRegexes, cleanedAgent);\n };\n const unknown$2 = () => {\n return nu$2(0, 0);\n };\n const nu$2 = (major, minor) => {\n return {\n major,\n minor\n };\n };\n const Version = {\n nu: nu$2,\n detect: detect$3,\n unknown: unknown$2\n };\n\n const detectBrowser$1 = (browsers, userAgentData) => {\n return findMap(userAgentData.brands, uaBrand => {\n const lcBrand = uaBrand.brand.toLowerCase();\n return find$1(browsers, browser => {\n var _a;\n return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }).map(info => ({\n current: info.name,\n version: Version.nu(parseInt(uaBrand.version, 10), 0)\n }));\n });\n };\n\n const detect$2 = (candidates, userAgent) => {\n const agent = String(userAgent).toLowerCase();\n return find$1(candidates, candidate => {\n return candidate.search(agent);\n });\n };\n const detectBrowser = (browsers, userAgent) => {\n return detect$2(browsers, userAgent).map(browser => {\n const version = Version.detect(browser.versionRegexes, userAgent);\n return {\n current: browser.name,\n version\n };\n });\n };\n const detectOs = (oses, userAgent) => {\n return detect$2(oses, userAgent).map(os => {\n const version = Version.detect(os.versionRegexes, userAgent);\n return {\n current: os.name,\n version\n };\n });\n };\n\n const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n const checkContains = target => {\n return uastring => {\n return contains(uastring, target);\n };\n };\n const browsers = [\n {\n name: 'Edge',\n versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n search: uastring => {\n return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n }\n },\n {\n name: 'Chromium',\n brand: 'Chromium',\n versionRegexes: [\n /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n normalVersionRegex\n ],\n search: uastring => {\n return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n }\n },\n {\n name: 'IE',\n versionRegexes: [\n /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n /.*?rv:([0-9]+)\\.([0-9]+).*/\n ],\n search: uastring => {\n return contains(uastring, 'msie') || contains(uastring, 'trident');\n }\n },\n {\n name: 'Opera',\n versionRegexes: [\n normalVersionRegex,\n /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n ],\n search: checkContains('opera')\n },\n {\n name: 'Firefox',\n versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n search: checkContains('firefox')\n },\n {\n name: 'Safari',\n versionRegexes: [\n normalVersionRegex,\n /.*?cpu os ([0-9]+)_([0-9]+).*/\n ],\n search: uastring => {\n return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n }\n }\n ];\n const oses = [\n {\n name: 'Windows',\n search: checkContains('win'),\n versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n },\n {\n name: 'iOS',\n search: uastring => {\n return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n },\n versionRegexes: [\n /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n /.*cpu os ([0-9]+)_([0-9]+).*/,\n /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n ]\n },\n {\n name: 'Android',\n search: checkContains('android'),\n versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n },\n {\n name: 'macOS',\n search: checkContains('mac os x'),\n versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n },\n {\n name: 'Linux',\n search: checkContains('linux'),\n versionRegexes: []\n },\n {\n name: 'Solaris',\n search: checkContains('sunos'),\n versionRegexes: []\n },\n {\n name: 'FreeBSD',\n search: checkContains('freebsd'),\n versionRegexes: []\n },\n {\n name: 'ChromeOS',\n search: checkContains('cros'),\n versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n }\n ];\n const PlatformInfo = {\n browsers: constant(browsers),\n oses: constant(oses)\n };\n\n const edge = 'Edge';\n const chromium = 'Chromium';\n const ie = 'IE';\n const opera = 'Opera';\n const firefox = 'Firefox';\n const safari = 'Safari';\n const unknown$1 = () => {\n return nu$1({\n current: undefined,\n version: Version.unknown()\n });\n };\n const nu$1 = info => {\n const current = info.current;\n const version = info.version;\n const isBrowser = name => () => current === name;\n return {\n current,\n version,\n isEdge: isBrowser(edge),\n isChromium: isBrowser(chromium),\n isIE: isBrowser(ie),\n isOpera: isBrowser(opera),\n isFirefox: isBrowser(firefox),\n isSafari: isBrowser(safari)\n };\n };\n const Browser = {\n unknown: unknown$1,\n nu: nu$1,\n edge: constant(edge),\n chromium: constant(chromium),\n ie: constant(ie),\n opera: constant(opera),\n firefox: constant(firefox),\n safari: constant(safari)\n };\n\n const windows = 'Windows';\n const ios = 'iOS';\n const android = 'Android';\n const linux = 'Linux';\n const macos = 'macOS';\n const solaris = 'Solaris';\n const freebsd = 'FreeBSD';\n const chromeos = 'ChromeOS';\n const unknown = () => {\n return nu({\n current: undefined,\n version: Version.unknown()\n });\n };\n const nu = info => {\n const current = info.current;\n const version = info.version;\n const isOS = name => () => current === name;\n return {\n current,\n version,\n isWindows: isOS(windows),\n isiOS: isOS(ios),\n isAndroid: isOS(android),\n isMacOS: isOS(macos),\n isLinux: isOS(linux),\n isSolaris: isOS(solaris),\n isFreeBSD: isOS(freebsd),\n isChromeOS: isOS(chromeos)\n };\n };\n const OperatingSystem = {\n unknown,\n nu,\n windows: constant(windows),\n ios: constant(ios),\n android: constant(android),\n linux: constant(linux),\n macos: constant(macos),\n solaris: constant(solaris),\n freebsd: constant(freebsd),\n chromeos: constant(chromeos)\n };\n\n const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => {\n const browsers = PlatformInfo.browsers();\n const oses = PlatformInfo.oses();\n const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n return {\n browser,\n os,\n deviceType\n };\n };\n const PlatformDetection = { detect: detect$1 };\n\n const mediaMatch = query => window.matchMedia(query).matches;\n let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n const detect = () => platform();\n\n const r = (left, top) => {\n const translate = (x, y) => r(left + x, top + y);\n return {\n left,\n top,\n translate\n };\n };\n const SugarPosition = r;\n\n const get$1 = _DOC => {\n const doc = _DOC !== undefined ? _DOC.dom : document;\n const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n return SugarPosition(x, y);\n };\n\n const get = _win => {\n const win = _win === undefined ? window : _win;\n if (detect().browser.isFirefox()) {\n return Optional.none();\n } else {\n return Optional.from(win.visualViewport);\n }\n };\n const bounds = (x, y, width, height) => ({\n x,\n y,\n width,\n height,\n right: x + width,\n bottom: y + height\n });\n const getBounds = _win => {\n const win = _win === undefined ? window : _win;\n const doc = win.document;\n const scroll = get$1(SugarElement.fromDom(doc));\n return get(win).fold(() => {\n const html = win.document.documentElement;\n const width = html.clientWidth;\n const height = html.clientHeight;\n return bounds(scroll.left, scroll.top, width, height);\n }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n };\n const bind = (name, callback, _win) => get(_win).map(visualViewport => {\n const handler = e => callback(fromRawEvent(e));\n visualViewport.addEventListener(name, handler);\n return { unbind: () => visualViewport.removeEventListener(name, handler) };\n }).getOrThunk(() => ({ unbind: noop }));\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n const fireFullscreenStateChanged = (editor, state) => {\n editor.dispatch('FullscreenStateChanged', { state });\n editor.dispatch('ResizeEditor');\n };\n\n const option = name => editor => editor.options.get(name);\n const register$2 = editor => {\n const registerOption = editor.options.register;\n registerOption('fullscreen_native', {\n processor: 'boolean',\n default: false\n });\n };\n const getFullscreenNative = option('fullscreen_native');\n\n const getFullscreenRoot = editor => {\n const elem = SugarElement.fromDom(editor.getElement());\n return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem)));\n };\n const getFullscreenElement = root => {\n if (root.fullscreenElement !== undefined) {\n return root.fullscreenElement;\n } else if (root.msFullscreenElement !== undefined) {\n return root.msFullscreenElement;\n } else if (root.webkitFullscreenElement !== undefined) {\n return root.webkitFullscreenElement;\n } else {\n return null;\n }\n };\n const getFullscreenchangeEventName = () => {\n if (document.fullscreenElement !== undefined) {\n return 'fullscreenchange';\n } else if (document.msFullscreenElement !== undefined) {\n return 'MSFullscreenChange';\n } else if (document.webkitFullscreenElement !== undefined) {\n return 'webkitfullscreenchange';\n } else {\n return 'fullscreenchange';\n }\n };\n const requestFullscreen = sugarElem => {\n const elem = sugarElem.dom;\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.msRequestFullscreen) {\n elem.msRequestFullscreen();\n } else if (elem.webkitRequestFullScreen) {\n elem.webkitRequestFullScreen();\n }\n };\n const exitFullscreen = sugarDoc => {\n const doc = sugarDoc.dom;\n if (doc.exitFullscreen) {\n doc.exitFullscreen();\n } else if (doc.msExitFullscreen) {\n doc.msExitFullscreen();\n } else if (doc.webkitCancelFullScreen) {\n doc.webkitCancelFullScreen();\n }\n };\n const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom);\n\n const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate);\n const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate);\n\n const all = selector => all$1(selector);\n const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot);\n const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector));\n\n const attr = 'data-ephox-mobile-fullscreen-style';\n const siblingStyles = 'display:none!important;';\n const ancestorPosition = 'position:absolute!important;';\n const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n const bgFallback = 'background-color:rgb(255,255,255)!important;';\n const isAndroid = global.os.isAndroid();\n const matchColor = editorBody => {\n const color = get$2(editorBody, 'background-color');\n return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n };\n const clobberStyles = (dom, container, editorBody) => {\n const gatherSiblings = element => {\n return siblings(element, '*:not(.tox-silver-sink)');\n };\n const clobber = clobberStyle => element => {\n const styles = get$3(element, 'style');\n const backup = styles === undefined ? 'no-styles' : styles.trim();\n if (backup === clobberStyle) {\n return;\n } else {\n set(element, attr, backup);\n setAll(element, dom.parseStyle(clobberStyle));\n }\n };\n const ancestors$1 = ancestors(container, '*');\n const siblings$1 = bind$3(ancestors$1, gatherSiblings);\n const bgColor = matchColor(editorBody);\n each$1(siblings$1, clobber(siblingStyles));\n each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n const containerStyles = isAndroid === true ? '' : ancestorPosition;\n clobber(containerStyles + ancestorStyles + bgColor)(container);\n };\n const restoreStyles = dom => {\n const clobberedEls = all('[' + attr + ']');\n each$1(clobberedEls, element => {\n const restore = get$3(element, attr);\n if (restore && restore !== 'no-styles') {\n setAll(element, dom.parseStyle(restore));\n } else {\n remove(element, 'style');\n }\n remove(element, attr);\n });\n };\n\n const DOM = global$1.DOM;\n const getScrollPos = () => getBounds(window);\n const setScrollPos = pos => window.scrollTo(pos.x, pos.y);\n const viewportUpdate = get().fold(() => ({\n bind: noop,\n unbind: noop\n }), visualViewport => {\n const editorContainer = value();\n const resizeBinder = unbindable();\n const scrollBinder = unbindable();\n const refreshScroll = () => {\n document.body.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n };\n const refreshVisualViewport = () => {\n window.requestAnimationFrame(() => {\n editorContainer.on(container => setAll(container, {\n top: visualViewport.offsetTop + 'px',\n left: visualViewport.offsetLeft + 'px',\n height: visualViewport.height + 'px',\n width: visualViewport.width + 'px'\n }));\n });\n };\n const update = first(() => {\n refreshScroll();\n refreshVisualViewport();\n }, 50);\n const bind$1 = element => {\n editorContainer.set(element);\n update.throttle();\n resizeBinder.set(bind('resize', update.throttle));\n scrollBinder.set(bind('scroll', update.throttle));\n };\n const unbind = () => {\n editorContainer.on(() => {\n resizeBinder.clear();\n scrollBinder.clear();\n });\n editorContainer.clear();\n };\n return {\n bind: bind$1,\n unbind\n };\n });\n const toggleFullscreen = (editor, fullscreenState) => {\n const body = document.body;\n const documentElement = document.documentElement;\n const editorContainer = editor.getContainer();\n const editorContainerS = SugarElement.fromDom(editorContainer);\n const fullscreenRoot = getFullscreenRoot(editor);\n const fullscreenInfo = fullscreenState.get();\n const editorBody = SugarElement.fromDom(editor.getBody());\n const isTouch = global.deviceType.isTouch();\n const editorContainerStyle = editorContainer.style;\n const iframe = editor.iframeElement;\n const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style;\n const handleClasses = handler => {\n handler(body, 'tox-fullscreen');\n handler(documentElement, 'tox-fullscreen');\n handler(editorContainer, 'tox-fullscreen');\n getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => {\n handler(host, 'tox-fullscreen');\n handler(host, 'tox-shadowhost');\n });\n };\n const cleanup = () => {\n if (isTouch) {\n restoreStyles(editor.dom);\n }\n handleClasses(DOM.removeClass);\n viewportUpdate.unbind();\n Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind());\n };\n if (!fullscreenInfo) {\n const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => {\n if (getFullscreenNative(editor)) {\n if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n toggleFullscreen(editor, fullscreenState);\n }\n }\n });\n const newFullScreenInfo = {\n scrollPos: getScrollPos(),\n containerWidth: editorContainerStyle.width,\n containerHeight: editorContainerStyle.height,\n containerTop: editorContainerStyle.top,\n containerLeft: editorContainerStyle.left,\n iframeWidth: iframeStyle.width,\n iframeHeight: iframeStyle.height,\n fullscreenChangeHandler\n };\n if (isTouch) {\n clobberStyles(editor.dom, editorContainerS, editorBody);\n }\n iframeStyle.width = iframeStyle.height = '100%';\n editorContainerStyle.width = editorContainerStyle.height = '';\n handleClasses(DOM.addClass);\n viewportUpdate.bind(editorContainerS);\n editor.on('remove', cleanup);\n fullscreenState.set(newFullScreenInfo);\n if (getFullscreenNative(editor)) {\n requestFullscreen(fullscreenRoot);\n }\n fireFullscreenStateChanged(editor, true);\n } else {\n fullscreenInfo.fullscreenChangeHandler.unbind();\n if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n exitFullscreen(owner(fullscreenRoot));\n }\n iframeStyle.width = fullscreenInfo.iframeWidth;\n iframeStyle.height = fullscreenInfo.iframeHeight;\n editorContainerStyle.width = fullscreenInfo.containerWidth;\n editorContainerStyle.height = fullscreenInfo.containerHeight;\n editorContainerStyle.top = fullscreenInfo.containerTop;\n editorContainerStyle.left = fullscreenInfo.containerLeft;\n cleanup();\n setScrollPos(fullscreenInfo.scrollPos);\n fullscreenState.set(null);\n fireFullscreenStateChanged(editor, false);\n editor.off('remove', cleanup);\n }\n };\n\n const register$1 = (editor, fullscreenState) => {\n editor.addCommand('mceFullScreen', () => {\n toggleFullscreen(editor, fullscreenState);\n });\n };\n\n const makeSetupHandler = (editor, fullscreenState) => api => {\n api.setActive(fullscreenState.get() !== null);\n const editorEventCallback = e => api.setActive(e.state);\n editor.on('FullscreenStateChanged', editorEventCallback);\n return () => editor.off('FullscreenStateChanged', editorEventCallback);\n };\n const register = (editor, fullscreenState) => {\n const onAction = () => editor.execCommand('mceFullScreen');\n editor.ui.registry.addToggleMenuItem('fullscreen', {\n text: 'Fullscreen',\n icon: 'fullscreen',\n shortcut: 'Meta+Shift+F',\n onAction,\n onSetup: makeSetupHandler(editor, fullscreenState)\n });\n editor.ui.registry.addToggleButton('fullscreen', {\n tooltip: 'Fullscreen',\n icon: 'fullscreen',\n onAction,\n onSetup: makeSetupHandler(editor, fullscreenState)\n });\n };\n\n var Plugin = () => {\n global$2.add('fullscreen', editor => {\n const fullscreenState = Cell(null);\n if (editor.inline) {\n return get$5(fullscreenState);\n }\n register$2(editor);\n register$1(editor, fullscreenState);\n register(editor, fullscreenState);\n editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n return get$5(fullscreenState);\n });\n };\n\n Plugin();\n\n})();\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|