element-gui
Version:
A Component Library for Vue.js.
1 lines • 5.58 kB
JavaScript
module.exports=function(e){var t={};function i(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=155)}({155:function(e,t,i){"use strict";i.r(t);var o=i(5),n=i.n(o),s=i(20),r=i.n(s),u=i(3),l=i(2),a=i(8),c=i.n(a),h={name:"ElTooltip",mixins:[n.a],props:{openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},maxWidth:[String,Number],popperClass:String,content:[String,Number],visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(l.generateId)(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new c.a({data:{node:""},render:function(e){return this.node}}).$mount(),this.$nextTick((function(){e.debounceClose=r()(e.closeDelay,(function(){return e.handleClosePopper()}))})))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e("div",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],style:"max-width:"+this.formateMaxWidth,class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[e("div",{class:"el-tooltip__content"},[this.$slots.content||this.content])])]));var i=this.getFirstElement();if(!i)return null;var o=i.data=i.data||{};return o.staticClass=this.addTooltipClass(o.staticClass),i},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(u.on)(this.referenceElm,"mouseenter",this.show),Object(u.on)(this.referenceElm,"mouseleave",this.hide),Object(u.on)(this.referenceElm,"focus",this.handleFocus),Object(u.on)(this.referenceElm,"blur",this.handleBlur),Object(u.on)(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick((function(){e.value&&e.updatePopper()}))},watch:{focusing:function(e){e?Object(u.addClass)(this.referenceElm,"focusing"):Object(u.removeClass)(this.referenceElm,"focusing")}},computed:{formateMaxWidth:function(){return/(%|px)/.test(this.maxWidth)?this.maxWidth:this.maxWidth+"px"}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){if(!this.$slots.default||!this.$slots.default.length)return this.focusing=!0,void this.show();var e=this.$slots.default[0].componentInstance;e&&e.focus?e.focus():this.doFocus()},doFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?"el-tooltip "+e.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout((function(){null!==e.referenceElm.offsetParent&&(e.showPopper=!0)}),this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout((function(){e.showPopper=!1}),this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,i=0;i<e.length;i++)if(e[i]&&e[i].tag){t=e[i];break}return t}},beforeDestroy:function(){this.popperVM&&this.popperVM.$destroy()},destroyed:function(){var e=this.referenceElm;1===e.nodeType&&(Object(u.off)(e,"mouseenter",this.show),Object(u.off)(e,"mouseleave",this.hide),Object(u.off)(e,"focus",this.handleFocus),Object(u.off)(e,"blur",this.handleBlur),Object(u.off)(e,"click",this.removeFocusing))},install:function(e){e.component(h.name,h)}};t.default=h},2:function(e,t){e.exports=require("element-gui/lib/utils/util")},20:function(e,t){e.exports=require("throttle-debounce/debounce")},3:function(e,t){e.exports=require("element-gui/lib/utils/dom")},5:function(e,t){e.exports=require("element-gui/lib/utils/vue-popper")},8:function(e,t){e.exports=require("vue")}});