UNPKG

element-nice-ui

Version:

A Component Library for Vue.js.

729 lines (668 loc) 21.3 kB
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] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = 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; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 211); /******/ }) /************************************************************************/ /******/ ({ /***/ 13: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/mixins/emitter"); /***/ }), /***/ 2: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier /* server only */, shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection(h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } /***/ }), /***/ 21: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/btn"); /***/ }), /***/ 211: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_@vue+compiler-sfc@3.5.18_css-loader@5.2.7_webpack@4.47.0__lodash@4.1_bb9a19950a80e648dc95ba33c71fa343/node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/.pnpm/vue-loader@15.11.1_@vue+compiler-sfc@3.5.18_css-loader@5.2.7_webpack@4.47.0__lodash@4.1_bb9a19950a80e648dc95ba33c71fa343/node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=16d61ace var render = function render() { var _vm = this, _c = _vm._self._c return _c( "transition", { attrs: { name: "dialog-fade" }, on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave }, }, [ _c( "div", { directives: [ { name: "show", rawName: "v-show", value: _vm.visible, expression: "visible", }, ], staticClass: "el-dialog__wrapper", on: { click: function ($event) { if ($event.target !== $event.currentTarget) return null return _vm.handleWrapperClick.apply(null, arguments) }, }, }, [ _c( "div", { key: _vm.key, ref: "dialog", class: [ "el-dialog", { "is-fullscreen": _vm.fullscreen, "el-dialog--center": _vm.center, }, _vm.customClass, ], style: _vm.style, attrs: { role: "dialog", "aria-modal": "true", "aria-label": _vm.title || "dialog", }, }, [ _c( "div", { staticClass: "el-dialog__header", style: { cursor: _vm.isMouseDown ? "grab" : "default" }, on: { mousedown: _vm.mousedown }, }, [ _vm._t("title", function () { return [ _c("span", { staticClass: "el-dialog__title" }, [ _vm._v(_vm._s(_vm.title)), ]), ] }), _c( "button", { staticClass: "el-dialog__headerbtn el-dialog__headerbtn-full", attrs: { type: "button", "aria-label": "FullScreen" }, on: { click: _vm.onToogleFullScreen }, }, [ _c("i", { class: _vm.fullscreen ? "el-icon-minus" : "el-icon-full-screen", }), ] ), _vm.showClose ? _c( "button", { staticClass: "el-dialog__headerbtn el-dialog__headerbtn-close", attrs: { type: "button", "aria-label": "Close" }, on: { click: _vm.handleClose }, }, [_c("i", { staticClass: "el-icon-close" })] ) : _vm._e(), ], 2 ), _vm.renderBodyWithoutOpen || _vm.rendered ? _c( "el-perfect-scrollbar", { staticClass: "el-dialog__body" }, [_vm._t("default")], 2 ) : _vm._e(), !_vm.hideFooter ? _c( "el-context", { staticClass: "el-dialog__footer", attrs: { ctx: _vm.footerCtx }, }, [ _c("el-btn", { on: { click: _vm.handleClose } }, [ _vm._v(_vm._s(_vm.cancelText)), ]), _vm.$slots.footer ? _vm._t("footer") : _vm._e(), _vm.confirm ? _c( "el-btn", { attrs: { size: "small", type: "primary" }, on: { click: _vm.onConfirm }, }, [ _vm._v( "\n " + _vm._s(_vm.confirmText) + "\n " ), ] ) : _vm._e(), ], 2 ) : _vm._e(), ], 1 ), ] ), ] ) } var staticRenderFns = [] render._withStripped = true // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=16d61ace // EXTERNAL MODULE: external "element-nice-ui/lib/utils/popup" var popup_ = __webpack_require__(33); var popup_default = /*#__PURE__*/__webpack_require__.n(popup_); // EXTERNAL MODULE: external "element-nice-ui/lib/mixins/migrating" var migrating_ = __webpack_require__(25); var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); // EXTERNAL MODULE: external "element-nice-ui/lib/mixins/emitter" var emitter_ = __webpack_require__(13); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external "element-nice-ui/lib/btn" var btn_ = __webpack_require__(21); var btn_default = /*#__PURE__*/__webpack_require__.n(btn_); // EXTERNAL MODULE: external "element-nice-ui/lib/context" var context_ = __webpack_require__(37); var context_default = /*#__PURE__*/__webpack_require__.n(context_); // EXTERNAL MODULE: external "element-nice-ui/lib/perfect-scrollbar" var perfect_scrollbar_ = __webpack_require__(47); var perfect_scrollbar_default = /*#__PURE__*/__webpack_require__.n(perfect_scrollbar_); // CONCATENATED MODULE: ./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.0_webpack@4.47.0/node_modules/babel-loader/lib!./node_modules/.pnpm/vue-loader@15.11.1_@vue+compiler-sfc@3.5.18_css-loader@5.2.7_webpack@4.47.0__lodash@4.1_bb9a19950a80e648dc95ba33c71fa343/node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js /* harmony default export */ var componentvue_type_script_lang_js = ({ name: 'ElDialog', components: { ElBtn: btn_default.a, ElContext: context_default.a, ElPerfectScrollbar: perfect_scrollbar_default.a }, mixins: [popup_default.a, emitter_default.a, migrating_default.a], props: { confirm: { type: Function }, renderBodyWithoutOpen: Boolean, confirmText: { type: String, default: '提交' }, cancelText: { type: String, default: '取消' }, hideFooter: { type: Boolean }, title: { type: String, default: '对话框' }, modal: { type: Boolean, default: true }, modalAppendToBody: { type: Boolean, default: true }, appendToBody: { type: Boolean, default: false }, lockScroll: { type: Boolean, default: true }, closeOnClickModal: { type: Boolean, default: false }, closeOnPressEscape: { type: Boolean, default: true }, showClose: { type: Boolean, default: true }, width: String, customClass: { type: String, default: '' }, top: { type: String, default: '15vh' }, beforeClose: Function, center: { type: Boolean, default: false }, destroyOnClose: Boolean, defaultFullScreen: Boolean }, data() { return { closed: false, key: 0, loading: false, fullscreen: this.defaultFullScreen, transform: { x: 0, _x: 0, _y: 0, y: 0 }, _originX: 0, _originY: 0, isMouseDown: false }; }, watch: { visible(val) { if (val) { this.closed = false; this.$emit('open'); this.$el.addEventListener('scroll', this.updatePopper); this.$nextTick(() => { this.$refs.dialog.scrollTop = 0; }); if (this.appendToBody) { document.body.appendChild(this.$el); } } else { if (this.formInstances) { this.$nextTick(() => { this.formInstances.forEach(instance => { instance.resetFields(); }); }); } this.$el.removeEventListener('scroll', this.updatePopper); if (!this.closed) this.$emit('close'); if (this.destroyOnClose) { this.$nextTick(() => { this.key++; }); } } } }, model: { prop: 'visible', event: 'change' }, computed: { style() { let style = {}; if (!this.fullscreen) { style.marginTop = this.top; if (this.width) { style.width = this.width; } const { x, y } = this.transform; style.transform = "translate(".concat(x, "px, ").concat(y, "px)"); } return style; }, footerCtx() { return { size: 'small', loading: this.loading }; } }, methods: { acceptForm(instance) { if (this.formInstances) { this.formInstances.push(instance); } else { this.formInstances = [instance]; } }, onToogleFullScreen() { this.fullscreen = !this.fullscreen; }, mousemove(e) { const { transform, $data } = this; transform.x = transform._x + e.x - $data._originX; transform.y = transform._y + e.y - $data._originY; }, mouseup() { const { transform } = this; this.isMouseDown = false; transform._x = transform.x; transform._y = transform.y; document.removeEventListener('mousemove', this.mousemove); document.removeEventListener('mouseup', this.mouseup); }, mousedown(e) { if (this.fullscreen) return; this.isMouseDown = true; const { $data } = this; $data._originX = e.x; $data._originY = e.y; document.addEventListener('mousemove', this.mousemove); document.addEventListener('mouseup', this.mouseup); }, onConfirm() { if (!this.confirm) return; const excute = () => { let p = this.confirm(); if (p instanceof Promise) { this.loading = true; p.then(res => { this.loading = false; if (res !== false) { this.$emit('change', false); } }).catch(() => { this.loading = false; }); } else { p !== false && this.$emit('change', false); } }; if (!this.formInstances) { return excute(); } Promise.all(this.formInstances.map(item => item.validate())).then(res => { if (res.every(v => v)) { excute(); } }); }, getMigratingConfig() { return { props: { size: 'size is removed.' } }; }, handleWrapperClick() { if (!this.closeOnClickModal) return; this.handleClose(); }, handleClose() { if (typeof this.beforeClose === 'function') { this.beforeClose(this.hide); } else { this.hide(); } }, hide(cancel) { if (cancel !== false) { this.$emit('change', false); this.$emit('close'); this.closed = true; } }, updatePopper() { this.broadcast('ElSelectDropdown', 'updatePopper'); this.broadcast('ElDropdownMenu', 'updatePopper'); }, afterEnter() { this.$emit('opened'); }, afterLeave() { this.$emit('closed'); } }, mounted() { if (this.visible) { this.rendered = true; this.open(); if (this.appendToBody) { document.body.appendChild(this.$el); } } }, destroyed() { // if appendToBody is true, remove DOM node after destroy if (this.appendToBody && this.$el && this.$el.parentNode) { this.$el.parentNode.removeChild(this.$el); } } }); // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js /* harmony default export */ var src_componentvue_type_script_lang_js = (componentvue_type_script_lang_js); // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@15.11.1_@vue+compiler-sfc@3.5.18_css-loader@5.2.7_webpack@4.47.0__lodash@4.1_bb9a19950a80e648dc95ba33c71fa343/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(2); // CONCATENATED MODULE: ./packages/dialog/src/component.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( src_componentvue_type_script_lang_js, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var src_component = (component.exports); // CONCATENATED MODULE: ./packages/dialog/index.js /* istanbul ignore next */ src_component.install = function (Vue) { Vue.component(src_component.name, src_component); }; /* harmony default export */ var dialog = __webpack_exports__["default"] = (src_component); /***/ }), /***/ 25: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/mixins/migrating"); /***/ }), /***/ 33: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/utils/popup"); /***/ }), /***/ 37: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/context"); /***/ }), /***/ 47: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/perfect-scrollbar"); /***/ }) /******/ });