@artmate/chat
Version:
**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**
2 lines (1 loc) • 2.13 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("../../../node_modules/@vueuse/core/index.js"),y=require("element-plus"),q=require("../hooks/useNamespace.js"),P=require("./useActive.js"),R=e.defineComponent({__name:"index",props:{direction:{},open:{type:Boolean},className:{},rootClassName:{default:""},style:{},items:{},block:{type:Boolean},styles:{},classNames:{}},emits:["openChange","select"],setup(b,{emit:h}){const n=b,c=h,r=q.useNamespace("suggestion"),u=e.ref(),f=e.ref(),p=e.computed(()=>n.direction==="rtl"),s=e.ref(),d=e.ref(),l=e.ref(n.open),m=e.computed(()=>typeof n.items=="function"?n.items(f.value):n.items);function a(t){var o;l.value=t,c("openChange",t),t||(o=u.value)==null||o.clearCheckedNodes()}function v(t){c("select",t[t.length-1]),a(!1)}function i(){a(!1)}const N=t=>{t===!1?a(!1):(f.value=t,a(!0))},[C,k]=P.default(m,l,p,v,i);function g(t){t?v(C.value):i()}const _=e.computed(()=>n.block&&s.value?`${s.value.offsetWidth}px`:"max-content");return w.onClickOutside(s,()=>{var t;(t=d.value)!=null&&t.isFocusInsideContent()||l.value&&i()}),(t,o)=>(e.openBlock(),e.createBlock(e.unref(y.ElTooltip),{ref_key:"popperRef",ref:d,"class-name":[n.rootClassName],trigger:"click",placement:p.value?"top-end":"top-start",visible:l.value,"gpu-acceleration":!1,effect:"light",pure:"","manual-mode":"",persistent:"",role:"listbox",onHide:g},{content:e.withCtx(()=>[e.createVNode(e.unref(y.ElCascaderPanel),{ref_key:"CascaderPanelRef",ref:u,style:e.normalizeStyle({width:_.value}),class:e.normalizeClass(e.unref(r).b("cascader-panel")),options:m.value,border:!1,"model-value":e.unref(C),onClose:o[0]||(o[0]=S=>g(!0))},null,8,["style","class","options","model-value"])]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"defaultContainer",ref:s,class:e.normalizeClass([e.unref(r).b(),n.rootClassName,n.className,e.unref(r).b("wrapper")]),style:e.normalizeStyle(n.style)},[e.renderSlot(t.$slots,"default",{onTrigger:N,onKeyDown:e.unref(k)},void 0,!0)],6)]),_:3},8,["class-name","placement","visible"]))}});exports.default=R;