{"version":3,"file":"tinymce-webcomponent-jJ-07DPt.js","sources":["../../../../../node_modules/@tinymce/tinymce-webcomponent/dist/tinymce-webcomponent.js"],"sourcesContent":["(function () {\n 'use strict';\n\n const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n const path = (parts, scope) => {\n let o = scope !== undefined && scope !== null ? scope : Global;\n for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n o = o[parts[i]];\n }\n return o;\n };\n const resolve = (p, scope) => {\n const parts = p.split('.');\n return path(parts, scope);\n };\n\n const identity = x => {\n return x;\n };\n\n const keys = Object.keys;\n const hasOwnProperty = Object.hasOwnProperty;\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 const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n let unique = 0;\n const generate = prefix => {\n const date = new Date();\n const time = date.getTime();\n const random = Math.floor(Math.random() * 1000000000);\n unique++;\n return prefix + '_' + random + unique + String(time);\n };\n\n const createState = () => ({\n listeners: [],\n scriptId: generate('tiny-script'),\n scriptLoaded: false\n });\n const CreateScriptLoader = () => {\n let state = createState();\n const injectScriptTag = (scriptId, doc, url, callback) => {\n const scriptTag = doc.createElement('script');\n scriptTag.referrerPolicy = 'origin';\n scriptTag.type = 'application/javascript';\n scriptTag.id = scriptId;\n scriptTag.src = url;\n const handler = () => {\n scriptTag.removeEventListener('load', handler);\n callback();\n };\n scriptTag.addEventListener('load', handler);\n if (doc.head) {\n doc.head.appendChild(scriptTag);\n }\n };\n const load = (doc, url, callback) => {\n if (state.scriptLoaded) {\n callback();\n } else {\n state.listeners.push(callback);\n if (!doc.getElementById(state.scriptId)) {\n injectScriptTag(state.scriptId, doc, url, () => {\n state.listeners.forEach(fn => fn());\n state.scriptLoaded = true;\n });\n }\n }\n };\n const reinitialize = () => {\n state = createState();\n };\n return {\n load,\n reinitialize\n };\n };\n const ScriptLoader = CreateScriptLoader();\n\n var Status;\n (function (Status) {\n Status[Status['Raw'] = 0] = 'Raw';\n Status[Status['Initializing'] = 1] = 'Initializing';\n Status[Status['Ready'] = 2] = 'Ready';\n }(Status || (Status = {})));\n const closestRecursive = (selector, element) => {\n const found = element.closest(selector);\n if (found !== null) {\n return found;\n }\n const next = element.getRootNode().host;\n if (next !== null && next !== undefined) {\n return closestRecursive(selector, next);\n }\n return null;\n };\n const isLookupKey = (values, key) => has(values, key);\n const lookup = values => key => isLookupKey(values, key) ? values[key] : key;\n const parseGlobal = resolve;\n const parseString = identity;\n const parseFalseOrString = lookup({ 'false': false });\n const parseBooleanOrString = lookup({\n 'true': true,\n 'false': false\n });\n const parseNumberOrString = value => /^\\d+$/.test(value) ? Number.parseInt(value, 10) : value;\n const configAttributes = {\n setup: parseGlobal,\n toolbar: parseFalseOrString,\n menubar: parseFalseOrString,\n plugins: parseString,\n content_css: parseString,\n content_style: parseString,\n width: parseNumberOrString,\n height: parseNumberOrString,\n toolbar_mode: parseString,\n contextmenu: parseFalseOrString,\n quickbars_insert_toolbar: parseFalseOrString,\n quickbars_selection_toolbar: parseFalseOrString,\n powerpaste_word_import: parseString,\n powerpaste_html_import: parseString,\n powerpaste_allow_local_images: parseBooleanOrString,\n resize: parseBooleanOrString,\n skin: parseString,\n skin_url: parseString,\n images_upload_url: parseString,\n images_upload_handler: parseGlobal,\n images_upload_base_path: parseString,\n images_upload_credentials: parseBooleanOrString,\n images_reuse_filename: parseBooleanOrString,\n icons: parseString,\n icons_url: parseString,\n promotion: parseBooleanOrString\n };\n const configRenames = {};\n class TinyMceEditor extends HTMLElement {\n static get formAssociated() {\n return true;\n }\n static get observedAttributes() {\n const nativeEvents = [\n 'on-BeforePaste',\n 'on-Blur',\n 'on-Click',\n 'on-ContextMenu',\n 'on-Copy',\n 'on-Cut',\n 'on-Dblclick',\n 'on-Drag',\n 'on-DragDrop',\n 'on-DragEnd',\n 'on-DragGesture',\n 'on-DragOver',\n 'on-Drop',\n 'on-Focus',\n 'on-FocusIn',\n 'on-FocusOut',\n 'on-KeyDown',\n 'on-KeyPress',\n 'on-KeyUp',\n 'on-MouseDown',\n 'on-MouseEnter',\n 'on-MouseLeave',\n 'on-MouseMove',\n 'on-MouseOut',\n 'on-MouseOver',\n 'on-MouseUp',\n 'on-Paste',\n 'on-SelectionChange'\n ];\n const tinyEvents = [\n 'on-Activate',\n 'on-AddUndo',\n 'on-BeforeAddUndo',\n 'on-BeforeExecCommand',\n 'on-BeforeGetContent',\n 'on-BeforeRenderUI',\n 'on-BeforeSetContent',\n 'on-Change',\n 'on-ClearUndos',\n 'on-Deactivate',\n 'on-Dirty',\n 'on-ExecCommand',\n 'on-GetContent',\n 'on-Hide',\n 'on-Init',\n 'on-LoadContent',\n 'on-NodeChange',\n 'on-PostProcess',\n 'on-PostRender',\n 'on-PreProcess',\n 'on-ProgressState',\n 'on-Redo',\n 'on-Remove',\n 'on-Reset',\n 'on-SaveContent',\n 'on-SetAttrib',\n 'on-ObjectResizeStart',\n 'on-ObjectResized',\n 'on-ObjectSelected',\n 'on-SetContent',\n 'on-Show',\n 'on-Submit',\n 'on-Undo',\n 'on-VisualAid'\n ];\n return [\n 'form',\n 'readonly',\n 'autofocus',\n 'placeholder'\n ].concat(nativeEvents).concat(tinyEvents);\n }\n constructor() {\n super();\n this._eventAttrHandler = records => {\n records.forEach(record => {\n var _a;\n if (record.type === 'attributes' && record.target === this && ((_a = record.attributeName) === null || _a === void 0 ? void 0 : _a.toLowerCase().startsWith('on-'))) {\n this._updateEventAttr(record.attributeName, this.getAttribute(record.attributeName));\n }\n });\n };\n this._formDataHandler = evt => {\n const name = this.name;\n if (name != null) {\n const value = this.value;\n if (value != null) {\n const data = evt.formData;\n data.append(name, value);\n }\n }\n };\n this._status = Status.Raw;\n this._shadowDom = this.attachShadow({ mode: 'open' });\n this._form = null;\n this._eventHandlers = {};\n this._mutationObserver = new MutationObserver(this._eventAttrHandler);\n }\n _updateEventAttr(attrKey, attrValue) {\n const event = attrKey.substring('on-'.length).toLowerCase();\n const resolved = attrValue !== null ? resolve(attrValue) : undefined;\n const handler = typeof resolved === 'function' ? resolved : undefined;\n if (this._eventHandlers[event] !== handler) {\n if (this._editor && this._eventHandlers[event]) {\n this._editor.off(event, this._eventHandlers[event]);\n }\n if (handler) {\n if (this._editor) {\n this._editor.on(event, handler);\n }\n this._eventHandlers[event] = handler;\n } else {\n delete this._eventHandlers[event];\n }\n }\n }\n _updateForm() {\n if (this.isConnected) {\n const formId = this.getAttribute('form');\n const form = formId !== null ? this.ownerDocument.querySelector('form#' + formId) : closestRecursive('form', this);\n if (this._form !== form) {\n if (this._form !== null) {\n this._form.removeEventListener('formdata', this._formDataHandler);\n }\n this._form = form;\n if (this._form !== null) {\n this._form.addEventListener('formdata', this._formDataHandler);\n }\n }\n } else {\n if (this._form !== null) {\n this._form.removeEventListener('formdata', this._formDataHandler);\n this._form = null;\n }\n }\n }\n _getTinymce() {\n return Global.tinymce;\n }\n _getConfig() {\n var _a, _b;\n const config = (_b = parseGlobal((_a = this.getAttribute('config')) !== null && _a !== void 0 ? _a : '')) !== null && _b !== void 0 ? _b : {};\n for (let i = 0; i < this.attributes.length; i++) {\n const attr = this.attributes.item(i);\n if (attr !== null) {\n if (has(configAttributes, attr.name)) {\n const prop = has(configRenames, attr.name) ? configRenames[attr.name] : attr.name;\n config[prop] = configAttributes[attr.name](attr.value);\n }\n }\n }\n if (this.readonly) {\n config.readonly = true;\n }\n if (this.autofocus) {\n config.auto_focus = true;\n }\n delete config.target;\n delete config.selector;\n return config;\n }\n _getEventHandlers() {\n const handlers = {};\n for (let i = 0; i < this.attributes.length; i++) {\n const attr = this.attributes.item(i);\n if (attr !== null) {\n if (attr.name.toLowerCase().startsWith('on-')) {\n const event = attr.name.toLowerCase().substring('on-'.length);\n const handler = resolve(attr.value);\n if (typeof handler === 'function') {\n handlers[event] = handler;\n }\n }\n }\n }\n return handlers;\n }\n _doInit() {\n var _a;\n this._status = Status.Initializing;\n const target = document.createElement('textarea');\n target.value = (_a = this.textContent) !== null && _a !== void 0 ? _a : '';\n if (this.placeholder !== null) {\n target.placeholder = this.placeholder;\n }\n this._shadowDom.appendChild(target);\n const baseConfig = this._getConfig();\n const conf = Object.assign(Object.assign({}, baseConfig), {\n target,\n setup: editor => {\n this._editor = editor;\n editor.on('init', _e => {\n this._status = Status.Ready;\n });\n editor.on('SwitchMode', _e => {\n this.readonly = this.readonly;\n });\n each(this._eventHandlers, (handler, event) => {\n if (handler !== undefined) {\n editor.on(event, handler);\n }\n });\n if (typeof baseConfig.setup === 'function') {\n baseConfig.setup(editor);\n }\n }\n });\n this._getTinymce().init(conf);\n }\n _getTinymceSrc() {\n var _a;\n const src = this.getAttribute('src');\n if (src) {\n return src;\n }\n const channel = (_a = this.getAttribute('channel')) !== null && _a !== void 0 ? _a : '6';\n const apiKey = this.hasAttribute('api-key') ? this.getAttribute('api-key') : 'no-api-key';\n return `https://cdn.tiny.cloud/1/${ apiKey }/tinymce/${ channel }/tinymce.min.js`;\n }\n _loadTinyDoInit() {\n if (this._getTinymce()) {\n this._doInit();\n } else {\n ScriptLoader.load(this.ownerDocument, this._getTinymceSrc(), () => this._doInit());\n }\n }\n attributeChangedCallback(attribute, oldValue, newValue) {\n if (oldValue !== newValue) {\n if (attribute === 'form') {\n this._updateForm();\n } else if (attribute === 'readonly') {\n this.readonly = newValue !== null;\n } else if (attribute === 'autofocus') {\n this.autofocus = newValue !== null;\n } else if (attribute === 'placeholder') {\n this.placeholder = newValue;\n } else if (attribute.toLowerCase().startsWith('on-')) {\n this._updateEventAttr(attribute, newValue);\n }\n }\n }\n connectedCallback() {\n this._eventHandlers = this._getEventHandlers();\n this._mutationObserver.observe(this, {\n attributes: true,\n childList: false,\n subtree: false\n });\n this._updateForm();\n if (this._status === Status.Raw) {\n this._loadTinyDoInit();\n }\n }\n disconnectedCallback() {\n this._mutationObserver.disconnect();\n this._updateForm();\n }\n get value() {\n var _a, _b;\n return (_b = this._status === Status.Ready ? (_a = this._editor) === null || _a === void 0 ? void 0 : _a.getContent() : undefined) !== null && _b !== void 0 ? _b : null;\n }\n set value(newValue) {\n var _a;\n if (this._status === Status.Ready && newValue != null) {\n (_a = this._editor) === null || _a === void 0 ? void 0 : _a.setContent(newValue);\n }\n }\n get readonly() {\n if (this._editor) {\n return this._editor.mode.get() === 'readonly';\n } else {\n return this.hasAttribute('readonly');\n }\n }\n set readonly(value) {\n if (value) {\n if (this._editor && this._editor.mode.get() !== 'readonly') {\n this._editor.mode.set('readonly');\n }\n if (!this.hasAttribute('readonly')) {\n this.setAttribute('readonly', '');\n }\n } else {\n if (this._editor && this._editor.mode.get() === 'readonly') {\n this._editor.mode.set('design');\n }\n if (this.hasAttribute('readonly')) {\n this.removeAttribute('readonly');\n }\n }\n }\n get placeholder() {\n return this.getAttribute('placeholder');\n }\n set placeholder(value) {\n if (this._editor) {\n const target = this._editor.getElement();\n if (target !== null) {\n if (value !== null) {\n target.setAttribute('placeholder', value);\n } else {\n target.removeAttribute('placeholder');\n }\n }\n }\n if (value !== null) {\n if (this.getAttribute('placeholder') !== value) {\n this.setAttribute('placeholder', value);\n }\n } else {\n if (this.hasAttribute('placeholder')) {\n this.removeAttribute('placeholder');\n }\n }\n }\n get autofocus() {\n return this.hasAttribute('autofocus');\n }\n set autofocus(value) {\n if (value) {\n if (!this.hasAttribute('autofocus')) {\n this.setAttribute('autofocus', '');\n }\n } else {\n if (this.hasAttribute('autofocus')) {\n this.removeAttribute('autofocus');\n }\n }\n }\n get form() {\n return this._form;\n }\n get name() {\n return this.getAttribute('name');\n }\n get type() {\n return this.localName;\n }\n }\n var Editor = () => {\n window.customElements.define('tinymce-editor', TinyMceEditor);\n };\n\n Editor();\n\n})();\n"],"names":["Global","path","parts","scope","o","i","resolve","p","identity","x","keys","hasOwnProperty","each","obj","f","props","k","len","has","key","unique","generate","prefix","time","random","createState","ScriptLoader","state","injectScriptTag","scriptId","doc","url","callback","scriptTag","handler","fn","Status","closestRecursive","selector","element","found","next","isLookupKey","values","lookup","parseGlobal","parseString","parseFalseOrString","parseBooleanOrString","parseNumberOrString","value","configAttributes","configRenames","TinyMceEditor","nativeEvents","tinyEvents","records","record","_a","evt","name","attrKey","attrValue","event","resolved","formId","form","_b","config","attr","prop","handlers","target","baseConfig","conf","editor","_e","src","channel","attribute","oldValue","newValue","Editor"],"mappings":"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","x_google_ignoreList":[0]}