UNPKG

@progress/kendo-ui

Version:

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

3 lines 139 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.excel.js"),require("kendo.progressbar.js"),require("kendo.pdf.js"),require("kendo.toolbar.js"),require("kendo.list.js"),require("kendo.spreadsheet.common.js"),require("kendo.core.js"),require("kendo.binder.js"),require("kendo.validator.js"),require("kendo.icons.js"),require("kendo.window.js"),require("kendo.colorpicker.js"),require("kendo.combobox.js"),require("kendo.dropdownlist.js"),require("kendo.dropdownbutton.js"),require("kendo.popup.js"),require("kendo.togglebutton.js"),require("kendo.calendar.js"),require("kendo.listview.js"),require("kendo.dom.js"),require("kendo.sortable.js"),require("kendo.treeview.js"),require("kendo.numerictextbox.js"),require("kendo.datepicker.js"),require("kendo.datetimepicker.js"),require("kendo.ooxml.js")):"function"==typeof define&&define.amd?define(["exports","kendo.excel.min","kendo.progressbar.min","kendo.pdf.min","kendo.toolbar.min","kendo.list.min","kendo.spreadsheet.common.min","kendo.core.min","kendo.binder.min","kendo.validator.min","kendo.icons.min","kendo.window.min","kendo.colorpicker.min","kendo.combobox.min","kendo.dropdownlist.min","kendo.dropdownbutton.min","kendo.popup.min","kendo.togglebutton.min","kendo.calendar.min","kendo.listview.min","kendo.dom.min","kendo.sortable.min","kendo.treeview.min","kendo.numerictextbox.min","kendo.datepicker.min","kendo.datetimepicker.min","kendo.ooxml.min"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Spreadsheet={}))}(this,(function(e){function t(e,t){return t||(t={}),Object.assign?Object.assign(t,e):Object.keys(e).reduce((function(t,a){return t[a]=e[a],t}),t)}!function(e){var t=e.jQuery,a=e.data.ObservableObject,n=e.spreadsheet.messages.dialogs={apply:"Apply",save:"Save",cancel:"Cancel",remove:"Remove",retry:"Retry",revert:"Revert",okText:"OK",formatCellsDialog:{title:"Format",categories:{number:"Number",currency:"Currency",date:"Date"}},fontFamilyDialog:{title:"Font"},fontSizeDialog:{title:"Font size"},bordersDialog:{title:"Borders"},alignmentDialog:{title:"Alignment",buttons:{justifyLeft:"Align left",justifyCenter:"Center",justifyRight:"Align right",justifyFull:"Justify",alignTop:"Align top",alignMiddle:"Align middle",alignBottom:"Align bottom"}},mergeDialog:{title:"Merge cells",buttons:{mergeCells:"Merge all",mergeHorizontally:"Merge horizontally",mergeVertically:"Merge vertically",unmerge:"Unmerge"}},freezeDialog:{title:"Freeze panes",buttons:{freezePanes:"Freeze panes",freezeRows:"Freeze rows",freezeColumns:"Freeze columns",unfreeze:"Unfreeze panes"}},confirmationDialog:{text:"Are you sure you want to remove this sheet?",title:"Sheet remove"},validationDialog:{title:"Data Validation",hintMessage:"Please enter a valid {0} value {1}.",hintTitle:"Validation {0}",criteria:{any:"Any value",number:"Number",text:"Text",date:"Date",custom:"Custom Formula",list:"List"},comparers:{greaterThan:"greater than",lessThan:"less than",between:"between",notBetween:"not between",equalTo:"equal to",notEqualTo:"not equal to",greaterThanOrEqualTo:"greater than or equal to",lessThanOrEqualTo:"less than or equal to"},comparerMessages:{greaterThan:"greater than {0}",lessThan:"less than {0}",between:"between {0} and {1}",notBetween:"not between {0} and {1}",equalTo:"equal to {0}",notEqualTo:"not equal to {0}",greaterThanOrEqualTo:"greater than or equal to {0}",lessThanOrEqualTo:"less than or equal to {0}",custom:"that satisfies the formula: {0}"},labels:{criteria:"Criteria",comparer:"Comparer",min:"Min",max:"Max",value:"Value",start:"Start",end:"End",onInvalidData:"On invalid data",rejectInput:"Reject input",showWarning:"Show warning",showHint:"Show hint",hintTitle:"Hint title",hintMessage:"Hint message",ignoreBlank:"Ignore blank",showListButton:"Display button to show list",showCalendarButton:"Display button to show calendar"},placeholders:{typeTitle:"Type title",typeMessage:"Type message"}},exportAsDialog:{title:"Export...",defaultFileName:"Workbook",xlsx:{description:"Excel Workbook (.xlsx)"},pdf:{description:"Portable Document Format (.pdf)",area:{workbook:"Entire Workbook",sheet:"Active Sheet",selection:"Selection"},paper:{a2:"A2 (420 mm × 594 mm)",a3:"A3 (297 mm x 420 mm)",a4:"A4 (210 mm x 297 mm)",a5:"A5 (148 mm x 210 mm)",b3:"B3 (353 mm × 500 mm)",b4:"B4 (250 mm x 353 mm)",b5:"B5 (176 mm x 250 mm)",folio:'Folio (8.5" x 13")',legal:'Legal (8.5" x 14")',letter:'Letter (8.5" x 11")',tabloid:'Tabloid (11" x 17")',executive:'Executive (7.25" x 10.5")'},margin:{normal:"Normal",narrow:"Narrow",wide:"Wide"}},labels:{scale:"Scale",fit:"Fit to page",fileName:"File name",saveAsType:"Save as type",exportArea:"Export",paperSize:"Paper size",margins:"Margins",orientation:"Orientation",print:"Print",guidelines:"Guidelines",center:"Center",horizontally:"Horizontally",vertically:"Vertically"}},modifyMergedDialog:{errorMessage:"Cannot change part of a merged cell."},rangeDisabledDialog:{errorMessage:"Destination range contains disabled cells."},intersectsArrayDialog:{errorMessage:"You cannot alter part of an array"},incompatibleRangesDialog:{errorMessage:"Incompatible ranges"},noFillDirectionDialog:{errorMessage:"Cannot determine fill direction"},duplicateSheetNameDialog:{errorMessage:"Duplicate sheet name"},overflowDialog:{errorMessage:"Cannot paste, because the copy area and the paste area are not the same size and shape."},useKeyboardDialog:{title:"Copying and pasting",errorMessage:"These actions cannot be invoked through the menu. Please use the keyboard shortcuts instead:",labels:{forCopy:"for copy",forCut:"for cut",forPaste:"for paste"}},unsupportedSelectionDialog:{errorMessage:"That action cannot be performed on multiple selection."},linkDialog:{title:"Hyperlink",labels:{text:"Text",url:"Address",removeLink:"Remove link"}},sheetRenameDialog:{title:"Rename Sheet",labels:{text:"Rename Sheet",rename:"Rename"}},insertCommentDialog:{title:"Insert comment",labels:{comment:"Comment",removeComment:"Remove comment"}},insertImageDialog:{title:"Insert image",info:"Drag an image here, or click to select",typeError:"Please select a JPEG, PNG or GIF image"}},o={};e.spreadsheet.dialogs={register:function(e,t){o[e]=t},registered:function(e){return!!o[e]},create:function(e,t){var a=o[e];if(a)return new a(t)}};var s=e.spreadsheet.SpreadsheetDialog=e.Observable.extend({init:function(a){e.Observable.fn.init.call(this,a),this.options=I(t.extend(!0,{},this.options,a)),this.bind(this.events,a)},events:["close","activate"],options:{autoFocus:!0},dialog:function(){if(!this._dialog){var a={autoFocus:!1,scrollable:!1,resizable:!1,modal:!0,visible:!1,width:this.options.width||320,title:this.options.title,open:function(){this.center()},close:this._onDialogClose.bind(this),activate:this._onDialogActivate.bind(this),deactivate:this._onDialogDeactivate.bind(this)};this._dialog=t("<div class='k-spreadsheet-window k-action-window k-popup-edit-form' />").addClass(this.options.className||"").append(e.template(this.options.template)({messages:e.spreadsheet.messages.dialogs||n,ns:e.ns,errors:this.options.errors})).kendoWindow(a).data("kendoWindow")}return this._dialog},_onDialogClose:function(){this.trigger("close",{action:this._action})},_onDialogActivate:function(){this.trigger("activate")},_onDialogDeactivate:function(){this.trigger("deactivate"),this.destroy()},destroy:function(){this._dialog&&(this._dialog.destroy(),this._dialog=null)},open:function(){this.dialog().open(),this.dialog().element.find(".k-button-solid-primary").trigger("focus")},apply:function(){this.close()},close:function(){this._action="close",this.dialog().close()}});function i(t,a){return e.spreadsheet.formatting.text(t,a)}var r=e.spreadsheet.FormatCellsViewModel=a.extend({init:function(e){a.fn.init.call(this,e),this.useCategory(this.category)},useCategory:function(e){var t=e&&e.type||"number",a="currency"==t;this.category=e,this.set("showCurrencyFilter",a&&this.currencies.length>1),a?this.currency(this.currencies[0]):this.set("formats",this.allFormats[t+"Formats"]),this.useFirstFormat()},useFirstFormat:function(){this.formats.length&&this.set("format",this.formats[0].value)},currency:function(e){if(void 0!==e){this._currency=e;var t=e.value,a=[{currency:t,decimals:!0},{currency:t,decimals:!0,iso:!0},{currency:t,decimals:!1}];a=a.map((function(e){return{value:e=r.convert.currency(e),name:i(1e3,e)}})),this.set("formats",a),this.useFirstFormat()}return this._currency||this.currencies[0]},categoryFilter:function(e){return void 0!==e&&this.useCategory(e),this.category},preview:function(){var e=this.get("format"),t=this.value||0;return e&&e.length?i(t,e):t}});function l(e,a){for(var n=[],o=[],s=0;s<a.length;s++)-1==t.inArray(a[s][e],o)&&(n.push(a[s]),o.push(a[s][e]));return n}r.convert={currency:function(e){var t,a,n=e.currency,o=n.pattern[1];return e.decimals&&(o=o.replace(/n/g,"n"+n["."]+(t="0",a=n.decimals,new Array(a+1).join(t)))),o=(o=e.iso?'"'+n.abbr+'" '+o.replace(/\s*\$\s*/g,""):o.replace(/\$/g,JSON.stringify(n.symbol))).replace(/n/g,"?")},date:function(e){return/T|Z/.test(e)?"":e.toLowerCase().replace(/tt/g,"AM/PM").replace(/'/g,'"')}};var d=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.formatCellsDialog||n,i={title:o.title,categories:[{type:"number",name:o.categories.number},{type:"currency",name:o.categories.currency},{type:"date",name:o.categories.date}]};s.fn.init.call(this,t.extend(i,a)),this._generateFormats()},options:{className:"k-spreadsheet-format-cells",template:t=>{let a;return a=`<div class='k-edit-form-container'><div class='k-root-tabs' data-${e.htmlEncode(t.ns)}role='tabstrip' data-${e.htmlEncode(t.ns)}text-field='name' data-${e.htmlEncode(t.ns)}bind='source: categories, value: categoryFilter' data-${e.htmlEncode(t.ns)}animation='false'></div>\n    <div class='k-spreadsheet-preview' data-${e.htmlEncode(t.ns)}bind='text: preview'></div><select data-${e.htmlEncode(t.ns)}role='dropdownlist' class='k-format-filter' data-${e.htmlEncode(t.ns)}text-field='description' data-${e.htmlEncode(t.ns)}value-field='value.name' data-${e.htmlEncode(t.ns)}bind='visible: showCurrencyFilter, value: currency, source: currencies'></select><ul data-${e.htmlEncode(t.ns)}role='staticlist' tabindex='0' id='formats-list' aria-label='formats list' class='k-list k-reset' bind:data-${e.htmlEncode(t.ns)}template='formatItemTemplate' data-${e.htmlEncode(t.ns)}value-primitive='true' data-${e.htmlEncode(t.ns)}value-field='value' data-${e.htmlEncode(t.ns)}bind='source: formats, value: format'></ul>\n    <div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-${e.htmlEncode(t.ns)}bind='click: apply'><span class='k-button-text'>${e.htmlEncode(t.messages.apply)}</span></button><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-${e.htmlEncode(t.ns)}bind='click: close'><span class='k-button-text'>${e.htmlEncode(t.messages.cancel)}</span></button></div>\n</div>`,a}},_generateFormats:function(){var a=this.options;if(a.currencies||(a.currencies=d.currenciesFrom(e.cultures)),a.numberFormats||(a.numberFormats=[{value:"#.00%",name:"100.00%"},{value:"#%",name:"100%"},{value:"#.00",name:"1024.00"},{value:"#,###.00",name:"1,024.00"}]),!a.dateFormats){var n=e.cultures.current.calendars.standard.patterns;a.dateFormats=l("value",t.map(n,(function(e){if(e=r.convert.date(e))return{value:e,name:i(34567.7678,e)}})))}},open:function(t){var a,n=this.options,o=t.value(),i=n.categories.slice(0);this.viewModel=new r({currencies:n.currencies.slice(0),allFormats:{numberFormats:n.numberFormats.slice(0),dateFormats:n.dateFormats.slice(0)},categories:i,format:t.format(),category:o instanceof Date?i[2]:i[0],apply:this.apply.bind(this),close:this.close.bind(this),value:o,formatItemTemplate:t=>e.htmlEncode(t.name)}),s.fn.open.call(this),a=this.dialog().element,e.bind(a,this.viewModel);var l=a.find("select.k-format-filter").data("kendoDropDownList");n.currencies.length>10&&l.setOptions({filter:"contains"}),a.find(e.roleSelector("staticlist")).parent().addClass("k-list-wrapper"),a.find(".k-tabstrip-item").attr("aria-controls","formats-list")},apply:function(){var e=this.viewModel.format;s.fn.apply.call(this),this.trigger("action",{command:"PropertyChangeCommand",options:{property:"format",value:e}})}});d.currenciesFrom=function(a){return l("description",t.map(a,(function(t,a){if(/-/.test(a)){var n=t.numberFormat.currency;return{description:e.format("{0} ({1}, {2})",n.name,n.abbr,n.symbol),value:n}}})))},e.spreadsheet.dialogs.register("formatCells",d),e.spreadsheet.dialogs.FormatCellsDialog=d;var c=s.extend({options:{className:"k-spreadsheet-message",title:"",messageId:"",text:"",template:t=>{let a;return a=`<div class='k-spreadsheet-message-content' data-${e.htmlEncode(t.ns)}bind='text: text'></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: close'><span\n            class='k-button-text'>${t.messages.okText}</span></button></div>`,a}},open:function(){s.fn.open.call(this);var t=this.options,a=t.text;t.messageId&&(a=e.getter(t.messageId,!0)(e.spreadsheet.messages.dialogs)),e.bind(this.dialog().element,{text:a,close:this.close.bind(this)})}});e.spreadsheet.dialogs.register("message",c);var u=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.confirmationDialog||n,i={title:o.title,text:o.text};s.fn.init.call(this,t.extend(i,a))},options:{className:"k-spreadsheet-message",messageId:"",template:t=>{let a;return a=`<div class='k-spreadsheet-message-content' data-${e.htmlEncode(t.ns)}bind='text: text'></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: confirm'><span\n            class='k-button-text'>${t.messages.okText}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: cancel'><span\n            class='k-button-text'>${t.messages.cancel}</span></button></div>`,a}},open:function(){s.fn.open.call(this);var t=this.options,a=t.text;t.messageId&&(a=e.getter(t.messageId,!0)(e.spreadsheet.messages.dialogs)),e.bind(this.dialog().element,{text:a,confirm:this.confirm.bind(this),cancel:this.close.bind(this)})},isConfirmed:function(){return this._confirmed},confirm:function(){this._confirmed=!0,this.close()}});e.spreadsheet.dialogs.register("confirmation",u);var m=s.extend({options:{className:"k-spreadsheet-message",title:"",messageId:"",text:"",template:t=>{let a;return a=`<div class='k-spreadsheet-message-content' data-${e.htmlEncode(t.ns)}bind='text: text'></div><div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-${e.htmlEncode(t.ns)}bind='click: retry'><span class='k-button-text'>${t.messages.retry}</span></button><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-${e.htmlEncode(t.ns)}bind='click: cancel'><span class='k-button-text'>${t.messages.cancel}</span></button></div>`,a}},open:function(){s.fn.open.call(this);var t=this.options,a=t.text;t.messageId&&(a=e.getter(t.messageId,!0)(e.spreadsheet.messages.dialogs)),e.bind(this.dialog().element,{text:a,retry:this.retry.bind(this),cancel:this.close.bind(this)})},retry:function(){this._retry=!0,this.close()}});e.spreadsheet.dialogs.register("validationError",m);var h=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.fontFamilyDialog||n;s.fn.init.call(this,t.extend({title:o.title},a)),this._list()},options:{template:()=>"<ul class='k-list k-reset'></ul>"},_list:function(){var t=this.dialog().element.find("ul"),a=this.options.options,n=this.options.default;this.list=new e.ui.StaticList(t,{dataSource:new e.data.DataSource({data:a}),template:t=>e.htmlEncode(t),value:n,change:this.apply.bind(this)}),this.list.dataSource.fetch()},apply:function(e){s.fn.apply.call(this),this.trigger("action",{command:"PropertyChangeCommand",options:{property:"fontFamily",value:e.sender.value()[0]}})}});e.spreadsheet.dialogs.register("fontFamily",h);var p=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.fontSizeDialog||n;s.fn.init.call(this,t.extend({title:o.title},a)),this._list()},options:{template:()=>"<ul class='k-list k-reset'></ul>"},_list:function(){var t=this.dialog().element.find("ul"),a=this.options.options,n=this.options.default;this.list=new e.ui.StaticList(t,{dataSource:new e.data.DataSource({data:a}),template:t=>e.htmlEncode(t),value:n,change:this.apply.bind(this)}),this.list.dataSource.fetch()},apply:function(t){s.fn.apply.call(this),this.trigger("action",{command:"PropertyChangeCommand",options:{property:"fontSize",value:e.parseInt(t.sender.value()[0])}})}});e.spreadsheet.dialogs.register("fontSize",p);var f=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.bordersDialog||n;s.fn.init.call(this,t.extend({title:o.title},a)),this.element=this.dialog().element,this._borderPalette(),this.viewModel=e.observable({apply:this.apply.bind(this),close:this.close.bind(this)}),e.bind(this.element.find(".k-actions"),this.viewModel)},options:{template:t=>{let a;return a=`<div></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: apply'><span\n            class='k-button-text'>${e.htmlEncode(t.messages.apply)}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: close'><span\n            class='k-button-text'>${e.htmlEncode(t.messages.cancel)}</span></button></div>`,a}},apply:function(){s.fn.apply.call(this);var e=this.borderPalette.value();e.color&&e.type&&this.trigger("action",{command:"BorderChangeCommand",options:{border:e.type,style:{size:1,color:e.color}}})},_borderPalette:function(){var t=this.dialog().element.find("div").first();this.borderPalette=new e.spreadsheet.BorderPalette(t,{change:this.value.bind(this)})},value:function(e){if(void 0===e)return this._state;this._state=e}});e.spreadsheet.dialogs.register("borders",f);var b=s.extend({init:function(t){s.fn.init.call(this,t),this.element=this.dialog().element,this.property=t.property,this.options.title=t.title,this.viewModel=e.observable({apply:this.apply.bind(this),close:this.close.bind(this)}),e.bind(this.element.find(".k-actions"),this.viewModel)},options:{template:t=>{let a;return a=`<div></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: apply'><span\n            class='k-button-text'>${e.htmlEncode(t.messages.apply)}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: close'><span\n            class='k-button-text'>${e.htmlEncode(t.messages.cancel)}</span></button></div>`,a}},apply:function(){s.fn.apply.call(this),this.trigger("action",{command:"PropertyChangeCommand",options:{property:this.property,value:this.value()}})},value:function(e){if(void 0===e)return this._value;this._value=e.value}}),g=b.extend({init:function(e){e.width=177,b.fn.init.call(this,e),this._colorPalette()},_colorPalette:function(){var e=this.dialog().element.find("div").first();this.colorPalette=e.kendoColorPalette({palette:["#ffffff","#000000","#d6ecff","#4e5b6f","#7fd13b","#ea157a","#feb80a","#00addc","#738ac8","#1ab39f","#f2f2f2","#7f7f7f","#a7d6ff","#d9dde4","#e5f5d7","#fad0e4","#fef0cd","#c5f2ff","#e2e7f4","#c9f7f1","#d8d8d8","#595959","#60b5ff","#b3bcca","#cbecb0","#f6a1c9","#fee29c","#8be6ff","#c7d0e9","#94efe3","#bfbfbf","#3f3f3f","#007dea","#8d9baf","#b2e389","#f272af","#fed46b","#51d9ff","#aab8de","#5fe7d5","#a5a5a5","#262626","#003e75","#3a4453","#5ea226","#af0f5b","#c58c00","#0081a5","#425ea9","#138677","#7f7f7f","#0c0c0c","#00192e","#272d37","#3f6c19","#750a3d","#835d00","#00566e","#2c3f71","#0c594f"],change:this.value.bind(this)}).data("kendoColorPalette")}});e.spreadsheet.dialogs.register("colorPicker",g);var v=b.extend({init:function(e){e.width=268,b.fn.init.call(this,e),this.dialog().setOptions({animation:!1}),this.dialog().one("activate",this._colorPicker.bind(this))},_colorPicker:function(){var e=this.dialog().element.find("div").first();this.colorPicker=e.kendoFlatColorPicker({change:this.value.bind(this)}).data("kendoFlatColorPicker")}});e.spreadsheet.dialogs.register("customColor",v);var k=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.alignmentDialog||n,i={title:o.title,buttons:[{property:"textAlign",value:"left",iconClass:"align-left",text:o.buttons.justifyLeft},{property:"textAlign",value:"center",iconClass:"align-center",text:o.buttons.justifyCenter},{property:"textAlign",value:"right",iconClass:"align-right",text:o.buttons.justifyRight},{property:"textAlign",value:"justify",iconClass:"align-justify",text:o.buttons.justifyFull},{property:"verticalAlign",value:"top",iconClass:"align-top",text:o.buttons.alignTop},{property:"verticalAlign",value:"center",iconClass:"align-middle",text:o.buttons.alignMiddle},{property:"verticalAlign",value:"bottom",iconClass:"align-bottom",text:o.buttons.alignBottom}]};s.fn.init.call(this,t.extend(i,a)),this._list()},options:{template:()=>"<ul class='k-list k-reset'></ul>"},_list:function(){var t=this.dialog().element.find("ul");this.list=new e.ui.StaticList(t,{dataSource:new e.data.DataSource({data:this.options.buttons}),template:t=>`<a role='button' title='${t.text}' data-property='${t.property}' data-value='${t.value}'>\n                                ${e.ui.icon(t.iconClass)} ${t.text}\n                           </a>`,change:this.apply.bind(this)}),this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];s.fn.apply.call(this),this.trigger("action",{command:"PropertyChangeCommand",options:{property:t.property,value:t.value}})}});e.spreadsheet.dialogs.register("alignment",k);var y=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.mergeDialog||n,i={title:o.title,buttons:[{value:"cells",iconClass:"cells-merge",text:o.buttons.mergeCells},{value:"horizontally",iconClass:"cells-merge-horizontally",text:o.buttons.mergeHorizontally},{value:"vertically",iconClass:"cells-merge-vertically",text:o.buttons.mergeVertically},{value:"unmerge",iconClass:"table-unmerge",text:o.buttons.unmerge}]};s.fn.init.call(this,t.extend(i,a)),this._list()},options:{template:()=>"<ul class='k-list k-reset'></ul>"},_list:function(){var t=this.dialog().element.find("ul");this.list=new e.ui.StaticList(t,{dataSource:new e.data.DataSource({data:this.options.buttons}),template:t=>`<a role='button' title='${t.text}' data-value='${t.value}'>${e.ui.icon(t.iconClass)}${t.text}</a>`,change:this.apply.bind(this)}),this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];s.fn.apply.call(this),this.trigger("action",{command:"MergeCellCommand",options:{value:t.value}})}});e.spreadsheet.dialogs.register("merge",y);var x=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.freezeDialog||n,i={title:o.title,buttons:[{value:"panes",iconClass:"pane-freeze",text:o.buttons.freezePanes},{value:"rows",iconClass:"row-freeze",text:o.buttons.freezeRows},{value:"columns",iconClass:"column-freeze",text:o.buttons.freezeColumns},{value:"unfreeze",iconClass:"table-unmerge",text:o.buttons.unfreeze}]};s.fn.init.call(this,t.extend(i,a)),this._list()},options:{template:()=>"<ul class='k-list k-reset'></ul>"},_list:function(){var t=this.dialog().element.find("ul");this.list=new e.ui.StaticList(t,{dataSource:new e.data.DataSource({data:this.options.buttons}),template:t=>`<a role='button' title='${t.text}' data-value='${t.value}'>${e.ui.icon(t.iconClass)}${t.text}</a>`,change:this.apply.bind(this)}),this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];s.fn.apply.call(this),this.trigger("action",{command:"FreezePanesCommand",options:{value:t.value}})}});e.spreadsheet.dialogs.register("freeze",x);var w=e.spreadsheet.ValidationCellsViewModel=a.extend({init:function(e){a.fn.init.call(this,e),this.bind("change",function(e){"criterion"===e.field&&(this.reset(),"custom"!==this.criterion&&"list"!==this.criterion||this.setHintMessageTemplate()),"comparer"===e.field&&this.setHintMessageTemplate(),"hintMessage"!=e.field&&"hintTitle"!=e.field||this._mute||(this.shouldBuild=!1),"from"!=e.field&&"to"!=e.field&&"hintMessageTemplate"!=e.field&&"type"!=e.field||!this.shouldBuild||this.buildMessages()}.bind(this)),this.reset()},buildMessages:function(){this._mute=!0,this.set("hintTitle",this.hintTitleTemplate?e.format(this.hintTitleTemplate,this.type):""),this.set("hintMessage",this.hintMessageTemplate?e.format(this.hintMessageTemplate,this.from,this.to):""),this._mute=!1},reset:function(){this.setComparers(),this.set("comparer",this.comparers[0].type),this.set("from",null),this.set("to",null),this.set("useCustomMessages",!1),this.shouldBuild=!0,this.hintTitleTemplate=this.defaultHintTitle,this.buildMessages()},setComparers:function(){var e=this.defaultComparers,t=[];if("text"===this.criterion)for(var a=["equalTo","notEqualTo"],n=0;n<e.length;n++)a[0]==e[n].type&&(t.push(e[n]),a.shift());else t=e.slice();this.set("comparers",t)},setHintMessageTemplate:function(){"custom"!==this.criterion&&"list"!==this.criterion?this.set("hintMessageTemplate",e.format(this.defaultHintMessage,this.criterion,this.comparerMessages[this.comparer])):(this.set("hintMessageTemplate",""),this.set("hintMessage",""))},isAny:function(){return"any"===this.get("criterion")},isNumber:function(){return"number"===this.get("criterion")},showToForNumber:function(){return this.showTo()&&this.isNumber()},showToForDate:function(){return this.showTo()&&this.isDate()},isText:function(){return"text"===this.get("criterion")},isDate:function(){return"date"===this.get("criterion")},isList:function(){return"list"===this.get("criterion")},isCustom:function(){return"custom"===this.get("criterion")},showRemove:function(){return this.get("hasValidation")},showTo:function(){return"between"==this.get("comparer")||"notBetween"==this.get("comparer")},update:function(e){this.set("hasValidation",!!e),e&&this.fromValidationObject(e)},fromValidationObject:function(e){this.set("criterion",e.dataType),this.set("comparer",e.comparerType),this.set("from",e.from),this.set("to",e.to),this.set("type",e.type),this.set("ignoreBlank",e.allowNulls),this.set("showButton",e.showButton),e.messageTemplate||e.titleTemplate?(this.hintMessageTemplate=e.messageTemplate,this.hintMessage=e.messageTemplate,this.hintTitleTemplate=e.titleTemplate,this.hintTitle=e.titleTemplate,this.useCustomMessages=!0,this.buildMessages()):this.useCustomMessages=!1},toValidationObject:function(){if("any"===this.criterion)return null;var e={type:this.type,dataType:this.criterion,comparerType:this.comparer,from:this.from,to:this.to,allowNulls:this.ignoreBlank,showButton:this.showButton};return this.useCustomMessages&&(e.messageTemplate=this.shouldBuild?this.hintMessageTemplate:this.hintMessage,e.titleTemplate=this.hintTitle),e}}),C=s.extend({init:function(a){var o=e.spreadsheet.messages.dialogs.validationDialog||n,i={title:o.title,hintMessage:o.hintMessage,hintTitle:o.hintTitle,criteria:[{type:"any",name:o.criteria.any},{type:"number",name:o.criteria.number},{type:"text",name:o.criteria.text},{type:"date",name:o.criteria.date},{type:"custom",name:o.criteria.custom},{type:"list",name:o.criteria.list}],comparers:[{type:"greaterThan",name:o.comparers.greaterThan},{type:"lessThan",name:o.comparers.lessThan},{type:"between",name:o.comparers.between},{type:"notBetween",name:o.comparers.notBetween},{type:"equalTo",name:o.comparers.equalTo},{type:"notEqualTo",name:o.comparers.notEqualTo},{type:"greaterThanOrEqualTo",name:o.comparers.greaterThanOrEqualTo},{type:"lessThanOrEqualTo",name:o.comparers.lessThanOrEqualTo}],comparerMessages:o.comparerMessages};s.fn.init.call(this,t.extend(i,a))},options:{width:450,criterion:"any",type:"reject",ignoreBlank:!0,showButton:!0,useCustomMessages:!1,errorTemplate:t=>`<div class="k-tooltip k-tooltip-error k-validator-tooltip">\n                    ${e.ui.icon({icon:"exclamation-circle",iconClass:"k-tooltip-icon"})}\n                    <span class="k-tooltip-content">${t.message}</span>\n                    <span class="k-callout k-callout-n"></span>\n                </div>`,template:t=>{let a;return a=`<div class="k-edit-form-container">\n                    <div class="k-edit-label"><label for="criteria">${e.htmlEncode(t.messages.validationDialog.labels.criteria)}:</label></div>\n                    <div class="k-edit-field"><select id="criteria" data-${e.htmlEncode(t.ns)}role="dropdownlist" title="${e.htmlEncode(t.messages.validationDialog.labels.criteria)}" data-${e.htmlEncode(t.ns)}text-field="name" data-${e.htmlEncode(t.ns)}value-field="type" data-${e.htmlEncode(t.ns)}bind="value: criterion, source: criteria"></select></div>\n                    <div data-${e.htmlEncode(t.ns)}bind="visible: isNumber">\n                    <div class="k-edit-label"><label for="number-comparer">${e.htmlEncode(t.messages.validationDialog.labels.comparer)}:</label></div>\n                    <div class="k-edit-field"><select id="number-comparer" data-${e.htmlEncode(t.ns)}role="dropdownlist" title="${e.htmlEncode(t.messages.validationDialog.labels.comparer)}" data-${e.htmlEncode(t.ns)}text-field="name" data-${e.htmlEncode(t.ns)}value-field="type" data-${e.htmlEncode(t.ns)}bind="value: comparer, source: comparers"></select></div>\n                    <div class="k-edit-label"><label for="comparer-min">${e.htmlEncode(t.messages.validationDialog.labels.min)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="comparer-min" name="${e.htmlEncode(t.messages.validationDialog.labels.min)}" title="${e.htmlEncode(t.messages.validationDialog.labels.min)}" placeholder="e.g. 10" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: from, enabled: isNumber" required="required" /></span></div>\n                    <div data-${e.htmlEncode(t.ns)}bind="visible: showTo">\n                    <div class="k-edit-label"><label for="comparer-max">${e.htmlEncode(t.messages.validationDialog.labels.max)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="comparer-max" name="${e.htmlEncode(t.messages.validationDialog.labels.max)}" title="${e.htmlEncode(t.messages.validationDialog.labels.max)}" placeholder="e.g. 100" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: to, enabled: showToForNumber" required="required" /></span></div>\n                    </div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="visible: isText">\n                    <div class="k-edit-label"><label for="text-comparer">${e.htmlEncode(t.messages.validationDialog.labels.comparer)}:</label></div>\n                    <div class="k-edit-field"><select id="text-comparer" data-${e.htmlEncode(t.ns)}role="dropdownlist" title="${e.htmlEncode(t.messages.validationDialog.labels.comparer)}" data-${e.htmlEncode(t.ns)}text-field="name" data-${e.htmlEncode(t.ns)}value-field="type" data-${e.htmlEncode(t.ns)}bind="value: comparer, source: comparers"></select></div>\n                    <div class="k-edit-label"><label for="text-comparer-value">${e.htmlEncode(t.messages.validationDialog.labels.value)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="text-comparer-value" name="${e.htmlEncode(t.messages.validationDialog.labels.value)}" title="${e.htmlEncode(t.messages.validationDialog.labels.value)}" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: from, enabled: isText" required="required" /></span></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="visible: isDate">\n                    <div class="k-edit-label"><label for="date-comparer">${e.htmlEncode(t.messages.validationDialog.labels.comparer)}:</label></div>\n                    <div class="k-edit-field"><select id="date-comparer" data-${e.htmlEncode(t.ns)}role="dropdownlist" title="${e.htmlEncode(t.messages.validationDialog.labels.comparer)}" data-${e.htmlEncode(t.ns)}text-field="name" data-${e.htmlEncode(t.ns)}value-field="type" data-${e.htmlEncode(t.ns)}bind="value: comparer, source: comparers"></select></div>\n                    <div class="k-edit-label"><label for="date-comparer-start">${e.htmlEncode(t.messages.validationDialog.labels.start)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="date-comparer-start" name="${e.htmlEncode(t.messages.validationDialog.labels.start)}" title="${e.htmlEncode(t.messages.validationDialog.labels.start)}" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: from, enabled: isDate" required="required" /></span></div>\n                    <div data-${e.htmlEncode(t.ns)}bind="visible: showTo">\n                    <div class="k-edit-label"><label for="date-comparer-end">${e.htmlEncode(t.messages.validationDialog.labels.end)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="date-comparer-end" name="${e.htmlEncode(t.messages.validationDialog.labels.end)}" title="${e.htmlEncode(t.messages.validationDialog.labels.end)}" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: to, enabled: showToForDate" required="required" /></span></div>\n                    </div></div><div data-${e.htmlEncode(t.ns)}bind="visible: isCustom">\n                    <div class="k-edit-label"><label for="custom-comparer-value">${e.htmlEncode(t.messages.validationDialog.labels.value)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="custom-comparer-value" name="${e.htmlEncode(t.messages.validationDialog.labels.value)}" title="${e.htmlEncode(t.messages.validationDialog.labels.value)}" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: from, enabled: isCustom" required="required" /></span></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="visible: isList">\n                    <div class="k-edit-label"><label for="list-comparer-value">${e.htmlEncode(t.messages.validationDialog.labels.value)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="list-comparer-value" name="${e.htmlEncode(t.messages.validationDialog.labels.value)}" title="${e.htmlEncode(t.messages.validationDialog.labels.value)}" class="k-input-inner" data-${e.htmlEncode(t.ns)}bind="value: from, enabled: isList" required="required" /></span></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="visible: isList">\n                    <div class="k-edit-field"><input type="checkbox" name="showButton" id="listShowButton" class="k-checkbox k-checkbox-md k-rounded-md" data-${e.htmlEncode(t.ns)}bind="checked: showButton" /><label for="listShowButton" class="k-checkbox-label"> ${e.htmlEncode(t.messages.validationDialog.labels.showListButton)}</label></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="visible: isDate">\n                    <div class="k-edit-field"><input type="checkbox" name="showButton" id="dateShowButton" class="k-checkbox k-checkbox-md k-rounded-md" data-${e.htmlEncode(t.ns)}bind="checked: showButton" /><label for="dateShowButton" class="k-checkbox-label"> ${e.htmlEncode(t.messages.validationDialog.labels.showCalendarButton)}</label></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="invisible: isAny">\n                    <div class="k-edit-field"><input type="checkbox" title="${e.htmlEncode(t.messages.validationDialog.labels.ignoreBlank)}" name="ignoreBlank" id="ignoreBlank" class="k-checkbox k-checkbox-md k-rounded-md" data-${e.htmlEncode(t.ns)}bind="checked: ignoreBlank" /><label for="ignoreBlank" class="k-checkbox-label"> ${e.htmlEncode(t.messages.validationDialog.labels.ignoreBlank)}</label></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="invisible: isAny">\n                    <div class="k-hr"></div>\n                    <div class="k-edit-label"><label>${e.htmlEncode(t.messages.validationDialog.labels.onInvalidData)}:</label></div>\n                    <div class="k-edit-field"><input type="radio" title="${e.htmlEncode(t.messages.validationDialog.labels.rejectInput)}" id="validationTypeReject" name="validationType" value="reject" data-${e.htmlEncode(t.ns)}bind="checked: type" class="k-radio k-radio-md" /><label for="validationTypeReject" class="k-radio-label">${e.htmlEncode(t.messages.validationDialog.labels.rejectInput)}</label> <input type="radio" title="${e.htmlEncode(t.messages.validationDialog.labels.showWarning)}" id="validationTypeWarning" name="validationType" value="warning" data-${e.htmlEncode(t.ns)}bind="checked: type" class="k-radio k-radio-md" /><label for="validationTypeWarning" class="k-radio-label">${e.htmlEncode(t.messages.validationDialog.labels.showWarning)}</label></div>\n                    </div><div data-${e.htmlEncode(t.ns)}bind="invisible: isAny" class="hint-wrapper">\n                    <div class="k-edit-field"><input type="checkbox" title="${e.htmlEncode(t.messages.validationDialog.labels.showHint)}" name="useCustomMessages" id="useCustomMessages" class="k-checkbox k-checkbox-md k-rounded-md" data-${e.htmlEncode(t.ns)}bind="checked: useCustomMessages" /><label class="k-checkbox-label" for="useCustomMessages"> ${e.htmlEncode(t.messages.validationDialog.labels.showHint)}</label></div>\n                    <div data-${e.htmlEncode(t.ns)}bind="visible: useCustomMessages">\n                    <div class="k-edit-label"><label for="hint-title">${e.htmlEncode(t.messages.validationDialog.labels.hintTitle)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="hint-title" name="hint-title" class="k-input-inner" title="${e.htmlEncode(t.messages.validationDialog.labels.hintTitle)}" placeholder="${e.htmlEncode(t.messages.validationDialog.placeholders.typeTitle)}" data-${e.htmlEncode(t.ns)}bind="value: hintTitle" /></span></div>\n                    <div class="k-edit-label"><label for="hint-message">${e.htmlEncode(t.messages.validationDialog.labels.hintMessage)}:</label></div>\n                    <div class="k-edit-field"><span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="hint-message" class="k-input-inner" title="${e.htmlEncode(t.messages.validationDialog.labels.hintMessage)}" placeholder="${e.htmlEncode(t.messages.validationDialog.placeholders.typeMessage)}" data-${e.htmlEncode(t.ns)}bind="value: hintMessage" /></span></div>\n                    </div></div>\n                    <div class="k-actions"><button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-${e.htmlEncode(t.ns)}bind="visible: showRemove, click: remove"><span class="k-button-text">${e.htmlEncode(t.messages.remove)}</span></button><button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary" data-${e.htmlEncode(t.ns)}bind="click: apply"><span class="k-button-text">${e.htmlEncode(t.messages.apply)}</span></button><button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-${e.htmlEncode(t.ns)}bind="click: close"><span class="k-button-text">${e.htmlEncode(t.messages.cancel)}</span></button></div>\n                    </div>`,a}},open:function(t){var a,n=this.options;this.viewModel=new w({type:n.type,defaultHintMessage:n.hintMessage,defaultHintTitle:n.hintTitle,defaultComparers:n.comparers.slice(0),comparerMessages:n.comparerMessages,criteria:n.criteria.slice(0),criterion:n.criterion,ignoreBlank:n.ignoreBlank,showButton:n.showButton,apply:this.apply.bind(this),close:this.close.bind(this),remove:this.remove.bind(this)}),this.viewModel.update(t.validation()),s.fn.open.call(this),a=this.dialog().element,this.validatable&&this.validatable.destroy(),e.bind(a,this.viewModel),this.validatable=new e.ui.Validator(a.find(".k-edit-form-container"),{validateOnBlur:!1,errorTemplate:this.options.errorTemplate||void 0})},apply:function(){this.validatable.validate()&&(s.fn.apply.call(this),this.trigger("action",{command:"EditValidationCommand",options:{value:this.viewModel.toValidationObject()}}))},remove:function(){this.viewModel.set("criterion","any"),this.apply()}});e.spreadsheet.dialogs.register("validation",C),e.spreadsheet.dialogs.ValidationDialog=C;var _=s.extend({init:function(t){s.fn.init.call(this,t),t=this.options,this.viewModel=e.observable({title:t.title,name:t.name,extension:t.extension,fileFormats:t.fileFormats,excel:t.excelExport,pdf:{proxyURL:t.pdfExport.proxyURL,forceProxy:t.pdfExport.forceProxy,title:t.pdfExport.title,author:t.pdfExport.author,autoPrint:t.pdfExport.autoPrint,subject:t.pdfExport.subject,keywords:t.pdfExport.keywords,creator:t.pdfExport.creator,date:t.pdfExport.date,fitWidth:t.pdf.fitWidth,area:t.pdf.area,areas:t.pdf.areas,paperSize:t.pdf.paperSize,paperSizes:t.pdf.paperSizes,margin:t.pdf.margin,margins:t.pdf.margins,landscape:t.pdf.landscape,guidelines:t.pdf.guidelines,hCenter:t.pdf.hCenter,vCenter:t.pdf.vCenter},apply:this.apply.bind(this),close:this.close.bind(this)});var a=this.dialog();this.viewModel.bind("change",(function(e){"extension"===e.field&&(this.set("showPdfOptions",".pdf"===this.extension),a.center())})),e.bind(a.element,this.viewModel)},options:{title:F("exportAsDialog.title","Export..."),name:F("exportAsDialog.defaultFileName","Workbook"),extension:".xlsx",fileFormats:[{description:F("exportAsDialog.xlsx.description","Excel Workbook (.xlsx)"),extension:".xlsx"},{description:F("exportAsDialog.pdf.description","Portable Document Format (.pdf)"),extension:".pdf"}],pdf:{fitWidth:!0,area:"workbook",areas:[{area:"workbook",text:F("exportAsDialog.pdf.area.workbook","Entire Workbook")},{area:"sheet",text:F("exportAsDialog.pdf.area.sheet","Active Sheet")},{area:"selection",text:F("exportAsDialog.pdf.area.selection","Selection")}],paperSize:"a4",paperSizes:["a2","a3","a4","a5","b3","b4","b5","folio","legal","letter","tabloid","executive"].map((function(e){return{value:e,text:F("exportAsDialog.pdf.paper."+e)}})),margin:{bottom:"0.75in",left:"0.7in",right:"0.7in",top:"0.75in"},margins:[{value:{bottom:"0.75in",left:"0.7in",right:"0.7in",top:"0.75in"},text:F("exportAsDialog.pdf.margin.normal","Normal")},{value:{bottom:"0.75in",left:"0.25in",right:"0.25in",top:"0.75in"},text:F("exportAsDialog.pdf.margin.narrow","Narrow")},{value:{bottom:"1in",left:"1in",right:"1in",top:"1in"},text:F("exportAsDialog.pdf.margin.wide","Wide")}],landscape:!0,guidelines:!0,hCenter:!0,vCenter:!0},width:520,template:a=>{let n;return n=`<div class='k-edit-label'><label id='name-label'>${e.htmlEncode(a.messages.exportAsDialog.labels.fileName)}:</label></div>\n                    <div class='k-edit-field'><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input aria-labelledby='name-label' class='k-input-inner' data-${e.htmlEncode(a.ns)}bind='value: name' /></span></div>\n                    <div >\n                       <div class='k-edit-label'><label id='file-format-label'>${e.htmlEncode(a.messages.exportAsDialog.labels.saveAsType)}:</label></div>\n                       <div class='k-edit-field'><select aria-labelledby='file-format-label' data-${e.htmlEncode(a.ns)}role='dropdownlist' class='k-file-format' data-${e.htmlEncode(a.ns)}text-field='description' data-${e.htmlEncode(a.ns)}value-field='extension' data-${e.htmlEncode(a.ns)}bind='value: extension, source: fileFormats'></select></div>\n                    </div>\n                    <div class='k-export-config' data-${e.htmlEncode(a.ns)}bind='visible: showPdfOptions'>\n                    <hr class='k-hr' />\n                    <div class='k-edit-label'><label id='export-area-label'>${e.htmlEncode(a.messages.exportAsDialog.labels.exportArea)}:</label></div>\n                    <div class='k-edit-field'><select aria-labelledby='export-area-label' data-${e.htmlEncode(a.ns)}role='dropdownlist' class='k-file-format' data-${e.htmlEncode(a.ns)}text-field='text' data-${e.htmlEncode(a.ns)}value-field='area' data-${e.htmlEncode(a.ns)}bind='value: pdf.area, source: pdf.areas'></select></div>\n                    <div class='k-edit-label'><label id='paper-size-label'>${e.htmlEncode(a.messages.exportAsDialog.labels.paperSize)}:</label></div>\n                    <div class='k-edit-field'><select aria-labelledby='paper-size-label' data-${e.htmlEncode(a.ns)}role='dropdownlist' class='k-file-format' data-${e.htmlEncode(a.ns)}text-field='text' data-${e.htmlEncode(a.ns)}value-field='value' data-${e.htmlEncode(a.ns)}bind='value: pdf.paperSize, source: pdf.paperSizes'></select></div>\n                    <div class='k-edit-label'><label id='margins-label'>${e.htmlEncode(a.messages.exportAsDialog.labels.margins)}:</label></div>\n                    <div class='k-edit-field'><select aria-labelledby='margins-label' data-${e.htmlEncode(a.ns)}role='dropdownlist' class='k-file-format' data-${e.htmlEncode(a.ns)}value-primitive='true'data-${e.htmlEncode(a.ns)}text-field='text' data-${e.htmlEncode(a.ns)}value-field='value' data-${e.htmlEncode(a.ns)}bind='value: pdf.margin, source: pdf.margins'></select></div>\n                    <div class='k-edit-label'><label>${e.htmlEncode(a.messages.exportAsDialog.labels.orientation)}:</label></div>\n                    <div class='k-edit-field'>\n                       <div class='k-button-group'>\n                          <input type='radio' id='k-orientation-portrait' aria-label='orientation portrait' name='orientation' data-${e.htmlEncode(a.ns)}type='boolean' data-${e.htmlEncode(a.ns)}bind='checked: pdf.landscape' value='false' />\n                          <label class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-group-start k-orientation-button' for='k-orientation-portrait'>\n                          ${e.ui.icon({icon:"file",iconClass:"k-button-icon"})}\n                          </label>\n                          <input type='radio' id='k-orientation-landscape' aria-label='orientation landscape' name='orientation' data-${e.htmlEncode(a.ns)}type='boolean' data-${e.htmlEncode(a.ns)}bind='checked: pdf.landscape' value='true' />\n                          <label class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-group-end k-orientation-button' for='k-orientation-landscape'>\n                          ${e.ui.icon({icon:"file-horizontal",iconClass:"k-button-icon"})}\n                          </label>\n                       </div>\n                    </div>\n                    <div class='k-edit-label'><label>${e.htmlEncode(a.messages.exportAsDialog.labels.print)}:</label></div>\n                    <div class='k-edit-field'><input class='k-checkbox k-checkbox-md k-rounded-md' id='guidelines' type='checkbox' data-${e.htmlEncode(a.ns)}bind='checked: pdf.guidelines'/><label class='k-checkbox-label' for='guidelines'>${e.htmlEncode(a.messages.exportAsDialog.labels.guidelines)}</label></div>\n                    <div class='k-edit-label'><label>${e.htmlEncode(a.messages.exportAsDialog.labels.scale)}:</label></div>\n                    <div class='k-edit-field'><input class='k-checkbox k-checkbox-md k-rounded-md' id='fitWidth' type='checkbox' data-${e.htmlEncode(a.ns)}bind='checked: pdf.fitWidth'/><label class='k-checkbox-label' for='fitWidth'>${e.htmlEncode(a.messages.exportAsDialog.labels.fit)}</label></div>\n                    <div class='k-edit-label'><label>${e.htmlEncode(a.messages.exportAsDialog.labels.center)}:</label></div>\n                    <div class='k-edit-field'><input class='k-checkbox k-checkbox-md k-rounded-md' id='hCenter' type='checkbox' data-${e.htmlEncode(a.ns)}bind='checked: pdf.hCenter'/><label class='k-checkbox-label' for='hCenter'>${e.htmlEncode(a.messages.exportAsDialog.labels.horizontally)}</label><input class='k-checkbox k-checkbox-md k-rounded-md' id='vCenter' type='checkbox' data-${e.htmlEncode(a.ns)}bind='checked: pdf.vCenter'/><label class='k-checkbox-label' for='vCenter'>${e.htmlEncode(a.messages.exportAsDialog.labels.vertically)}</label></div>\n                    <div class='k-page-orientation'>\n                       ${e.ui.icon(t(`<span data-${a.ns}bind='invisible: pdf.landscape'></span>`),{icon:"file"})}\n                       ${e.ui.icon(t(`<span data-${a.ns}bind='visible: pdf.landscape'></span>`),{icon:"file-horizontal"})}\n                    </div>\n                    </div>\n                    <div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-${e.htmlEncode(a.ns)}bind='click: apply'><span class='k-button-text'>${e.htmlEncode(a.messages.save)}</span></button><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-${e.htmlEncode(a.ns)}bind='click: close'><span class='k-button-text'>${e.htmlEncode(a.messages.cancel)}</span></button></div>`,n}},apply:function(){s.fn.apply.call(this),this.trigger("action",{command:"SaveAsCommand",options:this.viewModel})}});function D(t,a){e.spreadsheet.dialogs.register(t,c.extend({options:{messageId:a}}))}e.spreadsheet.dialogs.register("exportAs",_),D("modifyMerged","modifyMergedDialog.errorMessage"),D("rangeDisabled","rangeDisabledDialog.errorMessage"),D("intersectsArray","intersectsArrayDialog.errorMessage"),D("overflow","overflowDialog.errorMessage"),D("unsupportedSelection","unsupportedSelectionDialog.errorMessage"),D("incompatibleRanges","incompatibleRangesDialog.errorMessage"),D("noFillDirection","noFillDirectionDialog.errorMessage"),D("duplicateSheetName","duplicateSheetNameDialog.errorMessage");var E=c.extend({options:{width:640,title:"Errors in import",template:t=>{let a;a=`<div class='k-spreadsheet-message-content k-spreadsheet-import-errors'><div class='k--header-message'>We encountered ${t.errors.length} errors while reading this file.  Please be aware that some formulas might be missing, or contain invalid results.</div><div class='k--errors'><table><thead><tr><th>Context</th><th>Error message</th></tr></thead>`;for(let t=0;t<errors.length;++t){a+="";let n=errors[t];a+=`<tr><td>${e.htmlEncode(n.context)}</td><td>${e.htmlEncode(n.error)}</td></tr>`}return a+=`</table></div></div><div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-${e.htmlEncode(t.ns)}bind='click: close'><span class='k-button-text'>${e.htmlEncode(t.messages.okText)}</span></button></div>`,a}}});e.spreadsheet.dialogs.register("importError",E);var B=c.extend({options:{title:F("useKeyboardDialog.title","Copying and pasting"),template:t=>{let a;return a=`${e.htmlEncode(t.messages.useKeyboardDialog.errorMessage)}\n                <div>Ctrl+C ${e.htmlEncode(t.messages.useKeyboardDialog.labels.forCopy)}</div>\n                <div>Ctrl+X ${e.htmlEncode(t.messages.useKeyboardDialog.labels.forCut)}</div>\n                <div>Ctrl+V ${e.htmlEncode(t.messages.useKeyboardDialog.labels.forPaste)}</div>\n                <div class="k-actions"><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n                        data-${e.htmlEncode(t.ns)}bind='click: close'><span\n                            class='k-button-text'>${t.messages.okText}</span></button></div>`,a}}});e.spreadsheet.dialogs.register("useKeyboard",B);var S=s.extend({options:{title:F("linkDialog.title","Hyperlink"),template:t=>{let a;return a=`<div class='k-edit-label'><label id='url-label'>${e.htmlEncode(t.messages.linkDialog.labels.url)}:</label></div>\n<div class='k-edit-field'><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input\n            class='k-input-inner' data-${e.htmlEncode(t.ns)}bind='value: url'\n            title='${e.htmlEncode(t.messages.linkDialog.labels.url)}' aria-labelledby='url-label' /></span></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-left'\n        data-${e.htmlEncode(t.ns)}bind='click: remove'><span\n            class='k-button-text'>${t.messages.linkDialog.labels.removeLink}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: apply'><span\n            class='k-button-text'>${t.messages.okText}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: cancel'><span\n            class='k-button-text'>${t.messages.cancel}</span></button></div>`,a},autoFocus:!1},open:function(a){var n=this;s.fn.open.apply(n,arguments);var o=n.dialog().element,i=e.observable({url:a.link(),apply:function(){/\S/.test(i.url)||(i.url=null),n.trigger("action",{command:"HyperlinkCommand",options:{link:i.url}}),n.close()},remove:function(){i.url=null,i.apply()},cancel:n.close.bind(n)});e.bind(o,i),o.find("input").trigger("focus").on("keydown",(function(e){13==e.keyCode?(i.url=t(this).val(),e.stopPropagation(),e.preventDefault(),i.apply()):27==e.keyCode&&(e.stopPropagation(),e.preventDefault(),i.cancel())}))}});e.spreadsheet.dialogs.register("hyperlink",S);var $=s.extend({options:{title:F("sheetRenameDialog.title","Rename Sheet"),template:t=>{let a;return a=`<div class='k-edit-label'><label id='sheet-name-label'>${e.htmlEncode(t.messages.sheetRenameDialog.labels.text)}:</label></div>\n<div class='k-edit-field'><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input\n            class='k-input-inner' data-${e.htmlEncode(t.ns)}bind='value: sheetName'\n            title='${e.htmlEncode(t.messages.sheetRenameDialog.labels.text)}' aria-labelledby='sheet-name-label' /></span></div>\n<div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='click: apply'><span\n            class='k-button-text'>${t.messages.sheetRenameDialog.labels.rename}</span></button><button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: cancel'><span\n            class='k-button-text'>${t.messages.cancel}</span></button></div>`,a},autoFocus:!1},open:function(a,n){let o=a.sheet(),i=this;s.fn.open.apply(i,arguments);let r=i.dialog().element,l=e.observable({sheetName:n?._oldSheetName||o.name(),apply:function(){i._newSheetName=l.sheetName,i.close()},cancel:i.close.bind(i)});e.bind(r,l),r.find("input").trigger("focus").on("keydown",(function(e){13==e.keyCode?(l.sheetName=t(this).val(),e.stopPropagation(),e.preventDefault(),l.apply()):27==e.keyCode&&(e.stopPropagation(),e.preventDefault(),l.cancel())}))}});e.spreadsheet.dialogs.register("renameSheet",$);var T=s.extend({options:{className:"k-spreadsheet-insert-comment",template:t=>{let a;return a=`<div class='k-edit-label'><label id='comment-label'>${e.htmlEncode(t.messages.insertCommentDialog.labels.comment)}:</label></div>\n                <div class='k-edit-field'><span class='k-input k-textarea k-input-solid k-input-md k-rounded-md'><textarea\n                    aria-labelledby='comment-label' rows='5' class='k-input-inner'\n                    data-${e.htmlEncode(t.ns)}bind='value: comment'></textarea></span></div>\n                <div class='k-actions'> <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-left'\n                    data-${e.htmlEncode(t.ns)}bind='click: remove'><span\n                    class='k-button-text'>${e.htmlEncode(t.messages.insertCommentDialog.labels.removeComment)}</span></button>\n                <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n                    data-${e.htmlEncode(t.ns)}bind='click: apply'><span\n                    class='k-button-text'>${e.htmlEncode(t.messages.okText)}</span></button> <button\n                    class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n                    data-${e.htmlEncode(t.ns)}bind='click: cancel'><span\n                    class='k-button-text'>${t.messages.cancel}</span></button></div>`,a},title:F("insertCommentDialog.title","Insert comment"),autoFocus:!1,width:450},open:function(t){var a=this;s.fn.open.apply(a,arguments);var n=a.dialog().element,o=e.observable({comment:t.comment(),apply:function(){/\S/.test(o.comment)||(o.comment=null),a.trigger("action",{command:"InsertCommentCommand",options:{value:o.comment}}),a.close()},remove:function(){o.comment=null,o.apply()},cancel:a.close.bind(a)});e.bind(n,o),n.find("textarea").trigger("focus")}});e.spreadsheet.dialogs.register("insertComment",T);var R=s.extend({options:{template:t=>{let a;return a=`<div class='k-spreadsheet-insert-image-dialog'> <label\n        data-${e.htmlEncode(t.ns)}bind='style: { background-image: imageUrl }, css: { k-spreadsheet-has-image: hasImage, k-hover: isHovered }, events: { dragenter: dragEnter, dragover: stopEvent, dragleave: dragLeave, drop: drop }'>\n        <div data-${e.htmlEncode(t.ns)}bind='text: info'></div>\n        <input type='file' data-${e.htmlEncode(t.ns)}bind='events: { change: change }'\n            accept='image/png, image/jpeg, image/gif' />\n    </label></div>\n<div class='k-actions'> <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'\n        data-${e.htmlEncode(t.ns)}bind='enabled: okEnabled, click: apply'><span\n            class='k-button-text'>${e.htmlEncode(t.messages.okText)}</span></button> <button\n        class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'\n        data-${e.htmlEncode(t.ns)}bind='click: cancel'><span\n            class='k-button-text'>${t.messages.cancel}</span></button></div>`,a},title:F("insertImageDialog.title","Insert image"),width:"auto"},open:function(){var t=this;s.fn.open.apply(t,arguments);var a=t.dialog().element,n=e.observable({okEnabled:!1,info:e.spreadsheet.messages.dialogs.insertImageDialog.info,imageUrl:"",hasImage:!1,isHovered:!1,_url:null,_image:null,apply:function(){window.URL.revokeObjectURL(n._url),t.trigger("action",{command:"InsertImageCommand",options:{blob:n._image,width:n._width,height:n._height}}),t.close()},cancel:t.close.bind(t),stopEvent:function(e){e.stopPropagation(),e.preventDefault()},drop:function(e){n.stopEvent(e),n.selectFile(e.originalEvent.dataTransfer.files),n.set("isHovered",!1)},dragEnter:function(e){n.stopEvent(e),n.set("isHovered",!0)},dragLeave:function(e){n.stopEvent(e),n.set("isHovered",!1)},change:function(e){n.selectFile(e.target.files)},selectFile:function(t){for(var a,o=0;o<t.length;++o)if(/^image\//i.test(t[o].type)){a=t[o];break}if(n._url&&window.URL.revokeObjectURL(n._url),a){n._image=a,n._url=window.URL.createObjectURL(a);var s=new Image;s.src=n._url,s.onload=function(){n._width=s.width,n._height=s.height,n.set("info",e.spreadsheet.messages.dialogs.insertImageDialog.info),n.set("okEnabled",!0),n.set("imageUrl","url('"+n._url+"')"),n.set("hasImage",!0)}}else n._image=null,n.set("info",e.spreadsheet.messages.dialogs.insertImageDialog.typeError),n.set("okEnabled",!1),n.set("imageUrl",""),n.set("hasImage",!1)}});e.bind(a,n)}});function M(e,t){this.path=e.split("."),this.def=t}function F(e,t){return new M(e,t)}function I(e){return e instanceof M?e.trans():Array.isArray(e)?e.map(I):null!=e&&"object"==typeof e?Object.keys(e).reduce((function(t,a){return t[a]=I(e[a]),t}),{}):e}e.spreadsheet.dialogs.register("insertImage",R),M.prototype.trans=function(){for(var t=e.spreadsheet.messages.dialogs,a=0;a<this.path.length;++a)if(!(t=t[this.path[a]]))return this.def;return t}}(window.kendo),function(e){var t=e.jQuery,a=["allBorders","insideBorders","insideHorizontalBorders","insideVerticalBorders","outsideBorders","leftBorder","topBorder","rightBorder","bottomBorder","noBorders"],n={allBorders:"bordersAll",insideBorders:"bordersInside",insideHorizontalBorders:"bordersInsideHorizontal",insideVerticalBorders:"bordersInsideVertical",outsideBorders:"bordersOutside",leftBorder:"borderLeft",topBorder:"borderTop",rightBorder:"borderRight",bottomBorder:"borderBottom",noBorders:"bordersNone"},o=e.spreadsheet.messages.borderPalette={allBorders:"All borders",insideBorders:"Inside borders",insideHorizontalBorders:"Inside horizontal borders",insideVerticalBorders:"Inside vertical borders",outsideBorders:"Outside borders",leftBorder:"Left border",topBorder:"Top border",rightBorder:"Right border",bottomBorder:"Bottom border",noBorders:"No border"},s=["#ffffff","#000000","#d6ecff","#4e5b6f","#7fd13b","#ea157a","#feb80a","#00addc","#738ac8","#1ab39f","#f2f2f2","#7f7f7f","#a7d6ff","#d9dde4","#e5f5d7","#fad0e4","#fef0cd","#c5f2ff","#e2e7f4","#c9f7f1","#d8d8d8","#595959","#60b5ff","#b3bcca","#cbecb0","#f6a1c9","#fee29c","#8be6ff","#c7d0e9","#94efe3","#bfbfbf","#3f3f3f","#007dea","#8d9baf","#b2e389","#f272af","#fed46b","#51d9ff","#aab8de","#5fe7d5","#a5a5a5","#262626","#003e75","#3a4453","#5ea226","#af0f5b","#c58c00","#0081a5","#425ea9","#138677","#7f7f7f","#0c0c0c","#00192e","#272d37","#3f6c19","#750a3d","#835d00","#00566e","#2c3f71","#0c594f"],i=e.ui.Widget.extend({init:function(t,a){e.ui.Widget.call(this,t,a),this.element=t,this.color="#000",this.element.addClass("k-spreadsheet-popup"),this._borderTypePalette(),this._borderColorPalette()},options:{name:"BorderPalette"},events:["change"],destroy:function(){this.colorChooser.destroy(),e.destroy(this.element.find(".k-spreadsheet-border-type-palette"))},value:function(){return{type:this.type,color:this.color}},_borderTypePalette:function(){var s=this,i=o,r=t("<div />",{class:"k-spreadsheet-border-type-palette"});t('<span class="k-column-menu-group-header"><span class="k-column-menu-group-header-text">Border type</span></span>').appendTo(this.element),r.appendTo(this.element),a.map((function(a){t('<button title="'+i[a]+'" aria-label="'+i[a]+'" data-border-type="'+a+'">').appendTo(r).kendoToggleButton({icon:e.toHyphens(n[a]),toggle:s._toggle.bind(s)})}))},_borderColorPalette:function(){var a=t("<div />",{class:"k-spreadsheet-border-color-palette"});t('<span class="k-column-menu-group-header"><span class="k-column-menu-group-header-text">Border color</span></span>').appendTo(this.element),a.appendTo(this.element),this.colorChooser=new e.ui.FlatColorPicker(a,{buttons:!this.options.change,color:this.color,view:"palette",palette:s,input:!1,change:this._change.bind(this)}),this.colorChooser.wrapper.find(".k-coloreditor-apply").on("click",this._apply.bind(this)),this.colorChooser.wrapper.find(".k-coloreditor-cancel").on("click",this._cancel.bind(this))},_change:function(){this.color=this.colorChooser.value()},_toggle:function(e){var t=e.target.data("borderType"),a=e.target.siblings(".k-selected").data("kendoToggleButton");!0===e.checked?(a&&a.toggle(!1),this.type=t):this.type=null},_apply:function(){this.trigger("change",{type:this.type,color:this.color})},_cancel:function(){this.trigger("change",{type:null,color:null})}});e.spreadsheet.BorderPalette=i}(window.kendo),function(e){var t=e.jQuery;function a(t){return`<button role="button">${e.ui.icon({icon:t,iconClass:"k-button-icon"})}<span class="k-button-text">${e.ui.icon("caret-alt-down")}</span></button>`}var n=e.ui.ToolBar,o=e.spreadsheet.messages.toolbar={addColumnLeft:"Add column left",addColumnRight:"Add column right",addRowAbove:"Add row above",addRowBelow:"Add row below",alignment:"Alignment",alignmentButtons:{justifyLeft:"Align left",justifyCenter:"Center",justifyRight:"Align right",justifyFull:"Justify",alignTop:"Align top",alignMiddle:"Align middle",alignBottom:"Align bottom"},backgroundColor:"Background",increaseFontSize:"Increase font size",decreaseFontSize:"Decrease font size",bold:"Bold",borders:"Borders",copy:"Copy",cut:"Cut",deleteColumn:"Delete column",deleteRow:"Delete row",filter:"Filter",fontFamily:"Font",fontSize:"Font size",format:"Custom format...",formatTypes:{automatic:"Automatic",text:"Text",number:"Number",percent:"Percent",financial:"Financial",currency:"Currency",date:"Date",time:"Time",dateTime:"Date time",duration:"Duration",moreFormats:"More formats..."},formatDecreaseDecimal:"Decrease decimal",formatIncreaseDecimal:"Increase decimal",freeze:"Freeze panes",freezeButtons:{freezePanes:"Freeze panes",freezeRows:"Freeze rows",freezeColumns:"Freeze columns",unfreeze:"Unfreeze panes"},insertComment:"Insert comment",insertImage:"Insert image",italic:"Italic",merge:"Merge cells",mergeButtons:{mergeCells:"Merge all",mergeHorizontally:"Merge horizontally",mergeVertically:"Merge vertically",unmerge:"Unmerge"},open:"Open...",paste:"Paste",redo:"Redo",undo:"Undo",exportAs:"Export...",toggleGridlines:"Toggle gridlines",sort:"Sort",sortButtons:{sortRangeAsc:"Sort range A to Z",sortRangeDesc:"Sort range Z to A"},textColor:"Text Color",textWrap:"Wrap text",underline:"Underline",validation:"Data validation...",hyperlink:"Link"},s=e.spreadsheet.formats={automatic:null,text:"@",number:"#,0.00",percent:"0.00%",financial:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',currency:"$#,##0.00;[Red]$#,##0.00",date:"m/d/yyyy",time:"h:mm:ss AM/PM",dateTime:"m/d/yyyy h:mm",duration:"[h]:mm:ss"},i=["#ffffff","#000000","#d6ecff","#4e5b6f","#7fd13b","#ea157a","#feb80a","#00addc","#738ac8","#1ab39f","#f2f2f2","#7f7f7f","#a7d6ff","#d9dde4","#e5f5d7","#fad0e4","#fef0cd","#c5f2ff","#e2e7f4","#c9f7f1","#d8d8d8","#595959","#60b5ff","#b3bcca","#cbecb0","#f6a1c9","#fee29c","#8be6ff","#c7d0e9","#94efe3","#bfbfbf","#3f3f3f","#007dea","#8d9baf","#b2e389","#f272af","#fed46b","#51d9ff","#aab8de","#5fe7d5","#a5a5a5","#262626","#003e75","#3a4453","#5ea226","#af0f5b","#c58c00","#0081a5","#425ea9","#138677","#7f7f7f","#0c0c0c","#00192e","#272d37","#3f6c19","#750a3d","#835d00","#00566e","#2c3f71","#0c594f"],r=e.spreadsheet.messages.colorPicker={reset:"Reset color",customColor:"Custom color...",apply:"Apply",cancel:"Cancel"},l={undo:{type:"button",name:"undo",icon:"undo",command:"undo"},redo:{type:"button",name:"redo",icon:"redo",command:"redo"},separator:{type:"separator"},open:{type:"open",name:"open",icon:"folder-open",extensions:".xlsx",command:"OpenCommand"},exportAs:{type:"button",name:"exportAs",dialog:"exportAs",overflow:"never",icon:"download"},bold:{type:"button",command:"PropertyChangeCommand",property:"bold",value:!0,icon:"bold",togglable:!0},italic:{type:"button",command:"PropertyChangeCommand",property:"italic",value:!0,icon:"italic",togglable:!0},underline:{type:"button",command:"PropertyChangeCommand",property:"underline",value:!0,icon:"underline",togglable:!0},formatDecreaseDecimal:{type:"button",name:"formatDecreaseDecimal",command:"AdjustDecimalsCommand",value:-1,icon:"decimal-decrease"},formatIncreaseDecimal:{type:"button",name:"formatIncreaseDecimal",command:"AdjustDecimalsCommand",value:1,icon:"decimal-increase"},textWrap:{type:"button",name:"textWrap",command:"TextWrapCommand",property:"wrap",value:!0,icon:"text-wrap",togglable:!0},cut:{type:"button",name:"cut",command:"ToolbarCutCommand",icon:"cut"},copy:{type:"button",name:"copy",command:"ToolbarCopyCommand",icon:"copy"},paste:{type:"button",name:"paste",command:"ToolbarPasteCommand",icon:"clipboard"},alignment:{type:"component",name:"alignment",property:"alignment",component:"DropDownButton",element:a("align-left"),overflowComponent:{type:"button",dialog:"alignment",icon:"align-left"},componentOptions:{fillMode:"flat",items:[{attributes:{"data-value":"left","data-property":"textAlign","data-command":"PropertyChangeCommand"},icon:"align-left",text:o.alignmentButtons.justifyLeft},{attributes:{"data-value":"center","data-property":"textAlign","data-command":"PropertyChangeCommand"},icon:"align-center",text:o.alignmentButtons.justifyCenter},{attributes:{"data-value":"right","data-property":"textAlign","data-command":"PropertyChangeCommand"},icon:"align-right",text:o.alignmentButtons.justifyRight},{attributes:{"data-value":"justify","data-property":"textAlign","data-command":"PropertyChangeCommand"},icon:"align-justify",text:o.alignmentButtons.justifyFull},{attributes:{class:"k-separator"}},{attributes:{"data-value":"top","data-property":"verticalAlign","data-command":"PropertyChangeCommand"},icon:"align-top",text:o.alignmentButtons.alignTop},{attributes:{"data-value":"center","data-property":"verticalAlign","data-command":"PropertyChangeCommand"},icon:"align-middle",text:o.alignmentButtons.alignMiddle},{attributes:{"data-value":"bottom","data-property":"verticalAlign","data-command":"PropertyChangeCommand"},icon:"align-bottom",text:o.alignmentButtons.alignBottom}],commandOn:"click"}},backgroundColor:{type:"component",name:"backgroundColor",commandOn:"change",command:"PropertyChangeCommand",property:"background",component:"ColorPicker",componentOptions:{view:"palette",toolIcon:"droplet",fillMode:"flat",palette:i,clearButton:!0,messages:r,input:!1,commandOn:"change"},overflowComponent:{type:"button",dialog:"colorPicker",icon:"droplet",property:"background"}},textColor:{type:"component",name:"textColor",commandOn:"change",command:"PropertyChangeCommand",property:"color",component:"ColorPicker",componentOptions:{view:"palette",fillMode:"flat",toolIcon:"foreground-color",palette:i,clearButton:!0,messages:r,input:!1,commandOn:"change"},overflowComponent:{type:"button",dialog:"colorPicker",icon:"foreground-color",property:"color"}},fontFamily:{type:"component",name:"fontFamily",command:"PropertyChangeCommand",property:"fontFamily",component:"DropDownList",overflowComponent:{type:"button",dialog:"fontFamily",icon:"font-family"},componentOptions:{dataSource:["Arial","Courier New","Georgia","Times New Roman","Trebuchet MS","Verdana"],value:"Arial",fillMode:"flat",commandOn:"change"}},fontSize:{type:"component",name:"fontSize",command:"PropertyChangeCommand",property:"fontSize",component:"ComboBox",overflowComponent:{type:"button",dialog:"fontSize",icon:"font-size"},componentOptions:{dataSource:[8,9,10,11,12,13,14,16,18,20,22,24,26,28,36,48,72],value:12,fillMode:"flat",commandOn:"change"}},increaseFontSize:{type:"button",name:"increaseFontSize",command:"IncreaseFontSize",property:"fontSize",icon:"font-grow"},decreaseFontSize:{type:"button",name:"decreaseFontSize",command:"DecreaseFontSize",property:"fontSize",icon:"font-shrink"},format:{type:"component",name:"format",component:"DropDownButton",element:a("custom-format"),overflowComponent:{type:"button",dialog:"formatCells",icon:"custom-format"},componentOptions:{fillMode:"flat",items:[{attributes:{"data-value":s.automatic,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.automatic},{attributes:{"data-value":s.text,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.text},{attributes:{"data-value":s.number,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.number,sample:"1,499.99"},{attributes:{"data-value":s.percent,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.percent,sample:"14.50%"},{attributes:{"data-value":s.financial,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.financial,sample:"(1,000.12)"},{attributes:{"data-value":s.currency,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.currency,sample:"$1,499.99"},{attributes:{"data-value":s.date,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.date,sample:"4/21/2012"},{attributes:{"data-value":s.time,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.time,sample:"5:49:00 PM"},{attributes:{"data-value":s.dateTime,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.dateTime,sample:"4/21/2012 5:49:00"},{attributes:{"data-value":s.duration,"data-command":"PropertyChangeCommand","data-property":"format"},text:o.formatTypes.duration,sample:"168:05:00"},{attributes:{"data-value":"popup","data-popup":"formatCells"},text:o.formatTypes.moreFormats}],itemTemplate:t=>{let a;return a='<span class="k-link k-menu-link"><span class="k-menu-link-text">',t.sample&&(a+=`<span class='k-spreadsheet-sample'>${e.htmlEncode(t.sample)}</span> `),a+=`${e.htmlEncode(t.text)}</span></span>`,a},commandOn:"click"}},filter:{type:"button",name:"filter",property:"hasFilter",icon:"filter",command:"FilterCommand",togglable:!0,enable:!1},merge:{type:"component",name:"merge",component:"DropDownButton",element:a("cells-merge"),overflowComponent:{type:"button",dialog:"merge",icon:"cells-merge"},componentOptions:{fillMode:"flat",items:[{attributes:{"data-value":"cells","data-command":"MergeCellCommand"},icon:"cells-merge",text:o.mergeButtons.mergeCells},{attributes:{"data-value":"horizontally","data-command":"MergeCellCommand"},icon:"cells-merge-horizontally",text:o.mergeButtons.mergeHorizontally},{attributes:{"data-value":"vertically","data-command":"MergeCellCommand"},icon:"cells-merge-vertically",text:o.mergeButtons.mergeVertically},{attributes:{"data-value":"unmerge","data-command":"MergeCellCommand"},icon:"table-unmerge",text:o.mergeButtons.unmerge}],commandOn:"click"}},freeze:{type:"component",name:"freeze",component:"DropDownButton",element:a("pane-freeze"),overflowComponent:{type:"button",dialog:"freeze",icon:"pane-freeze"},componentOptions:{fillMode:"flat",items:[{attributes:{"data-value":"panes","data-command":"FreezePanesCommand"},icon:"pane-freeze",text:o.freezeButtons.freezePanes},{attributes:{"data-value":"rows","data-command":"FreezePanesCommand"},icon:"row-freeze",text:o.freezeButtons.freezeRows},{attributes:{"data-value":"columns","data-command":"FreezePanesCommand"},icon:"column-freeze",text:o.freezeButtons.freezeColumns},{attributes:{"data-value":"unfreeze","data-command":"FreezePanesCommand"},icon:"table-unmerge",text:o.freezeButtons.unfreeze}],commandOn:"click"}},borders:{type:"popupButton",name:"borders",icon:"borders-all",popupComponent:e.spreadsheet.BorderPalette,commandOn:"change",command:"BorderChangeCommand",overflowComponent:{type:"button",dialog:"borders"}},formatCells:{type:"button",dialog:"formatCells",overflow:"never"},hyperlink:{type:"button",name:"hyperlink",dialog:"hyperlink",icon:"link"},toggleGridlines:{type:"button",name:"toggleGridlines",command:"GridLinesChangeCommand",property:"gridLines",value:!0,icon:"borders-none",togglable:!0,selected:!0},insertComment:{type:"button",name:"insertComment",dialog:"insertComment",property:"comment",togglable:!0,icon:"comment"},insertImage:{type:"button",name:"insertImage",dialog:"insertImage",icon:"image"},addColumnLeft:{type:"button",name:"addColumnLeft",command:"AddColumnCommand",value:"left",icon:"table-column-insert-left"},addColumnRight:{type:"button",name:"addColumnRight",command:"AddColumnCommand",value:"right",icon:"table-column-insert-right"},addRowBelow:{type:"button",name:"addRowBelow",command:"AddRowCommand",value:"below",icon:"table-row-insert-below"},addRowAbove:{type:"button",name:"addRowAbove",command:"AddRowCommand",value:"above",icon:"table-row-insert-above"},deleteColumn:{type:"button",name:"deleteColumn",command:"DeleteColumnCommand",icon:"table-column-delete"},deleteRow:{type:"button",name:"deleteRow",command:"DeleteRowCommand",icon:"table-row-delete"},sort:{type:"component",name:"sort",component:"DropDownButton",element:a("sort-desc"),overflowComponent:{type:"button",dialog:"sort",icon:"sort-desc"},componentOptions:{fillMode:"flat",items:[{attributes:{"data-value":"asc","data-command":"SortCommand"},sheet:!1,text:o.sortButtons.sortRangeAsc,icon:"sort-asc"},{attributes:{"data-value":"desc","data-command":"SortCommand"},sheet:!1,text:o.sortButtons.sortRangeDesc,icon:"sort-desc"}],commandOn:"click"}},validation:{type:"button",name:"validation",dialog:"validation",icon:"exclamation-circle"}},d=n.extend({init:function(e,t){Object.keys(l).forEach((e=>{"validation"!==e&&(l[e].showText="overflow")})),t.tools=t.tools||d.prototype.options.tools[t.toolbarName],t.parentMessages=o,t.defaultTools=l,n.fn.init.call(this,e,t);var a=this._click.bind(this);this.element.addClass("k-spreadsheet-toolbar k-toolbar-md"),this.bind({click:a,toggle:a,change:a})},_click:function(e){var t=e.target,a=t.data("property"),n=e.value||t.data("value")||e.target.val(),o=t.data("command"),s=t.data("dialog"),i=t.data("options")||{};if("popup"===n&&(s=t.data("popup")),"IncreaseFontSize"===o&&(o="PropertyChangeCommand",n++),"DecreaseFontSize"===o&&(o="PropertyChangeCommand",n--),i.property=a||null,i.value=n||null,s)this.dialog({name:s,options:i});else if(o){var r={command:o,options:i};"boolean"==typeof r.options.value&&(r.options.value=!!e.checked||null),this.action(r)}},events:["action","dialog"],options:{name:"SpreadsheetToolBar",resizable:!0,tools:{file:["open","exportAs"],format:["format","formatDecreaseDecimal","formatIncreaseDecimal"],home:[["undo","redo"],"separator",["cut","copy","paste"],"separator","fontFamily","fontSize","increaseFontSize","decreaseFontSize","separator",["bold","italic","underline"],"separator","textColor","separator","backgroundColor","borders","separator","alignment","textWrap"],insert:["insertComment","separator","hyperlink","separator","insertImage","separator",["addColumnLeft","addColumnRight","addRowBelow","addRowAbove"],"separator",["deleteColumn","deleteRow"]],data:["sort","separator","filter","separator","validation"],view:["freeze","merge","toggleGridlines"]},fillMode:"flat"},action:function(e){this.trigger("action",e)},dialog:function(e){this.trigger("dialog",e)},refresh:function(t){for(var a=t,n=this._tools(),o=0;o<n.length;o++){var s=n[o].property,i=n[o].tool,r=e.isFunction(a[s])?a[s]():a;"gridLines"==s&&(r=a.sheet().showGridLines()),this._updateTool(i,r,s,a)}this.resize(!0)},_tools:function(){return this.element.find("[data-property]").toArray().map(function(e){return{property:(e=t(e)).attr("data-property"),tool:this._getItem(e)}}.bind(this))},_updateTool:function(t,a,n,o){var s,i,r,l,d,c,u=t.component,m=t.toolbarEl,h=e.widgetInstance(m.find("[data-role]")),p=t.menuItem,f=!1;if("hasFilter"===n)(l=o.sheet().selection())&&l._ref&&l._ref.height&&(d=a||l._ref.height()>1,this.enable(m,d));else if("alignment"===n)s=a.verticalAlign(),i=a.textAlign(),(r=u.menu.element).find(".k-item .k-link").removeClass("k-selected"),r.find(".k-item[data-property=textAlign][data-value="+i+"] .k-link").addClass("k-selected"),r.find(".k-item[data-property=verticalAlign][data-value="+s+"] .k-link").addClass("k-selected");else if("background"===n||"color"===n)h.value(a);else if("fontFamily"===n||"fontSize"===n){if(m.is("button"))return m.attr("data-value",a),void m.data("value",a);c=p.find(".k-menu-link-text").text().split("(")[0].trim(),p.find(".k-menu-link-text").text(c+" ("+a+") ..."),h.value(a)}u&&u.toggle&&("boolean"==typeof a?f=!!a:"string"==typeof a&&(f=m.data("value")?m.data("value")===a:null!=a),this.toggle(m,f))}});e.cssProperties.propertyDictionary.SpreadsheetToolBar=e.cssProperties.propertyDictionary.ToolBar,e.spreadsheet.ToolBar=d,e.spreadsheet.Menu=e.ui.Menu}(window.kendo);var a={},n=function(e,t){var n=t+":"+e,o=a[n];if(!o){var s,i=document.createElement("div");i.style.position="fixed",i.style.left="-10000px",i.style.top="-10000px",i.style.fontFamily=e,i.style.fontSize=t+"px",i.style.whiteSpace="pre";for(var r=32;r<128;++r)(s=document.createElement("span")).appendChild(document.createTextNode(String.fromCharCode(r))),i.appendChild(s);document.body.appendChild(i);var l={};for(r=32,s=i.firstChild;r<128&&s;++r,s=s.nextSibling)l[r]=s.offsetWidth;for(;s=i.firstChild;)i.removeChild(s);o=a[n]=function(e){var t=e.charCodeAt(0),a=l[t];return null==a&&((s=document.createElement("span")).appendChild(document.createTextNode(String.fromCharCode(t))),i.appendChild(s),a=l[t]=s.offsetWidth,i.removeChild(s)),a}}return o};kendo.spreadsheet.drawTabularData=function(e){var a=new $.Deferred,o=a.promise();e=t(e,{dataSource:null,guidelines:!0,guideColor:"#000",columns:null,headerBackground:"#999",headerColor:"#000",oddBackground:null,evenBackground:null,fontFamily:"Arial",fontSize:12,paperSize:"A4",margin:"1cm",landscape:!0,fitWidth:!1,scale:1,rowHeight:20,maxEmpty:1,useGridFormat:!0}),kendo.drawing.pdf.defineFont(kendo.drawing.drawDOM.getFontFaces(document));var s=n(e.fontFamily,e.fontSize);function i(e){if(null!=e){for(var t=12,a=e.length;--a>=0;)t+=s(e.charAt(a));return t}return 0}var r=e.guidelines?{size:1,color:e.guideColor}:null;function l(e){return r?t(e,{borderLeft:r,borderTop:r,borderRight:r,borderBottom:r}):e}return e.dataSource.fetch((function(){var t=e.dataSource.data();if(!t.length)return a.reject("Empty dataset");var n=e.columns.map((function(e){return"string"==typeof e?{title:e,field:e}:e})),o=n.map((function(e){return e.title||e.field})),s=o.map(i),r=t.map((function(t,a){return{cells:n.map((function(n,o){var r=t[n.field];return e.useGridFormat&&(null!=r&&(n.format?r=kendo.format(n.format,r):r+=""),s[o]=Math.max(i(r),s[o])),l({value:r,format:e.useGridFormat?null:n.format,background:a%2?e.evenBackground:e.oddBackground})}))}}));r.unshift({cells:o.map((function(t){return l({value:t,background:e.headerBackground,color:e.headerColor})}))});var d=new kendo.spreadsheet.Sheet(r.length+1,n.length+1,e.rowHeight,50,20,20,{fontFamily:e.fontFamily,fontSize:e.fontSize,verticalAlign:"center"});d.fromJSON({name:"Sheet1",rows:r,columns:s.map((function(e,t){return{index:t,width:e}}))}),d.draw({paperSize:e.paperSize,landscape:e.landscape,margin:e.margin,guidelines:!1,scale:e.scale,fitWidth:e.fitWidth,maxEmpty:e.maxEmpty,headerRows:1},a.resolve.bind(a))})),o},function(e){"use strict";let t=e.spreadsheet.registerEditor;var a=e.jQuery;t("_validation_date",(function(){var t,n,o;function s(){n||(n=a("<div>").kendoCalendar(),o=a("<div>").kendoPopup(),n.appendTo(o),n=n.getKendoCalendar(),o=o.getKendoPopup(),n.bind("change",(function(){o.close();var a=n.value();t.range.format()||t.range.format("yyyy-mm-dd"),t.callback(e.spreadsheet.dateToNumber(a))}))),o.setOptions({anchor:t.view.element.querySelector(".k-spreadsheet-editor-button"),origin:t.alignLeft?"bottom right":"bottom left",position:t.alignLeft?"top right":"top left"});var s=t.range.value(),r=t.range.sheet();null!=s?n.value(e.spreadsheet.numberToDate(s)):n.value(null);var l=t.validation;if(l){var d=e.ui.Calendar.fn.options.min,c=e.ui.Calendar.fn.options.max,u=l.from,m=l.to,h=e.spreadsheet.calc.runtime.Formula;/^(?:greaterThan|between)/.test(l.comparerType)&&(d=u instanceof h&&i(u.value)?e.spreadsheet.numberToDate(r.range(u.value.row,u.value.col).value()):e.spreadsheet.numberToDate(u.value)),"between"==l.comparerType&&(c=m instanceof h&&i(m.value)?e.spreadsheet.numberToDate(r.range(m.value.row,m.value.col).value()):e.spreadsheet.numberToDate(l.to.value)),"lessThan"!=l.comparerType&&"lessThanOrEqualTo"!=l.comparerType||(c=u instanceof h&&i(u.value)?e.spreadsheet.numberToDate(r.range(u.value.row,u.value.col).value()):e.spreadsheet.numberToDate(l.from.value)),n.setOptions({disableDates:function(t){var a,n;return a=u&&u instanceof h&&i(u.value)?r.range(u.value.row,u.value.col).value():u?0|u.value:0,n=m&&m instanceof h&&i(m.value)?r.range(m.value.row,m.value.col).value():m?0|m.value:0,t=0|e.spreadsheet.dateToNumber(t),!e.spreadsheet.validation.validationComparers[l.comparerType](t,a,n)},min:d,max:c})}else n.setOptions({disableDates:null,min:null,max:null});o.open()}function i(e){return e&&null!==e.row&&null!==e.col&&e.row>-1&&e.col>-1}return{edit:function(e){t=e,s()},icon:"calendar"}})),t("_validation_list",(function(){var t,n,o;function s(){n||(n=a("<ul class='k-list k-reset'/>").kendoStaticList({template:"#:value#",selectable:!0,autoBind:!1}),o=a("<div class='k-spreadsheet-list-popup'>").kendoPopup(),n.appendTo(o),o=o.getKendoPopup(),(n=n.getKendoStaticList()).bind("change",(function(){o.close();var e=n.value()[0];e&&t.callback(e.value)}))),o.setOptions({anchor:t.view.element.querySelector(".k-spreadsheet-editor-button"),origin:t.alignLeft?"bottom right":"bottom left",position:t.alignLeft?"top right":"top left"});var s=t.validation.from.value,i=[],r=function(e){i.push({value:e})};s instanceof e.spreadsheet.calc.runtime.Matrix?s.each(r):(s+"").split(/\s*,\s*/).forEach(r);var l=new e.data.DataSource({data:i});n.setDataSource(l),l.read(),o.open()}return{edit:function(e){t=e,s()},icon:"caret-alt-down"}}))}(window.kendo),function(e){var t=e.jQuery,a=e._outerWidth,n=".",o=" ",s=e.ui.Widget.extend({init:function(t,a){var o=s.classNames;e.ui.Widget.call(this,t,a),(t=this.element).addClass(o.sheetsBarWrapper),this._openDialog=a.openDialog,this._addButton(),this._menuButton(),this._tree=new e.dom.Tree(t[0]),this._tree.render([this._createSheetsWrapper([])]),this._initSheetDropDownButtons(),this._toggleScrollEvents(!0),this._createSortable(),this._sortable.bind("start",this._onSheetReorderStart.bind(this)),this._sortable.bind("end",this._onSheetReorderEnd.bind(this)),t.on("click","[ref-sheetsbar-more-button]",this._onSheetContextMenu.bind(this)),t.on("click","li",this._onSheetSelect.bind(this)),t.on("dblclick","li."+o.sheetsBarKItem+n+o.sheetsBarKItem,this._createEditor.bind(this))},options:{name:"SheetsBar",scrollable:{distance:200}},events:["select","reorder","rename"],_createEditor:function(){this._editor||(this._renderSheets(this._sheets,this._selectedIndex,!0),this._editor=this.element.find(e.format("input{0}{1}",n,s.classNames.sheetsBarEditor)).trigger("focus").on("keydown",this._onEditorKeydown.bind(this)).on("blur",this._onEditorBlur.bind(this)))},_destroyEditor:function(e){var t=e?null:this._editor.val();this._editor.off(),this._editor=null,this._renderSheets(this._sheets,this._selectedIndex,!1),this._onSheetRename(t)},renderSheets:function(e,t){!e||t<0||this._renderSheets(e,t,!1)},_renderSheets:function(t,a,n){var i=this,r=s.classNames;(i._isRtl=e.support.isRtl(i.element),i._sheets=t,i._selectedIndex=a,i._renderHtml(n,!0),i._scrollableAllowed())&&(i._sheetsWrapper().addClass(r.sheetsBarScrollable+o+r.sheetsBarSheetsWrapper),i._toggleScrollButtons())},_toggleScrollButtons:function(t){var a=this,o=a._sheetsGroup(),i=a._sheetsWrapper(),r=e.scrollLeft(o),l=i.find(n+s.classNames.sheetsBarPrev),d=i.find(n+s.classNames.sheetsBarNext);!1===t?(l.addClass("k-disabled"),d.addClass("k-disabled")):(l.toggleClass("k-disabled",!(a._isRtl?r<o[0].scrollWidth-o[0].offsetWidth-1:0!==r)),d.toggleClass("k-disabled",!(a._isRtl?0!==r:r<o[0].scrollWidth-o[0].offsetWidth-1)))},_toggleScrollEvents:function(e){var t,a,o=this,i=s.classNames,r=o.options,l=o._sheetsWrapper();t=l.find(n+i.sheetsBarPrev),a=l.find(n+i.sheetsBarNext),e?(t.on("mousedown",(function(e){e.preventDefault(),e.stopPropagation(),o._nowScrollingSheets=!0,o._scrollSheetsByDelta(r.scrollable.distance*(o._isRtl?1:-1))})),a.on("mousedown",(function(e){e.preventDefault(),e.stopPropagation(),o._nowScrollingSheets=!0,o._scrollSheetsByDelta(r.scrollable.distance*(o._isRtl?-1:1))})),t.add(a).on("mouseup",(function(){o._nowScrollingSheets=!1}))):(t.off(),a.off())},_renderHtml:function(a,n){var i,r=[],l=e.dom,d=l.element,c=this._sheets,u=this._selectedIndex,m=s.classNames;for(i=0;i<c.length;i++){var h=c[i],p=i===u,f={className:m.sheetsBarKItem+o+m.sheetsBarKTabstripItem+o,role:"tab"},b=[];if("visible"!==h.state()&&(f.className+="k-hidden "),p&&(f.className+=m.sheetsBarKActive),p&&a)b.push(d("input",{type:"text",value:h.name(),className:m.sheetsBarKTextbox+o+m.sheetsBarEditor,maxlength:50},[]));else{b.push(d("span",{className:m.sheetsBarKLink,title:h.name()},[d("span",{className:m.sheetsBarKLinkText},[l.text(h.name())])]));let a=d(t(e.html.renderButton(t(`<button ref-sheetsbar-more-button data-sheet-name="${h.name()}" class="k-menu-button"></button>`),{icon:m.sheetsBarMoreIcon,fillMode:"flat"}))[0]);b.push(d("span",{className:"k-item-actions","data-type":"context-menu"},[a]))}r.push(d("li",f,b))}e.destroy(this._sheetsWrapper()),this._addButton(),this._menuButton(),this._tree.render([this._createSheetsWrapper(r,n)]),this._initSheetDropDownButtons()},_initSheetDropDownButtons:function(){let e=this;this.element.find("[ref-sheetsbar-more-button]").each((function(a,n){let o=t(n),i=e._sheets||[],r=i.filter((e=>"visible"===e.state())),l=!e._sheets||e._sheets&&r.length<2,d=o.data("sheetName"),c=!(l||e._sheets&&a==i.length-1),u=!(l||e._sheets&&0===a);o.kendoDropDownButton({icon:s.classNames.sheetsBarMoreIcon,fillMode:"flat",items:[{text:"Delete",icon:"trash",attributes:{"data-command":"delete","data-sheet-name":d},enabled:!l},{text:"Duplicate",icon:"copy",attributes:{"data-command":"duplicate","data-sheet-name":d}},{text:"Rename",icon:"pencil",attributes:{"data-command":"rename","data-sheet-name":d}},{text:"Hide",icon:"eye-slash",attributes:{"data-command":"hide","data-sheet-name":d},enabled:!l},{text:"Move Right",icon:"arrow-right",attributes:{"data-command":"move-right","data-sheet-name":d},enabled:c},{text:"Move Left",icon:"arrow-left",attributes:{"data-command":"move-left","data-sheet-name":d},enabled:u}],click:e._onSheetContextMenu.bind(e)})}))},_createSheetsWrapper:function(a,n){var i=e.dom.element,r=s.classNames,l=i("div",{className:"k-tabstrip-items-wrapper k-hstack"}),d=[i("ul",{className:r.sheetsBarKReset,role:"tablist"},a),null,null];var c=r.sheetsBarKButton+o+r.sheetsBarKButtonBare+o;return d[1]=i("span",{ariaHidden:"true",tabIndex:-1,className:c+r.sheetsBarPrev},[i(t(e.ui.icon({icon:r.sheetsBarArrowWIcon,iconClass:"k-button-icon"}))[0])]),d[2]=i("span",{ariaHidden:"true",tabIndex:-1,className:c+r.sheetsBarNext},[i(t(e.ui.icon({icon:r.sheetsBarArrowEIcon,iconClass:"k-button-icon"}))[0])]),l.children=d,i("div",{className:r.sheetsBarItems},[l])},_createSortable:function(){var a=s.classNames;this._sortable=new e.ui.Sortable(this.element,{filter:`ul li.${a.sheetsBarKItem}`,container:n+a.sheetsBarItems,axis:"x",animation:!1,ignore:"input",end:function(){this.draggable.hint&&this.draggable.hint.remove()},hint:function(e){return t(e).clone().attr("ref-sheetsbar-sortable-hint","").wrap("<div class='"+a.sheetsBarHintWrapper+"'><ul class='"+a.sheetsBarKResetItems+"'></ul></div>").closest("div")}})},_onEditorKeydown:function(e){this._editor&&(13===e.which&&this._destroyEditor(),27===e.which&&this._destroyEditor(!0))},_onEditorBlur:function(){this._editor&&this._destroyEditor()},_onSheetReorderEnd:function(e){e.preventDefault(),this.trigger("reorder",{oldIndex:e.oldIndex,newIndex:e.newIndex})},_onSheetReorderStart:function(e){this._editor&&e.preventDefault()},_onSheetContextMenu:function(e){let a=t(e.target).closest("li").data("sheetName"),n=t(e.target).closest("li").data("command");if(this._editor&&this._destroyEditor(),a&&n)switch(n){case"delete":this._onSheetRemove(e);break;case"duplicate":this._onSheetDuplicate(a);break;case"rename":this._renamePrompt(a);break;case"hide":this._hideSheet(a);break;case"move-right":this._moveSheet(a,1);break;case"move-left":this._moveSheet(a,-1)}},_onSheetDuplicate:function(e){this.trigger("duplicate",{name:e})},_renamePrompt:function(e){let t=this._sheets.findIndex((t=>t.name()==e)),a=function(a){let n=a.sender;n._newSheetName&&n._newSheetName!==e&&this.trigger("rename",{name:n._newSheetName,sheetIndex:t})}.bind(this);this._openDialog("renameSheet",{close:a,_oldSheetName:e})},_hideSheet:function(e){this.trigger("hide",{name:e})},_moveSheet:function(e,t){let a=this._sheets.findIndex((t=>t.name()===e)),n=a+t;n<0||n>=this._sheets.length||this.trigger("reorder",{oldIndex:a,newIndex:n})},_onSheetRemove:function(e){var a=t(e.target).closest("li").data("sheetName");this._editor&&this._destroyEditor();var n=function(e){e.sender.isConfirmed()&&this.trigger("remove",{name:a,confirmation:!0})}.bind(this);this._openDialog("confirmation",{close:n})},_onSheetSelect:function(e){var a=t(e.target).text();!t(e.target).is(n+s.classNames.sheetsBarEditor)&&a?(this._editor&&this._destroyEditor(),this._scrollSheetsToItem(t(e.target).closest("li")),this.trigger("select",{name:a,isAddButton:!1})):e.preventDefault()},_onSheetRename:function(e){this._sheets[this._selectedIndex].name()!==e&&null!==e&&this.trigger("rename",{name:e,sheetIndex:this._selectedIndex})},_onAddSelect:function(e){e.sender.element.removeClass("k-focus"),this.trigger("select",{isAddButton:!0})},_onMenuSelect:function(e){let a=t(e.target).closest("li").data("sheetName");a&&this.trigger("show",{name:a})},_addButton:function(){var a=s.classNames;let n=this.element.find("."+a.sheetsBarAdd);n.length?e.destroy(n):n=t(`<button class="${a.sheetsBarAdd}" aria-label="Add new sheet"></button>`).appendTo(this.element),n.kendoButton({icon:a.sheetsBarPlusIcon,fillMode:"flat",click:this._onAddSelect.bind(this)})},_menuButton:function(){var a=s.classNames;let n=this.element.find("."+a.sheetsBarSheetsMenu);n.length?e.destroy(n):n=t(`<button class="${a.sheetsBarSheetsMenu}"></button>`).appendTo(this.element),n.kendoDropDownButton({icon:a.sheetsBarMenuIcon,fillMode:"flat",items:(this._sheets||[]).map((e=>({text:e.name(),attributes:{"data-sheet-name":e.name()},icon:"visible"===e.state()?"eye":"eye-slash",cssClass:a}))),click:this._onMenuSelect.bind(this)})},destroy:function(){this._sortable.destroy()},_scrollableAllowed:function(){var e=this.options;return e.scrollable&&!isNaN(e.scrollable.distance)},_scrollSheetsToItem:function(t){var n,o=this,s=o._sheetsGroup(),i=e.scrollLeft(s),r=a(t),l=o._isRtl?t.position().left:t.position().left-s.children().first().position().left,d=s[0].offsetWidth;o._isRtl?l<0?n=i+l-(d-i):l+r>d&&(n=i+l-r):i+d<l+r?n=l+r-d:i>l&&(n=l),s.finish().animate({scrollLeft:n},"fast","linear",(function(){o._toggleScrollButtons()}))},_sheetsGroup:function(){return this._sheetsWrapper().find("ul")},_sheetsWrapper:function(){return this.element.find(n+s.classNames.sheetsBarItems)},_scrollSheetsByDelta:function(t){var a=this,n=a._sheetsGroup(),o=e.scrollLeft(n);n.finish().animate({scrollLeft:o+t},"fast","linear",(function(){a._nowScrollingSheets?a._scrollSheetsByDelta(t):a._toggleScrollButtons()}))}});e.spreadsheet.SheetsBar=s,t.extend(!0,s,{classNames:{sheetsBarWrapper:"k-spreadsheet-sheets-bar",sheetsBarSheetsWrapper:"k-tabstrip k-tabstrip-bottom",sheetsBarAdd:"k-spreadsheet-sheet-add",sheetsBarSheetsMenu:"k-spreadsheet-sheets-menu",sheetsBarRemove:"k-spreadsheet-sheets-remove",sheetsBarItems:"k-spreadsheet-sheets",sheetsBarEditor:"k-spreadsheet-sheets-editor",sheetsBarScrollable:"k-tabstrip-scrollable",sheetsBarNext:"k-tabstrip-next",sheetsBarPrev:"k-tabstrip-prev",sheetsBarKItem:"k-item",sheetsBarKTabstripItem:"k-tabstrip-item",sheetsBarKActive:"k-active",sheetsBarKTextbox:"k-textbox",sheetsBarKLink:"k-link",sheetsBarKLinkText:"k-link-text",sheetsBarKIcon:"k-icon",sheetsBarKFontIcon:"k-icon",sheetsBarKButton:"k-button k-icon-button",sheetsBarKButtonDefaults:"k-button-md k-rounded-md k-button-solid k-button-solid-base",sheetsBarKButtonBare:"k-button-md k-rounded-md k-button-flat k-button-flat-base",sheetsBarArrowWIcon:"caret-alt-left",sheetsBarArrowEIcon:"caret-alt-right",sheetsBarKReset:"k-reset k-tabstrip-items k-tabstrip-items-start",sheetsBarXIcon:"x",sheetsBarMoreIcon:"caret-alt-down",sheetsBarKSprite:"k-sprite",sheetsBarPlusIcon:"plus",sheetsBarMenuIcon:"menu",sheetsBarHintWrapper:"k-widget k-tabstrip k-tabstrip-bottom k-spreadsheet-sheets-items-hint",sheetsBarKResetItems:"k-reset k-tabstrip-items k-tabstrip-items-start"}})}(window.kendo),function(e){var t=e.jQuery,a=e.ui.Widget,n={details:"k-details",button:"k-button",detailsSummary:"k-details-summary",detailsContent:"k-details-content",icon:"k-icon",iconCollapseName:"caret-br",iconExpandName:"caret-alt-right",iconSearchName:"search",textbox:"k-textbox",wrapper:"k-spreadsheet-filter-menu",filterByCondition:"k-spreadsheet-condition-filter",filterByValue:"k-spreadsheet-value-filter",valuesTreeViewWrapper:"k-spreadsheet-value-treeview-wrapper",actionButtons:"k-actions"};e.spreadsheet.messages.filterMenu={all:"All",sortAscending:"Sort range A to Z",sortDescending:"Sort range Z to A",filterByValue:"Filter by value",filterByCondition:"Filter by condition",apply:"Apply",search:"Search",addToCurrent:"Add to current selection",clear:"Clear",blanks:"(Blanks)",operatorNone:"None",and:"AND",or:"OR",operators:{string:{contains:"Text contains",doesnotcontain:"Text does not contain",startswith:"Text starts with",endswith:"Text ends with",matches:"Text matches",doesnotmatch:"Text does not match"},date:{eq:"Date is",neq:"Date is not",lt:"Date is before",gt:"Date is after"},number:{eq:"Is equal to",neq:"Is not equal to",gte:"Is greater than or equal to",gt:"Is greater than",lte:"Is less than or equal to",lt:"Is less than"}}};var o=a.extend({init:function(n,o){a.fn.init.call(this,n,o),this.element.addClass(u.classNames.details),this._summary=this.element.find("."+u.classNames.detailsSummary).on("click",this._toggle.bind(this));var s=o.expanded?u.classNames.iconCollapseName:u.classNames.iconExpandName;this._icon=t(e.ui.icon(s)).prependTo(this._summary),this._container=e.wrap(this._summary.next(),!0),o.expanded||this._container.hide()},options:{name:"Details"},events:["toggle"],visible:function(){return this.options.expanded},toggle:function(t){e.fx(this._container).expand("vertical").stop()[t?"reverse":"play"](),e.ui.icon(this._icon,{icon:t?u.classNames.iconExpandName:u.classNames.iconCollapseName}),this.options.expanded=!t},_toggle:function(){var e=this.visible();this.toggle(e),this.trigger("toggle",{show:e})}});e.data.binders.spreadsheetFilterValue=e.data.Binder.extend({init:function(a,n,o){e.data.Binder.fn.init.call(this,a,n,o),this._change=this.change.bind(this),t(this.element).on("change",this._change)},refresh:function(){var e=this.bindings.spreadsheetFilterValue.get();t(this.element).val(e instanceof Date?"":e)},change:function(){var e=this.element.value;this.bindings.spreadsheetFilterValue.set(e)}}),e.data.binders.widget.spreadsheetFilterValue=e.data.Binder.extend({init:function(t,a,n){e.data.Binder.fn.init.call(this,t.element[0],a,n),this.widget=t,this._change=this.change.bind(this),this.widget.first("change",this._change)},refresh:function(){var e=this.bindings.spreadsheetFilterValue.get(),a=t(this.widget.element).data("filterType");"date"===a&&e instanceof Date||"number"===a&&!isNaN(e)?this.widget.value(e):this.widget.value(null)},change:function(){var e=this.widget.value();this.bindings.spreadsheetFilterValue.set(e)}});var s={filterByValue:t=>`<div class='${n.detailsSummary}'>${t.messages.filterByValue}</div><div class='${n.detailsContent}'><div class='k-searchbox k-input k-input-md k-rounded-md k-input-solid'>`+e.ui.icon({icon:"search",iconClass:"k-input-icon"})+`<input class='k-input-inner' autocomplete='off' placeholder='${t.messages.search}' data-${t.ns}bind='events: { input: filterValues }' /></div>`+`<div data-${t.ns}bind='visible: hasActiveSearch'><input class='k-checkbox k-checkbox-md k-rounded-md' type='checkbox' data-${t.ns}bind='checked: appendToSearch' id='_${t.guid}'/><label class='k-checkbox-label' for='_${t.guid}'>${t.messages.addToCurrent}</label></div>`+`<div class='${n.valuesTreeViewWrapper}'>`+`<div data-${t.ns}role='treeview' `+`bind:data-${t.ns}checkboxes='checkboxesConfig' `+`data-${t.ns}bind='source: valuesDataSource, events: { check: valuesChange, select: valueSelect }' ></div></div></div>`,filterByCondition:e=>`<div class='${n.detailsSummary}'>${e.messages.filterByCondition}</div><div class='${n.detailsContent}'><div><select aria-label="${e.messages.filterByCondition}" data-${e.ns}role="dropdownlist"data-${e.ns}bind="value: operator, source: operators, events: { change: operatorChange } "data-${e.ns}value-primitive="false"data-${e.ns}option-label="${e.messages.operatorNone}"data-${e.ns}height="auto"data-${e.ns}text-field="text"data-${e.ns}value-field="unique"></select></div><div data-${e.ns}bind="visible: isString"><input aria-label="string-value" data-filter-type="string" data-${e.ns}bind="spreadsheetFilterValue: customFilter.criteria[0].value" class="k-textbox" /></div><div data-${e.ns}bind="visible: isNumber"><input aria-label="number-value" data-filter-type="number" data-${e.ns}role="numerictextbox" data-${e.ns}bind="spreadsheetFilterValue: customFilter.criteria[0].value" /></div><div data-${e.ns}bind="visible: isDate"><input aria-label="date-value" data-filter-type="date" data-${e.ns}role="datepicker" data-${e.ns}bind="spreadsheetFilterValue: customFilter.criteria[0].value" /></div></div>`,menuItem:t=>`<li data-command='${t.command}' data-dir='${t.dir}'>${e.ui.icon(t.iconClass)}${t.text}</li>`,actionButtons:e=>`<button data-${e.ns}bind='click: apply' class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary'><span class='k-button-text'>${e.messages.apply}</span></button><button data-${e.ns}bind='click: clear' class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'><span class='k-button-text'>${e.messages.clear}</span></button>`};function i(t,a){for(var n=!1,o=t instanceof e.data.HierarchicalDataSource&&t.data(),s=this.values,r=0;r<o.length;r++){var l=o[r],d=l.text.toString().toLocaleLowerCase(e.culture().name),c=!0===a||""===a||d.indexOf(a)>=0,u=i.bind(this)(l.children,a);n=n||u||c,l.hidden=!c&&!u,a.length||s&&!s.length?l.checked=!l.hidden:s&&-1!=s.indexOf(l.text)&&(l.checked=!0)}return o&&t.filter({field:"hidden",operator:"neq",value:!0}),n}function r(t){for(var a=t instanceof e.data.HierarchicalDataSource&&t.data(),n=0;n<a.length;n++){var o=a[n];o.checked=!1,o.hasChildren&&r(o.children)}}var l=e.spreadsheet.FilterMenuViewModel=e.data.ObservableObject.extend({valuesChange:function(t){var a=(t?t.sender.dataSource:this.valuesDataSource).data().toJSON()[0].items,n=a.filter((function(e){return"blank"===e.dataType}));n=!!n.length&&n[0].checked,a=a.filter((function(e){return e.checked})).map((function(t){return"date"===t.dataType?e.spreadsheet.dateToNumber(t.value):t.value})),this.appendToSearch&&this.valueFilter&&this.valueFilter.values.length&&(a=a.concat(this.valueFilter.values.toJSON()).sort().filter((function(e,t,a){return a.lastIndexOf(e)===t}))),this.set("valueFilter",{values:a,blanks:n})},valueSelect:function(e){e.preventDefault();var t=e.sender.dataItem(e.node);t.set("checked",!t.checked)},hasActiveSearch:!1,appendToSearch:!1,filterValues:function(a){var n="string"==typeof a?a:t(a.target).val().toLocaleLowerCase(e.culture().name),o=this.valuesDataSource;this.set("hasActiveSearch",!!n);var s=i.bind(this.valueFilter);r(o),s(o,n)},reset:function(){this.set("customFilter",{logic:"and",criteria:[{operator:null,value:null}]}),this.set("valueFilter",{values:[]})},operatorChange:function(e){var t=e.sender.dataItem();this.set("operatorType",t.type),this.get("customFilter")||this.reset(),this.set("customFilter.criteria[0].operator",t.value)},isNone:function(){return void 0===this.get("operatorType")},isString:function(){return"string"===this.get("operatorType")},isNumber:function(){return"number"===this.get("operatorType")},isDate:function(){return"date"===this.get("operatorType")}});function d(t){var a=e.spreadsheet.messages.filterMenu.operators,n=[];for(var o in t)if(t.hasOwnProperty(o))for(var s in t[o])t[o].hasOwnProperty(s)&&n.push({text:a[o][s],value:s,unique:o+"_"+s,type:o});return n}var c=e.spreadsheet.FilterMenuController={valuesTree:function(t,a){return[{text:e.spreadsheet.messages.filterMenu.all,expanded:!0,checked:!1,items:this.values(t.resize({top:1}),a)}]},values:function(t,a){var n=[],o=e.spreadsheet.messages.filterMenu,s=t.column(a),i=t.sheet();return s.forEachCell((function(t,a,s){var r=!0;i.isHiddenRow(t)&&(r=!1);var l=s.value,d=s.dataType,c=s.text;d=void 0===l?"blank":s.format?e.spreadsheet.formatting.type(l,s.format):typeof l,c=null!==l&&s.format?e.spreadsheet.formatting.text(l,s.format):"blank"==d?o.blanks:l,"percent"!==d&&"currency"!==d||(d="number"),"date"===d&&(l=e.spreadsheet.numberToDate(l)),n.push({dataType:d,value:l,text:c,checked:r})})),(n=function(e){for(var t={},a=[],n=0;n<e.length;n++)t[e[n].value]?!t[e[n].value].checked&&e[n].checked&&(t[e[n].value].checked=!0):(t[e[n].value]=e[n],a.push(e[n]));return a}(n)).sort((function(e,t){return e.dataType===t.dataType?0:"blank"===e.dataType||"blank"===t.dataType?"blank"===e.dataType?-1:1:"number"===e.dataType||"number"===t.dataType?"number"===e.dataType?-1:1:"date"===e.dataType||"date"===t.dataType?"date"===e.dataType?-1:1:0})),n},filterType:function(e,t){var a,n=e.sheet(),o=this.filterForColumn(t,n);if((o=o&&o.filter.toJSON())&&"custom"==o.filter){var s=o.criteria[0].value;s instanceof Date?a="date":"string"==typeof s?a="string":"number"==typeof s&&(a="number")}if(!a){var i=this.values(e.row(1),t)[0];"blank"==(a=i&&i.dataType)&&(a=null)}return a},filterForColumn:function(e,t){var a,n=t.filter();return n&&(a=n.columns.filter((function(t){return t.index===e}))[0]),a},filter:function(e,t){var a=this.filterForColumn(e,t);if(a){var n=a.filter.toJSON(),o=n.filter;delete n.filter;var s={type:o,options:n},i=n.criteria;return i&&i.length&&(s.operator=i[0].operator),s}}},u=a.extend({init:function(e,t){a.call(this,e,t),this.element.addClass(u.classNames.wrapper),this.viewModel=new l({active:"value",checkboxesConfig:{checkChildren:!0},operator:null,operators:d(this.options.operators),clear:this.clear.bind(this),apply:this.apply.bind(this)}),this._filterInit(),this._popup(),this._sort(),this._filterByCondition(),this._filterByValue(),this._actionButtons()},options:{name:"FilterMenu",column:0,range:null,operators:{string:{contains:"Text contains",doesnotcontain:"Text does not contain",startswith:"Text starts with",endswith:"Text ends with",matches:"Text matches",doesnotmatch:"Text does not match"},date:{eq:"Date is",neq:"Date is not",lt:"Date is before",gt:"Date is after"},number:{eq:"Is equal to",neq:"Is not equal to",gte:"Is greater than or equal to",gt:"Is greater than",lte:"Is less than or equal to",lt:"Is less than"}}},events:["action"],destroy:function(){a.fn.destroy.call(this),this.menu.destroy(),this.valuesTreeView.destroy(),this.popup.destroy()},openFor:function(e,a){t(e).hasClass("k-spreadsheet-view-size")?this.popup.open(a.pageX,a.pageY):(this.popup.setOptions({anchor:e}),this.popup.open())},close:function(){this.popup.close()},clear:function(){this.action({command:"ClearFilterCommand",options:{column:this.options.column}}),this.viewModel.reset(),this.close()},apply:function(){this._active();var e,t,a={operatingRange:this.options.range,column:this.options.column};"value"===this.viewModel.active?(this.viewModel.valuesChange({sender:this.valuesTreeView}),((e=this.viewModel.valueFilter.toJSON()).blanks||e.values&&e.values.length)&&(a.valueFilter=e)):"custom"===this.viewModel.active&&(t=this.viewModel.customFilter.toJSON()).criteria.length&&null!==t.criteria[0].value&&(a.customFilter=t),(a.valueFilter||a.customFilter)&&this.action({command:"ApplyFilterCommand",options:a})},action:function(e){this.trigger("action",t.extend({},e))},_filterInit:function(){var e=this.options.column,t=this.options.range,a=t.sheet(),n=c.filter(e,a);if(n){var o=c.filterType(t,e);this.viewModel.set("active",n.type),this.viewModel.set(n.type+"Filter",n.options),"custom"==n.type&&(this.viewModel.set("operator",o+"_"+n.operator),this.viewModel.set("operatorType",o))}else this.viewModel.reset()},_popup:function(){this.popup=this.element.kendoPopup({copyAnchorStyles:!1}).data("kendoPopup")},_sort:function(){var a=e.template(u.templates.menuItem),n=e.spreadsheet.messages.filterMenu,o=[{command:"sort",dir:"asc",text:n.sortAscending,iconClass:"sort-asc"},{command:"sort",dir:"desc",text:n.sortDescending,iconClass:"sort-desc"}],s=t("<ul></ul>",{html:e.render(a,o)}).appendTo(this.element);this.menu=s.kendoMenu({orientation:"vertical",select:function(e){var a={value:t(e.item).data("dir"),sheet:!1,operatingRange:this.options.range.resize({top:1}),column:this.options.column};this.action({command:"SortCommand",options:a})}.bind(this)}).data("kendoMenu")},_appendTemplate:function(a,n,s,i){var r=e.template(a),l=t("<div class='"+n+"'/>").html(r({messages:e.spreadsheet.messages.filterMenu,guid:e.guid(),ns:e.ns}));return this.element.append(l),s&&(s=new o(l,{expanded:i,toggle:this._detailToggle.bind(this)})),e.bind(l,this.viewModel),l},_detailToggle:function(t){this.element.find("["+e.attr("role")+"=details]").not(t.sender.element).data("kendoDetails").toggle(!t.show)},_filterByCondition:function(){var e="custom"===this.viewModel.active;this._appendTemplate(u.templates.filterByCondition,u.classNames.filterByCondition,!0,e)},_filterByValue:function(){var t="value"===this.viewModel.active,a=this._appendTemplate(u.templates.filterByValue,u.classNames.filterByValue,!0,t);this.valuesTreeView=a.find("["+e.attr("role")+"=treeview]").data("kendoTreeView");var n=c.valuesTree(this.options.range,this.options.column);this.viewModel.set("valuesDataSource",new e.data.HierarchicalDataSource({data:n,accentFoldingFiltering:e.culture().name}))},_actionButtons:function(){this._appendTemplate(u.templates.actionButtons,u.classNames.actionButtons,!1)},_active:function(){var a=this.element.find("["+e.attr("role")+"=details]").filter((function(e,a){return t(a).data("kendoDetails").visible()}));a.hasClass(u.classNames.filterByValue)?this.viewModel.set("active","value"):a.hasClass(u.classNames.filterByCondition)&&this.viewModel.set("active","custom")}});e.spreadsheet.FilterMenu=u,t.extend(!0,u,{classNames:n,templates:s})}(window.kendo),function(e){e.spreadsheet.messages.workbook={defaultSheetName:"Sheet"},e.spreadsheet.messages.view={nameBox:"Name Box",formulaInput:"Formula Input",errors:{openUnsupported:"Unsupported format. Please select an .xlsx file.",shiftingNonblankCells:"Cannot insert cells due to data loss possibility. Select another insert location or delete the data from the end of your worksheet.",insertColumnWhenRowIsSelected:"Cannot insert column when all columns are selected.",insertRowWhenColumnIsSelected:"Cannot insert row when all rows are selected.",filterRangeContainingMerges:"Cannot create a filter within a range containing merges",sortRangeContainingMerges:"Cannot sort a range containing merges",cantSortMultipleSelection:"Cannot sort multiple selection",cantSortNullRef:"Cannot sort empty selection",cantSortMixedCells:"Cannot sort range containing cells of mixed shapes",validationError:"The value that you entered violates the validation rules set on the cell.",cannotModifyDisabled:"Cannot modify disabled cells.",insertRowBelowLastRow:"Cannot insert row below the last row.",insertColAfterLastCol:"Cannot insert column to the right of the last column."},tabs:{file:"File",home:"Home",insert:"Insert",format:"Format",data:"Data",view:"View"}},e.spreadsheet.messages.menus={cut:"Cut",copy:"Copy",paste:"Paste",merge:"Merge",unmerge:"Unmerge",delete:"Delete",hide:"Hide",unhide:"Unhide",bringToFront:"Bring to front",sendToBack:"Send to back"}}(window.kendo),function(e){let t=e.jQuery;if(e.PDFMixin){let a=function(e){var a=new t.Deferred,n=function(e){a.resolve(e)};switch(e.area){case"workbook":e.workbook.draw(e,n);break;case"sheet":e.workbook.activeSheet().draw(e,n);break;case"selection":e.workbook.activeSheet().selection().draw(e,n)}return a.promise()},n=function(o){-1===this.events.indexOf("pdfExport")&&(e.PDFMixin.extend(this),this.saveAsPDF=n,this._drawPDF=a);var s=new t.Deferred,i=s.promise(),r={promise:i};if(!this.trigger("pdfExport",r))return this._drawPDF(o,s).then((function(t){let a=o.forceProxy?e.pdf.exportPDF(t):e.pdf.exportPDFToBlob(t);return e.convertPromiseToDeferred(a)})).done((function(t){e.saveAs({dataURI:t,fileName:o.fileName,proxyURL:o.proxyURL,forceProxy:o.forceProxy,proxyTarget:o.proxyTarget}),s.resolve()})).fail((function(e){s.reject(e)})),i};e.spreadsheet.Workbook.prototype.saveAsPDF=n,e.spreadsheet.Workbook.prototype._drawPDF=a}}(kendo);!function(e,t){if(e.support.browser.msie&&e.support.browser.version<9)return;const a="k-active";let n=e.jQuery,o=e.ui.Widget,s=".kendoSpreadsheet",i=e.spreadsheet.commonEngine,r=e.spreadsheet.FormulaInput,l=e.spreadsheet.SheetsBar;function d(e){return e.map((function(e){return'[data-action="'+e+'"]'})).join(",")}function c(e){const t=n.Deferred();e.then((function(e){t.resolve(e)}),(function(e){t.reject(e)})),"function"==typeof e.progress&&e.progress((function(e){t.notify(e)}));const a=t.promise();return a.progress=function(e){return t.progress(e),a},a}let u=d(["cut","copy","paste","insert-left","insert-right","insert-above","insert-below"]),m=d(["unhide-row","unhide-column"]),h=i.View.classNames;e.spreadsheet.ContextMenu=e.ui.ContextMenu;let p=e.ui.StaticList.extend({data:function(e){return this.dataSource.data(e)},itemClick:function(e){this.bind("change",(function(t){e(this.value()[0])}))}});class f{constructor({list:e,popup:t}){this.current={list:e,popup:t},this.clone=function(){return this}}}class b{constructor({nameEditor:e,container:a}){let n=this.initializeComboBox(a,e);this.current={value:e=>{if(e===t){const e=n.value();return e&&e.name||e}n.value(e||"")}},this.nameEditor=e,this.clone=function(){return this}}initializeComboBox(t){let a=this,o=new e.data.DataSource({transport:{read:function(e){let t=a.nameEditor()?.readData()||[];e.success(t)},cache:!1}}),s=n(t).kendoComboBox({clearButton:!1,dataTextField:"name",dataValueField:"name",template:({name:t})=>`${e.htmlEncode(t)}<a role='button' class='k-button-delete' href='\\#'>${e.ui.icon("x")}</a>`,dataSource:o,autoBind:!1,ignoreCase:!0,change:a.onChange.bind(a),noDataTemplate:()=>"<div></div>",open:function(){o.read()}}).data("kendoComboBox");return s.input.on("keydown",a.onKeyDown.bind(this)),s.popup.element.addClass("k-spreadsheet-names-popup").on("mousemove",(function(e){e.stopPropagation()})).on("click",".k-button-delete",(function(e){e.preventDefault(),e.stopPropagation();let t=n(e.target).closest(".k-list-item");t=s.dataItem(t),a.onDelete(t.name)})),s}onChange(e){const t=this.nameEditor();t&&e.sender.value()&&t.trigger("select",{name:e.sender.value()})}onDelete(e){this.nameEditor()?.trigger("delete",{name:e})}onKeyDown(e){const t=this.nameEditor();if(t)if("Enter"===e.key){const a=e.target.value;t.trigger("enter",{value:a})}else"Escape"===e.key&&t.trigger("cancel")}}let g=e.ui.Widget.extend({_renderInnerContent:function(t){n(t).append((({messages:t})=>`\n                            <div ref-header-container class="k-spreadsheet-header"><div ref-header-menu></div><div ref-header-toolbar></div></div>\n                            <div class="k-spreadsheet-action-bar">\n                                <div class="k-spreadsheet-name-editor">\n                                    <input ref-namebox-input title="${t.nameBox||"Name Box"}" aria-label="${t.nameBox||"Name Box"}"></input>\n                                </div>\n                                <div class="k-spreadsheet-formula-bar">\n                                    ${e.ui.icon("formula-fx")}\n                                    <div class="k-spreadsheet-formula-input"\n                                        role="combobox"\n                                        title="${t.view.formulaInput}"\n                                        aria-haspopup="menu"\n                                        aria-expanded="false"\n                                        contentEditable="true"\n                                        spellCheck="false">\n                                    </div>\n                                </div>\n                            </div>\n                            <div class="k-spreadsheet-view">\n                                <div class="k-spreadsheet-fixed-container"></div>\n                                <div class="k-spreadsheet-scroller">\n                                    <div class="k-spreadsheet-view-size"></div>\n                                </div>\n                                <div tabIndex="0" class="k-spreadsheet-clipboard" contentEditable="true" ></div>\n                                <div contentEditable="true"\n                                    spellCheck="false"\n                                    role="combobox"\n                                    title="${t.view.formulaInput}"\n                                    aria-haspopup="menu"\n                                    aria-expanded="false"\n                                    class="k-spreadsheet-formula-input k-spreadsheet-cell-editor">\n                                </div>\n                            </div>\n                            <div ref-sheets-bar></div>`)(this.options))},init:function(t,a){let i=this;o.fn.init.call(this,t,a),this.options.messages=n.extend(!0,{view:e.spreadsheet.messages.view,tabs:e.spreadsheet.messages.view.tabs,menus:e.spreadsheet.messages.menus,workbook:{defaultSheetName:"Sheet"}},this.options.messages),this.element.addClass(g.classNames.wrapper),this.element.attr("role","application"),this._renderInnerContent(this.element),this._createFormulaInputs(),i.spreadsheetRef=this._initSpreadsheetWidget(),this._bindWorkbookEvents();const r=this.activeSheet();this._onUpdateTools({range:r.range(r.activeCell())}),this._resizeHandler=function(){i.resize()},n(window).on("resize"+s,this._resizeHandler),this._showWatermarkOverlay&&this._showWatermarkOverlay(this.element[0])},_initSpreadsheetWidget:function(){const t=this,a=function(e,t){const a={};for(let n in e)e.hasOwnProperty(n)&&-1===t.indexOf(n)&&(a[n]=e[n]);return a}(t.options,t.events);let o=n.extend({},a,{sheetsbar:0!=t.options.sheetsbar?t.options.sheetsbar:{},formulaBarInputRef:new f({list:this._formulaBarInputRefList,popup:this._formulaBarInputRefPopup}),formulaCellInputRef:new f({list:this._formulaCellInputRefList,popup:this._formulaCellInputRefPopup}),nameBoxRef:new b({container:t.element.find(".k-spreadsheet-name-editor [ref-namebox-input]"),nameEditor:function(){return t.spreadsheetRef?.view.nameEditor}}),createFilterMenu:function(a){let o=n("<div></div>").appendTo(t.element);return new e.spreadsheet.FilterMenu(o,a)},createTabStrip:function(e){if(t.options.toolbar)return t._initHeader(),{focus:function(){t.menu.wrapper.trigger("focus")},select:function(e){t.menu.element.find(`li[ref-tab-name="${e}"]`).click()},destroy:function(){t.menu.destroy()}}},createSheetEditor:function(e){t.sheetsBar._createEditor()},createSheetBar:function(e){t._sheetsBar(e)},createContextMenus:function(e){t._dialogs=[],t._initContextMenus()},createSheetDataSource:function(t){return e.data.DataSource.create(t)},getWorkbookCommand:function(t,a){return new e.spreadsheet[t](a)},getIconHTMLString:function(t){return n(e.ui.icon(t))[0]},update:function(e){t._onUpdateTools(e),e.reason.sheetSelection&&t.sheetsBar&&t.sheetsBar.renderSheets(e.sender.sheets(),e.sender.sheetIndex(e.sheet))},message:a=>{let{sender:o,name:s,ref:i,range:r,...l}=a,d=n.extend({},{pdfExport:t.options.pdf,excelExport:t.options.excel},l),c=e.spreadsheet.dialogs.create(a.name,d);const u=function(t,a,n){e.saveAs({dataURI:t,fileName:a,...n})};c&&(c.bind("action",(function(a){if("SaveAsCommand"==a.command){let{sender:o,...s}=a,i=a.options.name+a.options.extension;if(".xlsx"===a.options.extension)return t.spreadsheetRef.saveAsExcel(n.extend(s,{fileName:i,Workbook:e.ooxml.Workbook,saveAs:u}));if(".pdf"===this.options.extension)return t.spreadsheetRef.saveAsPDF(n.extend(a.options.pdf,{workbook:this.options.workbook,fileName:i}))}t.spreadsheetRef.executeCommand(a)})),c.bind("deactivate",(()=>{c.destroy(),t._dialogs.pop()})),t._dialogs.push(c),c.open(a.range,a),a.dialog=c)},contextmenu:e=>{const{objectRef:t,targetType:a,showUnhide:n,showUnmerge:o,originalEvent:s,isComposite:i}=e,r=e.sender.activeSheet().select(),{topLeft:l,bottomRight:d}=r;let c;this._cellContextMenu.close(),this._colHeaderContextMenu.close(),this._rowHeaderContextMenu.close(),this._drawingContextMenu.close(),c="columnheader"==a?this._colHeaderContextMenu:"rowheader"==a?this._rowHeaderContextMenu:"drawing"==a?this._drawingContextMenu:this._cellContextMenu,c.element.find(u).toggle(!i),c.element.find(m).toggle(n),c.element.find("[data-action=unmerge]").toggle(o),setTimeout((function(){c.open(e.originalEvent.pageX,e.originalEvent.pageY)}))},locale:e.cultures.current.name,intl:e.kendoCultureToIntl()});return new e.spreadsheet.commonEngine.SpreadsheetWidget(this.element[0],o)},_createFormulaInputs:function(){let t=this.element.find(".k-spreadsheet-action-bar .k-spreadsheet-formula-input"),a=e.guid();t.attr("aria-controls",a),this._formulaBarInputRefList=new p(n(`<ul id="${a}" />`).addClass(r.classNames.listWrapper).insertAfter(t),{aria:{role:"menu",itemRole:"menuitem"},autoBind:!1,selectable:!0,dataTextField:"text",dataValueField:"value",template:({text:e,value:t})=>`${e||t}`}),this._formulaBarInputRefList.element.on("mousedown",(function(e){e.preventDefault()})),this._formulaBarInputRefPopup=new e.ui.Popup(this._formulaBarInputRefList.element,{anchor:this.element.find(".k-spreadsheet-formula-input:not(.k-spreadsheet-cell-editor)"),open:function(e){t.attr("aria-expanded",!0)},close:function(e){t.attr("aria-expanded",!1)}});let o=this.element.find(".k-spreadsheet-cell-editor"),s=e.guid();o.attr("aria-controls",s),this._formulaCellInputRefList=new p(n(`<ul id="${s}" />`).addClass(r.classNames.listWrapper).insertAfter(o),{aria:{role:"menu",itemRole:"menuitem"},autoBind:!1,selectable:!0,dataValueField:"value",dataTextField:"text",template:({text:e,value:t})=>`${e||t}`}),this._formulaCellInputRefList.element.on("mousedown",(function(e){e.preventDefault()})),this._formulaCellInputRefPopup=new e.ui.Popup(this._formulaCellInputRefList.element,{anchor:this.element.find("."+i.View.classNames.cellEditor),open:function(e){o.attr("aria-expanded",!0)},close:function(e){o.attr("aria-expanded",!1)}})},_initContextMenus:function(){let t=this,a={target:this.element,animation:!1,showOn:"never"};this._cellContextMenu=new e.spreadsheet.ContextMenu(n((({messages:e})=>`\n                    <ul class="${h.cellContextMenu}">\n                        <li data-action="cut">${e.menus.cut}</li>\n                        <li data-action="copy">${e.menus.copy}</li>\n                        <li data-action="paste">${e.menus.paste}</li>\n                        <li class="k-separator"></li>\n                        <li data-action="merge">${e.menus.merge}</li>\n                        <li data-action="unmerge">${e.menus.unmerge}</li>\n                    </ul>`)(t.options)).appendTo(t.element),a),this._colHeaderContextMenu=new e.spreadsheet.ContextMenu(n((({messages:e})=>`\n                    <ul class="${h.colHeaderContextMenu}">\n                        <li data-action="cut">${e.menus.cut}</li>\n                        <li data-action="copy">${e.menus.copy}</li>\n                        <li data-action="paste">${e.menus.paste}</li>\n                        <li class="k-separator"></li>\n                        <li data-action="delete-column">${e.menus.delete}</li>\n                        <li data-action="hide-column">${e.menus.hide}</li>\n                        <li data-action="unhide-column">${e.menus.unhide}</li>\n                    </ul>`)(t.options)).appendTo(t.element),a),this._rowHeaderContextMenu=new e.spreadsheet.ContextMenu(n((({messages:e})=>`\n                    <ul class="${h.rowHeaderContextMenu}">\n                        <li data-action="cut">${e.menus.cut}</li>\n                        <li data-action="copy">${e.menus.copy}</li>\n                        <li data-action="paste">${e.menus.paste}</li>\n                        <li class="k-separator"></li>\n                        <li data-action="delete-row">${e.menus.delete}</li>\n                        <li data-action="hide-row">${e.menus.hide}</li>\n                        <li data-action="unhide-row">${e.menus.unhide}</li>\n                    </ul>`)(t.options)).appendTo(t.element),a),this._drawingContextMenu=new e.spreadsheet.ContextMenu(n((({messages:e})=>`\n                    <ul class="${h.drawingContextMenu}">\n                        <li data-action="bring-to-front">${e.menus.bringToFront}</li>\n                        <li data-action="send-to-back">${e.menus.sendToBack}</li>\n                        <li class="k-separator"></li>\n                        <li data-action="delete-drawing">${e.menus.delete}</li>\n                    </ul>`)(t.options)).appendTo(t.element),a),this._cellContextMenu.bind("select",this.onContextMenuSelect.bind(this)),this._rowHeaderContextMenu.bind("select",this.onContextMenuSelect.bind(this)),this._colHeaderContextMenu.bind("select",this.onContextMenuSelect.bind(this)),this._drawingContextMenu.bind("select",this.onContextMenuSelect.bind(this))},onContextMenuSelect:function(e){let t,a=this;switch(n(e.item).data("action")){case"cut":t={command:"ToolbarCutCommand",options:{workbook:this.spreadsheetRef.workbook}};break;case"copy":t={command:"ToolbarCopyCommand",options:{workbook:this.spreadsheetRef.workbook}};break;case"paste":t={command:"ToolbarPasteCommand",options:{workbook:this.spreadsheetRef.workbook}};break;case"delete-drawing":t={command:"DeleteDrawingCommand",options:{drawing:this.spreadsheetRef._controller.navigator._sheet._activeDrawing}};break;case"bring-to-front":t={command:"BringToFrontCommand",options:{drawing:this.spreadsheetRef._controller.navigator._sheet._activeDrawing}};break;case"send-to-back":t={command:"SendToBackCommand",options:{drawing:this.spreadsheetRef._controller.navigator._sheet._activeDrawing}};break;case"unmerge":t={command:"MergeCellCommand",options:{value:"unmerge"}};break;case"merge":this.spreadsheetRef.openDialog("merge");break;case"hide-row":t={command:"HideLineCommand",options:{axis:"row"}};break;case"hide-column":t={command:"HideLineCommand",options:{axis:"column"}};break;case"unhide-row":t={command:"UnHideLineCommand",options:{axis:"row"}};break;case"unhide-column":t={command:"UnHideLineCommand",options:{axis:"column"}};break;case"delete-row":t={command:"DeleteRowCommand"};break;case"delete-column":t={command:"DeleteColumnCommand"}}t&&a.spreadsheetRef.executeCommand(t)},_onUpdateTools:function(e){let t=e.reason;t&&(t.overElement||t.comment)||this.toolbar?.refresh(e.range)},_getCopyRegex:function(e){const t=e.replaceAll("(","\\(").replaceAll(")","\\)");return new RegExp(`(${t})\\s?\\(`,"s")},_sheetsBar:function(e){let t=this;if(t.options.sheetsbar){let a=n.extend(!0,{openDialog:e},t.options.sheetsbar);t.sheetsBar=new l(t.element[0].querySelector("[ref-sheets-bar]"),a),t.sheetsBar.bind("select",(function(e){e.isAddButton?t.spreadsheetRef.view.sheetsbar.onAddSelect():t.spreadsheetRef.view.sheetsbar.onSheetSelect(e.name)})),t.sheetsBar.bind("reorder",(function(e){t.spreadsheetRef.view.sheetsbar.onSheetReorderEnd(e)})),t.sheetsBar.bind("rename",(function(e){t.spreadsheetRef.view.sheetsbar.onSheetRename(e.name,e.sheetIndex)})),t.sheetsBar.bind("duplicate",(function(e){let a=e.name,n=t.sheetByName(a),o=t.sheetIndex(n),s=0;const i=t._getCopyRegex(a);t.sheets().forEach((e=>{i.test(e.name())&&(s+=1)}));const r=`${a} (${s+1})`;t.insertSheet({data:{...n.toJSON(),name:r},index:o+1}),t.spreadsheetRef.view.sheetsbar.onSheetSelect(r)})),t.sheetsBar.bind("remove",(function(e){t.spreadsheetRef.view.sheetsbar.onSheetRemove(e.name)})),t.sheetsBar.bind("hide",(function(e){let a=e.name,n=t.sheetByName(a),o=t.sheets().filter((e=>"visible"===e.state())),s=o.findIndex((e=>e.name()===a)),i=o[s+1]||o[s-1];n._state("hidden"),t.spreadsheetRef.workbook._sheetsSearchCache={},t.spreadsheetRef.view.sheetsbar.onSheetSelect(i.name())})),t.sheetsBar.bind("show",(function(e){let a=e.name;t.sheetByName(a)._state("visible"),t.spreadsheetRef.workbook._sheetsSearchCache={},t.spreadsheetRef.view.sheetsbar.onSheetSelect(e.name)}))}},_createToolBar:function(a,o,s){let i=this;i.toolbar&&(i.toolbar.destroy(),i.toolbar.element.empty());let r=o.findIndex((e=>e.id===s)),l=o[r],d=a[l.id];i._activeToolBar=l.text,i.toolbar=new e.spreadsheet.ToolBar(this.element.find("[ref-header-toolbar]"),{tools:"boolean"==typeof d?t:d,overflow:n.isPlainObject(a.overflow)?a.overflow:t,toolbarName:l.id,fillMode:"flat",action:function(e){"undo"!==e.command&&"redo"!==e.command?("OpenCommand"==e.command?e.options.file=e.options.value:"BorderChangeCommand"===e.command&&(e.options.border=e.options.border||e.options.value.type,e.options.style=e.options.style||e.options.value.style||{color:e.options.value.color,size:1}),i.spreadsheetRef.executeCommand(e)):i.spreadsheetRef.workbook.undoRedoStack[e.command]()},dialog:function(e){i.spreadsheetRef.openDialog(e.name,e.options)}}),i.toolbar.element.attr("aria-label",l.text)},_initHeader:function(){let t=this,o=this.options.messages.tabs,s=n.extend(!0,{file:!0,home:!0,insert:!0,format:!0,data:!0,view:!0},this.options.toolbar),i=[];this.menu&&(this.menu.destroy(),this.menu.empty()),this.toolbar&&(this.toolbar.destroy(),this.toolbar.empty());for(let e in s)(!0===s[e]||s[e]instanceof Array)&&i.push({id:e,text:o[e],content:"",attr:{"ref-tab-name":e}});if(this.menu=new e.spreadsheet.Menu(this.element.find("[ref-header-menu]"),{dataSource:i,toolbarOptions:s,select:function(e){let o=n(e.item).text();if(t._activeToolBar!==o){n(e.item).addClass(a).siblings("li").removeClass(a),t._createToolBar(s,i,i.find((e=>e.text===o)).id);const r=t.activeSheet();t._onUpdateTools({range:r.range(r.activeCell())})}}}),i.length){let e=i.find((e=>"home"===e.id));this.menu.element.find('li[ref-tab-name="home"]').addClass(a),t._createToolBar(s,i,e?e.id:i[0].id)}},executeCommand(e){return this.spreadsheetRef.executeCommand(e)},_resize:function(){this.refresh({layout:!0})},_workbookChanging:function(e){this.trigger("changing",e)&&e.preventDefault()},_workbookChange:function(e){this.trigger("change",{range:e.range})&&e.preventDefault()},_workbookCut:function(e){this.trigger("cut",e)},_workbookCopy:function(e){this.trigger("copy",e)},_workbookPaste:function(e){this.trigger("paste",e)},activeSheet:function(e){return this.spreadsheetRef.activeSheet(e)},moveSheetToIndex:function(e,t){return this.spreadsheetRef.moveSheetToIndex(e,t)},insertSheet:function(e){return this.spreadsheetRef.insertSheet(e)},sheets:function(){return this.spreadsheetRef.sheets()},removeSheet:function(e){return this.spreadsheetRef.removeSheet(e)},sheetByName:function(e){return this.spreadsheetRef.sheetByName(e)},sheetIndex:function(e){return this.spreadsheetRef.sheetIndex(e)},sheetByIndex:function(e){return this.spreadsheetRef.sheetByIndex(e)},renameSheet:function(e,t){return this.spreadsheetRef.renameSheet(e,t)},refresh:function(e){return this.spreadsheetRef.refresh(e),this},openDialog:function(e,t){return this.spreadsheetRef.openDialog(e,t)},autoRefresh:function(e){return e!==t?(this._autoRefresh=e,!0===e&&this.refresh(),this):this._autoRefresh},toJSON:function(){return this.spreadsheetRef.toJSON()},fromJSON:function(e){this.spreadsheetRef.fromJSON(e)},saveJSON:function(){return this.spreadsheetRef.saveJSON()},fromFile:function(e,t){return this.spreadsheetRef.fromFile(e,t)},saveAsPDF:function(e){this.spreadsheetRef.saveAsPDF(n.extend({},this.options.pdf,e,{workbook:this.spreadsheetRef._workbook}))},saveAsExcel:function(t){const a=n.extend({},this.options.excel,t,{Workbook:e.ooxml.Workbook,saveAs:function(t,a,n){e.saveAs({dataURI:t,fileName:a,...n})}});this.spreadsheetRef.saveAsExcel(a)},draw:function(e,t){this.spreadsheetRef.draw(e,t)},_workbookExcelExport:function(e){this.trigger("excelExport",e)&&e.preventDefault()},_workbookExcelImport:function(e){const t={file:e.file,sender:e.sender,preventDefault:e.preventDefault,isDefaultPrevented:e.isDefaultPrevented,promise:c(e.deferred),_defaultPrevented:e._defaultPrevented};this.trigger("excelImport",t)?e.preventDefault():this._initProgress(e.deferred)},_initProgress:function(t){let a=n("<div class='k-loading-mask' style='width: 100%; height: 100%; top: 0;'><div class='k-loading-color'></div></div>").appendTo(this.element),o=n("<div class='k-loading-progress'>").appendTo(a).kendoProgressBar({type:"chunk",chunkCount:10,min:0,max:1,value:0}).data("kendoProgressBar");t.progress((function(e){o.value(e.progress)})).promise.finally((function(){e.destroy(a),a.remove()}))},_workbookPdfExport:function(e){this.trigger("pdfExport",e)&&e.preventDefault()},_workbookInsertSheet:function(e){this.trigger("insertSheet",e)&&e.preventDefault()},_workbookRemoveSheet:function(e){this.trigger("removeSheet",e)&&e.preventDefault()},_workbookSelectSheet:function(e){this.trigger("selectSheet",e)&&e.preventDefault()},_workbookRenameSheet:function(e){this.trigger("renameSheet",e)&&e.preventDefault()},_workbookInsertRow:function(e){this.trigger("insertRow",e)&&e.preventDefault()},_workbookInsertColumn:function(e){this.trigger("insertColumn",e)&&e.preventDefault()},_workbookDeleteRow:function(e){this.trigger("deleteRow",e)&&e.preventDefault()},_workbookDeleteColumn:function(e){this.trigger("deleteColumn",e)&&e.preventDefault()},_workbookHideRow:function(e){this.trigger("hideRow",e)&&e.preventDefault()},_workbookHideColumn:function(e){this.trigger("hideColumn",e)&&e.preventDefault()},_workbookUnhideRow:function(e){this.trigger("unhideRow",e)&&e.preventDefault()},_workbookUnhideColumn:function(e){this.trigger("unhideColumn",e)&&e.preventDefault()},_workbookSelect:function(e){this.trigger("select",e)},_workbookChangeFormat:function(e){this.trigger("changeFormat",e)},_workbookDataBinding:function(e){this.trigger("dataBinding",e)&&e.preventDefault()},_workbookDataBound:function(e){this.trigger("dataBound",e)},_workbookProgress:function(t){e.ui.progress(this.element,t.toggle)},_bindWorkbookEvents:function(){this.spreadsheetRef.bind("cut",this._workbookCut.bind(this)),this.spreadsheetRef.bind("copy",this._workbookCopy.bind(this)),this.spreadsheetRef.bind("paste",this._workbookPaste.bind(this)),this.spreadsheetRef.bind("changing",this._workbookChanging.bind(this)),this.spreadsheetRef.bind("change",this._workbookChange.bind(this)),this.spreadsheetRef.bind("excelExport",this._workbookExcelExport.bind(this)),this.spreadsheetRef.bind("excelImport",this._workbookExcelImport.bind(this)),this.spreadsheetRef.bind("pdfExport",this._workbookPdfExport.bind(this)),this.spreadsheetRef.bind("insertSheet",this._workbookInsertSheet.bind(this)),this.spreadsheetRef.bind("removeSheet",this._workbookRemoveSheet.bind(this)),this.spreadsheetRef.bind("selectSheet",this._workbookSelectSheet.bind(this)),this.spreadsheetRef.bind("renameSheet",this._workbookRenameSheet.bind(this)),this.spreadsheetRef.bind("insertRow",this._workbookInsertRow.bind(this)),this.spreadsheetRef.bind("insertColumn",this._workbookInsertColumn.bind(this)),this.spreadsheetRef.bind("deleteRow",this._workbookDeleteRow.bind(this)),this.spreadsheetRef.bind("deleteColumn",this._workbookDeleteColumn.bind(this)),this.spreadsheetRef.bind("hideRow",this._workbookHideRow.bind(this)),this.spreadsheetRef.bind("hideColumn",this._workbookHideColumn.bind(this)),this.spreadsheetRef.bind("unhideRow",this._workbookUnhideRow.bind(this)),this.spreadsheetRef.bind("unhideColumn",this._workbookUnhideColumn.bind(this)),this.spreadsheetRef.bind("select",this._workbookSelect.bind(this)),this.spreadsheetRef.bind("changeFormat",this._workbookChangeFormat.bind(this)),this.spreadsheetRef.bind("dataBinding",this._workbookDataBinding.bind(this)),this.spreadsheetRef.bind("dataBound",this._workbookDataBound.bind(this)),this.spreadsheetRef.bind("progress",this._workbookProgress.bind(this))},destroy:function(){e.ui.Widget.fn.destroy.call(this),this._formulaBarInputRefPopup?.destroy(),this._formulaCellInputRefPopup?.destroy(),this._formulaBarInputRefList?.destroy(),this._formulaCellInputRefList?.destroy(),this._formulaBarInputRefList=this._formulaCellInputRefList=null,this._formulaBarInputRefPopup=this._formulaCellInputRefPopup=null,this.menu&&this.menu.destroy(),this.toolbar&&this.toolbar.destroy(),this.sheetsBar&&this.sheetsBar.destroy(),this._dialogs?.forEach((function(e){e?.destroy()})),this.spreadsheetRef?.destroy(),this._cellContextMenu?.destroy(),this._rowHeaderContextMenu?.destroy(),this._colHeaderContextMenu?.destroy(),this._drawingContextMenu?.destroy(),this._cellContextMenu=this._rowHeaderContextMenu=this._colHeaderContextMenu=this._drawingContextMenu=null,this._resizeHandler&&n(window).off("resize"+s,this._resizeHandler),e.destroy(this.element)},options:{name:"Spreadsheet",toolbar:!0,sheetsbar:!0,rows:200,columns:50,rowHeight:30,columnWidth:64,headerHeight:30,headerWidth:32,excel:{proxyURL:"",fileName:"Workbook.xlsx"},messages:{},pdf:{area:"workbook",fileName:"Workbook.pdf",proxyURL:"",paperSize:"a4",landscape:!0,margin:null,title:null,author:null,subject:null,keywords:null,creator:"Kendo UI PDF Generator v."+e.version,date:null},defaultCellStyle:{fontFamily:"Arial",fontSize:12},useCultureDecimals:!1},defineName:function(e,t,a){return this.spreadsheetRef.defineName(e,t,a)},undefineName:function(e){return this.spreadsheetRef.undefineName(e)},nameValue:function(e){return this.spreadsheetRef.nameValue(e)},forEachName:function(e){return this.spreadsheetRef.forEachName(e)},cellContextMenu:function(){return this._cellContextMenu},rowHeaderContextMenu:function(){return this._rowHeaderContextMenu},colHeaderContextMenu:function(){return this._colHeaderContextMenu},addImage:function(e){return this.spreadsheetRef.addImage(e)},cleanupImages:function(){return this.spreadsheetRef.cleanupImages()},events:["cut","copy","paste","pdfExport","excelExport","excelImport","changing","change","render","removeSheet","selectSheet","renameSheet","insertRow","insertColumn","deleteRow","insertSheet","deleteColumn","hideRow","hideColumn","unhideRow","unhideColumn","select","changeFormat","dataBinding","dataBound"]});e.ui.plugin(g),n.extend(!0,g,{classNames:{wrapper:"k-spreadsheet"}})}(window.kendo);var o=kendo;e.__meta__={id:"spreadsheet",name:"Spreadsheet",category:"web",description:"Spreadsheet component",depends:["core","binder","colorpicker","combobox","data","dom","dropdownlist","menu","ooxml","popup","sortable","toolbar","treeview","window","validator","excel","pdf","drawing","list","spreadsheet.common"]},e.default=o,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.spreadsheet.min.js.map