!function(root, factory) { "object" == typeof exports && "object" == typeof module ? module.exports = factory() : "function" == typeof define && define.amd ? define([], factory) : "object" == typeof exports ? exports["vue-js-modal"] = factory() : root["vue-js-modal"] = factory(); }(this, function() { return function(modules) { function __webpack_require__(moduleId) { if (installedModules[moduleId]) return installedModules[moduleId].exports; var module = installedModules[moduleId] = { i: moduleId, l: !1, exports: {} }; return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.l = !0, module.exports; } var installedModules = {}; return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.i = function(value) { return value; }, __webpack_require__.d = function(exports, name, getter) { __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, { configurable: !1, enumerable: !0, get: getter }); }, __webpack_require__.n = function(module) { var getter = module && module.__esModule ? function() { return module.default; } : function() { return module; }; return __webpack_require__.d(getter, "a", getter), getter; }, __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }, __webpack_require__.p = "/dist/", __webpack_require__(__webpack_require__.s = 3); }([ function(module, exports) { module.exports = function(rawScriptExports, compiledTemplate, scopeId, cssModules) { var esModule, scriptExports = rawScriptExports = rawScriptExports || {}, type = typeof rawScriptExports.default; "object" !== type && "function" !== type || (esModule = rawScriptExports, scriptExports = rawScriptExports.default); var options = "function" == typeof scriptExports ? scriptExports.options : scriptExports; if (compiledTemplate && (options.render = compiledTemplate.render, options.staticRenderFns = compiledTemplate.staticRenderFns), scopeId && (options._scopeId = scopeId), cssModules) { var computed = options.computed || (options.computed = {}); Object.keys(cssModules).forEach(function(key) { var module = cssModules[key]; computed[key] = function() { return module; }; }); } return { esModule: esModule, exports: scriptExports, options: options }; }; }, function(module, exports) { module.exports = function() { var list = []; return list.toString = function() { for (var result = [], i = 0; i < this.length; i++) { var item = this[i]; item[2] ? result.push("@media " + item[2] + "{" + item[1] + "}") : result.push(item[1]); } return result.join(""); }, list.i = function(modules, mediaQuery) { "string" == typeof modules && (modules = [ [ null, modules, "" ] ]); for (var alreadyImportedModules = {}, i = 0; i < this.length; i++) { var id = this[i][0]; "number" == typeof id && (alreadyImportedModules[id] = !0); } for (i = 0; i < modules.length; i++) { var item = modules[i]; "number" == typeof item[0] && alreadyImportedModules[item[0]] || (mediaQuery && !item[2] ? item[2] = mediaQuery : mediaQuery && (item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"), list.push(item)); } }, list; }; }, function(module, exports, __webpack_require__) { function addStyleProd(styles, list) { for (var i = 0; i < list.length; i++) for (var parts = list[i].parts, j = 0; j < parts.length; j++) { var part = parts[j], id = part.media || "default", style = styles[id]; style ? (style.ids.push(part.id), style.css += "\n" + part.css) : styles[id] = { ids: [ part.id ], css: part.css, media: part.media }; } } function addStyleDev(styles, list) { for (var i = 0; i < list.length; i++) for (var parts = list[i].parts, j = 0; j < parts.length; j++) { var part = parts[j]; styles[part.id] = { ids: [ part.id ], css: part.css, media: part.media }; } } function renderStyles(styles) { var css = ""; for (var key in styles) { var style = styles[key]; css += '"; } return css; } var listToStyles = __webpack_require__(24); module.exports = function(parentId, list, isProduction) { if ("undefined" != typeof __VUE_SSR_CONTEXT__) { var context = __VUE_SSR_CONTEXT__, styles = context._styles; styles || (styles = context._styles = {}, Object.defineProperty(context, "styles", { enumberable: !0, get: function() { return context._renderedStyles || (context._renderedStyles = renderStyles(styles)); } })), list = listToStyles(parentId, list), isProduction ? addStyleProd(styles, list) : addStyleDev(styles, list); } }; }, function(module, exports, __webpack_require__) { "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.defineProperty(exports, "__esModule", { value: !0 }); var _Modal = __webpack_require__(6), _Modal2 = _interopRequireDefault(_Modal), _Dialog = __webpack_require__(5), _Dialog2 = _interopRequireDefault(_Dialog), _ModalsContainer = __webpack_require__(7), _ModalsContainer2 = _interopRequireDefault(_ModalsContainer), Plugin = { install: function(Vue) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; this.installed || (this.installed = !0, this.event = new Vue(), this.dynamicContainer = null, this.componentName = options.componentName || "modal", Vue.prototype.$modal = { _setDynamicContainer: function(dynamicContainer) { Plugin.dynamicContainer = dynamicContainer; }, show: function(modal, paramsOrProps, params) { var events = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; "string" == typeof modal ? Plugin.event.$emit("toggle", modal, !0, paramsOrProps) : null === Plugin.dynamicContainer ? console.warn("[vue-js-modal] In order to render dynamic modals, a component must be present on the page") : Plugin.dynamicContainer.add(modal, paramsOrProps, params, events); }, hide: function(name, params) { Plugin.event.$emit("toggle", name, !1, params); }, toggle: function(name, params) { Plugin.event.$emit("toggle", name, void 0, params); } }, Vue.component(this.componentName, _Modal2.default), options.dialog && Vue.component("v-dialog", _Dialog2.default), options.dynamic && Vue.component("modals-container", _ModalsContainer2.default)); } }; exports.default = Plugin; }, function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); var inRange = exports.inRange = function(from, to, value) { return value < from ? from : value > to ? to : value; }; exports.default = { inRange: inRange }; }, function(module, exports, __webpack_require__) { __webpack_require__(21); var Component = __webpack_require__(0)(__webpack_require__(8), __webpack_require__(18), null, null); Component.options.__file = "D:\\Projects\\vue\\vue-js-modal\\src\\Dialog.vue", Component.esModule && Object.keys(Component.esModule).some(function(key) { return "default" !== key && "__esModule" !== key; }) && console.error("named exports are not supported in *.vue files."), Component.options.functional && console.error("[vue-loader] Dialog.vue: functional components are not supported with templates, they should use render functions."), module.exports = Component.exports; }, function(module, exports, __webpack_require__) { __webpack_require__(22); var Component = __webpack_require__(0)(__webpack_require__(9), __webpack_require__(19), null, null); Component.options.__file = "D:\\Projects\\vue\\vue-js-modal\\src\\Modal.vue", Component.esModule && Object.keys(Component.esModule).some(function(key) { return "default" !== key && "__esModule" !== key; }) && console.error("named exports are not supported in *.vue files."), Component.options.functional && console.error("[vue-loader] Modal.vue: functional components are not supported with templates, they should use render functions."), module.exports = Component.exports; }, function(module, exports, __webpack_require__) { var Component = __webpack_require__(0)(__webpack_require__(10), __webpack_require__(17), null, null); Component.options.__file = "D:\\Projects\\vue\\vue-js-modal\\src\\ModalsContainer.vue", Component.esModule && Object.keys(Component.esModule).some(function(key) { return "default" !== key && "__esModule" !== key; }) && console.error("named exports are not supported in *.vue files."), Component.options.functional && console.error("[vue-loader] ModalsContainer.vue: functional components are not supported with templates, they should use render functions."), module.exports = Component.exports; }, function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.default = { name: "VueJsDialog", props: { width: { type: [ Number, String ], default: 400 }, clickToClose: { type: Boolean, default: !0 }, transition: { type: String, default: "fade" } }, data: function() { return { params: {}, defaultButtons: [ { title: "CLOSE" } ] }; }, computed: { buttons: function() { return this.params.buttons || this.defaultButtons; }, buttonStyle: function() { return { flex: "1 1 " + 100 / this.buttons.length + "%" }; } }, methods: { beforeOpened: function(event) { window.addEventListener("keyup", this.onKeyUp), this.params = event.params || {}, this.$emit("before-opened", event); }, beforeClosed: function(event) { window.removeEventListener("keyup", this.onKeyUp), this.params = {}, this.$emit("before-closed", event); }, click: function(i, event) { var source = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "click", button = this.buttons[i]; button && "function" == typeof button.handler ? button.handler(i, event, { source: source }) : this.$modal.hide("dialog"); }, onKeyUp: function(event) { if (13 === event.which && this.buttons.length > 0) { var buttonIndex = 1 === this.buttons.length ? 0 : this.buttons.findIndex(function(button) { return button.default; }); -1 !== buttonIndex && this.click(buttonIndex, event, "keypress"); } } } }; }, function(module, exports, __webpack_require__) { "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.defineProperty(exports, "__esModule", { value: !0 }); var _index = __webpack_require__(3), _index2 = _interopRequireDefault(_index), _Resizer = __webpack_require__(16), _Resizer2 = _interopRequireDefault(_Resizer), _util = __webpack_require__(4), _parser = __webpack_require__(12), _parser2 = _interopRequireDefault(_parser); exports.default = { name: "VueJsModal", props: { name: { required: !0, type: String }, delay: { type: Number, default: 0 }, resizable: { type: Boolean, default: !1 }, adaptive: { type: Boolean, default: !1 }, draggable: { type: [ Boolean, String ], default: !1 }, scrollable: { type: Boolean, default: !1 }, reset: { type: Boolean, default: !1 }, transition: { type: String }, clickToClose: { type: Boolean, default: !0 }, classes: { type: [ String, Array ], default: "v--modal" }, minWidth: { type: Number, default: 0, validator: function(value) { return value >= 0; } }, minHeight: { type: Number, default: 0, validator: function(value) { return value >= 0; } }, maxWidth: { type: Number, default: 1 / 0 }, maxHeight: { type: Number, default: 1 / 0 }, width: { type: [ Number, String ], default: 600, validator: function(value) { if ("string" == typeof value) { var width = (0, _parser2.default)(value); return ("%" === width.type || "px" === width.type) && width.value > 0; } return value >= 0; } }, height: { type: [ Number, String ], default: 300, validator: function(value) { if ("string" == typeof value) { if ("auto" === value) return !0; var height = (0, _parser2.default)(value); return ("%" === height.type || "px" === height.type) && height.value > 0; } return value >= 0; } }, pivotX: { type: Number, default: .5, validator: function(value) { return value >= 0 && value <= 1; } }, pivotY: { type: Number, default: .5, validator: function(value) { return value >= 0 && value <= 1; } } }, components: { Resizer: _Resizer2.default }, data: function() { return { visible: !1, visibility: { modal: !1, overlay: !1 }, shift: { left: 0, top: 0 }, modal: { width: 0, widthType: "px", height: 0, heightType: "px", renderedHeight: 0 }, window: { width: 0, height: 0 }, mutationObserver: null }; }, watch: { visible: function(value) { var _this = this; value ? (this.visibility.overlay = !0, setTimeout(function() { _this.visibility.modal = !0, _this.$nextTick(function() { _this.addDraggableListeners(), _this.callAfterEvent(!0); }); }, this.delay)) : (this.visibility.modal = !1, setTimeout(function() { _this.visibility.overlay = !1, _this.$nextTick(function() { _this.removeDraggableListeners(), _this.callAfterEvent(!1); }); }, this.delay)); } }, created: function() { this.setInitialSize(); }, beforeMount: function() { var _this2 = this; if (_index2.default.event.$on("toggle", function(name, state, params) { name === _this2.name && (void 0 === state && (state = !_this2.visible), _this2.toggle(state, params)); }), window.addEventListener("resize", this.onWindowResize), this.onWindowResize(), this.scrollable && !this.isAutoHeight && console.warn('Modal "' + this.name + '" has scrollable flag set to true but height is not "auto" (' + this.height + ")"), this.isAutoHeight) { var MutationObserver = function() { for (var prefixes = [ "", "WebKit", "Moz", "O", "Ms" ], i = 0; i < prefixes.length; i++) { var name = prefixes[i] + "MutationObserver"; if (name in window) return window[name]; } return !1; }(); MutationObserver && (this.mutationObserver = new MutationObserver(function(mutations) { _this2.updateRenderedHeight(); })); } this.clickToClose && window.addEventListener("keyup", this.onEscapeKeyUp); }, beforeDestroy: function() { window.removeEventListener("resize", this.onWindowResize), this.clickToClose && window.removeEventListener("keyup", this.onEscapeKeyUp); }, computed: { isAutoHeight: function() { return "auto" === this.modal.heightType; }, position: function() { var window = this.window, shift = this.shift, pivotX = this.pivotX, pivotY = this.pivotY, trueModalWidth = this.trueModalWidth, trueModalHeight = this.trueModalHeight, maxLeft = window.width - trueModalWidth, maxTop = window.height - trueModalHeight, left = shift.left + pivotX * maxLeft, top = shift.top + pivotY * maxTop; return { left: (0, _util.inRange)(0, maxLeft, left), top: (0, _util.inRange)(0, maxTop, top) }; }, trueModalWidth: function() { var window = this.window, modal = this.modal, adaptive = this.adaptive, minWidth = this.minWidth, maxWidth = this.maxWidth, value = "%" === modal.widthType ? window.width / 100 * modal.width : modal.width, max = Math.min(window.width, maxWidth); return adaptive ? (0, _util.inRange)(minWidth, max, value) : value; }, trueModalHeight: function() { var window = this.window, modal = this.modal, isAutoHeight = this.isAutoHeight, adaptive = this.adaptive, maxHeight = this.maxHeight, value = "%" === modal.heightType ? window.height / 100 * modal.height : modal.height; if (isAutoHeight) return this.modal.renderedHeight; var max = Math.min(window.height, maxHeight); return adaptive ? (0, _util.inRange)(this.minHeight, max, value) : value; }, overlayClass: function() { return { "v--modal-overlay": !0, scrollable: this.scrollable && this.isAutoHeight }; }, backgroundClickClass: function() { return [ "v--modal-background-click" ]; }, modalClass: function() { return [ "v--modal-box", this.classes ]; }, modalStyle: function() { return { top: this.position.top + "px", left: this.position.left + "px", width: this.trueModalWidth + "px", height: this.isAutoHeight ? "auto" : this.trueModalHeight + "px" }; } }, methods: { setInitialSize: function() { var modal = this.modal, width = (0, _parser2.default)(this.width), height = (0, _parser2.default)(this.height); modal.width = width.value, modal.widthType = width.type, modal.height = height.value, modal.heightType = height.type; }, onEscapeKeyUp: function(event) { 27 === event.which && this.visible && this.$modal.hide(this.name); }, onWindowResize: function() { this.window.width = window.innerWidth, this.window.height = window.innerHeight; }, genEventObject: function(params) { var eventData = { name: this.name, timestamp: Date.now(), canceled: !1, ref: this.$refs.modal }; return Object.assign(eventData, params || {}); }, onModalResize: function(event) { this.modal.widthType = "px", this.modal.width = event.size.width, this.modal.heightType = "px", this.modal.height = event.size.height; var size = this.modal.size, resizeEvent = this.genEventObject({ size: size }); this.$emit("resize", resizeEvent); }, toggle: function(state, params) { var reset = this.reset, scrollable = this.scrollable, visible = this.visible; if (visible !== state) { var beforeEventName = visible ? "before-close" : "before-open"; "before-open" === beforeEventName ? (document.activeElement && document.activeElement.blur(), reset && (this.setInitialSize(), this.shift.left = 0, this.shift.top = 0), scrollable && (document.getElementsByTagName("html")[0].classList.add("v--modal-block-scroll"), document.body.classList.add("v--modal-block-scroll"))) : scrollable && (document.getElementsByTagName("html")[0].classList.remove("v--modal-block-scroll"), document.body.classList.remove("v--modal-block-scroll")); var stopEventExecution = !1, stop = function() { stopEventExecution = !0; }, beforeEvent = this.genEventObject({ stop: stop, state: state, params: params }); this.$emit(beforeEventName, beforeEvent), stopEventExecution || (this.visible = state); } }, getDraggableElement: function() { var selector = "string" != typeof this.draggable ? ".v--modal-box" : this.draggable; if (selector) { var handler = this.$refs.overlay.querySelector(selector); if (handler) return handler; } }, onBackgroundClick: function() { this.clickToClose && this.toggle(!1); }, addDraggableListeners: function() { var _this3 = this; if (this.draggable) { var dragger = this.getDraggableElement(); if (dragger) { var startX = 0, startY = 0, cachedShiftX = 0, cachedShiftY = 0, getPosition = function(event) { return event.touches && event.touches.length > 0 ? event.touches[0] : event; }, mousedown = function(event) { var target = event.target; if (!target || "INPUT" !== target.nodeName) { var _getPosition = getPosition(event), clientX = _getPosition.clientX, clientY = _getPosition.clientY; document.addEventListener("mousemove", _mousemove), document.addEventListener("mouseup", _mouseup), document.addEventListener("touchmove", _mousemove), document.addEventListener("touchend", _mouseup), startX = clientX, startY = clientY, cachedShiftX = _this3.shift.left, cachedShiftY = _this3.shift.top; } }, _mousemove = function(event) { var _getPosition2 = getPosition(event), clientX = _getPosition2.clientX, clientY = _getPosition2.clientY; _this3.shift.left = cachedShiftX + clientX - startX, _this3.shift.top = cachedShiftY + clientY - startY, event.preventDefault(); }, _mouseup = function _mouseup(event) { document.removeEventListener("mousemove", _mousemove), document.removeEventListener("mouseup", _mouseup), document.removeEventListener("touchmove", _mousemove), document.removeEventListener("touchend", _mouseup), event.preventDefault(); }; dragger.addEventListener("mousedown", mousedown), dragger.addEventListener("touchstart", mousedown); } } }, removeDraggableListeners: function() {}, callAfterEvent: function(state) { state ? this.connectObserver() : this.disconnectObserver(); var eventName = state ? "opened" : "closed", event = this.genEventObject({ state: state }); this.$emit(eventName, event); }, updateRenderedHeight: function() { this.$refs.modal && (this.modal.renderedHeight = this.$refs.modal.getBoundingClientRect().height); }, connectObserver: function() { this.mutationObserver && this.mutationObserver.observe(this.$refs.modal, { childList: !0, attributes: !0, subtree: !0 }); }, disconnectObserver: function() { this.mutationObserver && this.mutationObserver.disconnect(); } } }; }, function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.default = { data: function() { return { uid: 0, modals: [] }; }, created: function() { this.$modal._setDynamicContainer(this); }, methods: { add: function(modal, params, config, events) { var _this = this, id = this.uid++; config = config ? Object.assign({}, config) : {}, config.name || (config.name = "_dynamic-modal-" + id), this.modals.push({ id: id, component: modal, params: params || {}, config: config, events: events }), this.$nextTick(function() { _this.$modal.show(config.name); }); }, remove: function(id) { for (var i in this.modals) if (this.modals[i].id === id) return void this.modals.splice(i, 1); } } }; }, function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); var _util = __webpack_require__(4); exports.default = { name: "VueJsModalResizer", props: { minHeight: { type: Number, default: 0 }, minWidth: { type: Number, default: 0 } }, data: function() { return { clicked: !1, size: {} }; }, mounted: function() { this.$el.addEventListener("mousedown", this.start, !1); }, computed: { className: function() { return { "vue-modal-resizer": !0, clicked: this.clicked }; } }, methods: { start: function(event) { this.clicked = !0, window.addEventListener("mousemove", this.mousemove, !1), window.addEventListener("mouseup", this.stop, !1), event.stopPropagation(), event.preventDefault(); }, stop: function() { this.clicked = !1, window.removeEventListener("mousemove", this.mousemove, !1), window.removeEventListener("mouseup", this.stop, !1), this.$emit("resize-stop", { element: this.$el.parentElement, size: this.size }); }, mousemove: function(event) { this.resize(event); }, resize: function(event) { var el = this.$el.parentElement; if (el) { var width = event.clientX - el.offsetLeft, height = event.clientY - el.offsetTop; width = (0, _util.inRange)(this.minWidth, window.innerWidth, width), height = (0, _util.inRange)(this.minHeight, window.innerHeight, height), this.size = { width: width, height: height }, el.style.width = width + "px", el.style.height = height + "px", this.$emit("resize", { element: el, size: this.size }); } } } }; }, function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj; } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, types = [ { name: "px", regexp: new RegExp("^[-+]?[0-9]*.?[0-9]+px$") }, { name: "%", regexp: new RegExp("^[-+]?[0-9]*.?[0-9]+%$") }, { name: "px", regexp: new RegExp("^[-+]?[0-9]*.?[0-9]+$") } ], getType = function(value) { if ("auto" === value) return { type: value, value: 0 }; for (var i = 0; i < types.length; i++) { var type = types[i]; if (type.regexp.test(value)) return { type: type.name, value: parseFloat(value) }; } return { type: "", value: value }; }, parse = exports.parse = function(value) { switch (void 0 === value ? "undefined" : _typeof(value)) { case "number": return { type: "px", value: value }; case "string": return getType(value); default: return { type: "", value: value }; } }; exports.default = parse; }, function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(), exports.push([ module.i, "\n.vue-dialog div {\r\n box-sizing: border-box;\n}\n.vue-dialog .dialog-flex {\r\n width: 100%;\r\n height: 100%;\n}\n.vue-dialog .dialog-content {\r\n flex: 1 0 auto;\r\n width: 100%;\r\n padding: 15px;\r\n font-size: 14px;\n}\n.vue-dialog .dialog-c-title {\r\n font-weight: 600;\r\n padding-bottom: 15px;\n}\n.vue-dialog .dialog-c-text {\n}\n.vue-dialog .vue-dialog-buttons {\r\n display: flex;\r\n flex: 0 1 auto;\r\n width: 100%;\r\n border-top: 1px solid #eee;\n}\n.vue-dialog .vue-dialog-buttons-none {\r\n width: 100%;\r\n padding-bottom: 15px;\n}\n.vue-dialog-button {\r\n font-size: 12px !important;\r\n background: transparent;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n line-height: 40px;\r\n height: 40px;\r\n color: inherit;\r\n font: inherit;\r\n outline: none;\n}\n.vue-dialog-button:hover {\r\n background: rgba(0, 0, 0, 0.01);\n}\n.vue-dialog-button:active {\r\n background: rgba(0, 0, 0, 0.025);\n}\n.vue-dialog-button:not(:first-of-type) {\r\n border-left: 1px solid #eee;\n}\r\n", "" ]); }, function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(), exports.push([ module.i, "\n.v--modal-block-scroll {\r\n overflow: hidden;\r\n width: 100vw;\n}\n.v--modal-overlay {\r\n position: fixed;\r\n box-sizing: border-box;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100vh;\r\n background: rgba(0, 0, 0, 0.2);\r\n z-index: 999;\r\n opacity: 1;\n}\n.v--modal-overlay.scrollable {\r\n height: 100%;\r\n min-height: 100vh;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\n}\n.v--modal-overlay .v--modal-background-click {\r\n min-height: 100%;\r\n width: 100%;\r\n padding-bottom: 10px;\n}\n.v--modal-overlay .v--modal-box {\r\n position: relative;\r\n overflow: hidden;\r\n box-sizing: border-box;\n}\n.v--modal-overlay.scrollable .v--modal-box {\r\n margin-bottom: 2px;\r\n /* transition: top 0.2s ease; */\n}\n.v--modal {\r\n background-color: white;\r\n text-align: left;\r\n border-radius: 3px;\r\n box-shadow: 0 20px 60px -2px rgba(27, 33, 58, 0.4);\r\n padding: 0;\n}\n.v--modal.v--modal-fullscreen {\r\n width: 100vw;\r\n height: 100vh;\r\n margin: 0;\r\n left: 0;\r\n top: 0;\n}\n.v--modal-top-right {\r\n display: block;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\n}\n.overlay-fade-enter-active,\r\n.overlay-fade-leave-active {\r\n transition: all 0.2s;\n}\n.overlay-fade-enter,\r\n.overlay-fade-leave-active {\r\n opacity: 0;\n}\n.nice-modal-fade-enter-active,\r\n.nice-modal-fade-leave-active {\r\n transition: all 0.4s;\n}\n.nice-modal-fade-enter,\r\n.nice-modal-fade-leave-active {\r\n opacity: 0;\r\n transform: translateY(-20px);\n}\r\n", "" ]); }, function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(), exports.push([ module.i, "\n.vue-modal-resizer {\r\n display: block;\r\n overflow: hidden;\r\n position: absolute;\r\n width: 12px;\r\n height: 12px;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 9999999;\r\n background: transparent;\r\n cursor: se-resize;\n}\n.vue-modal-resizer::after {\r\n display: block;\r\n position: absolute;\r\n content: '';\r\n background: transparent;\r\n left: 0;\r\n top: 0;\r\n width: 0;\r\n height: 0;\r\n border-bottom: 10px solid #ddd;\r\n border-left: 10px solid transparent;\n}\n.vue-modal-resizer.clicked::after {\r\n border-bottom: 10px solid #369be9;\n}\r\n", "" ]); }, function(module, exports, __webpack_require__) { __webpack_require__(23); var Component = __webpack_require__(0)(__webpack_require__(11), __webpack_require__(20), null, null); Component.options.__file = "D:\\Projects\\vue\\vue-js-modal\\src\\Resizer.vue", Component.esModule && Object.keys(Component.esModule).some(function(key) { return "default" !== key && "__esModule" !== key; }) && console.error("named exports are not supported in *.vue files."), Component.options.functional && console.error("[vue-loader] Resizer.vue: functional components are not supported with templates, they should use render functions."), module.exports = Component.exports; }, function(module, exports) { module.exports = { render: function() { var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h; return _c("div", { attrs: { id: "#modals-container" } }, _vm._l(_vm.modals, function(modal) { return _c("modal", _vm._g(_vm._b({ key: modal.id, on: { closed: function($event) { _vm.remove(modal.id); } } }, "modal", modal.config, !1), modal.events), [ _c(modal.component, _vm._b({ tag: "component", on: { close: function($event) { _vm.$modal.hide(modal.config.name); } } }, "component", modal.params, !1)) ], 1); })); }, staticRenderFns: [] }, module.exports.render._withStripped = !0; }, function(module, exports) { module.exports = { render: function() { var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h; return _c("modal", { attrs: { name: "dialog", height: "auto", classes: [ "v--modal", "vue-dialog", this.params.class ], width: _vm.width, "pivot-y": .3, adaptive: !0, clickToClose: _vm.clickToClose, transition: _vm.transition }, on: { "before-open": _vm.beforeOpened, "before-close": _vm.beforeClosed, opened: function($event) { _vm.$emit("opened", $event); }, closed: function($event) { _vm.$emit("closed", $event); } } }, [ _c("div", { staticClass: "dialog-content" }, [ _vm.params.title ? _c("div", { staticClass: "dialog-c-title", domProps: { innerHTML: _vm._s(_vm.params.title || "") } }) : _vm._e(), _vm._v(" "), _c("div", { staticClass: "dialog-c-text", domProps: { innerHTML: _vm._s(_vm.params.text || "") } }) ]), _vm._v(" "), _vm.buttons ? _c("div", { staticClass: "vue-dialog-buttons" }, _vm._l(_vm.buttons, function(button, i) { return _c("button", { key: i, class: button.class || "vue-dialog-button", style: _vm.buttonStyle, attrs: { type: "button" }, domProps: { innerHTML: _vm._s(button.title) }, on: { click: function($event) { $event.stopPropagation(), _vm.click(i, $event); } } }, [ _vm._v("\n " + _vm._s(button.title) + "\n ") ]); })) : _c("div", { staticClass: "vue-dialog-buttons-none" }) ]); }, staticRenderFns: [] }, module.exports.render._withStripped = !0; }, function(module, exports) { module.exports = { render: function() { var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h; return _c("transition", { attrs: { name: "overlay-fade" } }, [ _vm.visibility.overlay ? _c("div", { ref: "overlay", class: _vm.overlayClass, attrs: { "aria-expanded": _vm.visible.toString(), "data-modal": _vm.name } }, [ _c("div", { class: _vm.backgroundClickClass, on: { mousedown: function($event) { $event.stopPropagation(), _vm.onBackgroundClick($event); }, touchstart: function($event) { $event.stopPropagation(), _vm.onBackgroundClick($event); } } }, [ _c("div", { staticClass: "v--modal-top-right" }, [ _vm._t("top-right") ], 2), _vm._v(" "), _c("transition", { attrs: { name: _vm.transition } }, [ _vm.visibility.modal ? _c("div", { ref: "modal", class: _vm.modalClass, style: _vm.modalStyle, on: { mousedown: function($event) { $event.stopPropagation(); }, touchstart: function($event) { $event.stopPropagation(); } } }, [ _vm._t("default"), _vm._v(" "), _vm.resizable && !_vm.isAutoHeight ? _c("resizer", { attrs: { "min-width": _vm.minWidth, "min-height": _vm.minHeight }, on: { resize: _vm.onModalResize } }) : _vm._e() ], 2) : _vm._e() ]) ], 1) ]) : _vm._e() ]); }, staticRenderFns: [] }, module.exports.render._withStripped = !0; }, function(module, exports) { module.exports = { render: function() { var _vm = this, _h = _vm.$createElement; return (_vm._self._c || _h)("div", { class: _vm.className }); }, staticRenderFns: [] }, module.exports.render._withStripped = !0; }, function(module, exports, __webpack_require__) { var content = __webpack_require__(13); "string" == typeof content && (content = [ [ module.i, content, "" ] ]), content.locals && (module.exports = content.locals), __webpack_require__(2)("237a7ca4", content, !1); }, function(module, exports, __webpack_require__) { var content = __webpack_require__(14); "string" == typeof content && (content = [ [ module.i, content, "" ] ]), content.locals && (module.exports = content.locals), __webpack_require__(2)("2790b368", content, !1); }, function(module, exports, __webpack_require__) { var content = __webpack_require__(15); "string" == typeof content && (content = [ [ module.i, content, "" ] ]), content.locals && (module.exports = content.locals), __webpack_require__(2)("02ec91af", content, !1); }, function(module, exports) { module.exports = function(parentId, list) { for (var styles = [], newStyles = {}, i = 0; i < list.length; i++) { var item = list[i], id = item[0], css = item[1], media = item[2], sourceMap = item[3], part = { id: parentId + ":" + i, css: css, media: media, sourceMap: sourceMap }; newStyles[id] ? newStyles[id].parts.push(part) : styles.push(newStyles[id] = { id: id, parts: [ part ] }); } return styles; }; } ]); });