UNPKG

ll-package

Version:

2 lines (1 loc) 1.63 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../menu/index.js");const I=require("./MentionsContext.js");require("../../spin/index.js");const S=require("../../menu/src/Menu.js"),f=require("../../menu/src/MenuItem.js"),V=require("../../spin/Spin.js");function _(){}const k=e.defineComponent({compatConfig:{MODE:3},name:"DropdownMenu",props:{prefixCls:String,options:{type:Array,default:()=>[]}},setup(v,p){let{slots:u}=p;const{activeIndex:m,setActiveIndex:y,selectOption:M,onFocus:b=_,loading:s}=e.inject(I.default,{activeIndex:e.shallowRef(),loading:e.shallowRef(!1)});let r;const g=o=>{clearTimeout(r),r=setTimeout(()=>{b(o)})};return e.onBeforeUnmount(()=>{clearTimeout(r)}),()=>{var o;const{prefixCls:C,options:a}=v,q=a[m.value]||{};return e.createVNode(S.default,{prefixCls:`${C}-menu`,activeKey:q.value,onSelect:t=>{let{key:d}=t;const n=a.find(l=>{let{value:i}=l;return i===d});M(n)},onMousedown:g},{default:()=>[!s.value&&a.map((t,d)=>{var n,l;const{value:i,disabled:x,label:c=t.value,class:w,style:N}=t;return e.createVNode(f.default,{key:i,disabled:x,onMouseenter:()=>{y(d)},class:w,style:N},{default:()=>[(l=(n=u.option)===null||n===void 0?void 0:n.call(u,t))!==null&&l!==void 0?l:typeof c=="function"?c(t):c]})}),!s.value&&a.length===0?e.createVNode(f.default,{key:"notFoundContent",disabled:!0},{default:()=>[(o=u.notFoundContent)===null||o===void 0?void 0:o.call(u)]}):null,s.value&&e.createVNode(f.default,{key:"loading",disabled:!0},{default:()=>[e.createVNode(V.default,{size:"small"},null)]})]})}}});exports.default=k;