{"version":3,"sources":["webpack:///./node_modules/@progress/kendo-ui/js/imageeditor/commands.js","webpack:///./node_modules/@progress/kendo-ui/js/imageeditor/toolbar.js","webpack:///./node_modules/@progress/kendo-ui/js/kendo.actionsheet.js","webpack:///./node_modules/@progress/kendo-ui/js/imageeditor/pane.js"],"names":["module","exports","modules","installedModules","__webpack_require__","moduleId","id","loaded","call","m","c","p","0","3","Error","1042","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","f","define","apply","undefined","$","kendo","window","imageeditorNS","ui","imageeditor","extend","proxy","Class","Command","init","options","this","OpenPaneImageEditorCommand","fn","exec","that","pane","panes","value","open","ZoomImageEditorCommand","zoomStep","spacing","imgHeight","_image","height","currentZoom","getZoomLevel","newHeight","isNaN","_processStringValue","parseFloat","Math","round","_canvas","css","_zoomLevel","currentPaneTool","refresh","initialZoom","expectedHeight","canvasWrapper","CropImageEditorCommand","canvas","getCanvasElement","ctx","getCurrent2dContext","croppedImage","getImageData","left","top","width","clearRect","putImageData","drawImage","toDataURL","done","image","drawCanvas","fail","ev","trigger","ResizeImageEditorCommand","getCurrentImage","UndoImageEditorCommand","undoStack","pop","redoStack","push","RedoImageEditorCommand","SaveImageEditorCommand","saveAs","dataURI","OpenImageEditorCommand","upload","_upload","input","kendoUpload","select","onSelect","error","onError","multiple","validation","allowedExtensions","getKendoUpload","element","click","file","files","rawFile","reader","FileReader","addEventListener","result","_initUndoRedoStack","_toggleTools","readAsDataURL","ImageEditorCommand","commands","jQuery","1043","1044","975","1038","1048","ToolBar","Item","toolbar","CLICK","DROPDOWNCHANGE","ACTION","ImageEditorToolBar","_extendOptions","_attachEvents","toggleTools","events","concat","defaultTools","type","icon","name","command","showText","save","toggleCondition","separator","undo","redo","separator1","crop","resize","zoomIn","zoomOut","zoomDropdown","text","items","bind","_dropDownChange","_click","tools","Object","keys","_extendToolsOptions","messages","length","map","tool","toolOptions","isBuiltInTool","isPlainObject","deepExtend","guid","attributes","overflow","target","data","action","args","conditions","find","each","index","elm","widget","condition","toToggle","is","widgetInstance","enable","destroy","ImageEditorZoomDropDown","attr","template","dropDown","DropDownList","optionLabel","dataTextField","dataSource","change","_change","append","wrapper","list","hide","sender","dataItem","registerComponent","ZoomDropDown","1049","Widget","ns","Popup","DOCUMENT_ELEMENT","document","documentElement","MOUSEDOWN","OPEN","CLOSE","ACTIVATE","ACTION_SHEET_CONTAINER","OVERLAY","ACTION_SHEET","ACTION_SHEET_BOTTOM","STATEDISABLED","HIDDEN","KEYDOWN","hexColor","HEADER_TEMPLATE","ITEM_TEMPLATE","SEPARATOR","defaultItem","description","iconClass","iconSize","iconColor","noop","group","disabled","contains","container","createIcon","inlineStyles","addClass","test","color","fontSize","ActionSheet","_hasItems","_mapItems","_wrapper","_popup","_header","_items","_footer","downEvent","applyEventMap","_mousedownProxy","_mousedown","on","_keydown","title","popup","defaultItemsMapper","wrap","parent","prepend","isRtl","support","anchor","omitOriginOffsets","appendTo","modal","animation","_openHandler","_createItems","topGroupFilter","itemsFilter","idx","item","itemTemplate","itemElement","filter","prop","bottomGroupFilter","off","removeClass","_elementHeight","outerHeight","outerWidth","close","e","keyCode","ESC","stopPropagation","eq","eventTarget","plugin","1050","1051","20","23","1045","NS","paneStyles","form","button","confirmButton","cropOverlay","resizeHandle","resizeHandlePrefix","Pane","commonMessages","common","paneWrapper","formWidget","Form","formSettings","buttonsTemplate","format","cancel","confirm","bindButtonEvents","show","buttons","_clickHandler","console","html","CropPane","buildCropModel","canvasUI","model","_model","toJSON","executeCommand","cropMessages","aspectRatioItems","aspectRatioDS","key","formData","onChange","label","layout","grid","cols","gutter","aspectRatio","field","editor","editorOptions","dataValueField","colSpan","orientation","_orientationEditor","style","max","min","lockAspectRatio","_orientationWidget","kendoButtonGroup","portrait","selected","landscape","set","canvasContainer","cropElement","handle","handles","zoomLevel","i","handleElm","_initResizeHandle","_canvasUI","borderWidth","parseInt","backgroundImage","src","backgroundSize","backgroundClip","backgroundPosition","kendoDraggable","ignore","drag","_adjustTopLeft","offsetTop","y","delta","offsetLeft","x","newModel","$target","oldModel","adjustments","correctedLeft","correctedTop","indexOf","offsetWidth","offsetHeight","compare","compareModel","maxWidth","maxHeight","originalRatio","gcd","_gcd","tempModel","newSize","_calcSize","force","size","isPortrait","ratios","split","wRatio","hRatio","expectedRatio","realRatio","sizeByRatio","a","b","remove","ResizePane","buildResizeModel","originalWidth","originalHeight","measure","resizeMessages","encoded","pixels","percents","measureW","measureH","ratio","aspectRatioLocked","resetNumericsTo","_preventChange","widthNumeric","heightNumeric","isPercent","setOptions","ImageEditorPane","1046","1047"],"mappings":"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","file":"js/chunk-vendors~604b7417.476b0d5e.js","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1042);\n\tmodule.exports = __webpack_require__(1042);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1042:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (f, define) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1043), __webpack_require__(1044)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function () {\n\n\t (function ($, undefined) {\n\t var kendo = window.kendo,\n\t imageeditorNS = kendo.ui.imageeditor,\n\t extend = $.extend,\n\t proxy = $.proxy,\n\t Class = kendo.Class;\n\n\t var Command = Class.extend({\n\t init: function (options) {\n\t this.options = extend({}, options, this.options);\n\t this.imageeditor = options.imageeditor;\n\t }\n\t });\n\n\t var OpenPaneImageEditorCommand = Command.extend({\n\t init: function (options) {\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t pane = new imageeditorNS.panes[that.options.value](imageeditor);\n\n\t pane.open();\n\t }\n\t });\n\n\t var ZoomImageEditorCommand = Command.extend({\n\t options: {\n\t zoomStep: 0.05,\n\t spacing: 20\n\t },\n\t init: function (options) {\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function () {\n\t var that = this,\n\t options = that.options,\n\t value = options.value,\n\t imageeditor = that.imageeditor,\n\t imgHeight = imageeditor._image.height,\n\t currentZoom = imageeditor.getZoomLevel(),\n\t newHeight = imgHeight;\n\n\t if(!isNaN(value)) {\n\t value = parseFloat(value);\n\t } else if (typeof value === \"string\") {\n\t value = that._processStringValue(value, currentZoom);\n\t }\n\n\t newHeight = Math.round(imgHeight * value);\n\n\t if(newHeight > 0) {\n\t $(imageeditor._canvas).css(\"height\", newHeight);\n\t imageeditor._zoomLevel = value;\n\t }\n\n\t if (imageeditor.currentPaneTool) {\n\t imageeditor.currentPaneTool.refresh();\n\t }\n\t },\n\t _processStringValue: function (value, initialZoom) {\n\t var that = this,\n\t options = that.options,\n\t imageeditor = that.imageeditor,\n\t imgHeight = imageeditor._image.height,\n\t expectedHeight = imageeditor.canvasWrapper.height() - options.spacing,\n\t zoomStep = options.zoomStep;\n\n\t switch (value) {\n\t case \"zoomIn\":\n\t return initialZoom + zoomStep;\n\t case \"zoomOut\":\n\t return initialZoom - zoomStep;\n\t case \"fitToScreen\":\n\t return Math.round((expectedHeight / imgHeight) * 100) / 100;\n\t default:\n\t return 1;\n\t }\n\t }\n\t });\n\n\t var CropImageEditorCommand = Command.extend({\n\t init: function (options) {\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function () {\n\t var that = this,\n\t options = that.options,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t ctx = imageeditor.getCurrent2dContext(),\n\t croppedImage = ctx.getImageData(options.left, options.top, options.width, options.height);\n\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\t canvas.width = options.width;\n\t canvas.height = options.height;\n\t ctx.putImageData(croppedImage, 0, 0);\n\n\t imageeditor.drawImage(canvas.toDataURL()).done(function(image){\n\t imageeditor.drawCanvas(image);\n\t }).fail(function (ev) {\n\t imageeditor.trigger(\"error\", ev);\n\t });\n\t }\n\t });\n\n\t var ResizeImageEditorCommand = Command.extend({\n\t init: function (options) {\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function () {\n\t var that = this,\n\t options = that.options,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t ctx = imageeditor.getCurrent2dContext(),\n\t image = imageeditor.getCurrentImage();\n\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\t canvas.width = options.width;\n\t canvas.height = options.height;\n\t ctx.drawImage(image, 0, 0, options.width, options.height);\n\n\t imageeditor.drawImage(canvas.toDataURL()).done(function(image){\n\t imageeditor.drawCanvas(image);\n\t }).fail(function (ev) {\n\t imageeditor.trigger(\"error\", ev);\n\t });\n\t }\n\t });\n\n\t var UndoImageEditorCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t ctx = imageeditor.getCurrent2dContext(),\n\t image = imageeditor.undoStack.pop();\n\n\t if(image) {\n\t imageeditor.redoStack.push(imageeditor.getCurrentImage());\n\t delete imageeditor._image;\n\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\t canvas.width = image.width;\n\t canvas.height = image.height;\n\t ctx.drawImage(image, 0, 0, image.width, image.height);\n\n\t imageeditor.drawImage(canvas.toDataURL()).done(function(image){\n\t imageeditor.drawCanvas(image);\n\t }).fail(function (ev) {\n\t imageeditor.trigger(\"error\", ev);\n\t });\n\t }\n\t }\n\t });\n\n\t var RedoImageEditorCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t ctx = imageeditor.getCurrent2dContext(),\n\t image = imageeditor.redoStack.pop();\n\n\t if(image) {\n\t imageeditor.undoStack.push(imageeditor.getCurrentImage());\n\t delete imageeditor._image;\n\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\t canvas.width = image.width;\n\t canvas.height = image.height;\n\t ctx.drawImage(image, 0, 0, image.width, image.height);\n\n\t imageeditor.drawImage(canvas.toDataURL()).done(function(image){\n\t imageeditor.drawCanvas(image);\n\t }).fail(function (ev) {\n\t imageeditor.trigger(\"error\", ev);\n\t });\n\t }\n\t }\n\t });\n\n\t var SaveImageEditorCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement();\n\n\t kendo.saveAs(extend({}, imageeditor.options.saveAs, {\n\t dataURI: canvas.toDataURL()\n\t }));\n\t }\n\t });\n\n\t var OpenImageEditorCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t upload = imageeditor._upload;\n\n\t if (!upload) {\n\t var input = $(\"\");\n\t input.kendoUpload({\n\t select: proxy(that.onSelect, that),\n\t error: proxy(that.onError, that),\n\t multiple: false,\n\t validation: {\n\t allowedExtensions: [\".jpg\", \".jpeg\", \".gif\", \".png\", \".bmp\", \".tiff\", \".webp\"]\n\t }\n\t });\n\n\t imageeditor._upload = upload = input.getKendoUpload();\n\n\t }\n\n\t upload.element.click();\n\t },\n\t onSelect: function (ev) {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t file = ev.files[0].rawFile,\n\t reader = new FileReader();\n\n\t reader.addEventListener(\"load\", function () {\n\t imageeditor.drawImage(reader.result).done(function(image){\n\t if (!imageeditor.trigger(\"imageLoaded\", { image: image })) {\n\t imageeditor.drawCanvas(image);\n\t imageeditor._initUndoRedoStack();\n\t imageeditor._toggleTools();\n\t }\n\t }).fail(function (ev) {\n\t imageeditor.trigger(\"error\", ev);\n\t });\n\t }, false);\n\n\n\t if (file) {\n\t reader.readAsDataURL(file);\n\t }\n\n\t },\n\t onError: function(ev){\n\t var that = this,\n\t imageeditor= that.imageeditor;\n\n\t imageeditor.trigger(\"error\", ev);\n\t }\n\t });\n\n\t extend(kendo.ui.imageeditor, {\n\t ImageEditorCommand: Command,\n\t commands: {\n\t OpenPaneImageEditorCommand: OpenPaneImageEditorCommand,\n\t ZoomImageEditorCommand: ZoomImageEditorCommand,\n\t CropImageEditorCommand: CropImageEditorCommand,\n\t ResizeImageEditorCommand:ResizeImageEditorCommand,\n\t UndoImageEditorCommand: UndoImageEditorCommand,\n\t RedoImageEditorCommand: RedoImageEditorCommand,\n\t SaveImageEditorCommand: SaveImageEditorCommand,\n\t OpenImageEditorCommand: OpenImageEditorCommand\n\t }\n\t });\n\n\t })(window.kendo.jQuery);\n\n\t return window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ }),\n\n/***/ 1043:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./pane\");\n\n/***/ }),\n\n/***/ 1044:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.upload\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1048);\n\tmodule.exports = __webpack_require__(1048);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 975:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.dropdownlist\");\n\n/***/ }),\n\n/***/ 1038:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.toolbar\");\n\n/***/ }),\n\n/***/ 1048:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1038), __webpack_require__(975)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t ui = kendo.ui,\n\t extend = $.extend,\n\t proxy = $.proxy,\n\t ToolBar = kendo.ui.ToolBar,\n\t Item = kendo.toolbar.Item,\n\n\t CLICK = \"click\",\n\t DROPDOWNCHANGE = \"dropDownChange\",\n\t ACTION = \"action\";\n\n\t var ImageEditorToolBar = ToolBar.extend({\n\t init: function(element, options) {\n\t var that = this;\n\n\t that._extendOptions(options);\n\n\t ToolBar.fn.init.call(that, element, options);\n\n\t that._attachEvents();\n\t that.toggleTools();\n\t },\n\n\t events: ToolBar.fn.events.concat([\n\t DROPDOWNCHANGE,\n\t ACTION\n\t ]),\n\n\t defaultTools: {\n\t open: { type: \"button\", icon: \"upload\", name: \"open\", command: \"OpenImageEditorCommand\", showText: \"overflow\" },\n\t save: { type: \"button\", icon: \"download\", name: \"save\", command: \"SaveImageEditorCommand\", showText: \"overflow\", toggleCondition:\"canExport\" },\n\t separator: { type: \"separator\" },\n\t undo: { type: \"button\", icon: \"undo\", name: \"undo\", command: \"UndoImageEditorCommand\", showText: \"overflow\", toggleCondition:\"undo\" },\n\t redo: { type: \"button\", icon: \"redo\", name: \"redo\", command: \"RedoImageEditorCommand\", showText: \"overflow\", toggleCondition:\"redo\" },\n\t separator1: { type: \"separator\" },\n\t crop: { type: \"button\", icon: \"crop\", name: \"crop\", command: \"OpenPaneImageEditorCommand\", options: \"crop\", showText: \"overflow\", toggleCondition:\"canExport\" },\n\t resize: { type: \"button\", icon: \"image-resize\", name: \"resize\", command: \"OpenPaneImageEditorCommand\", options: \"resize\", showText: \"overflow\", toggleCondition:\"canExport\" },\n\t zoomIn: { type: \"button\", icon: \"zoom-in\", name: \"zoomIn\", command: \"ZoomImageEditorCommand\", showText: \"overflow\", options: \"zoomIn\", toggleCondition:\"enable\" },\n\t zoomOut: { type: \"button\", icon: \"zoom-out\", name: \"zoomOut\", command: \"ZoomImageEditorCommand\", showText: \"overflow\", options: \"zoomOut\", toggleCondition:\"enable\" },\n\t zoomDropdown: { type: \"imageEditorZoomDropDown\", name: \"zoomDropdown\", command: \"ZoomImageEditorCommand\", text: \"Zoom options\", toggleCondition:\"enable\" , items: [\n\t { name: \"zoomActualSize\", icon: \"zoom-actual-size\", text: \"Show actual size\", options: \"actualSize\" },\n\t { name: \"zoomFitToScreen\", icon: \"zoom-best-fit\", text: \"Fit to screen\", options: \"fitToScreen\" }\n\t ]}\n\t },\n\n\t _attachEvents: function() {\n\t var that = this;\n\n\t that.bind(DROPDOWNCHANGE, proxy(that._dropDownChange, that));\n\t that.bind(CLICK, proxy(that._click, that));\n\t },\n\n\t _extendOptions: function(options) {\n\t var that = this,\n\t tools = options.items ? options.items : Object.keys(that.defaultTools);\n\n\t that.options = options;\n\n\t that.options.items = that._extendToolsOptions(tools);\n\t },\n\n\t _extendToolsOptions: function(tools) {\n\t var that = this,\n\t messages = that.options.messages;\n\n\t if (!tools.length) {\n\t return;\n\t }\n\n\t return tools.map(function (tool) {\n\t var isBuiltInTool = $.isPlainObject(tool) && Object.keys(tool).length === 1 && tool.name,\n\t toolOptions, text;\n\n\t tool = isBuiltInTool ? tool.name : tool;\n\t toolOptions = $.isPlainObject(tool) ? tool : extend({}, that.defaultTools[tool]);\n\n\t text = messages[toolOptions.name] || toolOptions.text;\n\n\t kendo.deepExtend(toolOptions, {\n\t id: toolOptions.name + \"-\" + kendo.guid(),\n\t name: toolOptions.name,\n\t text: text,\n\t attributes: {\n\t \"aria-label\": text,\n\t \"title\": text,\n\t \"data-command\": toolOptions.command,\n\t \"data-options\": toolOptions.options,\n\t \"data-toggle\": toolOptions.toggleCondition\n\t },\n\t overflow: toolOptions.overflow\n\t });\n\n\t if(toolOptions.type === \"imageEditorZoomDropDown\") {\n\t toolOptions.items = that._extendToolsOptions(toolOptions.items);\n\t }\n\n\t return toolOptions;\n\t }, that);\n\t },\n\n\t _click: function(ev) {\n\t var command = $(ev.target).data(\"command\"),\n\t options = $(ev.target).data(\"options\");\n\n\t if (!command) {\n\t return;\n\t }\n\n\t this.action({\n\t command: command,\n\t options: options\n\t });\n\t },\n\n\t _dropDownChange: function (ev) {\n\t if (!ev.command) {\n\t return;\n\t }\n\n\t this.action({\n\t command: ev.command,\n\t options: ev.options\n\t });\n\t },\n\n\t action: function (args) {\n\t this.trigger(ACTION, args);\n\t },\n\n\t toggleTools: function (conditions) {\n\t var that = this,\n\t tools = that.element.find(\"[data-toggle]\");\n\n\t tools.each(function(index, elm){\n\t var tool = $(elm),\n\t widget = null,\n\t condition = tool.data(\"toggle\"),\n\t toToggle = conditions && conditions[condition];\n\n\t if (tool.is(\"[data-role]\")) {\n\t widget = kendo.widgetInstance(tool);\n\t }\n\n\t if (widget && widget.enable){\n\t widget.enable(toToggle || false);\n\t } else {\n\t that.enable(tool, toToggle);\n\t }\n\t });\n\t },\n\n\t destroy: function () {\n\t var that = this;\n\n\t if (that.zoomDropdown) {\n\t that.zoomDropdown.destroy();\n\t }\n\n\t ToolBar.fn.destroy.call(this);\n\t }\n\t });\n\n\t var ImageEditorZoomDropDown = Item.extend({\n\t init: function(options, toolbar) {\n\t var that = this,\n\t element = $(\"
\"),\n\t input = $(\"\").attr(options.attributes),\n\t template = \" #:text#\";\n\n\t that.element = element;\n\t that.input = input;\n\t that.toolbar = toolbar;\n\n\t that.dropDown = new ui.DropDownList(that.input, {\n\t optionLabel: { text: options.text, icon: \"\" },\n\t dataTextField: \"text\",\n\t dataSource: options.items,\n\t template: template,\n\t change: proxy(that._change, that)\n\t });\n\n\t that.element.append(that.dropDown.wrapper);\n\t that.dropDown.list.find(\".k-list-optionlabel\").hide();\n\n\t that.toolbar.zoomDropdown = that;\n\t },\n\t _change: function (ev) {\n\t var that = this;\n\t that.toolbar.trigger(DROPDOWNCHANGE, {\n\t command: ev.sender.element.data(\"command\"),\n\t options: ev.sender.dataItem().options\n\t });\n\t },\n\t destroy: function(){\n\t this.dropDown.destroy();\n\t }\n\t });\n\n\t kendo.toolbar.registerComponent(\"imageEditorZoomDropDown\", ImageEditorZoomDropDown);\n\n\t extend(kendo.ui, {\n\t imageeditor: {\n\t ToolBar: ImageEditorToolBar,\n\t ZoomDropDown: ImageEditorZoomDropDown\n\t }\n\t });\n\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1049);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1049:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (f, define) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1050), __webpack_require__(1051)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function () {\n\n\tvar __meta__ = {// jshint ignore:line\n\t id: \"ActionSheet\",\n\t name: \"ActionSheet\",\n\t category: \"web\", // suite\n\t description: \"The ActionSheet widget displays a set of choices related to a task the user initiates.\",\n\t depends: [\"core\", \"popup\"] // dependencies\n\t};\n\n\t(function ($, undefined) {\n\t var kendo = window.kendo;\n\t var Widget = kendo.ui.Widget;\n\t var ui = kendo.ui;\n\t var ns = \".kendoActionSheet\";\n\t var Popup = ui.Popup;\n\t var DOCUMENT_ELEMENT = $(document.documentElement);\n\t var MOUSEDOWN = \"down\";\n\t var OPEN = \"open\";\n\t var CLOSE = \"close\";\n\t var ACTIVATE = \"activate\";\n\t var ACTION_SHEET_CONTAINER = \"k-actionsheet-container\";\n\t var OVERLAY = \"k-overlay\";\n\t var ACTION_SHEET = \"k-actionsheet\";\n\t var ACTION_SHEET_BOTTOM = \"k-actionsheet-bottom\";\n\t var STATEDISABLED = \"k-state-disabled\";\n\t var HIDDEN = \"k-hidden\";\n\t var extend = $.extend;\n\t var proxy = $.proxy;\n\t var template = kendo.template;\n\t var CLICK = \"click\";\n\t var KEYDOWN = \"keydown\";\n\t var hexColor = /^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;\n\t var HEADER_TEMPLATE = '
' +\n\t \"#=title#\"+\n\t '
';\n\t var ITEM_TEMPLATE = '
  • ' +\n\t '' +\n\t '#if(icon){# #=icon# #}#' +\n\t '' +\n\t '#:text#' +\n\t '#if(description){##:description##}#' +\n\t '' +\n\t '' +\n\t '
  • ';\n\t var SEPARATOR = '
    ';\n\t var defaultItem = {\n\t text: \"\",\n\t description: \"\",\n\t iconClass: \"\",\n\t iconSize: 0,\n\t iconColor: \"\",\n\t click: $.noop,\n\t group: \"top\",\n\t disabled: false\n\t };\n\n\t function contains(container, target) {\n\t if (!container || !target) {\n\t return false;\n\t }\n\t return container === target || $.contains(container, target);\n\t }\n\n\t function createIcon(data) {\n\t var result = $('');\n\t var inlineStyles = {};\n\n\t if (!data.iconClass) {\n\t return '';\n\t }\n\n\t result.addClass(data.iconClass + \" k-actionsheet-item-icon\");\n\n\t if (data.iconColor && hexColor.test(data.iconColor)) {\n\t inlineStyles.color = data.iconColor;\n\t } else if (data.iconColor) {\n\t result.addClass(\"k-text-\" + data.iconColor);\n\t }\n\n\t if (data.iconSize) {\n\t inlineStyles.fontSize = data.iconSize;\n\t }\n\n\t if (Object.keys(inlineStyles).length) {\n\t result.css(inlineStyles);\n\t }\n\n\t return result;\n\t }\n\n\t var ActionSheet = Widget.extend({\n\t init: function(element, options) {\n\t var that = this;\n\n\t Widget.fn.init.call(that, element, options);\n\n\t that._hasItems = options.items && options.items.length;\n\t that._mapItems();\n\t that._wrapper();\n\t that._popup();\n\t that._header();\n\t that._items();\n\t that._footer();\n\n\t that.downEvent = kendo.applyEventMap(MOUSEDOWN, kendo.guid());\n\t that._mousedownProxy = proxy(that._mousedown, that);\n\t that.wrapper.on(KEYDOWN + ns, that, proxy(that._keydown, that));\n\t },\n\n\t events: [\n\t OPEN,\n\t CLOSE\n\t ],\n\n\t options: {\n\t name: \"ActionSheet\",\n\t title: \"\",\n\t items: [],\n\t popup: null\n\t },\n\n\t _mapItems: function () {\n\t var that = this;\n\n\t if (!that._hasItems) {\n\t return;\n\t }\n\n\t that.options.items = that.options.items.map(defaultItemsMapper);\n\t },\n\n\t _wrapper: function () {\n\t var that = this;\n\t var element = that.element;\n\t var wrapper;\n\n\t element.addClass(ACTION_SHEET + \" \" + ACTION_SHEET_BOTTOM + \" k-popup\");\n\t that.wrapper = wrapper = element.wrap(\"\").parent();\n\t wrapper.prepend($('
    ').addClass(OVERLAY));\n\t },\n\n\t _popup: function () {\n\t var that = this;\n\t var options = that.options;\n\n\t that.popup = new Popup(that.element, extend(options.popup,\n\t options,\n\t {\n\t name: \"Popup\",\n\t isRtl: kendo.support.isRtl(options.anchor),\n\t omitOriginOffsets: true,\n\t appendTo: that.wrapper,\n\t modal: true,\n\t animation: false,\n\t anchor: that.wrapper\n\t }));\n\n\t that.popup.bind(ACTIVATE, proxy(that._openHandler, that));\n\t },\n\n\t _header: function () {\n\t var that = this;\n\t var options = that.options;\n\n\t if (!options.title) {\n\t return;\n\t }\n\n\t that.element.append(template(HEADER_TEMPLATE)(options));\n\t },\n\n\t _items: function () {\n\t var that = this;\n\n\t if (!that._hasItems) {\n\t return;\n\t }\n\n\t that._createItems(topGroupFilter);\n\t },\n\n\t _createItems: function (itemsFilter) {\n\t var that = this;\n\t var items = that.options.items.filter(itemsFilter);\n\t var idx;\n\t var item;\n\t var itemTemplate;\n\t var itemElement;\n\t var container = $(\"\");\n\t var icon;\n\n\t if (!items.length) {\n\t return;\n\t }\n\n\t that.element.append(container);\n\t itemTemplate = template(ITEM_TEMPLATE);\n\n\t for (idx = 0; idx < items.length; idx++) {\n\t item = items[idx];\n\t icon = createIcon(item);\n\t itemElement = $(itemTemplate(extend({}, item, {icon: icon && icon.prop('outerHTML')})));\n\t container.append(itemElement);\n\n\t if (item.click) {\n\t itemElement.on(CLICK + ns, proxy(item.click, that));\n\t }\n\t }\n\t },\n\n\t _footer: function () {\n\t var that = this;\n\n\t if (!that._hasItems) {\n\t return;\n\t }\n\t that.element.append(SEPARATOR);\n\t that._createItems(bottomGroupFilter);\n\t },\n\n\t destroy: function() {\n\t var that = this;\n\n\t Widget.fn.destroy.call(that);\n\t that.element.off(ns);\n\t that.wrapper.off(ns);\n\t that.popup.destroy();\n\t },\n\n\t open: function() {\n\t var that = this;\n\n\t that.wrapper.removeClass(HIDDEN);\n\t that._elementHeight = that._elementHeight || that.element.outerHeight();\n\t that.popup.open((that.wrapper.outerWidth() - that.element.outerWidth()) / 2, that.wrapper.outerHeight() - that._elementHeight);\n\t DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy)\n\t .on(that.downEvent, that._mousedownProxy);\n\t },\n\n\t close: function() {\n\t var that = this;\n\n\t that.popup.close();\n\t that.wrapper.addClass(HIDDEN);\n\t DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n\t },\n\n\t _keydown: function (e) {\n\t var that = this;\n\t var keys = kendo.keys;\n\t var keyCode = e.keyCode;\n\n\t if (keyCode == keys.ESC) {\n\t e.stopPropagation();\n\t that.close();\n\t }\n\t },\n\n\t _openHandler: function () {\n\t var that = this;\n\n\t that.element.find('li.k-actionsheet-item').eq(0).find(\"a\").trigger(\"focus\");\n\t },\n\n\t _mousedown: function(e) {\n\t var that = this;\n\t var container = that.element[0];\n\t var target = kendo.eventTarget(e);\n\n\t if (!contains(container, target)) {\n\t that.close();\n\t }\n\t }\n\t });\n\n\t function topGroupFilter(item) {\n\t return item.group === \"top\";\n\t }\n\n\t function bottomGroupFilter(item) {\n\t return item.group !== \"top\";\n\t }\n\n\t function defaultItemsMapper(item) {\n\t return extend({}, defaultItem, item);\n\t }\n\n\t ui.plugin(ActionSheet);\n\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ }),\n\n/***/ 1050:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.core\");\n\n/***/ }),\n\n/***/ 1051:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.popup\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1045);\n\tmodule.exports = __webpack_require__(1045);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.core\");\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.draganddrop\");\n\n/***/ }),\n\n/***/ 1045:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (f, define) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(20), __webpack_require__(1046), __webpack_require__(1047), __webpack_require__(23)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function () {\n\n\t (function ($, undefined) {\n\t var kendo = window.kendo,\n\t extend = $.extend,\n\t proxy = $.proxy,\n\t Class = kendo.Class,\n\n\t NS = \".k-imageeditor-pane\",\n\n\t CLICK = \"click\";\n\n\t var paneStyles = {\n\t form: \"k-imageeditor-pane-form\",\n\t button: \"k-imageeditor-pane-button\",\n\t confirmButton: \"k-imageeditor-pane-confirm-button\",\n\t cropOverlay: \"k-imageeditor-crop-overlay\",\n\t crop: \"k-imageeditor-crop\",\n\t resizeHandle: \"k-resize-handle\",\n\t resizeHandlePrefix: \"k-resize-\"\n\t };\n\n\t var round = function(f) {\n\t return Math.round(f * 1000) / 1000;\n\t };\n\n\t var Pane = Class.extend({\n\t init: function (imageeditor) {\n\t var that = this;\n\n\t that.imageeditor = imageeditor;\n\n\t if (that.imageeditor.currentPaneTool) {\n\t that.imageeditor.currentPaneTool.destroy();\n\t }\n\n\t that.element = $(\"
    \").addClass(paneStyles.form);\n\t },\n\t open: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t commonMessages = imageeditor.options.messages.common;\n\n\t imageeditor.paneWrapper.append(that.element);\n\t that.formWidget = new kendo.ui.Form(that.element, extend(that.formSettings(), {\n\t buttonsTemplate: kendo.format(\"\" +\n\t \"\",\n\t paneStyles.button,\n\t paneStyles.confirmButton,\n\t commonMessages.cancel,\n\t commonMessages.confirm)\n\t }));\n\n\t that.bindButtonEvents();\n\t imageeditor.paneWrapper.show();\n\t imageeditor.currentPaneTool = that;\n\t },\n\t bindButtonEvents: function () {\n\t var that = this,\n\t formWidget = that.formWidget,\n\t buttons = formWidget.element.find(\".\" + paneStyles.button);\n\n\t that._clickHandler = proxy(that._click, that);\n\n\t buttons.on(CLICK + NS, that._clickHandler);\n\t },\n\t _click: function (ev) {\n\t var that = this,\n\t target = $(ev.target),\n\t action = target.data(\"action\");\n\n\t if(that[action]) {\n\t that[action]();\n\t }\n\t },\n\t cancel: function () {\n\t this.destroy();\n\t },\n\t confirm: function () {\n\t window.console.error(\"Pane's confirm method is not implemented!\");\n\t this.destroy();\n\t },\n\t refresh: function () {\n\t },\n\t destroy: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor;\n\n\t that.formWidget.element.find(\".\" + paneStyles.button).off(NS);\n\t that.formWidget.destroy();\n\t imageeditor.paneWrapper.html(\"\");\n\t imageeditor.paneWrapper.hide();\n\t delete imageeditor.currentPaneTool;\n\t }\n\t });\n\n\t var CropPane = Pane.extend({\n\t init: function (imageeditor) {\n\t var that = this;\n\t Pane.fn.init.call(that, imageeditor);\n\t that.buildCropModel();\n\t that.canvasUI();\n\t },\n\t confirm: function () {\n\t var that = this,\n\t model = that.formWidget._model.toJSON();\n\n\t that.destroy();\n\t that.imageeditor.executeCommand({command: \"CropImageEditorCommand\", options: model });\n\t },\n\t formSettings: function () {\n\t var that = this,\n\t cropMessages = that.imageeditor.options.messages.panes.crop,\n\t commonMessages = that.imageeditor.options.messages.common,\n\t aspectRatioItems = cropMessages.aspectRatioItems,\n\t aspectRatioDS = [];\n\n\t if(aspectRatioItems) {\n\t for (var key in aspectRatioItems) {\n\t aspectRatioDS.push({value: key, text: aspectRatioItems[key]});\n\t }\n\t } else {\n\t aspectRatioDS = [\n\t { value: \"originalRatio\", text: \"Original ratio\"},\n\t { value: \"1:1\", text: \"1:1 (Square)\"},\n\t { value: \"4:5\", text: \"4:5 (8:10)\"},\n\t { value: \"5:7\", text: \"5:7\"},\n\t { value: \"2:3\", text: \"2:3 (4:6)\"},\n\t { value: \"16:9\", text: \"16:9\"}\n\t ];\n\t }\n\n\t return {\n\t formData: that._model,\n\t change: proxy(that.onChange, that),\n\t items: [{\n\t type: \"group\",\n\t label: cropMessages.title || \"Crop Image\",\n\t layout: \"grid\",\n\t grid: { cols: 2, gutter: \"0 8px\" },\n\t items: [{\n\t label: cropMessages.aspectRatio || \"Aspect ratio:\",\n\t field: \"aspectRatio\",\n\t editor: \"DropDownList\",\n\t editorOptions: {\n\t dataValueField: \"value\",\n\t dataTextField: \"text\",\n\t dataSource: aspectRatioDS\n\t },\n\t colSpan: 2\n\t }, {\n\t label: cropMessages.orientation,\n\t field: \"orientation\",\n\t editor: $.proxy(that._orientationEditor, that),\n\t colSpan: 2\n\t }, {\n\t label: commonMessages.width || \"Width:\",\n\t field: \"width\",\n\t attributes: { style: \"max-width: 100px;\" },\n\t editor: \"NumericTextBox\",\n\t editorOptions: {\n\t format: \"n0\",\n\t max: that._model.width,\n\t min: 0\n\t },\n\t colSpan: 1\n\t }, {\n\t label: commonMessages.height || \"Height:\",\n\t field: \"height\",\n\t attributes: { style: \"max-width: 100px;\" },\n\t editor: \"NumericTextBox\",\n\t editorOptions: {\n\t format: \"n0\",\n\t max: that._model.height,\n\t min: 0\n\t },\n\t colSpan: 1\n\t }, {\n\t label: commonMessages.lockAspectRatio || \"Lock aspect ratio\",\n\t field: \"lockAspectRatio\",\n\t colSpan: 2\n\t }\n\t ]\n\t }]\n\t };\n\t },\n\t _orientationEditor: function(container, options){\n\t var that = this,\n\t cropMessages = that.imageeditor.options.messages.panes.crop,\n\t value = options.model[options.field];\n\n\t that._orientationWidget = $(\"
    \")\n\t .appendTo(container)\n\t .kendoButtonGroup({\n\t items: [\n\t { text: cropMessages.portrait || \"Portrait\", attributes: { \"data-value\": \"portrait\" }, selected: value === \"portrait\" },\n\t { text: cropMessages.landscape || \"Landscape\", attributes: { \"data-value\": \"landscape\" }, selected : value === \"landscape\" }\n\t ],\n\t select: function (ev) {\n\t var value = ev.sender.wrapper.find(\".k-state-active\").data(\"value\");\n\t options.model.set(options.field, value);\n\t }\n\t }).data(\"kendoButtonGroup\");\n\t },\n\t buildCropModel: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t width = canvas.width,\n\t height = canvas.height;\n\n\t that._model = {\n\t top: 0,\n\t left: 0,\n\t aspectRatio: \"originalRatio\",\n\t width: width,\n\t height: height,\n\t orientation: (width - height < 0) ? \"portrait\" : \"landscape\",\n\t lockAspectRatio: true\n\t };\n\t },\n\t canvasUI: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvasContainer = that.imageeditor.canvasContainer,\n\t cropOverlay = $(\"
    \").addClass(paneStyles.cropOverlay),\n\t cropElement = $(\"
    \").addClass(paneStyles.crop),\n\t handle = \"\",\n\t handles = [ \"nw\", \"n\", \"ne\", \"w\", \"e\", \"sw\", \"s\", \"se\" ],\n\t zoomLevel = imageeditor.getZoomLevel();\n\n\t for (var i = 0; i < handles.length; i++) {\n\t var handleElm = $(handle)\n\t .addClass(paneStyles.resizeHandlePrefix + handles[i])\n\t .attr(\"data-orientation\", handles[i]);\n\n\t that._initResizeHandle(handleElm);\n\n\t cropElement.append(handleElm);\n\t }\n\n\t that.cropElement = cropElement;\n\n\t that._canvasUI = cropOverlay\n\t .append(cropElement)\n\t .appendTo(canvasContainer);\n\n\t var width = Math.round(that._model.width * zoomLevel);\n\t var height = Math.round(that._model.height * zoomLevel);\n\t var borderWidth = parseInt(that.cropElement.css(\"border-top-width\"), 10);\n\n\t that.cropElement.css({\n\t width: width,\n\t height: height,\n\t backgroundImage: \"url('\"+ imageeditor._image.src + \"')\",\n\t backgroundSize: kendo.format(\"{0}px {1}px\", width, height),\n\t backgroundClip: \"content-box\",\n\t backgroundPosition: kendo.format(\"-{0}px -{0}px\", borderWidth)\n\t });\n\n\t that.cropElement.kendoDraggable({\n\t ignore: \".\" + paneStyles.resizeHandle,\n\t drag: function (ev) {\n\t that._adjustTopLeft(ev.target.offsetTop + ev.y.delta, ev.target.offsetLeft + ev.x.delta);\n\t }\n\t });\n\t },\n\t refresh: function () {\n\t var that = this,\n\t newModel = that.formWidget._model,\n\t zoomLevel = that.imageeditor.getZoomLevel(),\n\t width = Math.round(newModel.width * zoomLevel),\n\t height = Math.round(newModel.height * zoomLevel),\n\t top = Math.round(newModel.top * zoomLevel),\n\t left = Math.round(newModel.left * zoomLevel),\n\t borderWidth = parseInt(that.cropElement.css(\"border-top-width\"), 10);\n\n\t that.cropElement.css({\n\t top: top,\n\t left: left,\n\t width: width,\n\t height: height,\n\t backgroundSize: kendo.format(\"{0}px {1}px\", that._model.width * zoomLevel, that._model.height * zoomLevel),\n\t backgroundPosition: kendo.format(\"-{0}px -{1}px\", left + borderWidth, top + borderWidth)\n\t });\n\t },\n\t _initResizeHandle: function (handle) {\n\t var that = this;\n\n\t handle.kendoDraggable({\n\t drag: function (ev) {\n\t var $target = $(ev.sender.element),\n\t newModel = that.formWidget._model,\n\t oldModel = that._model,\n\t orientation = $target.data(\"orientation\"),\n\t adjustments = {},\n\t zoomLevel = that.imageeditor.getZoomLevel(),\n\t correctedLeft = newModel.left * zoomLevel,\n\t correctedTop = newModel.top * zoomLevel;\n\n\t if (orientation.indexOf(\"w\") >= 0) {\n\t adjustments.left = that.cropElement[0].offsetLeft + ev.x.delta;\n\t adjustments.width = that.cropElement[0].offsetWidth - ev.x.delta;\n\t } else if (orientation.indexOf(\"e\") >= 0) {\n\t adjustments.width = that.cropElement[0].offsetWidth + ev.x.delta;\n\t }\n\n\t if (orientation.indexOf(\"n\") >= 0) {\n\t adjustments.top = that.cropElement[0].offsetTop + ev.y.delta;\n\t adjustments.height = that.cropElement[0].offsetHeight - ev.y.delta;\n\t } else if(orientation.indexOf(\"s\") >= 0) {\n\t adjustments.height = that.cropElement[0].offsetHeight + ev.y.delta;\n\t }\n\n\t if(adjustments.width && ((adjustments.left || correctedLeft) + adjustments.width <= oldModel.width * zoomLevel)) {\n\t newModel.set(\"width\", Math.round(adjustments.width / zoomLevel));\n\t }\n\n\t if(adjustments.height && ((adjustments.top || correctedTop) + adjustments.height <= oldModel.height * zoomLevel)) {\n\t newModel.set(\"height\", Math.round(adjustments.height / zoomLevel));\n\t }\n\n\t if(adjustments.top || adjustments.left) {\n\t that._adjustTopLeft(adjustments.top, adjustments.left);\n\t }\n\t }\n\t });\n\t },\n\t _adjustTopLeft: function (top, left, compare) {\n\t var that = this,\n\t compareModel = compare || that.formWidget._model,\n\t newModel = that.formWidget._model,\n\t oldModel = that._model,\n\t zoomLevel = that.imageeditor.getZoomLevel();\n\n\t if(top >= 0 && (top / zoomLevel) + compareModel.height <= oldModel.height) {\n\t newModel.set(\"top\", Math.round(top / zoomLevel));\n\t }\n\n\t if(left >= 0 && (left / zoomLevel) + compareModel.width <= oldModel.width) {\n\t newModel.set(\"left\", Math.round(left / zoomLevel));\n\t }\n\t },\n\t onChange: function (ev) {\n\t var that = this,\n\t zoomLevel = that.imageeditor.getZoomLevel(),\n\t newModel = ev.sender._model,\n\t oldModel = that._model,\n\t maxWidth = oldModel.width,\n\t maxHeight = oldModel.height,\n\t originalRatio = oldModel.width + \":\" + oldModel.height,\n\t gcd = that._gcd(oldModel.width, oldModel.height);\n\n\t originalRatio = oldModel.width/gcd + \":\" + oldModel.height/gcd;\n\n\t if(ev.field === \"aspectRatio\" && ev.value === \"originalRatio\") {\n\t newModel.set(\"top\", 0);\n\t newModel.set(\"left\", 0);\n\t newModel.set(\"orientation\", oldModel.orientation);\n\t newModel.set(\"width\", oldModel.width);\n\t newModel.set(\"height\", oldModel.height);\n\t } else if (ev.field === \"orientation\") {\n\t var tempModel = extend({}, newModel, {\n\t width: newModel.height,\n\t height: newModel.width\n\t });\n\n\t var newSize = that._calcSize(tempModel, originalRatio, maxWidth, maxHeight);\n\n\t newModel.set(\"width\", newSize.width);\n\t newModel.set(\"height\", newSize.height);\n\t that._orientationWidget.select(ev.value === \"portrait\" ? 0 : 1);\n\t } else if(newModel.lockAspectRatio) {\n\t var force = ev.field;\n\t var size = that._calcSize(newModel, originalRatio, maxWidth, maxHeight, force);\n\t newModel.set(\"width\", size.width);\n\t newModel.set(\"height\", size.height);\n\t }\n\n\t var width = Math.round(newModel.width * zoomLevel);\n\t var height = Math.round(newModel.height * zoomLevel);\n\t var top = Math.round(newModel.top * zoomLevel);\n\t var left = Math.round(newModel.left * zoomLevel);\n\t var borderWidth = parseInt(that.cropElement.css(\"border-top-width\"), 10);\n\n\t that.cropElement.css({\n\t top: top,\n\t left: left,\n\t width: width,\n\t height: height,\n\t backgroundPosition: kendo.format(\"-{0}px -{1}px\", left + borderWidth, top + borderWidth)\n\t });\n\t },\n\t _calcSize: function (model, originalRatio, maxWidth, maxHeight, force) {\n\t var width = Math.min(model.width, maxWidth),\n\t height = Math.min(model.height, maxHeight),\n\t isPortrait = model.orientation === \"portrait\",\n\t ratios = model.aspectRatio;\n\n\t if(ratios.indexOf(\":\") < 0) {\n\t ratios = originalRatio;\n\t }\n\n\t ratios = ratios.split(\":\").map(function (value) {\n\t return parseInt(value, 10);\n\t });\n\n\t var wRatio = isPortrait ? Math.min(ratios[0], ratios[1]) : Math.max(ratios[0], ratios[1]);\n\t var hRatio = !isPortrait ? Math.min(ratios[0], ratios[1]) : Math.max(ratios[0], ratios[1]);\n\t var expectedRatio = round(wRatio/hRatio);\n\t var realRatio = round(width/height);\n\n\t var sizeByRatio = {\n\t width: Math.round(height * expectedRatio),\n\t height: Math.round(width / expectedRatio)\n\t };\n\n\t if (force === \"width\") {\n\t return {\n\t width: width,\n\t height: sizeByRatio.height\n\t };\n\t }\n\n\t if (force === \"height\") {\n\t return {\n\t width: sizeByRatio.width,\n\t height: height\n\t };\n\t }\n\n\t if (realRatio > expectedRatio) {\n\t width = sizeByRatio.width;\n\t } else if (realRatio < expectedRatio){\n\t height = sizeByRatio.height;\n\t }\n\n\t return {\n\t width: width,\n\t height: height\n\t };\n\t },\n\t _gcd: function (a, b) {\n\t return (b === 0) ? a : this._gcd (b, a%b);\n\t },\n\t destroy: function () {\n\t kendo.destroy(this._canvasUI);\n\t this._canvasUI.remove();\n\t Pane.fn.destroy.call(this);\n\t }\n\t });\n\n\t var ResizePane = Pane.extend({\n\t init: function (imageeditor) {\n\t Pane.fn.init.call(this, imageeditor);\n\t this.buildResizeModel();\n\t },\n\t confirm: function () {\n\t var that = this,\n\t originalWidth = that._model.width,\n\t originalHeight = that._model.height,\n\t model = that.formWidget._model.toJSON();\n\n\t if(model.measure === \"percents\") {\n\t model.width = originalWidth * (model.width / 100);\n\t model.height = originalHeight * (model.height / 100);\n\t }\n\n\t that.imageeditor.executeCommand({command: \"ResizeImageEditorCommand\", options: model });\n\t that.destroy();\n\t },\n\t formSettings: function () {\n\t var that = this,\n\t resizeMessages = that.imageeditor.options.messages.panes.resize,\n\t commonMessages = that.imageeditor.options.messages.common;\n\n\t return {\n\t formData: that._model,\n\t change: proxy(that.onChange, that),\n\t items: [{\n\t type: \"group\",\n\t label: resizeMessages.title || \"Resize image\",\n\t layout: \"grid\",\n\t grid: { cols: 2, gutter: \"0 8px\" },\n\t items: [{\n\t label: commonMessages.width || \"Width:\",\n\t field: \"width\",\n\t attributes: { style: \"max-width: 100px;\" },\n\t editor: \"NumericTextBox\",\n\t editorOptions: {\n\t format: \"n0\",\n\t min: 0\n\t },\n\t colSpan: 1\n\t }, {\n\t field: \"measureW\",\n\t editor: \"DropDownList\",\n\t attributes: { style: \"max-width: 100px;\" },\n\t label: { text: \" \", encoded: false },\n\t editorOptions: {\n\t dataTextField: \"text\",\n\t dataValueField: \"value\",\n\t dataSource: [\n\t { text: resizeMessages.pixels || \"Pixels\", value: \"pixels\" },\n\t { text: resizeMessages.percents || \"Percents\", value: \"percents\" }\n\t ]\n\t },\n\t colSpan: 1\n\t }, {\n\t label: commonMessages.height || \"Height:\",\n\t field: \"height\",\n\t attributes: { style: \"max-width: 100px;\" },\n\t editor: \"NumericTextBox\",\n\t editorOptions: {\n\t format: \"n0\",\n\t min: 0\n\t },\n\t colSpan: 1\n\t }, {\n\t field: \"measureH\",\n\t label: { text: \" \", encoded: false },\n\t attributes: { style: \"max-width: 100px;\" },\n\t editor: \"DropDownList\",\n\t editorOptions: {\n\t dataTextField: \"text\",\n\t dataValueField: \"value\",\n\t dataSource: [\n\t { text: resizeMessages.pixels || \"Pixels\", value: \"pixels\" },\n\t { text: resizeMessages.percents || \"Percents\", value: \"percents\" }\n\t ]\n\t },\n\t colSpan: 1\n\t }, {\n\t label: commonMessages.lockAspectRatio || \"Lock aspect ratio\",\n\t field: \"lockAspectRatio\",\n\t colSpan: 2\n\t }]\n\t }]\n\t };\n\t },\n\t buildResizeModel: function () {\n\t var that = this,\n\t imageeditor = that.imageeditor,\n\t canvas = imageeditor.getCanvasElement(),\n\t width = canvas.width,\n\t height = canvas.height;\n\n\t that._model = {\n\t width: width,\n\t height: height,\n\t measure: \"pixels\",\n\t measureW: \"pixels\",\n\t measureH: \"pixels\",\n\t lockAspectRatio: true,\n\t ratio: round(width/height)\n\t };\n\t },\n\t onChange: function (ev) {\n\t var that = this,\n\t newModel = ev.sender._model,\n\t aspectRatioLocked = newModel.lockAspectRatio;\n\n\t if (ev.field === \"measureW\" || ev.field === \"measureH\") {\n\t newModel.set(\"measureW\", ev.value);\n\t newModel.set(\"measureH\", ev.value);\n\t newModel.set(\"measure\", ev.value);\n\t } else if (ev.field === \"measure\") {\n\t that.resetNumericsTo(ev.value);\n\t } else if (ev.field === \"width\" && aspectRatioLocked && !that._preventChange) {\n\t newModel.set(\"height\", newModel.width / newModel.ratio);\n\t } else if (ev.field === \"height\" && aspectRatioLocked && !that._preventChange) {\n\t newModel.set(\"width\", newModel.height * newModel.ratio);\n\t }\n\n\t newModel.set(\"ratio\", round(newModel.width/newModel.height));\n\t },\n\t resetNumericsTo: function (type) {\n\t var that = this,\n\t originalWidth = that._model.width,\n\t originalHeight = that._model.height,\n\t formWidget = that.formWidget,\n\t model = formWidget._model,\n\t widthNumeric = formWidget.element.find(\"[name=width]\").data(\"kendoNumericTextBox\"),\n\t heightNumeric = formWidget.element.find(\"[name=height]\").data(\"kendoNumericTextBox\"),\n\t isPercent = type === \"percents\",\n\t options = {\n\t percents: {\n\t format: \"#\\\\\\%\"\n\t },\n\t pixels: {\n\t format: \"n0\"\n\t }\n\t };\n\n\n\n\t widthNumeric.setOptions(options[type]);\n\t heightNumeric.setOptions(options[type]);\n\n\t that._preventChange = true;\n\t model.set(\"width\", isPercent ? (originalWidth / widthNumeric.value()) * 100 : originalWidth * (widthNumeric.value() / 100));\n\t model.set(\"height\", isPercent ? (originalHeight / heightNumeric.value()) * 100 : originalHeight * (heightNumeric.value() / 100));\n\t that._preventChange = false;\n\t }\n\t });\n\n\t extend(kendo.ui.imageeditor, {\n\t ImageEditorPane: Pane,\n\t panes: {\n\t crop: CropPane,\n\t resize: ResizePane\n\t }\n\t });\n\n\t })(window.kendo.jQuery);\n\n\t return window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ }),\n\n/***/ 1046:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.form\");\n\n/***/ }),\n\n/***/ 1047:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.buttongroup\");\n\n/***/ })\n\n/******/ });"],"sourceRoot":""}