module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(838);


/***/ }),

/***/ 3:
/***/ (function(module, exports) {

	module.exports = function() { throw new Error("define cannot be used indirect"); };


/***/ }),

/***/ 574:
/***/ (function(module, exports) {

	module.exports = require("jquery");

/***/ }),

/***/ 620:
/***/ (function(module, exports) {

	module.exports = require("./kendo.draganddrop");

/***/ }),

/***/ 838:
/***/ (function(module, exports, __webpack_require__) {

	var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(jQuery) {/* jshint eqnull: true */
	(function(f, define){
	    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(620) ], __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__));
	})(function(){

	var __meta__ = { // jshint ignore:line
	    id: "sortable",
	    name: "Sortable",
	    category: "framework",
	    depends: [ "draganddrop" ]
	};

	(function($, undefined) {
	    var kendo = window.kendo,
	        Widget = kendo.ui.Widget,
	        outerWidth = kendo._outerWidth,
	        outerHeight = kendo._outerHeight,

	        START = "start",
	        BEFORE_MOVE = "beforeMove",
	        MOVE = "move",
	        END = "end",
	        CHANGE = "change",
	        CANCEL = "cancel",

	        ACTION_SORT = "sort",
	        ACTION_REMOVE = "remove",
	        ACTION_RECEIVE = "receive",

	        DEFAULT_FILTER = ">*",
	        MISSING_INDEX = -1;

	    function containsOrEqualTo(parent, child) {
	        try {
	            return $.contains(parent, child) || parent == child;
	        } catch (e) {
	            return false;
	        }
	    }

	    function defaultHint(element) {
	        return element.clone();
	    }

	    function defaultPlaceholder(element) {
	        return element.clone().removeAttr("id").css("visibility", "hidden");
	    }

	    var Sortable = Widget.extend({
	        init: function(element, options) {
	            var that = this;

	            Widget.fn.init.call(that, element, options);

	            if(!that.options.placeholder) {
	                that.options.placeholder = defaultPlaceholder;
	            }

	            if(!that.options.hint) {
	                that.options.hint = defaultHint;
	            }

	            that.draggable = that._createDraggable();
	        },

	        events: [
	            START,
	            BEFORE_MOVE,
	            MOVE,
	            END,
	            CHANGE,
	            CANCEL
	        ],

	        options: {
	            name: "Sortable",
	            hint: null,
	            placeholder: null,
	            filter: DEFAULT_FILTER,
	            holdToDrag: false,
	            disabled: null,
	            container: null,
	            connectWith: null,
	            handler: null,
	            cursorOffset: null,
	            axis: null,
	            ignore: null,
	            autoScroll: false,
	            cursor: "auto",
	            moveOnDragEnter: false
	        },

	        destroy: function() {
	            this.draggable.destroy();
	            Widget.fn.destroy.call(this);
	        },

	        _createDraggable: function() {
	            var that = this,
	                element = that.element,
	                options = that.options;

	            return new kendo.ui.Draggable(element, {
	                filter: options.filter,
	                hint: kendo.isFunction(options.hint) ? options.hint : $(options.hint),
	                holdToDrag: options.holdToDrag,
	                container: options.container ? $(options.container) : null,
	                cursorOffset: options.cursorOffset,
	                axis: options.axis,
	                ignore: options.ignore,
	                autoScroll: options.autoScroll,
	                dragstart: $.proxy(that._dragstart, that),
	                dragcancel: $.proxy(that._dragcancel, that),
	                drag: $.proxy(that._drag, that),
	                dragend: $.proxy(that._dragend, that)
	            });
	        },

	        _dragstart: function(e) {
	            var draggedElement = this.draggedElement = e.currentTarget,
	                disabled = this.options.disabled,
	                handler = this.options.handler,
	                _placeholder = this.options.placeholder,
	                placeholder = this.placeholder = kendo.isFunction(_placeholder) ? $(_placeholder.call(this, draggedElement)) : $(_placeholder);

	            if(disabled && draggedElement.is(disabled)) {
	                e.preventDefault();
	            } else if(handler && !$(e.initialTarget).is(handler)) {
	                e.preventDefault();
	            } else {

	                if(this.trigger(START, { item: draggedElement, draggableEvent: e })) {
	                    e.preventDefault();
	                } else {
	                    draggedElement.css("display", "none");
	                    draggedElement.before(placeholder);

	                    this._setCursor();
	                }

	            }
	        },

	        _dragcancel: function() {
	            this._cancel();
	            this.trigger(CANCEL, { item: this.draggedElement });

	            this._resetCursor();
	        },

	        _drag: function(e) {
	            var draggedElement = this.draggedElement,
	                target = this._findTarget(e),
	                targetCenter,
	                cursorOffset = { left: e.x.location, top: e.y.location },
	                offsetDelta,
	                axisDelta = { x: e.x.delta, y: e.y.delta },
	                direction,
	                sibling,
	                getSibling,
	                axis = this.options.axis,
	                moveOnDragEnter= this.options.moveOnDragEnter,
	                eventData = { item: draggedElement, list: this, draggableEvent: e };

	            if(axis === "x" || axis === "y") {
	                this._movementByAxis(axis, cursorOffset, axisDelta[axis], eventData);
	                return;
	            }

	            if(target) {
	                targetCenter = this._getElementCenter(target.element);

	                offsetDelta = {
	                    left: Math.round(cursorOffset.left - targetCenter.left),
	                    top: Math.round(cursorOffset.top - targetCenter.top)
	                };

	                $.extend(eventData, { target: target.element });

	                if(target.appendToBottom) {
	                    this._movePlaceholder(target, null, eventData);
	                    return;
	                }

	                if(target.appendAfterHidden) {
	                    this._movePlaceholder(target, "next", eventData);
	                }

	                if(this._isFloating(target.element)) { //horizontal
	                    if((axisDelta.x < 0 && moveOnDragEnter) || (!moveOnDragEnter && offsetDelta.left < 0)) {
	                        direction = "prev";
	                    } else if((axisDelta.x > 0 && moveOnDragEnter) || (!moveOnDragEnter &&  offsetDelta.left > 0)) {
	                        direction = "next";
	                    }
	                } else { //vertical
	                    if((axisDelta.y < 0  && moveOnDragEnter) || (!moveOnDragEnter &&  offsetDelta.top < 0)) {
	                        direction = "prev";
	                    } else if((axisDelta.y > 0  && moveOnDragEnter) || (!moveOnDragEnter &&  offsetDelta.top > 0)) {
	                        direction = "next";
	                    }
	                }

	                if(direction) {
	                    getSibling = (direction === "prev") ? jQuery.fn.prev : jQuery.fn.next;

	                    sibling = getSibling.call(target.element);

	                    //find the prev/next visible sibling
	                    while(sibling.length && !sibling.is(":visible")) {
	                        sibling = getSibling.call(sibling);
	                    }

	                    if(sibling[0] != this.placeholder[0]) {
	                        this._movePlaceholder(target, direction, eventData);
	                    }
	                }
	            }
	        },

	        _dragend: function(e) {
	            var placeholder = this.placeholder,
	                draggedElement = this.draggedElement,
	                draggedIndex = this.indexOf(draggedElement),
	                placeholderIndex = this.indexOf(placeholder),
	                connectWith = this.options.connectWith,
	                connectedList,
	                isDefaultPrevented,
	                eventData,
	                connectedListEventData;

	            this._resetCursor();

	            eventData = {
	                action: ACTION_SORT,
	                item: draggedElement,
	                oldIndex: draggedIndex,
	                newIndex: placeholderIndex,
	                draggableEvent: e
	            };

	            if(placeholderIndex >= 0) {
	                isDefaultPrevented = this.trigger(END, eventData);
	            } else {
	                connectedList = placeholder.parents(connectWith).getKendoSortable();

	                eventData.action = ACTION_REMOVE;
	                connectedListEventData = $.extend({}, eventData, {
	                    action: ACTION_RECEIVE,
	                    oldIndex: MISSING_INDEX,
	                    newIndex: connectedList.indexOf(placeholder)
	                });

	                isDefaultPrevented = !(!this.trigger(END, eventData) && !connectedList.trigger(END, connectedListEventData));
	            }

	            if(isDefaultPrevented || placeholderIndex === draggedIndex) {
	                this._cancel();
	                return;
	            }

	            placeholder.replaceWith(draggedElement);

	            draggedElement.show();
	            this.draggable.dropped = true;

	            eventData = {
	                action: this.indexOf(draggedElement) != MISSING_INDEX ? ACTION_SORT : ACTION_REMOVE,
	                item: draggedElement,
	                oldIndex: draggedIndex,
	                newIndex: this.indexOf(draggedElement),
	                draggableEvent: e
	            };

	            this.trigger(CHANGE, eventData);

	            if(connectedList) {
	                connectedListEventData = $.extend({}, eventData, {
	                    action: ACTION_RECEIVE,
	                    oldIndex: MISSING_INDEX,
	                    newIndex: connectedList.indexOf(draggedElement)
	                });

	                connectedList.trigger(CHANGE, connectedListEventData);
	            }

	        },

	        _findTarget: function(e) {
	            var element = this._findElementUnderCursor(e),
	                items,
	                connectWith = this.options.connectWith,
	                node;

	            if($.contains(this.element[0], element)) { //the element is part of the sortable container
	                items = this.items();
	                node = items.filter(element)[0] || items.has(element)[0];

	                return node ? { element: $(node), sortable: this } : null;
	            } else if (this.element[0] == element && this._isEmpty()) {
	                return { element: this.element, sortable: this, appendToBottom: true };
	            } else if (this.element[0] == element && this._isLastHidden()) {
	                node = this.items().eq(0);
	                return { element: node , sortable: this, appendAfterHidden: true };
	            } else if (connectWith) { //connected lists are present
	                return this._searchConnectedTargets(element, e);
	            }
	        },

	        _findElementUnderCursor: function(e) {
	            var elementUnderCursor = kendo.elementUnderCursor(e),
	                draggable = e.sender;

	            if(containsOrEqualTo(draggable.hint[0], elementUnderCursor)) {
	                draggable.hint.hide();
	                elementUnderCursor = kendo.elementUnderCursor(e);
	                // IE8 does not return the element in iframe from first attempt
	                if (!elementUnderCursor) {
	                    elementUnderCursor = kendo.elementUnderCursor(e);
	                }
	                draggable.hint.show();
	            }

	            return elementUnderCursor;
	        },

	        _searchConnectedTargets: function(element, e) {
	            var connected = $(this.options.connectWith),
	                sortableInstance,
	                items,
	                node;

	            for (var i = 0; i < connected.length; i++) {
	                sortableInstance = connected.eq(i).getKendoSortable();

	                if($.contains(connected[i], element)) {
	                    if(sortableInstance) {
	                        items = sortableInstance.items();
	                        node = items.filter(element)[0] || items.has(element)[0];

	                        if(node) {
	                            sortableInstance.placeholder = this.placeholder;
	                            return { element: $(node), sortable: sortableInstance };
	                        } else {
	                            return null;
	                        }
	                    }
	                } else if(connected[i] == element) {
	                    if(sortableInstance && sortableInstance._isEmpty()) {
	                        return { element: connected.eq(i), sortable: sortableInstance, appendToBottom: true };
	                    } else if (this._isCursorAfterLast(sortableInstance, e)) {
	                        node = sortableInstance.items().last();
	                        return { element: node, sortable: sortableInstance };
	                    }
	                }
	            }

	        },

	        _isCursorAfterLast: function(sortable, e) {
	            var lastItem = sortable.items().last(),
	                cursorOffset = { left: e.x.location, top: e.y.location },
	                lastItemOffset,
	                delta;

	            lastItemOffset = kendo.getOffset(lastItem);
	            lastItemOffset.top += outerHeight(lastItem);
	            lastItemOffset.left += outerWidth(lastItem);

	            if(this._isFloating(lastItem)) { //horizontal
	                delta = lastItemOffset.left - cursorOffset.left;
	            } else { //vertical
	                delta = lastItemOffset.top - cursorOffset.top;
	            }

	            return delta < 0 ? true : false;
	        },

	        _movementByAxis: function(axis, cursorOffset, delta, eventData) {
	            var cursorPosition = (axis === "x") ? cursorOffset.left : cursorOffset.top,
	                target = (delta < 0) ? this.placeholder.prev() : this.placeholder.next(),
	                targetCenter;

	            if (target.length && !target.is(":visible")) {
	                target = (delta <0) ? target.prev() : target.next();
	            }

	            $.extend(eventData, { target: target });
	            targetCenter = this._getElementCenter(target);

	            if (targetCenter) {
	                targetCenter = (axis === "x") ? targetCenter.left : targetCenter.top;
	            }

	            if (target.length && delta < 0 && cursorPosition - targetCenter < 0) { //prev
	                this._movePlaceholder({ element: target, sortable: this }, "prev", eventData);
	            } else if (target.length && delta > 0 && cursorPosition - targetCenter > 0) { //next
	                this._movePlaceholder({ element: target, sortable: this }, "next", eventData);
	            }
	        },

	        _movePlaceholder: function(target, direction, eventData) {
	            var placeholder = this.placeholder;

	            if (!target.sortable.trigger(BEFORE_MOVE, eventData)) {

	                if (!direction) {
	                    target.element.append(placeholder);
	                } else if (direction === "prev") {
	                    target.element.before(placeholder);
	                } else if (direction === "next") {
	                    target.element.after(placeholder);
	                }

	                target.sortable.trigger(MOVE, eventData);
	            }
	        },

	        _setCursor: function() {
	            var cursor = this.options.cursor,
	                body;

	            if(cursor && cursor !== "auto") {
	                body = $(document.body);

	                this._originalCursorType = body.css("cursor");
	                body.css({ "cursor": cursor });

	                if(!this._cursorStylesheet) {
	                    this._cursorStylesheet = $("<style>* { cursor: " + cursor + " !important; }</style>");
	                }

	                this._cursorStylesheet.appendTo(body);
	            }
	        },

	        _resetCursor: function() {
	            if(this._originalCursorType) {
	                $(document.body).css("cursor", this._originalCursorType);
	                this._originalCursorType = null;

	                this._cursorStylesheet.remove();
	            }
	        },

	        _getElementCenter: function(element) {
	            var center = element.length ? kendo.getOffset(element) : null;
	            if(center) {
	                center.top += outerHeight(element) / 2;
	                center.left += outerWidth(element) / 2;
	            }

	            return center;
	        },

	        _isFloating: function(item) {
	            return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
	        },

	        _cancel: function() {
	            this.draggedElement.show();
	            this.placeholder.remove();
	        },

	        _items: function() {
	            var filter = this.options.filter,
	                items;

	            if(filter) {
	                items = this.element.find(filter);
	            } else {
	                items = this.element.children();
	            }

	            return items;
	        },

	        indexOf: function(element) {
	            var items = this._items(),
	                placeholder = this.placeholder,
	                draggedElement = this.draggedElement;

	            if(placeholder && element[0] == placeholder[0]) {
	                return items.not(draggedElement).index(element);
	            } else {
	                return items.not(placeholder).index(element);
	            }
	        },

	        items: function() {
	            var placeholder = this.placeholder,
	                items = this._items();

	            if(placeholder) {
	                items = items.not(placeholder);
	            }

	            return items;
	        },

	        _isEmpty: function() {
	            return !this.items().length;
	        },

	        _isLastHidden: function() {
	            return this.items().length === 1 && this.items().is(":hidden");
	        }

	    });

	    kendo.ui.plugin(Sortable);
	})(window.kendo.jQuery);

	return window.kendo;

	}, __webpack_require__(3));

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(574)))

/***/ })

/******/ });