UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

48 lines (45 loc) 278 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.combobox.min.js`),require(`kendo.dropdownlist.min.js`),require(`kendo.resizable.min.js`),require(`kendo.window.min.js`),require(`kendo.colorpicker.min.js`),require(`kendo.imagebrowser.min.js`),require(`kendo.numerictextbox.min.js`),require(`kendo.textarea.min.js`),require(`kendo.core.min.js`),require(`kendo.aiprompt.min.js`),require(`kendo.buttongroup.min.js`),require(`kendo.toolbar.min.js`),require(`kendo.icons.min.js`),require(`kendo.splitter.min.js`),require(`kendo.html.input.min.js`),require(`kendo.html.icon.min.js`),require(`kendo.inlineaiprompt.min.js`),require(`kendo.form.min.js`),require(`kendo.filebrowser.min.js`),require(`kendo.draganddrop.min.js`),require(`kendo.html.button.min.js`),require(`kendo.tabstrip.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.combobox.min`,`kendo.dropdownlist.min`,`kendo.resizable.min`,`kendo.window.min`,`kendo.colorpicker.min`,`kendo.imagebrowser.min`,`kendo.numerictextbox.min`,`kendo.textarea.min`,`kendo.core.min`,`kendo.aiprompt.min`,`kendo.buttongroup.min`,`kendo.toolbar.min`,`kendo.icons.min`,`kendo.splitter.min`,`kendo.html.input.min`,`kendo.html.icon.min`,`kendo.inlineaiprompt.min`,`kendo.form.min`,`kendo.filebrowser.min`,`kendo.draganddrop.min`,`kendo.html.button.min`,`kendo.tabstrip.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Editor={}),e.kendo._globals.Combobox,e.kendo._globals.Dropdownlist,e.kendo._globals.Resizable,e.kendo._globals.Window,e.kendo._globals.Colorpicker,e.kendo._globals.Imagebrowser,e.kendo._globals.Numerictextbox,e.kendo._globals.Textarea,e.kendo._globals.Core,e.kendo._globals.Aiprompt,e.kendo._globals.Buttongroup,e.kendo._globals.Toolbar,e.kendo._globals.Icons,e.kendo._globals.Splitter,e.kendo._globals.HtmlInput,e.kendo._globals.HtmlIcon,e.kendo._globals.Inlineaiprompt,e.kendo._globals.Form,e.kendo._globals.Filebrowser,e.kendo._globals.Draganddrop,e.kendo._globals.HtmlButton,e.kendo._globals.Tabstrip))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),(function(e){var t=e.Observable.extend({init:function(t){e.Observable.fn.init.call(this,t),this.clear()},events:[`undo`,`redo`],push:function(e){this.stack=this.stack.slice(0,this.currentCommandIndex+1),this.currentCommandIndex=this.stack.push(e)-1},undo:function(){if(this.canUndo()){var e=this.stack[this.currentCommandIndex--];e.undo(),this.trigger(`undo`,{command:e})}},redo:function(){if(this.canRedo()){var e=this.stack[++this.currentCommandIndex];e.redo(),this.trigger(`redo`,{command:e})}},clear:function(){this.stack=[],this.currentCommandIndex=-1},canUndo:function(){return this.currentCommandIndex>=0},canRedo:function(){return this.currentCommandIndex!=this.stack.length-1}});e.deepExtend(e,{util:{UndoRedoStack:t}})})(kendo),(function(e,t){var n=window.kendo,r=n.Class,i=n.ui.Widget,a=n.support.mobileOS,o=n.support.browser,s=e.extend,c=n.deepExtend,l=n.keys,u=n._outerWidth,d=n._outerHeight,f=`.kendoEditor`;let p=`formatting-marks-style`,m=`formatting-marks-overlay`,h=`formatting-marks-overlay-wrapper`;var g=`select`,_=`select.k-select-overlay`,v=`k-placeholder`,y=`placeholder`,b=200,x=`en`,S=[`insertLineBreak`,`insertParagraph`,`redo`,`undo`,`autoLink`],C={editorWrapperTemplate:()=>`<div class="k-editor"><div class="k-editor-toolbar" role="toolbar"></div><div class="k-editable-area k-editor-content"></div></div>`,formatByName:function(t,n){for(var r=0;r<n.length;r++)if(e.inArray(t,n[r].tags)>=0)return n[r]},getToolCssClass:function(e,t){return{superscript:`supscript`,subscript:`subscript`,justifyLeft:`align-left`,justifyCenter:`align-center`,justifyRight:`align-right`,justifyFull:`align-justify`,insertUnorderedList:`list-unordered`,insertOrderedList:`list-ordered`,insertUpperRomanList:`list-roman-upper`,insertLowerRomanList:`list-roman-lower`,import:`import`,indent:`indent`,outdent:`outdent`,createLink:`link`,unlink:`unlink`,insertImage:`image`,insertFile:`file-add`,viewHtml:`code`,foreColor:`foreground-color`,backColor:`droplet`,createTable:`table-add`,addColumnLeft:`table-column-insert-left`,addColumnRight:`table-column-insert-right`,addRowAbove:`table-row-insert-above`,addRowBelow:`table-row-insert-below`,deleteRow:`table-row-delete`,deleteColumn:`table-column-delete`,mergeCellsHorizontally:`cells-merge-horizontally`,mergeCellsVertically:`cells-merge-vertically`,splitCellHorizontally:`cell-split-horizontally`,splitCellVertically:`cell-split-vertically`,tableProperties:`table-properties`,tableCellProperties:`table-cell-properties`,tableWizardInsert:`table-wizard`,tableAlignLeft:`table-position-start`,tableAlignCenter:`table-position-center`,tableAlignRight:`table-position-end`,cleanFormatting:`clear-css`,copyFormat:`copy-format`,applyFormat:`apply-format`,pdf:`file-pdf`}[e]||t||C.nameToKebab(e)},nameToKebab:function(e){return e.replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase()},registerTool:function(e,t){t.name||=(t.options.name=e,e.toLowerCase()),t.options.ui||(t.options.ui={}),t.options.ui.command=e,D.defaultTools[e]=t},registerFormat:function(e,t){D.fn.options.formats[e]=t},cacheComments:function(e,t){for(var n in t)e=e.replace(t[n],`{`+n+`}`);return e},retrieveComments:function(e,t){for(var n in t)e=e.replace(`{`+n+`}`,t[n]);return e}},w={auto:`Auto`,bold:`Bold`,italic:`Italic`,underline:`Underline`,strikethrough:`Strikethrough`,superscript:`Superscript`,subscript:`Subscript`,fitToCell:`Fit to cell`,justifyCenter:`Center text`,justifyLeft:`Align text left`,justifyRight:`Align text right`,justifyFull:`Justify`,insertUnorderedList:`Insert unordered list`,insertOrderedList:`Insert ordered list`,lineHeight:`Set line height`,formattingMarks:`Toggle formatting marks`,indent:`Indent`,outdent:`Outdent`,createLink:`Insert hyperlink`,unlink:`Remove hyperlink`,insertImage:`Insert image`,insertFile:`Insert file`,insertHtml:`Insert HTML`,viewHtml:`View HTML`,fontName:`Select font family`,fontNameInherit:`(inherited font)`,fontSize:`Select font size`,fontSizeInherit:`(inherited size)`,formatBlock:`Format`,formatting:`Format`,foreColor:`Color`,backColor:`Background color`,style:`Styles`,emptyFolder:`Empty Folder`,editAreaTitle:`Editable area. Press F10 for toolbar.`,uploadFile:`Upload`,overflowAnchor:`More tools`,orderBy:`Arrange by:`,orderBySize:`Size`,orderByName:`Name`,invalidFileType:`The selected file {0} is not valid. Supported file types are {1}.`,deleteFile:`Are you sure you want to delete {0}?`,overwriteFile:`A file with name {0} already exists in the current directory. Do you want to overwrite it?`,directoryNotFound:`A directory with this name was not found.`,imageWebAddress:`Web address`,imageAltText:`Alternate text`,imageWidth:`Width (px)`,imageHeight:`Height (px)`,fileWebAddress:`Web address`,fileTitle:`Title`,fileText:`Text`,linkWebAddress:`Web address`,linkText:`Text`,linkToolTip:`ToolTip`,linkOpenInNewWindow:`Open link in new window`,dialogUpdate:`Update`,dialogInsert:`Insert`,dialogOk:`Confirm`,dialogCancel:`Cancel`,cleanFormatting:`Clean formatting`,createTable:`Create a table`,createTableHint:`Create a {0} x {1} table`,addColumnLeft:`Add column on the left`,addColumnRight:`Add column on the right`,addRowAbove:`Add row above`,addRowBelow:`Add row below`,deleteRow:`Delete row`,deleteColumn:`Delete column`,mergeCellsHorizontally:`Merge cells horizontally`,mergeCellsVertically:`Merge cells vertically`,splitCellHorizontally:`Split cells horizontally`,splitCellVertically:`Split cells vertically`,tableAlignLeft:`Table Align Left`,tableAlignCenter:`Table Align Center`,tableAlignRight:`Table Align Right`,tableWizard:`Table Wizard`,tableProperties:`Table Properties`,tableCellProperties:`Cell Properties`,tableTab:`General`,cellTab:`Cell`,accessibilityTab:`Advanced`,caption:`Caption`,summary:`Summary`,width:`Width`,height:`Height`,units:`Units`,cellSpacing:`Cell Spacing`,cellPadding:`Cell Padding`,topPadding:`Top`,leftPadding:`Left`,bottomPadding:`Bottom`,rightPadding:`Right`,independentCellPaddings:`Independent Cell Paddings`,cellMargin:`Cell Margin`,alignment:`Alignment`,captionAlignment:`Caption alignment`,position:`Position`,background:`Background`,tableBackground:`Table background`,cssClass:`CSS Class`,id:`ID`,border:`Border`,borderStyle:`Border Style`,borderWidth:`Border Width`,borderColor:`Border Color`,collapseBorders:`Collapse borders`,wrapText:`Wrap text`,associateCellsWithHeaders:`Associate headers`,alignLeft:`Align Left`,alignCenter:`Align Center`,alignRight:`Align Right`,alignLeftTop:`Align Left Top`,alignCenterTop:`Align Center Top`,alignRightTop:`Align Right Top`,alignLeftMiddle:`Align Left Middle`,alignCenterMiddle:`Align Center Middle`,alignRightMiddle:`Align Right Middle`,alignLeftBottom:`Align Left Bottom`,alignCenterBottom:`Align Center Bottom`,alignRightBottom:`Align Right Bottom`,alignRemove:`Remove Alignment`,columns:`Columns`,rows:`Rows`,selectAllCells:`Apply to all cells`,applyToColumn:`apply to column`,applyToRow:`apply to row`,exportAs:`Export As`,import:`Import`,print:`Print`,headerRows:`Header Rows`,headerColumns:`Header Cols`,tableSummaryPlaceholder:`Summary attribute is not HTML5 compatible.`,associateNone:`None`,associateScope:`Associate using 'scope' attribute`,associateIds:`Associate using Ids`,copyFormat:`Copy format`,applyFormat:`Apply format`,borderNone:`None`,undo:`Undo`,redo:`Redo`},T=document.documentElement.contentEditable!==void 0,E={basic:[`bold`,`italic`,`underline`,`strikethrough`],undo:[`undo`,`redo`],scripts:[`subscript`,`superscript`],alignment:[`justifyLeft`,`justifyCenter`,`justifyRight`,`justifyFull`],lines:[`lineHeight`],symbols:[`formattingMarks`],links:[`insertImage`,`insertFile`,`createLink`,`unlink`],lists:[`insertUnorderedList`,`insertOrderedList`,`insertUpperRomanList`,`insertLowerRomanList`],dent:[`indent`,`outdent`],tablesWizard:[`tableProperties`,`tableCellProperties`],tablesInsert:[`createTable`],tablesAddDelete:[`addColumnLeft`,`addColumnRight`,`addRowAbove`,`addRowBelow`,`deleteRow`,`deleteColumn`],tablesMerge:[`mergeCellsHorizontally`,`mergeCellsVertically`,`splitCellHorizontally`,`splitCellVertically`],tablesPosition:[`tableAlignLeft`,`tableAlignCenter`,`tableAlignRight`],formatPainter:[`copyFormat`,`applyFormat`]},D=i.extend({__suppressEditableCheck:!1,init:function(e,r){var a=this,o=n.ui.editor,s=o.Dom,l,u,d;!T&&!a.__suppressEditableCheck||(i.fn.init.call(a,e,r),a.options=c({},a.options,r),e=a.element,d=e[0],u=s.name(d),this._registerHandler(e.closest(`form`),`submit`,a.update.bind(a,t)),a._isAiPromptEnabled()&&a._addAIPromptElements(),l=a._setupType(e),a._initToolbar(l),a._setupHeight(u),a._resizable(),a._initializeContentElement(a),a._setupKeyboard(),a.clipboard=new o.Clipboard(this),a.undoRedoStack=new n.util.UndoRedoStack,a._populateValue(r,d),a._registerHandler(document,{mousedown:function(){a._endTyping()},mouseup:function(e){a._mouseup(e)}}),a._registerHandler(window,`resize`,a._handleSpaceAndNewLines.bind(a)),a._initializeImmutables(),u==`textarea`&&a._ariaLabel(a.wrapper.find(`iframe`)),a.toolbar.resize(),a._initInlineOverflowWrapper(),n.notify(a),a._showWatermarkOverlay&&a._showWatermarkOverlay(a.wrapper&&a.wrapper[0]||a.element[0]),a._isAiPromptEnabled()&&a._initAIPrompt(),a._isInlineAIPromptEnabled()&&a._initInlineAIPrompt())},events:[`select`,`change`,`execute`,`error`,`paste`,`keydown`,`keyup`],options:{name:`Editor`,messages:w,placeholder:``,nonce:``,unsafeInline:!0,formats:{},encoded:!0,formattingMarksRefreshDelay:250,domain:null,resizable:!1,deserialization:{custom:null},serialization:{entities:!0,semantic:!0,scripts:!1,optimizeTags:!1,keepEOL:!1},pasteCleanup:{all:!1,css:!1,custom:null,keepNewLines:!1,msAllFormatting:!1,msConvertLists:!0,msTags:!0,none:!1,span:!1},stylesheets:[],dialogOptions:{modal:!0,resizable:!1,draggable:!0,animation:!1},imageBrowser:null,fileBrowser:null,navigateOnTab:!1,fontName:[{text:`Arial`,value:`Arial, Helvetica, sans-serif`},{text:`Courier New`,value:`"Courier New", Courier, monospace`},{text:`Georgia`,value:`Georgia, serif`},{text:`Impact`,value:`Impact, Charcoal, sans-serif`},{text:`Lucida Console`,value:`"Lucida Console", Monaco, monospace`},{text:`Tahoma`,value:`Tahoma, Geneva, sans-serif`},{text:`Times New Roman`,value:`"Times New Roman", Times, serif`},{text:`Trebuchet MS`,value:`"Trebuchet MS", Helvetica, sans-serif`},{text:`Verdana`,value:`Verdana, Geneva, sans-serif`}],fontSize:[{text:`1 (8pt)`,value:`xx-small`},{text:`2 (10pt)`,value:`x-small`},{text:`3 (12pt)`,value:`small`},{text:`4 (14pt)`,value:`medium`},{text:`5 (18pt)`,value:`large`},{text:`6 (24pt)`,value:`x-large`},{text:`7 (36pt)`,value:`xx-large`}],formatBlock:[{text:`Paragraph`,value:`p`},{text:`Quotation`,value:`blockquote`},{text:`Heading 1`,value:`h1`},{text:`Heading 2`,value:`h2`},{text:`Heading 3`,value:`h3`},{text:`Heading 4`,value:`h4`},{text:`Heading 5`,value:`h5`},{text:`Heading 6`,value:`h6`}],tools:`formatting.bold.italic.underline.undo.redo.justifyLeft.justifyCenter.justifyRight.copyFormat.applyFormat.insertUnorderedList.insertOrderedList.indent.outdent.createLink.unlink.insertImage.tableProperties.tableCellProperties.createTable.addRowAbove.addRowBelow.addColumnLeft.addColumnRight.deleteRow.deleteColumn.mergeCellsHorizontally.mergeCellsVertically.splitCellHorizontally.splitCellVertically.tableAlignLeft.tableAlignCenter.tableAlignRight`.split(`.`),ai:!1},destroy:function(){var e=this;i.fn.destroy.call(this),this._endTyping(!0),this._deregisterHandlers(),clearTimeout(this._spellCorrectTimeout),this._focusOutside(),this.toolbar.destroy(),this.windowInstance&&this.windowInstance.destroy(),this.tablePopup&&this.tablePopup.destroy(),e._destroyUploadWidget(),this.interSectionObserver&&=(this.interSectionObserver.disconnect(),null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null,this.wrapper.css(`min-height`,``),this.wrapper.css(`max-height`,``)),e._destroyResizings(),e._destroyFormattingMarksOverlay(),n.destroy(this.wrapper)},setOptions:function(e){var t=this;i.fn.setOptions.call(t,e),e.tools&&this._setOptionsTools(e.tools),this._initializePlaceholder()},createRange:function(e){return n.ui.editor.RangeUtils.createRange(e||this.document)},encodedValue:function(){return n.ui.editor.Dom.encode(this.value())},exec:function(e,t){var r=this,i=null,a=n.ui.Editor.defaultTools,o,c,l;if(!e)throw Error("kendoEditor.exec(): `name` parameter cannot be empty");if(r.body.getAttribute(`contenteditable`)!==`true`&&e!==`print`&&e!==`pdf`&&e!==`exportAs`)return!1;if(r.keyboard.isTypingInProgress()||(r._focusBody(),r.selectRange(r._range||r.getRange())),c=r.tools[e]||a[e],c||Object.keys(a).map(t=>{t.toLowerCase()===e&&(c=a[t])}),c){if(o=r.getRange(),c.command&&(i=c.command(s({range:o,body:r.body,immutables:!!r.immutables},t))),l=r.trigger(`execute`,{name:e,command:i}),l)return;if(/^(undo|redo)$/i.test(e))r.undoRedoStack[e]();else if(i&&(r.execCommand(i),i.async)){i.change=r._commandChange.bind(r);return}e!==`formattingMarks`&&r._handleSpaceAndNewLines(),r._selectionChange()}},_commandChange:function(){let e=this;e._selectionChange(),e._handleSpaceAndNewLines()},execCommand:function(e){e.managesUndoRedo||this.undoRedoStack.push(e),e.editor=this,e.exec()},focus:function(){this.restoreSelection()},getRange:function(){var e=this.getSelection(),t=e&&e.rangeCount>0?e.getRangeAt(0):this.createRange(),n=this.document;return t.startContainer==n&&t.endContainer==n&&!t.startOffset&&!t.endOffset&&(t.setStart(this.body,0),t.collapse(!0)),t},getSelection:function(){return n.ui.editor.SelectionUtils.selectionFromDocument(this.document)},paste:function(t,r){this.focus();var i=new n.ui.editor.InsertHtmlCommand(e.extend({range:this.getRange(),html:t},r));i.editor=this,i.exec()},insertAfterSelection:function(t,r){this.focus();let i=this.getRange();i.collapse(!1);var a=new n.ui.editor.InsertHtmlCommand(e.extend({range:i,html:t},r));a.editor=this,a.exec()},refresh:function(){var e=this;if(e.textarea){e._destroyResizings();var t=e.value();e.textarea.val(t),e.wrapper.find(`iframe`).remove(),e._initializeContentElement(e),e.value(t)}},restoreSelection:function(){this._focusBody(),this.selectionRestorePoint&&this.selectRange(this.selectionRestorePoint.toRange())},saveSelection:function(t){t||=this.getRange();var r=t.commonAncestorContainer,i=this.body;(r==i||e.contains(i,r))&&(this.selectionRestorePoint=new n.ui.editor.RestorePoint(t,i))},selectedHtml:function(){return n.ui.editor.Serializer.domToXhtml(this.getRange().cloneContents())},selectRange:function(e){this._focusBody();var t=this.getSelection();t.removeAllRanges(),t.addRange(e),this.saveSelection(e)},state:function(e){var t=n.ui.Editor.defaultTools[e],r=t&&(t.options.finder||t.finder),i=n.ui.editor.RangeUtils,a,o;return r?(a=this.getRange(),o=i.textNodes(a),!o.length&&a.collapsed&&(o=[a.startContainer]),r.getFormat?r.getFormat(o):r.isFormatted(o)):!1},update:function(e){e=e||this.options.encoded?this.encodedValue():this.value(),this.textarea?(this.textarea.val(e),this._togglePlaceholder(!e.trim())):this._oldValue=e},value:function(e){var r=this.body,i=n.ui.editor,a=this.options,o=i.Serializer.domToXhtml(r,a.serialization);if(e===t)return o;e!=o&&(i.Serializer.htmlToDom(e,r,a.deserialization),this.selectionRestorePoint=null,this.update(),this._refreshTools())},_bindTools:function(){var t=this,n=this.tools;t.unbind(`select`,t.toolbar.resize.bind(t.toolbar)),t.toolbar.element.find(`[data-command]`).filter((t,n)=>e(n).find(`[data-command]`).length===0).each((r,i)=>{var a=n[i.getAttribute(`data-command`)];a&&a.initialize&&a.initialize(e(i),t)}),t.bind(`select`,t.toolbar.resize.bind(t.toolbar))},_blur:function(){var e=this.textarea,t=e?e.val():this._oldValue,n=this.options.encoded?this.encodedValue():this.value();this.update(),e&&e.trigger(`blur`),n!=t&&(this.trigger(`change`),e&&e.trigger(`change`))},_containsRange:function(e){var t=n.ui.editor.Dom,r=this.body;return e&&t.isAncestorOrSelf(r,e.startContainer)&&t.isAncestorOrSelf(r,e.endContainer)},_createContentElement:function(t){var r=this,i,s,c,l=r.textarea,u=r.options.domain,d=u||document.domain,f=``,p=`javascript:""`,m=``;l.hide(),i=e(`<iframe />`,{title:r.options.messages.editAreaTitle,frameBorder:`0`})[0],e(i).css(`display`,``).addClass(`k-content k-iframe`).attr(`tabindex`,l[0].tabIndex).insertBefore(l),(u||d!=location.hostname)&&(f=`<script ${r.options.nonce?`nonce="${r.options.nonce}"`:``}>document.domain="${d}"<\/script>`,p=`javascript:document.write('`+f+`')`,i.src=p),i.src||=``,s=i.contentWindow||i,c=s.document||i.contentDocument;let h=r.interSectionObserver=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(r._decorateFormatting(c.body),h.unobserve(i))});return h.observe(i),m=document.getElementsByTagName(`html`)[0].getAttribute(`lang`)||x,c.open(),c.write(`<!DOCTYPE html><html lang='`+m+`'><head><meta charset='utf-8' /><title>Kendo UI Editor content</title><style ${r.options.nonce?`nonce="${r.options.nonce}"`:``}>html{padding:0;margin:0;height:100%;min-height:100%;cursor:text;}body{padding:0;margin:0;}body{box-sizing:border-box;font-size:12px;font-family:Verdana,Geneva,sans-serif;margin-top:-1px;padding:5px .4em 0;word-wrap: break-word;-webkit-nbsp-mode: space;-webkit-line-break: after-white-space;`+(n.support.isRtl(l)?`direction:rtl;`:``)+(a.ios?`word-break:keep-all;`:``)+(o.edge||o.chrome?`height:100%;`:``)+`}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em}h3{font-size:1.16em}h4{font-size:1em}h5{font-size:.83em}h6{font-size:.7em}p{margin:0 0 1em;}.k-marker{display:none;}.k-paste-container,.Apple-style-span{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}ul,ol{padding-left:2.5em}span{-ms-high-contrast-adjust:none;}a{color:#00a}code{font-size:1.23em}telerik\\3Ascript{display: none;}.k-table{width:100%;border-spacing:0;margin: 0 0 1em;}.k-table td{min-width:1px;padding:.2em .3em;}.k-table,.k-table td{outline:0;border: 1px dotted #ccc;}.k-table th{outline:0;border: 1px dotted #999;}.k-table p{margin:0;padding:0;}.k-column-resize-handle-wrapper {position: absolute; height: 10px; width:10px; cursor: col-resize; z-index: 2;}.k-column-resize-handle {width: 100%; height: 100%;}.k-column-resize-handle > .k-column-resize-marker {width:2px; height:100%; margin:0 auto; background-color:#00b0ff; display:none; opacity:0.8;}.k-row-resize-handle-wrapper {position: absolute; cursor: row-resize; z-index:2; width: 10px; height: 10px;}.k-row-resize-handle {display: table; width: 100%; height: 100%;}.k-row-resize-marker-wrapper{display: table-cell; height:100%; width:100%; margin:0; padding:0; vertical-align: middle;}.k-row-resize-marker{margin: 0; padding:0; width:100%; height:2px; background-color: #00b0ff; opacity:0.8; display:none;}.k-element-resize-handle-wrapper {position: absolute; background-color: #fff; border: 1px solid #000; z-index: 100; width: 5px; height: 5px;}.k-element-resize-handle {width: 100%; height: 100%;}.k-element-resize-handle.k-resize-east{cursor:e-resize;}.k-element-resize-handle.k-resize-north{cursor:n-resize;}.k-element-resize-handle.k-resize-northeast{cursor:ne-resize;}.k-element-resize-handle.k-resize-northwest{cursor:nw-resize;}.k-element-resize-handle.k-resize-south{cursor:s-resize;}.k-element-resize-handle.k-resize-southeast{cursor:se-resize;}.k-element-resize-handle.k-resize-southwest{cursor:sw-resize;}.k-element-resize-handle.k-resize-west{cursor:w-resize;}.k-table.k-element-resizing{opacity:0.6;}.k-placeholder{color:grey}k\\:script{display:none;}</style>`+f+e.map(t,function(e){return`<link rel='stylesheet' href='${e}' ${r.options.nonce?`nonce="${r.options.nonce}"`:``}>`}).join(``)+`</head><body id='${r.element.attr(`id`)}' autocorrect='off' contenteditable='true'></body></html>`),c.close(),s},_deleteSavedRange:function(){`_range`in this&&delete this._range},_decorateFormatting:function(t){var r=this.toolbar.element.find(`input[data-command=formatting]`),i=n.ui.editor.Dom,a,o,s,c,l,u,d;if(r.length){if(a=r.getKendoDropDownList(),!a)return;if(o=a.dataSource,s=o.data(),t&&a.list.css(`background-color`,i.getEffectiveBackground(e(t))),this.options.unsafeInline!==!1)for(c=0;c<s.length;c++)l=s[c].tag||`span`,u=s[c].className,d=i.inlineStyle(t,l,{className:u}),d=d.replace(/"/g,`'`),s[c].style=d+`;display:inline-block`;o.trigger(`change`)}},_appendFormattingMarksStyles:function(){let t=this,n=t.element.attr(`id`),r,i;r=`<style id='${p+`-`+n}' ${t.options.nonce?`nonce="${t.options.nonce}"`:``} > #${n} p::after, #${n} li::after, #${n} h1::after, #${n} h2::after, #${n} h3::after, #${n} h4::after, #${n} h5::after, #${n} h6::after {content: '\\00B6'; color: #6098f2;} #${h+`-`+n} { position: absolute; top: 0; left: 0; width: 100%; z-index: 9999; pointer-events: none; } #${m+`-`+n} { width: 100%; height: 100%; } </style>`,i=e(t.document.head),i.find(`#`+p+`-`+n).remove(),i.append(r)},_appendFormattingMarksOverlay:function(){let t=this,n=t.element.attr(`id`);t._formattingMarksOverlayWrapper=e(`<div id='${h+`-`+n}'></div>`),t._formattingMarksOverlay=e(`<svg id='${m+`-`+n}'></svg>`).appendTo(t._formattingMarksOverlayWrapper),t._bodyTopBottomPaddings=parseFloat(e(t.body).css(`padding-top`))+parseFloat(e(t.body).css(`padding-bottom`)),t._isInlineEditor()?t._formattingMarksOverlayWrapper.insertAfter(t.element):t._formattingMarksOverlayWrapper.appendTo(e(t.document).find(`html`))},_destroyFormattingMarksOverlay:function(){let t=this,n=t.element.attr(`id`);e(t.document).find(`#`+h+`-`+n).remove(),e(t.document.head).find(`#`+p+`-`+n).remove()},_updateFormattingMarksOverlayHeight:function(){let t=this;t._isInlineEditor()?t._formattingMarksOverlayWrapper.height(e(t.body).outerHeight()):t._formattingMarksOverlayWrapper.height(t.body.scrollHeight-t._bodyTopBottomPaddings)},_initInlineOverflowWrapper:function(){let e=this,t=e.options.inlineHeight;e._isInlineEditor()&&t>-1&&(e._inlineOverflowWrapper=e.element.wrap(`<div class='k-inline-editor-overflow-wrapper k-pos-relative k-overflow-auto'></div>`).parent(),e._inlineOverflowWrapper.height(t))},_addAIPromptElements:function(){let t=this,n=e(`<div/>`),r=e(`<div/>`);t.splitterElement=n,t.aiPromptElement=r,n.insertBefore(t.element),r.appendTo(n),t.element.appendTo(n)},_initInlineAIPrompt:function(){let t=this,r=e(`<div/>`).insertAfter(t.element),i=t._mapCommands(t.options.ai?.inlineAIPrompt?.commands||t.options.ai?.commands||n.ui.InlineAIPrompt.fn.options.commands);t.inlineAIPrompt=r.kendoInlineAIPrompt({popup:{width:`768px`},service:t.options.ai?.service,commands:i,_isEditor:!0,systemPrompt:t.options.ai?.inlineAIPrompt?.systemPrompt,commandExecute:e=>{e.context=t.getRange().toString()},outputAction:e=>{e.action===`insert`&&t.insertAfterSelection(e.content),e.action===`replace`&&t.paste(e.content)}}).data(`kendoInlineAIPrompt`)},_mapCommands:function(e,t=null){let n=this;return e.map((e,r)=>{let i=t?`${t}-${r}`:`${r}`,a={id:i,text:e.text,icon:e.icon};return e.prompt&&(a.prompt=e.prompt),e.items&&(a.items=n._mapCommands(e.items,i)),a})},_isAiPromptEnabled(){let e=this;return e.options.ai&&e.options.ai.aiPrompt!=0},_isInlineAIPromptEnabled(){let e=this;return e.options.ai&&e.options.ai.inlineAIPrompt!=0},_initAIPrompt:function(){let t=this,r=t.options.ai?.aiPrompt?.commands||t.options.ai?.commands||t._mapCommands(n.ui.InlineAIPrompt.fn.options.commands);t.aiPrompt=t.aiPromptElement.kendoAIPrompt(e.extend({service:t.options.ai?.service,speechToText:!1,promptTextArea:{rows:5,suffixOptions:{template:()=>`<div ref-select-context-buttongroup></div>`}},views:[{type:`prompt`,buttonIcon:``,initializeComponents:e=>{e.view.contentElement.find(`[ref-select-context-buttongroup]`).kendoButtonGroup({index:t._contextSelection,items:[{text:`Use with selection`,icon:`box-sizing`},{text:`Use full content`,icon:`form-element`}],selection:`multiple`,fillMode:`flat`,select:e=>{let n=e.sender._buttons[0],r=e.sender._buttons[1];e.indices.length>1&&(e.target[0]==n.element[0]?(r.toggle(!1),e.sender._toggleIndex(1)):(n.toggle(!1),e.sender._toggleIndex(0))),t._contextSelection=e.indices[0]}})}},{type:`output`},{type:`commands`,promptCommands:r}],promptRequest:e=>{let n=t._contextSelection,r=e.prompt;r=n===0?t._contextTemplate(r,t.getRange().toString()):n===1?t._contextTemplate(r,t.value()):t._contextTemplate(r,``),e.prompt!=r&&(e.prompt=r)},commandExecute:e=>{let n=e.item.prompt;n&&t.aiPrompt.transport.read({prompt:n(t.value()),history:[],isRetry:!1})}},t.options.ai?.aiPrompt)).data(`kendoAIPrompt`),t.aiPromptSplitter=t.splitterElement.kendoSplitter({panes:[e.extend({size:`50%`,collapsible:!0,collapsed:!0,min:`360px`},t.options.ai?.pane),{}]}).data(`kendoSplitter`),t._isInlineAIPromptEnabled()&&t.bind(`select`,t._selectionChangeHandler.bind(t))},_contextTemplate:function(e,t){let n=this,r=`You are an advanced AI language assistant. A user has selected a portion of their text and provided a query regarding how they want it modified. Your task is to accurately respond to their request while preserving the original intent of the text. Follow the instructions strictly and provide only the requested output unless explicitly asked to explain your changes. ${t?`Selected Text:`:``} ${t} User's Request: ${e} Response:`;return n.options.ai?.aiPrompt?.systemPrompt?n.options.ai?.aiPrompt?.systemPrompt(e,t):r},_selectionChangeHandler:function(){let e=this,t=e.getRange(),r=t.getBoundingClientRect(),i=e.wrapper[0].getBoundingClientRect();if(n.ui.editor.RangeUtils.textNodes(t).length===0){e.inlineAIPrompt._popup.close();return}e.inlineAIPrompt._popup.open();let a=e.inlineAIPrompt._popup.element.outerHeight(),o=e.inlineAIPrompt._popup.element.outerWidth(),s=window.scrollY+i.top+r.top+r.height,c=window.scrollX+i.left+r.left+r.width/2-o/2;e.inlineAIPrompt._popup.close(!0),window.innerHeight-r.bottom<a?s-=a:s+=a,c+o>window.innerWidth+window.scrollX&&(c=window.innerWidth+window.scrollX-o),e.inlineAIPrompt._popup.open(c,s)},_getSelectionPosition:function(){this.getRange().getBoundingClientRect()},_initContextMenu:function(){let t=this,r=e(`<ul> <li>${n.html.renderIcon({icon:`arrow-rotate-cw`})} Rewrite</li> <li>${n.html.renderIcon({icon:`spell-checker`})} Fix mistakes</li> <li>${n.html.renderIcon({icon:`tell-a-friend`})} Change tone <ul> <li>Neutral</li> <li>Friendly</li> <li>Casual</li> <li>Formal</li> </ul> </li> <li>${n.html.renderIcon({icon:`apply-format`})} Polish formatting <li>${n.html.renderIcon({icon:`col-resize`})} Adjust length <li>${n.html.renderIcon({icon:`edit-tools`})} Translate </ul>`);e(`body`).append(r),t._aiContextMenu=r.kendoContextMenu({targe:`imposibru`}).data(`kendoContextMenu`)},_insertAIResult:function(){this.paste(`Test ai result`)},_deregisterHandlers:function(){for(var e=this._handlers,t=0;t<e.length;t++){var n=e[t];n.element.off(n.type,n.handler)}this._handlers=[]},_destroyUploadWidget:function(){var e=this;e._uploadWidget&&=(e._uploadWidget.destroy(),null)},_endTyping:function(){var e=this.keyboard;try{e.isTypingInProgress()&&(e.endTyping(!0),this.saveSelection())}catch{}},_focusBody:function(){var e=this.body,t=this.wrapper&&this.wrapper.find(`iframe`)[0],r=this.document.documentElement,i=n._activeElement(),a;!t&&e.scrollHeight>e.clientHeight?(a=e.scrollTop,e.focus(),e.scrollTop=a):i!=e&&i!=t&&(a=r.scrollTop,e.focus(),r.scrollTop=a)},_focusOutside:function(){n.support.browser.msie&&this.textarea&&e(`<input />`).css({position:`fixed`,left:`1px`,top:`1px`,width:`1px`,height:`1px`,"font-size":`0`,border:`0`,opacity:`0`}).appendTo(document.body).trigger(`focus`).trigger(`blur`).remove()},_handleToolbarClick:function(e){var t=e.target.data(`command`);t&&t!==`createTable`&&this.exec(t)},_immutablesContext:function(e){var t=n.ui.editor;if(this.options.immutables)return e.collapsed?t.Immutables.immutablesContext(e):t.RangeUtils.editableTextNodes(e).length===0},_initializeContentElement:function(){var r=this,i,a,o;if(r.textarea){if(r.window=r._createContentElement(r.options.stylesheets),i=r.document=r.window.contentDocument||r.window.document,!i.body){var s=i.createElement(`body`);s.setAttribute(`contenteditable`,`true`),s.setAttribute(`autocorrect`,`off`),i.getElementsByTagName(`html`)[0].appendChild(s);var c=setInterval(function(){e(r.document).find(`body`).length>1&&(e(r.document).find(`body`).last().remove(),window.clearInterval(c))},10)}r.body=i.body,a=r.window,o=i,this._registerHandler(i,`mouseup`,this._mouseup.bind(this))}else r.window=window,i=r.document=document,r.body=r.element[0],a=r.body,o=r.body,r._wrapSingleTextNodeInParagraph(),setTimeout(()=>{r._decorateFormatting(r.body)});this._registerHandler(a,`blur`,this._blur.bind(this)),r._registerHandler(o,`down`,r._mousedown.bind(r));try{i.execCommand(`enableInlineTableEditing`,null,!1)}catch{}n.support.touch&&this._registerHandler(i,{keydown:function(){n._activeElement()!=i.body&&r.window.focus()}}),this._initializePlaceholder(),this._spellCorrect(r),this._registerHandler(r.document,{"mouseover dragenter":function(t){var n=e(r.body).height();e(r.body.parentElement).height()>n&&t.target.nodeName.toLowerCase()===`html`&&(r._cachedHeight=``+r.body.style.height,r.body.style.height=`100%`)},"mouseout dragleave drop contextmenu":function(e){var n=function(){r._cachedHeight!==t&&e.target===r.body&&(r.body.style.height=r._cachedHeight,delete r._cachedHeight)};e.type===`contextmenu`?setTimeout(function(){n()},10):n()}}),this._registerHandler(r.body,{keydown:function(e){var t;if((e.keyCode===l.BACKSPACE||e.keyCode===l.DELETE)&&r.body.getAttribute(`contenteditable`)!==`true`)return!1;if(e.keyCode===l.F10){r.toolbar.element.find(`[tabindex=0]`).first().trigger(`focus`),r.toolbar.preventPopupHide=!0,e.preventDefault();return}else if(e.keyCode==l.LEFT||e.keyCode==l.RIGHT){t=r.getRange();var n=e.keyCode==l.LEFT,i=t[n?`startContainer`:`endContainer`],a=t[n?`startOffset`:`endOffset`],o=a+(n?-1:1),s=n?o:a;i.nodeType==3&&i.nodeValue[s]==``&&(t.setStart(i,o),t.collapse(!0),r.selectRange(t))}var c=r.tools,u=r.keyboard.toolFromShortcut(c,e),d=u?c[u].options:{};if(u&&!d.keyPressCommand)return e.preventDefault(),/^(undo|redo)$/.test(u)||r.keyboard.endTyping(!0),r.trigger(`keydown`,e),r.exec(u),r._runPostContentKeyCommands(e),!1;r.keyboard.clearTimeout(),r.keyboard.keydown(e)},keypress:function(e){setTimeout(function(){r._runPostContentKeyCommands(e),r._showElementResizeHandles()},0)},keyup:function(t){var n=[l.BACKSPACE,l.TAB,l.PAGEUP,l.PAGEDOWN,l.END,l.HOME,l.LEFT,l.UP,l.RIGHT,l.DOWN,l.INSERT,l.DELETE];(e.inArray(t.keyCode,n)>-1||t.keyCode==65&&t.ctrlKey&&!t.altKey&&!t.shiftKey)&&(window.clearTimeout(this._refreshInterval),this._refreshInterval=window.setTimeout(function(){r._selectionChange()},b)),(t.keyCode===l.BACKSPACE||t.keyCode===l.DELETE)&&r._handleSpaceAndNewLines(),r.keyboard.keyup(t)},click:function(e){var t=n.ui.editor.Dom,i;t.name(e.target)===`img`&&(i=r.createRange(),i.selectNode(e.target),r.selectRange(i))},"cut copy paste drop dragover":function(e){r.clipboard[`on`+e.type](e),r._handleSpaceAndNewLines()},focusin:function(){r.body.hasAttribute(`contenteditable`)&&(e(this).addClass(`k-active`),r._showWindow(),r._togglePlaceholder(!1))},focusout:function(){setTimeout(function(){var t=n._activeElement(),i=r.body,a=r.toolbar;if(a.options.popup){var o=r.windowInstance.element.get(0);o&&!(e.contains(o,t)||o==t)&&(a.preventPopupHide=!1)}t!=i&&!e.contains(i,t)&&!r._toolbarFocused()&&!a.preventPopupHide&&!e(t).hasClass(`k-context-menu`)&&!e(t).hasClass(`k-colorpalette`)&&(e(i).removeClass(`k-active`),r._hideWindow()),r._togglePlaceholder(!r.value().trim())},10)}}),r._initializeColumnResizing(),r._initializeRowResizing(),r._initializeElementResizing()},_initializeImmutables:function(){var e=this,t=n.ui.editor;e.options.immutables&&(e.immutables=new t.Immutables(e))},_initializePlaceholder:function(){var t=this,n=t.options.placeholder,r,i;!t.textarea||!n||(r=`<style id='${y}' ${t.options.nonce?`nonce="${t.options.nonce}"`:``} >.`+v+`:before { content: '`+n+`'; }</style>`,i=e(t.document.head),i.find(`#`+y).remove(),i.append(r),t._togglePlaceholder(!t.value().trim()))},_initToolbar:function(r){var i=this,a,o,s;if(i.tools=[],[a,o]=i._processToolbarItems(i.options.tools),i._setNativeTools(),s={tools:a,defaultTools:o,parentMessages:i.options.messages,resizable:i.options.resizable===!0||!!(i.options.resizable&&i.options.resizable.toolbar&&i.options.resizable.toolbar?.mode!==`none`),toggle:i._handleToolbarClick.bind(this),click:i._handleToolbarClick.bind(this),navigateOnTab:i.options.navigateOnTab,evaluateTemplates:!0,overflow:e.isPlainObject(i.options.resizable?.toolbar)?i.options.resizable.toolbar:t},i.toolbar=new n.ui.ToolBar(r,s),i._bindTools(),i.bind(`select`,i._refreshTools.bind(i)),r.on(`mousedown`+f,function(t){let n=e(t.target),r=n.closest(`[ref-toolbar-tool]`);!r.length||!r.data(`command`)||r.length&&n.is(`input`)||t.preventDefault()}),!i.textarea){let e=r.width();e&&e>0&&r.width(e),i._initToolbarWindow(r)}},_initToolbarWindow:function(t){var r=this;this.windowInstance=t.wrap(`<div class='editorToolbarWindow k-editor-window' />`).parent().prepend(`<span class='k-editortoolbar-dragHandle'>`+n.ui.icon(`handle-drag`)+`</span>`).kendoWindow({title:!1,resizable:!1,draggable:{dragHandle:`.k-editortoolbar-dragHandle`},animation:{open:{effects:`fade:in`},close:{effects:`fade:out`}},minHeight:42,visible:!1,autoFocus:!1,actions:[],dragend:function(){this._moved=!0}}).on(`mousedown`,function(t){e(t.target).is(`.k-icon,.k-svg-icon,svg,path,.k-editor-window,.k-editor-toolbar,.k-editortoolbar-dragHandle,[ref-toolbar-tool],[ref-toolbar-tool] *`)||(r.toolbar.preventPopupHide=!0)}).on(`focusout`,function(){r.element.focusout()}).data(`kendoWindow`)},_mousedown:function(t){var n=this;if(n._selectionStarted=!0,e(n.body).parents(`.k-window`).length&&t.stopPropagation(),!o.gecko){var r=e(t.target).closest(`a[href]`);(t.which==2||t.which==1&&t.ctrlKey)&&r&&r.is(`a[href]`)&&window.open(r.attr(`href`),`_new`),t.target.tagName&&t.target.tagName.toLowerCase()===`html`&&setTimeout(function(){n.body.focus()},0)}},_mouseup:function(t){var r=this;n.support.mobileOS.ios&&t&&e(t.target).is(_)||r._selectionStarted&&setTimeout(function(){r._selectionChange()},1)},_populateValue:function(t,r){var i=this,a=n.ui.editor,o=a.Dom,s,c;if(t&&t.value)s=t.value;else if(i.textarea){s=r.value,s.replace(/\s/g,``).length||(s=s.replace(/\s/g,``)),i.options.encoded&&r.defaultValue&&r.defaultValue.trim().length&&(s=r.defaultValue);var l=a.Serializer.htmlToDom(s,e(`<div></div>`)[0],i.options.deserialization);c=o.getAllComments(l),s=C.cacheComments(s,c),s=s.replace(/[\r\n\v\f\t ]+/gi,` `),s=C.retrieveComments(s,c)}else s=r.innerHTML;i.value(s||``)},_resetGroups:function(e){var t={};return Object.keys(e).map(n=>{t[n+`_`]=e[n]}),t},_processToolbarItems:function(r){var i={},a={},o=[],s=e.extend(!0,{},E),c,l,u,d,f;for(c=0;c<r.length;c++)if(u=r[c],Array.isArray(u))for(f=n.guid(),l=0;l<u.length;l++)[i,d]=this._processToolOptions(u[l],i),d&&(i[d].gr=f);else{if([i,d]=this._processToolOptions(u,i),d)d===`separator`&&(s=this._resetGroups(s));else continue;Object.keys(s).map(e=>{s[e].includes(d)&&(i[d].gr=e)})}return Object.values(i).map(e=>{var n=e.gr;delete e.gr,n===t?a[e.name]=e:(a[n]||(a[n]=[]),a[n].push(e))}),o=Object.values(a).map(e=>{var t=e.length?e.map(e=>e.name):e.name;return t.length===1&&(t=t[0]),t}),[o,i]},_processDefaultTool:function(t,n){var r=t.name,i={},a;if(e.isPlainObject(t))r&&n[r]?(i=s({},n[r]),s(i.options,t)):(a=s({icon:`gear`,type:`button`},t),a.name||=`custom`,a.cssClass=`k-`+a.name,i={options:a},r=a.name);else if(n[t])r=t,i=n[r];else return null;return this.tools[r]=i,i},_processToolOptions:function(r,i){var a=this,o=n.deepExtend({},n.ui.Editor.defaultTools),s=this._processDefaultTool(r,o),c,l,u,d,f,p,m,h,g;return s?(d=s.options,c=d.name,f=d.ui||{},p=C.getToolCssClass(d.name,d.icon),h=e.isPlainObject(r)?e.extend({},r):{},delete h.items,m=e.extend({name:d.name,command:d.command,template:d.template,attributes:{class:d.cssClass},type:`button`,icon:p,showText:`overflow`,showIcon:`both`},f,h),d.tooltip&&(m.attributes||={},m.attributes.title=d.tooltip),d.exec&&(m.click=d.exec.bind(a),delete m.exec),m.component===`ColorPicker`&&((d.palette!==t||f.palette!==n.ui.editor.ColorTool.fn.options.palette)&&(g=d.palette||n.ui.editor.ColorTool.fn.options.palette,l=d.palette!==t&&!d.palette?`gradient`:`palette`,m.componentOptions.palette=l===`palette`?g:t,m.componentOptions.views=[l],m.componentOptions.preview=l===`gradient`,m.componentOptions.input=l===`gradient`,m.componentOptions.buttons=l===`gradient`,l===`gradient`&&delete m.componentOptions.columns),l===`palette`&&d.columns&&(m.componentOptions.columns=d.columns)),(m.component===`DropDownList`||m.component===`ComboBox`)&&(m.componentOptions||={},m.componentOptions.dataSource||(a.options[c]&&Array.isArray(a.options[c])?m.componentOptions.dataSource=a.options[c]:m.componentOptions.dataSource=d.items)),m.template&&delete m.type,u=this._shortcutSequence(c),u!==``&&(m.attributes||={},m.attributes[`aria-keyshortcuts`]=u),i[c]=m,[i,c]):[i,null]},_refreshTools:function(){var t=this,r=t.getRange(),i=n.ui.editor,a=i.RangeUtils.textNodes(r),o=t.options.immutables,s=t._immutablesContext(r),c=t.tools;a=i.Dom.filterBy(a,i.Dom.htmlIndentSpace,!0),a.length||(a=[r.startContainer]),t.toolbar.element.find(`[data-command]`).filter((t,n)=>e(n).find(`[data-command]`).length===0).each(function(){var n=c[this.getAttribute(`data-command`)],r;n&&(r=e(this),n.update&&n.update(r,a,t.undoRedoStack),o&&t._updateImmutablesState(n,r,s))})},_registerHandler:function(t,r,i){var a=this,o=`.kendoEditor`,s,c;if(t=e(t),this._handlers||=[],t.length)if(e.isPlainObject(r))for(var l in r)r.hasOwnProperty(l)&&this._registerHandler(t,l,r[l]);else for(s=n.applyEventMap(r).split(` `),c=0;c<s.length;c++)a._handlers.push({element:t,type:s[c]+o,handler:i}),t.on(s[c]+o,i)},_runPostContentKeyCommands:function(e){let t=this.getRange(),n=this.keyboard.toolsFromShortcut(this.tools,e);for(var r=0;r<n.length;r++){var i=n[r],a=i.options;a.keyPressCommand&&new a.command({range:t}).changesContent()&&(this.keyboard.endTyping(!0),this.exec(i.name))}this._wrapSingleTextNodeInParagraph(),this._handleSpaceAndNewLines()},_wrapSingleTextNodeInParagraph:function(){let e=this.body.childNodes,t=n.ui.editor.Dom;this.textarea||e.length===1&&e[0].nodeType===t.nodeTypes.TEXT_NODE&&t.wrap(e[0],this.document.createElement(`p`))},_handleSpaceAndNewLines:function(){let e=this,t=e.options.formattingMarksRefreshDelay,r=n.ui.editor,i=r.applyFormattingMarks,a=r.clearFormattingMarksOverlay;e._toggledFormattingMarks&&(e._formattingMarksOverlay.children().length&&a(e),t?(clearTimeout(e._formattingMarksTimeout),e._formattingMarksTimeout=setTimeout(()=>i(e),t)):i(e))},_selectionChange:function(){this._selectionStarted=!1,this.saveSelection(),this.trigger(`select`,{})},_setOptionsTools:function(r){var i=this,a=i.toolbar,o=a.element,s,c,l;a.destroy(),o.empty(),i.tools=[],[s,c]=i._processToolbarItems(r),i._setNativeTools(),l={tools:s,defaultTools:c,parentMessages:i.options.messages,resizable:i.options.resizable===!0||!!(i.options.resizable&&i.options.resizable.toolbar&&i.options.resizable.toolbar?.mode!==`none`),toggle:i._handleToolbarClick.bind(this),click:i._handleToolbarClick.bind(this),overflow:e.isPlainObject(i.options.resizable?.toolbar)?i.options.resizable.toolbar:t},i.toolbar=new n.ui.ToolBar(o,l),i._bindTools()},_setNativeTools:function(){var e=n.deepExtend({},n.ui.Editor.defaultTools),t;for(t=0;t<S.length;t++)this.tools[S[t]]||(this.tools[S[t]]=e[S[t]])},_setupHeight:function(e){var t=this;e==`textarea`&&setTimeout(function(){var e=t.wrapper[0].style.height,n=parseInt(e,10),r=t.wrapper.height();e.indexOf(`px`)>0&&!isNaN(n)&&r>n&&t.wrapper.height(n-(r-n))})},_setupKeyboard:function(){var e=this,t=n.ui.editor;e.keyboard=new t.Keyboard([new t.BackspaceHandler(e),new t.TypingHandler(e),new t.SystemHandler(e),new t.SelectAllHandler(e)])},_setupType:function(t){var r=t[0],i=n.ui.editor.Dom.name(r),a=r.id,o;return a||(a=n.guid(),r.setAttribute(`id`,a)),i==`textarea`?(this._wrapTextarea(),o=this.wrapper.find(`.k-editor-toolbar`),o.attr(`aria-controls`,a)):(e(r).attr(`contenteditable`,!0).addClass(`k-editor k-editor-inline`),o=e(`<div class="k-editor-toolbar"/>`).insertBefore(t)),o},_isInlineEditor:function(){return this.element.hasClass(`k-editor-inline`)},_shortcutSequence:function(e){var t=n.ui.Editor.defaultTools[e],r=``,i;return!t||!t.options?r:(i=t.options,i.ctrl&&(r+=`Ctrl+`),i.shift&&(r+=`Shift+`),i.alt&&(r+=`Alt+`),i.key&&(r+=i.key),r)},_spellCorrect:function(e){var t,r=!1;this._registerHandler(e.body,{contextmenu:function(){e.one(`select`,function(){t=null}),e._spellCorrectTimeout=setTimeout(function(){t=new n.ui.editor.RestorePoint(e.getRange(),e.body),r=!1},10)},input:function(){if(t){if(n.support.browser.mozilla&&!r){r=!0;return}n.ui.editor._finishUpdate(e,t)}}})},_togglePlaceholder:function(t){var n=this,r=n.body,i=e(r),a=n.options.placeholder;!n.textarea||!a||(i.attr(`aria-label`,function(){return t?a:``}),i.toggleClass(v,t))},_toolbarFocused:function(){var t=n._activeElement(),r=this.windowInstance,i=this.overflowPopup;return r&&e(t).closest(r.wrapper).length||i&&i.visible()},_updateImmutablesState:function(r,i,a){let o=this.toolbar,s=r.name,c=o.overflowAnchor,l=i.closest(`[ref-toolbar-tool]`),u=r.options.trackImmutables,d=!0,f=n.ui.editor;u===t&&(u=e.inArray(s,f.Immutables.toolsToBeUpdated)>-1),c&&!c.hasClass(`k-hidden`)&&(d=(o.overflowMenu?.element.find(`[data-command="${r.options.name}"]`))?.hasClass(`k-hidden`)),u&&(a?o.hide(l):d&&o.show(l))},_wrapTextarea:function(){var t=this,n=t.element,r=n[0].style.width,i=n[0].style.height,a=e(C.editorWrapperTemplate()).insertBefore(n),o=a.find(`.k-editable-area`);a.css({width:r,height:i}),n.attr(`autocomplete`,`off`).appendTo(o).addClass(`k-content k-raw-content`).css(`display`,`none`),t.textarea=n,t.wrapper=a},_resizable:function(){let n=this,r=this.options.resizable,i=e.isPlainObject(r)?r.content===t||r.content===!0:r,a=e.isPlainObject(r.min)?r.min:{minHeight:r.min},o=e.isPlainObject(r.max)?r.max:{maxHeight:r.max};i&&this.textarea&&(n.wrapper.addClass(`k-editor-resizable`),a.minHeight&&n.wrapper.css(`min-height`,a.minHeight),o.maxHeight&&n.wrapper.css(`max-height`,o.maxHeight),a.minWidth&&n.wrapper.css(`min-width`,a.minWidth),o.maxWidth&&n.wrapper.css(`max-width`,o.maxWidth),n.resizeObserver=new ResizeObserver(()=>{clearTimeout(n._resizeTimeOut),n._resizeTimeOut=setTimeout(function(){n.toolbar.resize(),n._handleSpaceAndNewLines()},50)}),n.resizeObserver.observe(n.wrapper[0]))},_destroyResizings:function(){var e=this;e._destroyElementResizing(),n.ui.editor.ElementResizingFactory.current.dispose(e),e._destroyRowResizing(),n.ui.editor.RowResizing.dispose(e),e._destroyColumnResizing(),n.ui.editor.ColumnResizing.dispose(e)},_initializeElementResizing:function(){var e=this;n.ui.editor.ElementResizingFactory.current.create(e),e._showElementResizeHandlesProxy=e._showElementResizeHandles.bind(e),e.bind(g,e._showElementResizeHandlesProxy)},_destroyElementResizing:function(){var e=this,t=e.elementResizing;t&&(t.destroy(),e.elementResizing=null),e._showElementResizeHandlesProxy&&e.unbind(g,e._showElementResizeHandlesProxy)},_showElementResizeHandles:function(){var e=this,t=e.elementResizing;t&&t.element&&t.element.parentNode?t.showResizeHandles():t&&(!t.element||!t.element.parentNode)&&e._destroyElementResizing()},_initializeColumnResizing:function(){n.ui.editor.ColumnResizing.create(this)},_destroyColumnResizing:function(){var e=this;e.columnResizing&&=(e.columnResizing.destroy(),null)},_initializeRowResizing:function(){n.ui.editor.RowResizing.create(this)},_destroyRowResizing:function(){var e=this;e.rowResizing&&=(e.rowResizing.destroy(),null)},_getWindowWidth:function(){var e=this,t=e.windowInstance.wrapper,n=e.element;return u(n)-parseInt(t.css(`border-left-width`),10)-parseInt(t.css(`border-right-width`),10)},_hideWindow:function(){this.windowInstance&&this.windowInstance.close()},_overlapsWindow:function(e){var t=this.windowInstance.wrapper,n=t.offset(),r=n.left,i=n.top,a=e.offset(),o=a.left,s=a.top;return!(o+e.width()<r||o>r+t.width()||s+e.height()<i||s>i+t.height())},_showWindow:function(){var e=this,t=e.windowInstance,r,i,a,o=n.support.browser;t&&(r=t.wrapper,i=e.element,(!r.is(`:visible`)||!e.windowInstance.options.visible)&&(r[0].style.width||r.width(this._getWindowWidth()),t._moved||(a=i.offset(),r.css({top:Math.max(0,parseInt(a.top,10)-d(r)-parseInt(e.windowInstance.element.css(`padding-bottom`),10)),left:Math.max(0,parseInt(a.left,10))})),(o.msie||o.edge)&&e._overlapsWindow(i)?setTimeout(function(){t.open()},0):t.open()))}});D.defaultTools={},n.ui.plugin(D);var O=r.extend({init:function(e){this.options=e},command:function(e){return new this.options.command(e)},update:e.noop});O.exec=function(e,t,n){e.exec(t,{value:n})};var k=O.extend({command:e.noop,update:function(e,t,n){var r=this.options.name,i=e.closest(`.k-toolbar`).data(`kendoToolBar`);switch(r){case`undo`:i.enable(e,n.canUndo());break;case`redo`:i.enable(e,n.canRedo());break;default:break}e.removeAttr(`disabled`)}});C.registerTool(`separator`,new O({ui:{type:`separator`}})),C.registerTool(`undo`,new k({key:`Z`,ctrl:!0})),C.registerTool(`redo`,new k({key:`Y`,ctrl:!0}));var A=``,j=A;(o.msie||o.edge)&&(j=A=`&nbsp;`),s(n.ui,{editor:{EditorUtils:C,Tool:O,emptyElementContent:A,emptyTableCellContent:j}}),n.PDFMixin&&(n.PDFMixin.extend(D.prototype),D.prototype._drawPDF=function(){return n.drawing.drawDOM(this.body,this.options.pdf)},D.prototype.saveAsPDF=function(){var t=new e.Deferred,r=t.promise(),i={promise:r};if(!this.trigger(`pdfExport`,i)){var a=this.options.pdf;return this._drawPDF(t).then(function(e){return n.drawing.exportPDF(e,a)}).done(function(e){n.saveAs({dataURI:e,fileName:a.fileName,proxyURL:a.proxyURL,proxyTarget:a.proxyTarget,forceProxy:a.forceProxy}),t.resolve()}).fail(function(e){t.reject(e)}),r}})})(window.kendo.jQuery),(function(e){var t=window.kendo,n=e.map,r=e.extend,i=t.support.browser,a=`style`,o=`float`,s=`cssFloat`,c=`styleFloat`,l=`class`,u=`k-marker`;function d(e){var t={},n,r;for(n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}var f=d(`area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed`.split(`,`)),p=`p,div,h1,h2,h3,h4,h5,h6,address,applet,blockquote,button,center,dd,dir,dl,dt,fieldset,form,frameset,hr,iframe,isindex,map,menu,noframes,noscript,object,pre,script,table,tbody,td,tfoot,th,thead,tr,header,article,nav,footer,section,aside,main,figure,figcaption`.split(`,`),m=p.concat([`ul`,`ol`,`li`]),h=d(m),g=d(`area,base,br,col,command,embed,hr,img,input,keygen,link,menuitem,meta,param,source,track,wbr`.split(`,`)),_=`span,em,a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,strike,strong,sub,sup,textarea,tt,u,var,data,time,mark,ruby`.split(`,`),v=d(_),y=d(`checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected`.split(`