UNPKG

18.1 kBJavaScriptView Raw
1module.exports =
2/******/ (function(modules) { // webpackBootstrap
3/******/ // The module cache
4/******/ var installedModules = {};
5/******/
6/******/ // The require function
7/******/ function __webpack_require__(moduleId) {
8/******/
9/******/ // Check if module is in cache
10/******/ if(installedModules[moduleId]) {
11/******/ return installedModules[moduleId].exports;
12/******/ }
13/******/ // Create a new module (and put it into the cache)
14/******/ var module = installedModules[moduleId] = {
15/******/ i: moduleId,
16/******/ l: false,
17/******/ exports: {}
18/******/ };
19/******/
20/******/ // Execute the module function
21/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22/******/
23/******/ // Flag the module as loaded
24/******/ module.l = true;
25/******/
26/******/ // Return the exports of the module
27/******/ return module.exports;
28/******/ }
29/******/
30/******/
31/******/ // expose the modules object (__webpack_modules__)
32/******/ __webpack_require__.m = modules;
33/******/
34/******/ // expose the module cache
35/******/ __webpack_require__.c = installedModules;
36/******/
37/******/ // define getter function for harmony exports
38/******/ __webpack_require__.d = function(exports, name, getter) {
39/******/ if(!__webpack_require__.o(exports, name)) {
40/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41/******/ }
42/******/ };
43/******/
44/******/ // define __esModule on exports
45/******/ __webpack_require__.r = function(exports) {
46/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48/******/ }
49/******/ Object.defineProperty(exports, '__esModule', { value: true });
50/******/ };
51/******/
52/******/ // create a fake namespace object
53/******/ // mode & 1: value is a module id, require it
54/******/ // mode & 2: merge all properties of value into the ns
55/******/ // mode & 4: return value when already ns object
56/******/ // mode & 8|1: behave like require
57/******/ __webpack_require__.t = function(value, mode) {
58/******/ if(mode & 1) value = __webpack_require__(value);
59/******/ if(mode & 8) return value;
60/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61/******/ var ns = Object.create(null);
62/******/ __webpack_require__.r(ns);
63/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65/******/ return ns;
66/******/ };
67/******/
68/******/ // getDefaultExport function for compatibility with non-harmony modules
69/******/ __webpack_require__.n = function(module) {
70/******/ var getter = module && module.__esModule ?
71/******/ function getDefault() { return module['default']; } :
72/******/ function getModuleExports() { return module; };
73/******/ __webpack_require__.d(getter, 'a', getter);
74/******/ return getter;
75/******/ };
76/******/
77/******/ // Object.prototype.hasOwnProperty.call
78/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79/******/
80/******/ // __webpack_public_path__
81/******/ __webpack_require__.p = "/dist/";
82/******/
83/******/
84/******/ // Load entry module and return exports
85/******/ return __webpack_require__(__webpack_require__.s = 74);
86/******/ })
87/************************************************************************/
88/******/ ({
89
90/***/ 0:
91/***/ (function(module, __webpack_exports__, __webpack_require__) {
92
93"use strict";
94/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95/* globals __VUE_SSR_CONTEXT__ */
96
97// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98// This module is a runtime utility for cleaner component module output and will
99// be included in the final webpack user bundle.
100
101function normalizeComponent (
102 scriptExports,
103 render,
104 staticRenderFns,
105 functionalTemplate,
106 injectStyles,
107 scopeId,
108 moduleIdentifier, /* server only */
109 shadowMode /* vue-cli only */
110) {
111 // Vue.extend constructor export interop
112 var options = typeof scriptExports === 'function'
113 ? scriptExports.options
114 : scriptExports
115
116 // render functions
117 if (render) {
118 options.render = render
119 options.staticRenderFns = staticRenderFns
120 options._compiled = true
121 }
122
123 // functional template
124 if (functionalTemplate) {
125 options.functional = true
126 }
127
128 // scopedId
129 if (scopeId) {
130 options._scopeId = 'data-v-' + scopeId
131 }
132
133 var hook
134 if (moduleIdentifier) { // server build
135 hook = function (context) {
136 // 2.3 injection
137 context =
138 context || // cached call
139 (this.$vnode && this.$vnode.ssrContext) || // stateful
140 (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141 // 2.2 with runInNewContext: true
142 if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143 context = __VUE_SSR_CONTEXT__
144 }
145 // inject component styles
146 if (injectStyles) {
147 injectStyles.call(this, context)
148 }
149 // register component module identifier for async chunk inferrence
150 if (context && context._registeredComponents) {
151 context._registeredComponents.add(moduleIdentifier)
152 }
153 }
154 // used by ssr in case component is cached and beforeCreate
155 // never gets called
156 options._ssrRegister = hook
157 } else if (injectStyles) {
158 hook = shadowMode
159 ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
160 : injectStyles
161 }
162
163 if (hook) {
164 if (options.functional) {
165 // for template-only hot-reload because in that case the render fn doesn't
166 // go through the normalizer
167 options._injectStyles = hook
168 // register for functioal component in vue file
169 var originalRender = options.render
170 options.render = function renderWithStyleInjection (h, context) {
171 hook.call(context)
172 return originalRender(h, context)
173 }
174 } else {
175 // inject component registration as beforeCreate hook
176 var existing = options.beforeCreate
177 options.beforeCreate = existing
178 ? [].concat(existing, hook)
179 : [hook]
180 }
181 }
182
183 return {
184 exports: scriptExports,
185 options: options
186 }
187}
188
189
190/***/ }),
191
192/***/ 2:
193/***/ (function(module, exports) {
194
195module.exports = require("element-ui/lib/utils/dom");
196
197/***/ }),
198
199/***/ 3:
200/***/ (function(module, exports) {
201
202module.exports = require("element-ui/lib/utils/util");
203
204/***/ }),
205
206/***/ 5:
207/***/ (function(module, exports) {
208
209module.exports = require("element-ui/lib/utils/vue-popper");
210
211/***/ }),
212
213/***/ 7:
214/***/ (function(module, exports) {
215
216module.exports = require("vue");
217
218/***/ }),
219
220/***/ 74:
221/***/ (function(module, __webpack_exports__, __webpack_require__) {
222
223"use strict";
224__webpack_require__.r(__webpack_exports__);
225
226// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272&
227var render = function() {
228 var _vm = this
229 var _h = _vm.$createElement
230 var _c = _vm._self._c || _h
231 return _c(
232 "span",
233 [
234 _c(
235 "transition",
236 {
237 attrs: { name: _vm.transition },
238 on: {
239 "after-enter": _vm.handleAfterEnter,
240 "after-leave": _vm.handleAfterLeave
241 }
242 },
243 [
244 _c(
245 "div",
246 {
247 directives: [
248 {
249 name: "show",
250 rawName: "v-show",
251 value: !_vm.disabled && _vm.showPopper,
252 expression: "!disabled && showPopper"
253 }
254 ],
255 ref: "popper",
256 staticClass: "el-popover el-popper",
257 class: [_vm.popperClass, _vm.content && "el-popover--plain"],
258 style: { width: _vm.width + "px" },
259 attrs: {
260 role: "tooltip",
261 id: _vm.tooltipId,
262 "aria-hidden":
263 _vm.disabled || !_vm.showPopper ? "true" : "false"
264 }
265 },
266 [
267 _vm.title
268 ? _c("div", {
269 staticClass: "el-popover__title",
270 domProps: { textContent: _vm._s(_vm.title) }
271 })
272 : _vm._e(),
273 _vm._t("default", [_vm._v(_vm._s(_vm.content))])
274 ],
275 2
276 )
277 ]
278 ),
279 _vm._t("reference")
280 ],
281 2
282 )
283}
284var staticRenderFns = []
285render._withStripped = true
286
287
288// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272&
289
290// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper"
291var vue_popper_ = __webpack_require__(5);
292var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);
293
294// EXTERNAL MODULE: external "element-ui/lib/utils/dom"
295var dom_ = __webpack_require__(2);
296
297// EXTERNAL MODULE: external "element-ui/lib/utils/util"
298var util_ = __webpack_require__(3);
299
300// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js&
301//
302//
303//
304//
305//
306//
307//
308//
309//
310//
311//
312//
313//
314//
315//
316//
317//
318//
319//
320//
321//
322//
323//
324
325
326
327
328
329
330/* harmony default export */ var mainvue_type_script_lang_js_ = ({
331 name: 'ElPopover',
332
333 mixins: [vue_popper_default.a],
334
335 props: {
336 trigger: {
337 type: String,
338 default: 'click',
339 validator: function validator(value) {
340 return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1;
341 }
342 },
343 openDelay: {
344 type: Number,
345 default: 0
346 },
347 closeDelay: {
348 type: Number,
349 default: 200
350 },
351 title: String,
352 disabled: Boolean,
353 content: String,
354 reference: {},
355 popperClass: String,
356 width: {},
357 visibleArrow: {
358 default: true
359 },
360 arrowOffset: {
361 type: Number,
362 default: 0
363 },
364 transition: {
365 type: String,
366 default: 'fade-in-linear'
367 },
368 tabindex: {
369 type: Number,
370 default: 0
371 }
372 },
373
374 computed: {
375 tooltipId: function tooltipId() {
376 return 'el-popover-' + Object(util_["generateId"])();
377 }
378 },
379 watch: {
380 showPopper: function showPopper(val) {
381 if (this.disabled) {
382 return;
383 }
384 val ? this.$emit('show') : this.$emit('hide');
385 }
386 },
387
388 mounted: function mounted() {
389 var _this = this;
390
391 var reference = this.referenceElm = this.reference || this.$refs.reference;
392 var popper = this.popper || this.$refs.popper;
393
394 if (!reference && this.$slots.reference && this.$slots.reference[0]) {
395 reference = this.referenceElm = this.$slots.reference[0].elm;
396 }
397 // 可访问性
398 if (reference) {
399 Object(dom_["addClass"])(reference, 'el-popover__reference');
400 reference.setAttribute('aria-describedby', this.tooltipId);
401 reference.setAttribute('tabindex', this.tabindex); // tab序列
402 popper.setAttribute('tabindex', 0);
403
404 if (this.trigger !== 'click') {
405 Object(dom_["on"])(reference, 'focusin', function () {
406 _this.handleFocus();
407 var instance = reference.__vue__;
408 if (instance && typeof instance.focus === 'function') {
409 instance.focus();
410 }
411 });
412 Object(dom_["on"])(popper, 'focusin', this.handleFocus);
413 Object(dom_["on"])(reference, 'focusout', this.handleBlur);
414 Object(dom_["on"])(popper, 'focusout', this.handleBlur);
415 }
416 Object(dom_["on"])(reference, 'keydown', this.handleKeydown);
417 Object(dom_["on"])(reference, 'click', this.handleClick);
418 }
419 if (this.trigger === 'click') {
420 Object(dom_["on"])(reference, 'click', this.doToggle);
421 Object(dom_["on"])(document, 'click', this.handleDocumentClick);
422 } else if (this.trigger === 'hover') {
423 Object(dom_["on"])(reference, 'mouseenter', this.handleMouseEnter);
424 Object(dom_["on"])(popper, 'mouseenter', this.handleMouseEnter);
425 Object(dom_["on"])(reference, 'mouseleave', this.handleMouseLeave);
426 Object(dom_["on"])(popper, 'mouseleave', this.handleMouseLeave);
427 } else if (this.trigger === 'focus') {
428 if (this.tabindex < 0) {
429 console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key');
430 }
431 if (reference.querySelector('input, textarea')) {
432 Object(dom_["on"])(reference, 'focusin', this.doShow);
433 Object(dom_["on"])(reference, 'focusout', this.doClose);
434 } else {
435 Object(dom_["on"])(reference, 'mousedown', this.doShow);
436 Object(dom_["on"])(reference, 'mouseup', this.doClose);
437 }
438 }
439 },
440 beforeDestroy: function beforeDestroy() {
441 this.cleanup();
442 },
443 deactivated: function deactivated() {
444 this.cleanup();
445 },
446
447
448 methods: {
449 doToggle: function doToggle() {
450 this.showPopper = !this.showPopper;
451 },
452 doShow: function doShow() {
453 this.showPopper = true;
454 },
455 doClose: function doClose() {
456 this.showPopper = false;
457 },
458 handleFocus: function handleFocus() {
459 Object(dom_["addClass"])(this.referenceElm, 'focusing');
460 if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true;
461 },
462 handleClick: function handleClick() {
463 Object(dom_["removeClass"])(this.referenceElm, 'focusing');
464 },
465 handleBlur: function handleBlur() {
466 Object(dom_["removeClass"])(this.referenceElm, 'focusing');
467 if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false;
468 },
469 handleMouseEnter: function handleMouseEnter() {
470 var _this2 = this;
471
472 clearTimeout(this._timer);
473 if (this.openDelay) {
474 this._timer = setTimeout(function () {
475 _this2.showPopper = true;
476 }, this.openDelay);
477 } else {
478 this.showPopper = true;
479 }
480 },
481 handleKeydown: function handleKeydown(ev) {
482 if (ev.keyCode === 27 && this.trigger !== 'manual') {
483 // esc
484 this.doClose();
485 }
486 },
487 handleMouseLeave: function handleMouseLeave() {
488 var _this3 = this;
489
490 clearTimeout(this._timer);
491 if (this.closeDelay) {
492 this._timer = setTimeout(function () {
493 _this3.showPopper = false;
494 }, this.closeDelay);
495 } else {
496 this.showPopper = false;
497 }
498 },
499 handleDocumentClick: function handleDocumentClick(e) {
500 var reference = this.reference || this.$refs.reference;
501 var popper = this.popper || this.$refs.popper;
502
503 if (!reference && this.$slots.reference && this.$slots.reference[0]) {
504 reference = this.referenceElm = this.$slots.reference[0].elm;
505 }
506 if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return;
507 this.showPopper = false;
508 },
509 handleAfterEnter: function handleAfterEnter() {
510 this.$emit('after-enter');
511 },
512 handleAfterLeave: function handleAfterLeave() {
513 this.$emit('after-leave');
514 this.doDestroy();
515 },
516 cleanup: function cleanup() {
517 if (this.openDelay || this.closeDelay) {
518 clearTimeout(this._timer);
519 }
520 }
521 },
522
523 destroyed: function destroyed() {
524 var reference = this.reference;
525
526 Object(dom_["off"])(reference, 'click', this.doToggle);
527 Object(dom_["off"])(reference, 'mouseup', this.doClose);
528 Object(dom_["off"])(reference, 'mousedown', this.doShow);
529 Object(dom_["off"])(reference, 'focusin', this.doShow);
530 Object(dom_["off"])(reference, 'focusout', this.doClose);
531 Object(dom_["off"])(reference, 'mousedown', this.doShow);
532 Object(dom_["off"])(reference, 'mouseup', this.doClose);
533 Object(dom_["off"])(reference, 'mouseleave', this.handleMouseLeave);
534 Object(dom_["off"])(reference, 'mouseenter', this.handleMouseEnter);
535 Object(dom_["off"])(document, 'click', this.handleDocumentClick);
536 }
537});
538// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js&
539 /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_);
540// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
541var componentNormalizer = __webpack_require__(0);
542
543// CONCATENATED MODULE: ./packages/popover/src/main.vue
544
545
546
547
548
549/* normalize component */
550
551var component = Object(componentNormalizer["a" /* default */])(
552 src_mainvue_type_script_lang_js_,
553 render,
554 staticRenderFns,
555 false,
556 null,
557 null,
558 null
559
560)
561
562/* hot reload */
563if (false) { var api; }
564component.options.__file = "packages/popover/src/main.vue"
565/* harmony default export */ var main = (component.exports);
566// CONCATENATED MODULE: ./packages/popover/src/directive.js
567var getReference = function getReference(el, binding, vnode) {
568 var _ref = binding.expression ? binding.value : binding.arg;
569 var popper = vnode.context.$refs[_ref];
570 if (popper) {
571 if (Array.isArray(popper)) {
572 popper[0].$refs.reference = el;
573 } else {
574 popper.$refs.reference = el;
575 }
576 }
577};
578
579/* harmony default export */ var directive = ({
580 bind: function bind(el, binding, vnode) {
581 getReference(el, binding, vnode);
582 },
583 inserted: function inserted(el, binding, vnode) {
584 getReference(el, binding, vnode);
585 }
586});
587// EXTERNAL MODULE: external "vue"
588var external_vue_ = __webpack_require__(7);
589var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
590
591// CONCATENATED MODULE: ./packages/popover/index.js
592
593
594
595
596external_vue_default.a.directive('popover', directive);
597
598/* istanbul ignore next */
599main.install = function (Vue) {
600 Vue.directive('popover', directive);
601 Vue.component(main.name, main);
602};
603main.directive = directive;
604
605/* harmony default export */ var popover = __webpack_exports__["default"] = (main);
606
607/***/ })
608
609/******/ });
\No newline at end of file