ll-package
Version:
2 lines (1 loc) • 2.98 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),s=require("../../../@babel/runtime/helpers/esm/extends.js"),i=require("vue"),V=require("../vc-trigger/Trigger.js"),c=require("../_util/vue-types/index.js"),W=require("../_util/classNames.js");var B=function(e,o){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(r[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(r[t[n]]=e[t[n]]);return r};const Y=e=>{const o=e===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:o,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:o,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:o,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:o,adjustY:1}}}},D=i.defineComponent({name:"SelectTrigger",inheritAttrs:!1,props:{dropdownAlign:Object,visible:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},dropdownClassName:String,dropdownStyle:c.default.object,placement:String,empty:{type:Boolean,default:void 0},prefixCls:String,popupClassName:String,animation:String,transitionName:String,getPopupContainer:Function,dropdownRender:Function,containerWidth:Number,dropdownMatchSelectWidth:c.default.oneOfType([Number,Boolean]).def(!0),popupElement:c.default.any,direction:String,getTriggerDOMNode:Function,onPopupVisibleChange:Function,onPopupMouseEnter:Function,onPopupFocusin:Function,onPopupFocusout:Function},setup(e,o){let{slots:r,attrs:t,expose:n}=o;const h=i.computed(()=>{const{dropdownMatchSelectWidth:p}=e;return Y(p)}),f=i.ref();return n({getPopupElement:()=>f.value}),()=>{const p=s.default(s.default({},e),t),{empty:S=!1}=p,N=B(p,["empty"]),{visible:v,dropdownAlign:C,prefixCls:O,popupElement:g,dropdownClassName:j,dropdownStyle:F,direction:x="ltr",placement:M,dropdownMatchSelectWidth:u,containerWidth:m,dropdownRender:b,animation:y,transitionName:T,getPopupContainer:_,getTriggerDOMNode:$,onPopupVisibleChange:l,onPopupMouseEnter:q,onPopupFocusin:A,onPopupFocusout:E}=N,d=`${O}-dropdown`;let w=g;b&&(w=b({menuNode:g,props:e}));const R=y?`${d}-${y}`:T,a=s.default({minWidth:`${m}px`},F);return typeof u=="number"?a.width=`${u}px`:u&&(a.width=`${m}px`),i.createVNode(V.default,P.default(P.default({},e),{},{showAction:l?["click"]:[],hideAction:l?["click"]:[],popupPlacement:M||(x==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:h.value,prefixCls:d,popupTransitionName:R,popupAlign:C,popupVisible:v,getPopupContainer:_,popupClassName:W.default(j,{[`${d}-empty`]:S}),popupStyle:a,getTriggerDOMNode:$,onPopupVisibleChange:l}),{default:r.default,popup:()=>i.createVNode("div",{ref:f,onMouseenter:q,onFocusin:A,onFocusout:E},[w])})}}}),I=D;exports.default=I;
;