{"version":3,"file":"vendor.tinymce.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./node_modules/tinymce/plugins/image/index.js","webpack://iadviser/./node_modules/tinymce/plugins/image/plugin.js"],"sourcesContent":["// Exports the \"image\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/image')\n// ES2015:\n// import 'tinymce/plugins/image'\nrequire('./plugin.js');","/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.7 (2022-12-06)\n */\n(function () {\n 'use strict';\n\n var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n\n var typeOf = function (x) {\n var t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n return 'array';\n } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n return 'string';\n } else {\n return t;\n }\n };\n var isType = function (type) {\n return function (value) {\n return typeOf(value) === type;\n };\n };\n var isSimpleType = function (type) {\n return function (value) {\n return typeof value === type;\n };\n };\n var eq = function (t) {\n return function (a) {\n return t === a;\n };\n };\n var isString = isType('string');\n var isObject = isType('object');\n var isArray = isType('array');\n var isNull = eq(null);\n var isBoolean = isSimpleType('boolean');\n var isNullable = function (a) {\n return a === null || a === undefined;\n };\n var isNonNullable = function (a) {\n return !isNullable(a);\n };\n var isFunction = isSimpleType('function');\n var isNumber = isSimpleType('number');\n\n var noop = function () {\n };\n var constant = function (value) {\n return function () {\n return value;\n };\n };\n var identity = function (x) {\n return x;\n };\n var never = constant(false);\n var always = constant(true);\n\n var none = function () {\n return NONE;\n };\n var NONE = function () {\n var call = function (thunk) {\n return thunk();\n };\n var id = identity;\n var me = {\n fold: function (n, _s) {\n return n();\n },\n isSome: never,\n isNone: always,\n getOr: id,\n getOrThunk: call,\n getOrDie: function (msg) {\n throw new Error(msg || 'error: getOrDie called on none.');\n },\n getOrNull: constant(null),\n getOrUndefined: constant(undefined),\n or: id,\n orThunk: call,\n map: none,\n each: noop,\n bind: none,\n exists: never,\n forall: always,\n filter: function () {\n return none();\n },\n toArray: function () {\n return [];\n },\n toString: constant('none()')\n };\n return me;\n }();\n var some = function (a) {\n var constant_a = constant(a);\n var self = function () {\n return me;\n };\n var bind = function (f) {\n return f(a);\n };\n var me = {\n fold: function (n, s) {\n return s(a);\n },\n isSome: always,\n isNone: never,\n getOr: constant_a,\n getOrThunk: constant_a,\n getOrDie: constant_a,\n getOrNull: constant_a,\n getOrUndefined: constant_a,\n or: self,\n orThunk: self,\n map: function (f) {\n return some(f(a));\n },\n each: function (f) {\n f(a);\n },\n bind: bind,\n exists: bind,\n forall: bind,\n filter: function (f) {\n return f(a) ? me : NONE;\n },\n toArray: function () {\n return [a];\n },\n toString: function () {\n return 'some(' + a + ')';\n }\n };\n return me;\n };\n var from = function (value) {\n return value === null || value === undefined ? NONE : some(value);\n };\n var Optional = {\n some: some,\n none: none,\n from: from\n };\n\n var keys = Object.keys;\n var hasOwnProperty = Object.hasOwnProperty;\n var each = function (obj, f) {\n var props = keys(obj);\n for (var k = 0, len = props.length; k < len; k++) {\n var i = props[k];\n var x = obj[i];\n f(x, i);\n }\n };\n var objAcc = function (r) {\n return function (x, i) {\n r[i] = x;\n };\n };\n var internalFilter = function (obj, pred, onTrue, onFalse) {\n var r = {};\n each(obj, function (x, i) {\n (pred(x, i) ? onTrue : onFalse)(x, i);\n });\n return r;\n };\n var filter = function (obj, pred) {\n var t = {};\n internalFilter(obj, pred, objAcc(t), noop);\n return t;\n };\n var has = function (obj, key) {\n return hasOwnProperty.call(obj, key);\n };\n var hasNonNullableKey = function (obj, key) {\n return has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n };\n\n var nativePush = Array.prototype.push;\n var flatten = function (xs) {\n var r = [];\n for (var 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 var get = function (xs, i) {\n return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n };\n var head = function (xs) {\n return get(xs, 0);\n };\n var findMap = function (arr, f) {\n for (var i = 0; i < arr.length; i++) {\n var r = f(arr[i], i);\n if (r.isSome()) {\n return r;\n }\n }\n return Optional.none();\n };\n\n typeof window !== 'undefined' ? window : Function('return this;')();\n\n var rawSet = function (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 var set = function (element, key, value) {\n rawSet(element.dom, key, value);\n };\n var remove = function (element, key) {\n element.dom.removeAttribute(key);\n };\n\n var fromHtml = function (html, scope) {\n var doc = scope || document;\n var div = doc.createElement('div');\n div.innerHTML = html;\n if (!div.hasChildNodes() || div.childNodes.length > 1) {\n console.error('HTML does not have a single root node', html);\n throw new Error('HTML must have a single root node');\n }\n return fromDom(div.childNodes[0]);\n };\n var fromTag = function (tag, scope) {\n var doc = scope || document;\n var node = doc.createElement(tag);\n return fromDom(node);\n };\n var fromText = function (text, scope) {\n var doc = scope || document;\n var node = doc.createTextNode(text);\n return fromDom(node);\n };\n var fromDom = function (node) {\n if (node === null || node === undefined) {\n throw new Error('Node cannot be null or undefined');\n }\n return { dom: node };\n };\n var fromPoint = function (docElm, x, y) {\n return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n };\n var SugarElement = {\n fromHtml: fromHtml,\n fromTag: fromTag,\n fromText: fromText,\n fromDom: fromDom,\n fromPoint: fromPoint\n };\n\n var global$5 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n var global$4 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n var global$3 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.util.XHR');\n\n var hasDimensions = function (editor) {\n return editor.getParam('image_dimensions', true, 'boolean');\n };\n var hasAdvTab = function (editor) {\n return editor.getParam('image_advtab', false, 'boolean');\n };\n var hasUploadTab = function (editor) {\n return editor.getParam('image_uploadtab', true, 'boolean');\n };\n var getPrependUrl = function (editor) {\n return editor.getParam('image_prepend_url', '', 'string');\n };\n var getClassList = function (editor) {\n return editor.getParam('image_class_list');\n };\n var hasDescription = function (editor) {\n return editor.getParam('image_description', true, 'boolean');\n };\n var hasImageTitle = function (editor) {\n return editor.getParam('image_title', false, 'boolean');\n };\n var hasImageCaption = function (editor) {\n return editor.getParam('image_caption', false, 'boolean');\n };\n var getImageList = function (editor) {\n return editor.getParam('image_list', false);\n };\n var hasUploadUrl = function (editor) {\n return isNonNullable(editor.getParam('images_upload_url'));\n };\n var hasUploadHandler = function (editor) {\n return isNonNullable(editor.getParam('images_upload_handler'));\n };\n var showAccessibilityOptions = function (editor) {\n return editor.getParam('a11y_advanced_options', false, 'boolean');\n };\n var isAutomaticUploadsEnabled = function (editor) {\n return editor.getParam('automatic_uploads', true, 'boolean');\n };\n\n var parseIntAndGetMax = function (val1, val2) {\n return Math.max(parseInt(val1, 10), parseInt(val2, 10));\n };\n var getImageSize = function (url) {\n return new global$4(function (callback) {\n var img = document.createElement('img');\n var done = function (dimensions) {\n img.onload = img.onerror = null;\n if (img.parentNode) {\n img.parentNode.removeChild(img);\n }\n callback(dimensions);\n };\n img.onload = function () {\n var width = parseIntAndGetMax(img.width, img.clientWidth);\n var height = parseIntAndGetMax(img.height, img.clientHeight);\n var dimensions = {\n width: width,\n height: height\n };\n done(global$4.resolve(dimensions));\n };\n img.onerror = function () {\n done(global$4.reject('Failed to get image dimensions for: ' + url));\n };\n var style = img.style;\n style.visibility = 'hidden';\n style.position = 'fixed';\n style.bottom = style.left = '0px';\n style.width = style.height = 'auto';\n document.body.appendChild(img);\n img.src = url;\n });\n };\n var removePixelSuffix = function (value) {\n if (value) {\n value = value.replace(/px$/, '');\n }\n return value;\n };\n var addPixelSuffix = function (value) {\n if (value.length > 0 && /^[0-9]+$/.test(value)) {\n value += 'px';\n }\n return value;\n };\n var mergeMargins = function (css) {\n if (css.margin) {\n var splitMargin = String(css.margin).split(' ');\n switch (splitMargin.length) {\n case 1:\n css['margin-top'] = css['margin-top'] || splitMargin[0];\n css['margin-right'] = css['margin-right'] || splitMargin[0];\n css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n css['margin-left'] = css['margin-left'] || splitMargin[0];\n break;\n case 2:\n css['margin-top'] = css['margin-top'] || splitMargin[0];\n css['margin-right'] = css['margin-right'] || splitMargin[1];\n css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n css['margin-left'] = css['margin-left'] || splitMargin[1];\n break;\n case 3:\n css['margin-top'] = css['margin-top'] || splitMargin[0];\n css['margin-right'] = css['margin-right'] || splitMargin[1];\n css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n css['margin-left'] = css['margin-left'] || splitMargin[1];\n break;\n case 4:\n css['margin-top'] = css['margin-top'] || splitMargin[0];\n css['margin-right'] = css['margin-right'] || splitMargin[1];\n css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n css['margin-left'] = css['margin-left'] || splitMargin[3];\n }\n delete css.margin;\n }\n return css;\n };\n var createImageList = function (editor, callback) {\n var imageList = getImageList(editor);\n if (isString(imageList)) {\n global$2.send({\n url: imageList,\n success: function (text) {\n callback(JSON.parse(text));\n }\n });\n } else if (isFunction(imageList)) {\n imageList(callback);\n } else {\n callback(imageList);\n }\n };\n var waitLoadImage = function (editor, data, imgElm) {\n var selectImage = function () {\n imgElm.onload = imgElm.onerror = null;\n if (editor.selection) {\n editor.selection.select(imgElm);\n editor.nodeChanged();\n }\n };\n imgElm.onload = function () {\n if (!data.width && !data.height && hasDimensions(editor)) {\n editor.dom.setAttribs(imgElm, {\n width: String(imgElm.clientWidth),\n height: String(imgElm.clientHeight)\n });\n }\n selectImage();\n };\n imgElm.onerror = selectImage;\n };\n var blobToDataUri = function (blob) {\n return new global$4(function (resolve, reject) {\n var reader = new FileReader();\n reader.onload = function () {\n resolve(reader.result);\n };\n reader.onerror = function () {\n reject(reader.error.message);\n };\n reader.readAsDataURL(blob);\n });\n };\n var isPlaceholderImage = function (imgElm) {\n return imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));\n };\n var isSafeImageUrl = function (editor, src) {\n return global$3.isDomSafe(src, 'img', editor.settings);\n };\n\n var DOM = global$5.DOM;\n var getHspace = function (image) {\n if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {\n return removePixelSuffix(image.style.marginLeft);\n } else {\n return '';\n }\n };\n var getVspace = function (image) {\n if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {\n return removePixelSuffix(image.style.marginTop);\n } else {\n return '';\n }\n };\n var getBorder = function (image) {\n if (image.style.borderWidth) {\n return removePixelSuffix(image.style.borderWidth);\n } else {\n return '';\n }\n };\n var getAttrib = function (image, name) {\n if (image.hasAttribute(name)) {\n return image.getAttribute(name);\n } else {\n return '';\n }\n };\n var getStyle = function (image, name) {\n return image.style[name] ? image.style[name] : '';\n };\n var hasCaption = function (image) {\n return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';\n };\n var updateAttrib = function (image, name, value) {\n if (value === '') {\n image.removeAttribute(name);\n } else {\n image.setAttribute(name, value);\n }\n };\n var wrapInFigure = function (image) {\n var figureElm = DOM.create('figure', { class: 'image' });\n DOM.insertAfter(figureElm, image);\n figureElm.appendChild(image);\n figureElm.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));\n figureElm.contentEditable = 'false';\n };\n var removeFigure = function (image) {\n var figureElm = image.parentNode;\n DOM.insertAfter(image, figureElm);\n DOM.remove(figureElm);\n };\n var toggleCaption = function (image) {\n if (hasCaption(image)) {\n removeFigure(image);\n } else {\n wrapInFigure(image);\n }\n };\n var normalizeStyle = function (image, normalizeCss) {\n var attrValue = image.getAttribute('style');\n var value = normalizeCss(attrValue !== null ? attrValue : '');\n if (value.length > 0) {\n image.setAttribute('style', value);\n image.setAttribute('data-mce-style', value);\n } else {\n image.removeAttribute('style');\n }\n };\n var setSize = function (name, normalizeCss) {\n return function (image, name, value) {\n if (image.style[name]) {\n image.style[name] = addPixelSuffix(value);\n normalizeStyle(image, normalizeCss);\n } else {\n updateAttrib(image, name, value);\n }\n };\n };\n var getSize = function (image, name) {\n if (image.style[name]) {\n return removePixelSuffix(image.style[name]);\n } else {\n return getAttrib(image, name);\n }\n };\n var setHspace = function (image, value) {\n var pxValue = addPixelSuffix(value);\n image.style.marginLeft = pxValue;\n image.style.marginRight = pxValue;\n };\n var setVspace = function (image, value) {\n var pxValue = addPixelSuffix(value);\n image.style.marginTop = pxValue;\n image.style.marginBottom = pxValue;\n };\n var setBorder = function (image, value) {\n var pxValue = addPixelSuffix(value);\n image.style.borderWidth = pxValue;\n };\n var setBorderStyle = function (image, value) {\n image.style.borderStyle = value;\n };\n var getBorderStyle = function (image) {\n return getStyle(image, 'borderStyle');\n };\n var isFigure = function (elm) {\n return elm.nodeName === 'FIGURE';\n };\n var isImage = function (elm) {\n return elm.nodeName === 'IMG';\n };\n var getIsDecorative = function (image) {\n return DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';\n };\n var getAlt = function (image) {\n if (getIsDecorative(image)) {\n return '';\n } else {\n return getAttrib(image, 'alt');\n }\n };\n var defaultData = function () {\n return {\n src: '',\n alt: '',\n title: '',\n width: '',\n height: '',\n class: '',\n style: '',\n caption: false,\n hspace: '',\n vspace: '',\n border: '',\n borderStyle: '',\n isDecorative: false\n };\n };\n var getStyleValue = function (normalizeCss, data) {\n var image = document.createElement('img');\n updateAttrib(image, 'style', data.style);\n if (getHspace(image) || data.hspace !== '') {\n setHspace(image, data.hspace);\n }\n if (getVspace(image) || data.vspace !== '') {\n setVspace(image, data.vspace);\n }\n if (getBorder(image) || data.border !== '') {\n setBorder(image, data.border);\n }\n if (getBorderStyle(image) || data.borderStyle !== '') {\n setBorderStyle(image, data.borderStyle);\n }\n return normalizeCss(image.getAttribute('style'));\n };\n var create = function (normalizeCss, data) {\n var image = document.createElement('img');\n write(normalizeCss, __assign(__assign({}, data), { caption: false }), image);\n setAlt(image, data.alt, data.isDecorative);\n if (data.caption) {\n var figure = DOM.create('figure', { class: 'image' });\n figure.appendChild(image);\n figure.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));\n figure.contentEditable = 'false';\n return figure;\n } else {\n return image;\n }\n };\n var read = function (normalizeCss, image) {\n return {\n src: getAttrib(image, 'src'),\n alt: getAlt(image),\n title: getAttrib(image, 'title'),\n width: getSize(image, 'width'),\n height: getSize(image, 'height'),\n class: getAttrib(image, 'class'),\n style: normalizeCss(getAttrib(image, 'style')),\n caption: hasCaption(image),\n hspace: getHspace(image),\n vspace: getVspace(image),\n border: getBorder(image),\n borderStyle: getStyle(image, 'borderStyle'),\n isDecorative: getIsDecorative(image)\n };\n };\n var updateProp = function (image, oldData, newData, name, set) {\n if (newData[name] !== oldData[name]) {\n set(image, name, newData[name]);\n }\n };\n var setAlt = function (image, alt, isDecorative) {\n if (isDecorative) {\n DOM.setAttrib(image, 'role', 'presentation');\n var sugarImage = SugarElement.fromDom(image);\n set(sugarImage, 'alt', '');\n } else {\n if (isNull(alt)) {\n var sugarImage = SugarElement.fromDom(image);\n remove(sugarImage, 'alt');\n } else {\n var sugarImage = SugarElement.fromDom(image);\n set(sugarImage, 'alt', alt);\n }\n if (DOM.getAttrib(image, 'role') === 'presentation') {\n DOM.setAttrib(image, 'role', '');\n }\n }\n };\n var updateAlt = function (image, oldData, newData) {\n if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {\n setAlt(image, newData.alt, newData.isDecorative);\n }\n };\n var normalized = function (set, normalizeCss) {\n return function (image, name, value) {\n set(image, value);\n normalizeStyle(image, normalizeCss);\n };\n };\n var write = function (normalizeCss, newData, image) {\n var oldData = read(normalizeCss, image);\n updateProp(image, oldData, newData, 'caption', function (image, _name, _value) {\n return toggleCaption(image);\n });\n updateProp(image, oldData, newData, 'src', updateAttrib);\n updateProp(image, oldData, newData, 'title', updateAttrib);\n updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));\n updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));\n updateProp(image, oldData, newData, 'class', updateAttrib);\n updateProp(image, oldData, newData, 'style', normalized(function (image, value) {\n return updateAttrib(image, 'style', value);\n }, normalizeCss));\n updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));\n updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));\n updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));\n updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));\n updateAlt(image, oldData, newData);\n };\n\n var normalizeCss$1 = function (editor, cssText) {\n var css = editor.dom.styles.parse(cssText);\n var mergedCss = mergeMargins(css);\n var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));\n return editor.dom.styles.serialize(compressed);\n };\n var getSelectedImage = function (editor) {\n var imgElm = editor.selection.getNode();\n var figureElm = editor.dom.getParent(imgElm, 'figure.image');\n if (figureElm) {\n return editor.dom.select('img', figureElm)[0];\n }\n if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {\n return null;\n }\n return imgElm;\n };\n var splitTextBlock = function (editor, figure) {\n var dom = editor.dom;\n var textBlockElements = filter(editor.schema.getTextBlockElements(), function (_, parentElm) {\n return !editor.schema.isValidChild(parentElm, 'figure');\n });\n var textBlock = dom.getParent(figure.parentNode, function (node) {\n return hasNonNullableKey(textBlockElements, node.nodeName);\n }, editor.getBody());\n if (textBlock) {\n return dom.split(textBlock, figure);\n } else {\n return figure;\n }\n };\n var readImageDataFromSelection = function (editor) {\n var image = getSelectedImage(editor);\n return image ? read(function (css) {\n return normalizeCss$1(editor, css);\n }, image) : defaultData();\n };\n var insertImageAtCaret = function (editor, data) {\n var elm = create(function (css) {\n return normalizeCss$1(editor, css);\n }, data);\n editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');\n editor.focus();\n editor.selection.setContent(elm.outerHTML);\n var insertedElm = editor.dom.select('*[data-mce-id=\"__mcenew\"]')[0];\n editor.dom.setAttrib(insertedElm, 'data-mce-id', null);\n if (isFigure(insertedElm)) {\n var figure = splitTextBlock(editor, insertedElm);\n editor.selection.select(figure);\n } else {\n editor.selection.select(insertedElm);\n }\n };\n var syncSrcAttr = function (editor, image) {\n editor.dom.setAttrib(image, 'src', image.getAttribute('src'));\n };\n var deleteImage = function (editor, image) {\n if (image) {\n var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;\n editor.dom.remove(elm);\n editor.focus();\n editor.nodeChanged();\n if (editor.dom.isEmpty(editor.getBody())) {\n editor.setContent('');\n editor.selection.setCursorLocation();\n }\n }\n };\n var writeImageDataToSelection = function (editor, data) {\n var image = getSelectedImage(editor);\n write(function (css) {\n return normalizeCss$1(editor, css);\n }, data, image);\n syncSrcAttr(editor, image);\n if (isFigure(image.parentNode)) {\n var figure = image.parentNode;\n splitTextBlock(editor, figure);\n editor.selection.select(image.parentNode);\n } else {\n editor.selection.select(image);\n waitLoadImage(editor, data, image);\n }\n };\n var sanitizeImageData = function (editor, data) {\n var src = data.src;\n return __assign(__assign({}, data), { src: isSafeImageUrl(editor, src) ? src : '' });\n };\n var insertOrUpdateImage = function (editor, partialData) {\n var image = getSelectedImage(editor);\n if (image) {\n var selectedImageData = read(function (css) {\n return normalizeCss$1(editor, css);\n }, image);\n var data = __assign(__assign({}, selectedImageData), partialData);\n var sanitizedData = sanitizeImageData(editor, data);\n if (data.src) {\n writeImageDataToSelection(editor, sanitizedData);\n } else {\n deleteImage(editor, image);\n }\n } else if (partialData.src) {\n insertImageAtCaret(editor, __assign(__assign({}, defaultData()), partialData));\n }\n };\n\n var deep = function (old, nu) {\n var bothObjects = isObject(old) && isObject(nu);\n return bothObjects ? deepMerge(old, nu) : nu;\n };\n var baseMerge = function (merger) {\n return function () {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n if (objects.length === 0) {\n throw new Error('Can\\'t merge zero objects');\n }\n var ret = {};\n for (var j = 0; j < objects.length; j++) {\n var curObject = objects[j];\n for (var key in curObject) {\n if (has(curObject, key)) {\n ret[key] = merger(ret[key], curObject[key]);\n }\n }\n }\n return ret;\n };\n };\n var deepMerge = baseMerge(deep);\n\n var isNotEmpty = function (s) {\n return s.length > 0;\n };\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');\n\n var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n var getValue = function (item) {\n return isString(item.value) ? item.value : '';\n };\n var getText = function (item) {\n if (isString(item.text)) {\n return item.text;\n } else if (isString(item.title)) {\n return item.title;\n } else {\n return '';\n }\n };\n var sanitizeList = function (list, extractValue) {\n var out = [];\n global.each(list, function (item) {\n var text = getText(item);\n if (item.menu !== undefined) {\n var items = sanitizeList(item.menu, extractValue);\n out.push({\n text: text,\n items: items\n });\n } else {\n var value = extractValue(item);\n out.push({\n text: text,\n value: value\n });\n }\n });\n return out;\n };\n var sanitizer = function (extractor) {\n if (extractor === void 0) {\n extractor = getValue;\n }\n return function (list) {\n if (list) {\n return Optional.from(list).map(function (list) {\n return sanitizeList(list, extractor);\n });\n } else {\n return Optional.none();\n }\n };\n };\n var sanitize = function (list) {\n return sanitizer(getValue)(list);\n };\n var isGroup = function (item) {\n return has(item, 'items');\n };\n var findEntryDelegate = function (list, value) {\n return findMap(list, function (item) {\n if (isGroup(item)) {\n return findEntryDelegate(item.items, value);\n } else if (item.value === value) {\n return Optional.some(item);\n } else {\n return Optional.none();\n }\n });\n };\n var findEntry = function (optList, value) {\n return optList.bind(function (list) {\n return findEntryDelegate(list, value);\n });\n };\n var ListUtils = {\n sanitizer: sanitizer,\n sanitize: sanitize,\n findEntry: findEntry\n };\n\n var makeTab$2 = function (_info) {\n return {\n title: 'Advanced',\n name: 'advanced',\n items: [\n {\n type: 'input',\n label: 'Style',\n name: 'style'\n },\n {\n type: 'grid',\n columns: 2,\n items: [\n {\n type: 'input',\n label: 'Vertical space',\n name: 'vspace',\n inputMode: 'numeric'\n },\n {\n type: 'input',\n label: 'Horizontal space',\n name: 'hspace',\n inputMode: 'numeric'\n },\n {\n type: 'input',\n label: 'Border width',\n name: 'border',\n inputMode: 'numeric'\n },\n {\n type: 'listbox',\n name: 'borderstyle',\n label: 'Border style',\n items: [\n {\n text: 'Select...',\n value: ''\n },\n {\n text: 'Solid',\n value: 'solid'\n },\n {\n text: 'Dotted',\n value: 'dotted'\n },\n {\n text: 'Dashed',\n value: 'dashed'\n },\n {\n text: 'Double',\n value: 'double'\n },\n {\n text: 'Groove',\n value: 'groove'\n },\n {\n text: 'Ridge',\n value: 'ridge'\n },\n {\n text: 'Inset',\n value: 'inset'\n },\n {\n text: 'Outset',\n value: 'outset'\n },\n {\n text: 'None',\n value: 'none'\n },\n {\n text: 'Hidden',\n value: 'hidden'\n }\n ]\n }\n ]\n }\n ]\n };\n };\n var AdvTab = { makeTab: makeTab$2 };\n\n var collect = function (editor) {\n var urlListSanitizer = ListUtils.sanitizer(function (item) {\n return editor.convertURL(item.value || item.url, 'src');\n });\n var futureImageList = new global$4(function (completer) {\n createImageList(editor, function (imageList) {\n completer(urlListSanitizer(imageList).map(function (items) {\n return flatten([\n [{\n text: 'None',\n value: ''\n }],\n items\n ]);\n }));\n });\n });\n var classList = ListUtils.sanitize(getClassList(editor));\n var hasAdvTab$1 = hasAdvTab(editor);\n var hasUploadTab$1 = hasUploadTab(editor);\n var hasUploadUrl$1 = hasUploadUrl(editor);\n var hasUploadHandler$1 = hasUploadHandler(editor);\n var image = readImageDataFromSelection(editor);\n var hasDescription$1 = hasDescription(editor);\n var hasImageTitle$1 = hasImageTitle(editor);\n var hasDimensions$1 = hasDimensions(editor);\n var hasImageCaption$1 = hasImageCaption(editor);\n var hasAccessibilityOptions = showAccessibilityOptions(editor);\n var automaticUploads = isAutomaticUploadsEnabled(editor);\n var prependURL = Optional.some(getPrependUrl(editor)).filter(function (preUrl) {\n return isString(preUrl) && preUrl.length > 0;\n });\n return futureImageList.then(function (imageList) {\n return {\n image: image,\n imageList: imageList,\n classList: classList,\n hasAdvTab: hasAdvTab$1,\n hasUploadTab: hasUploadTab$1,\n hasUploadUrl: hasUploadUrl$1,\n hasUploadHandler: hasUploadHandler$1,\n hasDescription: hasDescription$1,\n hasImageTitle: hasImageTitle$1,\n hasDimensions: hasDimensions$1,\n hasImageCaption: hasImageCaption$1,\n prependURL: prependURL,\n hasAccessibilityOptions: hasAccessibilityOptions,\n automaticUploads: automaticUploads\n };\n });\n };\n\n var makeItems = function (info) {\n var imageUrl = {\n name: 'src',\n type: 'urlinput',\n filetype: 'image',\n label: 'Source'\n };\n var imageList = info.imageList.map(function (items) {\n return {\n name: 'images',\n type: 'listbox',\n label: 'Image list',\n items: items\n };\n });\n var imageDescription = {\n name: 'alt',\n type: 'input',\n label: 'Alternative description',\n disabled: info.hasAccessibilityOptions && info.image.isDecorative\n };\n var imageTitle = {\n name: 'title',\n type: 'input',\n label: 'Image title'\n };\n var imageDimensions = {\n name: 'dimensions',\n type: 'sizeinput'\n };\n var isDecorative = {\n type: 'label',\n label: 'Accessibility',\n items: [{\n name: 'isDecorative',\n type: 'checkbox',\n label: 'Image is decorative'\n }]\n };\n var classList = info.classList.map(function (items) {\n return {\n name: 'classes',\n type: 'listbox',\n label: 'Class',\n items: items\n };\n });\n var caption = {\n type: 'label',\n label: 'Caption',\n items: [{\n type: 'checkbox',\n name: 'caption',\n label: 'Show caption'\n }]\n };\n var getDialogContainerType = function (useColumns) {\n return useColumns ? {\n type: 'grid',\n columns: 2\n } : { type: 'panel' };\n };\n return flatten([\n [imageUrl],\n imageList.toArray(),\n info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [],\n info.hasDescription ? [imageDescription] : [],\n info.hasImageTitle ? [imageTitle] : [],\n info.hasDimensions ? [imageDimensions] : [],\n [__assign(__assign({}, getDialogContainerType(info.classList.isSome() && info.hasImageCaption)), {\n items: flatten([\n classList.toArray(),\n info.hasImageCaption ? [caption] : []\n ])\n })]\n ]);\n };\n var makeTab$1 = function (info) {\n return {\n title: 'General',\n name: 'general',\n items: makeItems(info)\n };\n };\n var MainTab = {\n makeTab: makeTab$1,\n makeItems: makeItems\n };\n\n var makeTab = function (_info) {\n var items = [{\n type: 'dropzone',\n name: 'fileinput'\n }];\n return {\n title: 'Upload',\n name: 'upload',\n items: items\n };\n };\n var UploadTab = { makeTab: makeTab };\n\n var createState = function (info) {\n return {\n prevImage: ListUtils.findEntry(info.imageList, info.image.src),\n prevAlt: info.image.alt,\n open: true\n };\n };\n var fromImageData = function (image) {\n return {\n src: {\n value: image.src,\n meta: {}\n },\n images: image.src,\n alt: image.alt,\n title: image.title,\n dimensions: {\n width: image.width,\n height: image.height\n },\n classes: image.class,\n caption: image.caption,\n style: image.style,\n vspace: image.vspace,\n border: image.border,\n hspace: image.hspace,\n borderstyle: image.borderStyle,\n fileinput: [],\n isDecorative: image.isDecorative\n };\n };\n var toImageData = function (data, removeEmptyAlt) {\n return {\n src: data.src.value,\n alt: data.alt.length === 0 && removeEmptyAlt ? null : data.alt,\n title: data.title,\n width: data.dimensions.width,\n height: data.dimensions.height,\n class: data.classes,\n style: data.style,\n caption: data.caption,\n hspace: data.hspace,\n vspace: data.vspace,\n border: data.border,\n borderStyle: data.borderstyle,\n isDecorative: data.isDecorative\n };\n };\n var addPrependUrl2 = function (info, srcURL) {\n if (!/^(?:[a-zA-Z]+:)?\\/\\//.test(srcURL)) {\n return info.prependURL.bind(function (prependUrl) {\n if (srcURL.substring(0, prependUrl.length) !== prependUrl) {\n return Optional.some(prependUrl + srcURL);\n }\n return Optional.none();\n });\n }\n return Optional.none();\n };\n var addPrependUrl = function (info, api) {\n var data = api.getData();\n addPrependUrl2(info, data.src.value).each(function (srcURL) {\n api.setData({\n src: {\n value: srcURL,\n meta: data.src.meta\n }\n });\n });\n };\n var formFillFromMeta2 = function (info, data, meta) {\n if (info.hasDescription && isString(meta.alt)) {\n data.alt = meta.alt;\n }\n if (info.hasAccessibilityOptions) {\n data.isDecorative = meta.isDecorative || data.isDecorative || false;\n }\n if (info.hasImageTitle && isString(meta.title)) {\n data.title = meta.title;\n }\n if (info.hasDimensions) {\n if (isString(meta.width)) {\n data.dimensions.width = meta.width;\n }\n if (isString(meta.height)) {\n data.dimensions.height = meta.height;\n }\n }\n if (isString(meta.class)) {\n ListUtils.findEntry(info.classList, meta.class).each(function (entry) {\n data.classes = entry.value;\n });\n }\n if (info.hasImageCaption) {\n if (isBoolean(meta.caption)) {\n data.caption = meta.caption;\n }\n }\n if (info.hasAdvTab) {\n if (isString(meta.style)) {\n data.style = meta.style;\n }\n if (isString(meta.vspace)) {\n data.vspace = meta.vspace;\n }\n if (isString(meta.border)) {\n data.border = meta.border;\n }\n if (isString(meta.hspace)) {\n data.hspace = meta.hspace;\n }\n if (isString(meta.borderstyle)) {\n data.borderstyle = meta.borderstyle;\n }\n }\n };\n var formFillFromMeta = function (info, api) {\n var data = api.getData();\n var meta = data.src.meta;\n if (meta !== undefined) {\n var newData = deepMerge({}, data);\n formFillFromMeta2(info, newData, meta);\n api.setData(newData);\n }\n };\n var calculateImageSize = function (helpers, info, state, api) {\n var data = api.getData();\n var url = data.src.value;\n var meta = data.src.meta || {};\n if (!meta.width && !meta.height && info.hasDimensions) {\n if (isNotEmpty(url)) {\n helpers.imageSize(url).then(function (size) {\n if (state.open) {\n api.setData({ dimensions: size });\n }\n }).catch(function (e) {\n return console.error(e);\n });\n } else {\n api.setData({\n dimensions: {\n width: '',\n height: ''\n }\n });\n }\n }\n };\n var updateImagesDropdown = function (info, state, api) {\n var data = api.getData();\n var image = ListUtils.findEntry(info.imageList, data.src.value);\n state.prevImage = image;\n api.setData({\n images: image.map(function (entry) {\n return entry.value;\n }).getOr('')\n });\n };\n var changeSrc = function (helpers, info, state, api) {\n addPrependUrl(info, api);\n formFillFromMeta(info, api);\n calculateImageSize(helpers, info, state, api);\n updateImagesDropdown(info, state, api);\n };\n var changeImages = function (helpers, info, state, api) {\n var data = api.getData();\n var image = ListUtils.findEntry(info.imageList, data.images);\n image.each(function (img) {\n var updateAlt = data.alt === '' || state.prevImage.map(function (image) {\n return image.text === data.alt;\n }).getOr(false);\n if (updateAlt) {\n if (img.value === '') {\n api.setData({\n src: img,\n alt: state.prevAlt\n });\n } else {\n api.setData({\n src: img,\n alt: img.text\n });\n }\n } else {\n api.setData({ src: img });\n }\n });\n state.prevImage = image;\n changeSrc(helpers, info, state, api);\n };\n var calcVSpace = function (css) {\n var matchingTopBottom = css['margin-top'] && css['margin-bottom'] && css['margin-top'] === css['margin-bottom'];\n return matchingTopBottom ? removePixelSuffix(String(css['margin-top'])) : '';\n };\n var calcHSpace = function (css) {\n var matchingLeftRight = css['margin-right'] && css['margin-left'] && css['margin-right'] === css['margin-left'];\n return matchingLeftRight ? removePixelSuffix(String(css['margin-right'])) : '';\n };\n var calcBorderWidth = function (css) {\n return css['border-width'] ? removePixelSuffix(String(css['border-width'])) : '';\n };\n var calcBorderStyle = function (css) {\n return css['border-style'] ? String(css['border-style']) : '';\n };\n var calcStyle = function (parseStyle, serializeStyle, css) {\n return serializeStyle(parseStyle(serializeStyle(css)));\n };\n var changeStyle2 = function (parseStyle, serializeStyle, data) {\n var css = mergeMargins(parseStyle(data.style));\n var dataCopy = deepMerge({}, data);\n dataCopy.vspace = calcVSpace(css);\n dataCopy.hspace = calcHSpace(css);\n dataCopy.border = calcBorderWidth(css);\n dataCopy.borderstyle = calcBorderStyle(css);\n dataCopy.style = calcStyle(parseStyle, serializeStyle, css);\n return dataCopy;\n };\n var changeStyle = function (helpers, api) {\n var data = api.getData();\n var newData = changeStyle2(helpers.parseStyle, helpers.serializeStyle, data);\n api.setData(newData);\n };\n var changeAStyle = function (helpers, info, api) {\n var data = deepMerge(fromImageData(info.image), api.getData());\n var style = getStyleValue(helpers.normalizeCss, toImageData(data, false));\n api.setData({ style: style });\n };\n var changeFileInput = function (helpers, info, state, api) {\n var data = api.getData();\n api.block('Uploading image');\n head(data.fileinput).fold(function () {\n api.unblock();\n }, function (file) {\n var blobUri = URL.createObjectURL(file);\n var finalize = function () {\n api.unblock();\n URL.revokeObjectURL(blobUri);\n };\n var updateSrcAndSwitchTab = function (url) {\n api.setData({\n src: {\n value: url,\n meta: {}\n }\n });\n api.showTab('general');\n changeSrc(helpers, info, state, api);\n };\n blobToDataUri(file).then(function (dataUrl) {\n var blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n if (info.automaticUploads) {\n helpers.uploadImage(blobInfo).then(function (result) {\n updateSrcAndSwitchTab(result.url);\n finalize();\n }).catch(function (err) {\n finalize();\n helpers.alertErr(err);\n });\n } else {\n helpers.addToBlobCache(blobInfo);\n updateSrcAndSwitchTab(blobInfo.blobUri());\n api.unblock();\n }\n });\n });\n };\n var changeHandler = function (helpers, info, state) {\n return function (api, evt) {\n if (evt.name === 'src') {\n changeSrc(helpers, info, state, api);\n } else if (evt.name === 'images') {\n changeImages(helpers, info, state, api);\n } else if (evt.name === 'alt') {\n state.prevAlt = api.getData().alt;\n } else if (evt.name === 'style') {\n changeStyle(helpers, api);\n } else if (evt.name === 'vspace' || evt.name === 'hspace' || evt.name === 'border' || evt.name === 'borderstyle') {\n changeAStyle(helpers, info, api);\n } else if (evt.name === 'fileinput') {\n changeFileInput(helpers, info, state, api);\n } else if (evt.name === 'isDecorative') {\n if (api.getData().isDecorative) {\n api.disable('alt');\n } else {\n api.enable('alt');\n }\n }\n };\n };\n var closeHandler = function (state) {\n return function () {\n state.open = false;\n };\n };\n var makeDialogBody = function (info) {\n if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {\n var tabPanel = {\n type: 'tabpanel',\n tabs: flatten([\n [MainTab.makeTab(info)],\n info.hasAdvTab ? [AdvTab.makeTab(info)] : [],\n info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : []\n ])\n };\n return tabPanel;\n } else {\n var panel = {\n type: 'panel',\n items: MainTab.makeItems(info)\n };\n return panel;\n }\n };\n var makeDialog = function (helpers) {\n return function (info) {\n var state = createState(info);\n return {\n title: 'Insert/Edit Image',\n size: 'normal',\n body: makeDialogBody(info),\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n initialData: fromImageData(info.image),\n onSubmit: helpers.onSubmit(info),\n onChange: changeHandler(helpers, info, state),\n onClose: closeHandler(state)\n };\n };\n };\n var submitHandler = function (editor) {\n return function (info) {\n return function (api) {\n var data = deepMerge(fromImageData(info.image), api.getData());\n editor.execCommand('mceUpdateImage', false, toImageData(data, info.hasAccessibilityOptions));\n editor.editorUpload.uploadImagesAuto();\n api.close();\n };\n };\n };\n var imageSize = function (editor) {\n return function (url) {\n if (!isSafeImageUrl(editor, url)) {\n return global$4.resolve({\n width: '',\n height: ''\n });\n } else {\n return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(function (dimensions) {\n return {\n width: String(dimensions.width),\n height: String(dimensions.height)\n };\n });\n }\n };\n };\n var createBlobCache = function (editor) {\n return function (file, blobUri, dataUrl) {\n return editor.editorUpload.blobCache.create({\n blob: file,\n blobUri: blobUri,\n name: file.name ? file.name.replace(/\\.[^\\.]+$/, '') : null,\n filename: file.name,\n base64: dataUrl.split(',')[1]\n });\n };\n };\n var addToBlobCache = function (editor) {\n return function (blobInfo) {\n editor.editorUpload.blobCache.add(blobInfo);\n };\n };\n var alertErr = function (editor) {\n return function (message) {\n editor.windowManager.alert(message);\n };\n };\n var normalizeCss = function (editor) {\n return function (cssText) {\n return normalizeCss$1(editor, cssText);\n };\n };\n var parseStyle = function (editor) {\n return function (cssText) {\n return editor.dom.parseStyle(cssText);\n };\n };\n var serializeStyle = function (editor) {\n return function (stylesArg, name) {\n return editor.dom.serializeStyle(stylesArg, name);\n };\n };\n var uploadImage = function (editor) {\n return function (blobInfo) {\n return global$1(editor).upload([blobInfo], false).then(function (results) {\n if (results.length === 0) {\n return global$4.reject('Failed to upload image');\n } else if (results[0].status === false) {\n return global$4.reject(results[0].error.message);\n } else {\n return results[0];\n }\n });\n };\n };\n var Dialog = function (editor) {\n var helpers = {\n onSubmit: submitHandler(editor),\n imageSize: imageSize(editor),\n addToBlobCache: addToBlobCache(editor),\n createBlobCache: createBlobCache(editor),\n alertErr: alertErr(editor),\n normalizeCss: normalizeCss(editor),\n parseStyle: parseStyle(editor),\n serializeStyle: serializeStyle(editor),\n uploadImage: uploadImage(editor)\n };\n var open = function () {\n collect(editor).then(makeDialog(helpers)).then(editor.windowManager.open);\n };\n return { open: open };\n };\n\n var register$1 = function (editor) {\n editor.addCommand('mceImage', Dialog(editor).open);\n editor.addCommand('mceUpdateImage', function (_ui, data) {\n editor.undoManager.transact(function () {\n return insertOrUpdateImage(editor, data);\n });\n });\n };\n\n var hasImageClass = function (node) {\n var className = node.attr('class');\n return className && /\\bimage\\b/.test(className);\n };\n var toggleContentEditableState = function (state) {\n return function (nodes) {\n var i = nodes.length;\n var toggleContentEditable = function (node) {\n node.attr('contenteditable', state ? 'true' : null);\n };\n while (i--) {\n var node = nodes[i];\n if (hasImageClass(node)) {\n node.attr('contenteditable', state ? 'false' : null);\n global.each(node.getAll('figcaption'), toggleContentEditable);\n }\n }\n };\n };\n var setup = function (editor) {\n editor.on('PreInit', function () {\n editor.parser.addNodeFilter('figure', toggleContentEditableState(true));\n editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));\n });\n };\n\n var register = function (editor) {\n editor.ui.registry.addToggleButton('image', {\n icon: 'image',\n tooltip: 'Insert/edit image',\n onAction: Dialog(editor).open,\n onSetup: function (buttonApi) {\n buttonApi.setActive(isNonNullable(getSelectedImage(editor)));\n return editor.selection.selectorChangedWithUnbind('img:not([data-mce-object],[data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;\n }\n });\n editor.ui.registry.addMenuItem('image', {\n icon: 'image',\n text: 'Image...',\n onAction: Dialog(editor).open\n });\n editor.ui.registry.addContextMenu('image', {\n update: function (element) {\n return isFigure(element) || isImage(element) && !isPlaceholderImage(element) ? ['image'] : [];\n }\n });\n };\n\n function Plugin () {\n global$6.add('image', function (editor) {\n setup(editor);\n register(editor);\n register$1(editor);\n });\n }\n\n Plugin();\n\n}());\n"],"names":["call","id","global$6","tinymce","util","Tools","resolve","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","apply","this","isType","type","value","x","Array","isPrototypeOf","constructor","name","String","isSimpleType","isString","isObject","isArray","isNull","a","isBoolean","isNonNullable","isNullable","isFunction","isNumber","noop","constant","never","always","none","NONE","fold","_s","isSome","isNone","getOr","getOrThunk","thunk","getOrDie","msg","Error","getOrNull","getOrUndefined","undefined","or","orThunk","map","each","bind","exists","forall","filter","toArray","toString","some","constant_a","self","me","f","Optional","from","keys","has","obj","key","nativePush","push","flatten","xs","r","len","window","Function","merger","set","element","dom","console","error","setAttribute","rawSet","fromDom","node","SugarElement","global$5","global$4","global$3","global$2","hasDimensions","editor","getParam","parseIntAndGetMax","val1","val2","Math","max","parseInt","removePixelSuffix","replace","addPixelSuffix","test","mergeMargins","css","margin","splitMargin","split","isPlaceholderImage","imgElm","nodeName","hasAttribute","isSafeImageUrl","src","isDomSafe","settings","DOM","getHspace","image","style","marginLeft","marginRight","getVspace","marginTop","marginBottom","getBorder","borderWidth","getAttrib","getAttribute","getStyle","hasCaption","parentNode","updateAttrib","removeAttribute","normalizeStyle","normalizeCss","attrValue","setSize","getSize","setHspace","pxValue","setVspace","setBorder","setBorderStyle","borderStyle","isFigure","elm","getIsDecorative","getAlt","read","alt","title","width","height","class","caption","hspace","vspace","border","isDecorative","updateProp","oldData","newData","setAlt","setAttrib","sugarImage","normalized","write","_name","_value","figureElm","insertAfter","remove","removeFigure","create","appendChild","contentEditable","wrapInFigure","toggleCaption","updateAlt","normalizeCss$1","cssText","styles","parse","mergedCss","compressed","serialize","getSelectedImage","selection","getNode","getParent","select","splitTextBlock","figure","textBlockElements","pred","onTrue","onFalse","props","k","internalFilter","_","parentElm","schema","isValidChild","getTextBlockElements","textBlock","getBody","insertImageAtCaret","data","document","createElement","focus","setContent","outerHTML","insertedElm","insertOrUpdateImage","partialData","selectedImageData","sanitizedData","sanitizeImageData","syncSrcAttr","selectImage","onload","onerror","nodeChanged","setAttribs","clientWidth","clientHeight","waitLoadImage","writeImageDataToSelection","is","isEmpty","setCursorLocation","deleteImage","deepMerge","old","nu","objects","_i","ret","j","curObject","global$1","global","getValue","item","sanitizeList","list","extractValue","out","text","getText","menu","items","sanitizer","extractor","findEntryDelegate","arr","isGroup","findMap","ListUtils","optList","collect","urlListSanitizer","convertURL","url","futureImageList","completer","callback","imageList","getImageList","send","success","JSON","createImageList","classList","getClassList","hasAdvTab$1","hasAdvTab","hasUploadTab$1","hasUploadTab","hasUploadUrl$1","hasUploadUrl","hasUploadHandler$1","hasUploadHandler","readImageDataFromSelection","hasDescription$1","hasDescription","hasImageTitle$1","hasImageTitle","hasDimensions$1","hasImageCaption$1","hasImageCaption","hasAccessibilityOptions","showAccessibilityOptions","automaticUploads","isAutomaticUploadsEnabled","prependURL","getPrependUrl","preUrl","then","makeItems","info","useColumns","label","imageDescription","disabled","filetype","columns","MainTab","fromImageData","meta","images","dimensions","classes","borderstyle","fileinput","toImageData","removeEmptyAlt","changeSrc","helpers","state","api","getData","srcURL","prependUrl","substring","addPrependUrl2","setData","addPrependUrl","entry","formFillFromMeta2","formFillFromMeta","imageSize","size","open","catch","e","calculateImageSize","prevImage","updateImagesDropdown","changeFileInput","block","get","unblock","file","blob","blobUri","URL","createObjectURL","finalize","revokeObjectURL","updateSrcAndSwitchTab","showTab","reject","reader","FileReader","result","message","readAsDataURL","dataUrl","blobInfo","createBlobCache","uploadImage","err","alertErr","addToBlobCache","changeHandler","evt","img","prevAlt","changeImages","parseStyle","serializeStyle","dataCopy","calcVSpace","calcHSpace","calcBorderWidth","calcBorderStyle","calcStyle","changeStyle2","changeStyle","getBorderStyle","getStyleValue","changeAStyle","disable","enable","closeHandler","makeDialogBody","tabs","inputMode","submitHandler","execCommand","editorUpload","uploadImagesAuto","close","done","removeChild","visibility","position","bottom","left","body","getImageSize","documentBaseURI","toAbsolute","blobCache","filename","base64","add","windowManager","alert","stylesArg","upload","results","status","Dialog","onSubmit","createState","buttons","primary","initialData","onChange","onClose","makeDialog","hasImageClass","className","attr","toggleContentEditableState","nodes","toggleContentEditable","getAll","on","parser","addNodeFilter","serializer","setup","ui","registry","addToggleButton","icon","tooltip","onAction","onSetup","buttonApi","setActive","selectorChangedWithUnbind","unbind","addMenuItem","addContextMenu","update","register","addCommand","_ui","undoManager","transact","register$1"],"sourceRoot":""}