ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 1.95 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),h=require("../attachments/Attachments2.js"),O=require("../x-provider/hooks/use-x-provider-context.js");require("../x-provider/context.js");const D=require("ant-design-vue"),F=require("../_util/hooks/use-x-component-config.js"),P=require("./style/index.js"),y=require("../_util/hooks/use-state.js"),A=require("./useActive.js"),L=n.defineComponent({name:"AXSuggestion",__name:"Suggestion",props:n.mergeDefaults({prefixCls:null,className:null,rootClassName:null,style:null,children:{type:Function},open:{type:Boolean},onOpenChange:{type:Function},items:{type:Function},onSelect:{type:Function},block:{type:Boolean},styles:null,classNames:null},{open:!1}),setup(e){n.toRef(e,"prefixCls");const o=n.useSlots(),{direction:S,getPrefixCls:N}=O.default(),s=n.computed(()=>N("suggestion",e.prefixCls));`${s.value}`;const a=n.computed(()=>S.value==="rtl"),u=F.default("suggestion"),[q,c,i]=P.default(s),[r,b]=y.default(e.open),[k,x]=y.default(),l=t=>{var C;b(t),(C=e.onOpenChange)==null||C.call(e,t)},d=t=>{t===!1?l(!1):(x(t),l(!0))},f=()=>{l(!1)},g=n.computed(()=>typeof e.items=="function"?e.items(k.value):e.items),m=t=>{e.onSelect&&e.onSelect(t[t.length-1]),l(!1)},[V,v]=A.default(g,r,a,m,f),w=n.computed(()=>{var t;return o.default?o.default({onTrigger:d,onKeyDown:v}):(t=e.children)==null?void 0:t.call(e,{onTrigger:d,onKeyDown:v})});return()=>q(n.createVNode(D.Cascader,{options:g.value,open:r.value,value:V.value,placement:a.value?"topRight":"topLeft",onDropdownVisibleChange:t=>{t||f()},class:h.classnames(e.rootClassName,s.value,c,i,{[`${s.value}-block`]:e.block}),onChange:m,dropdownMatchSelectWidth:e.block},{default:()=>n.createVNode("div",{class:h.classnames(s.value,u.value.className,e.rootClassName,e.className,`${s.value}-wrapper`,c.value,i),style:{...u.value.style,...e.style}},[w.value])}))}});exports.default=L;