UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

2 lines (1 loc) 2.98 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),a=require("../chunks/module-chunk.js"),w=require("../_util/pick-attrs.js"),B=require("../_util/hooks/use-x-component-config.js");require("../x-provider/index.js");require("../transition-collapse/index.js");const E=require("./ThinkIcon.js"),P=require("./style/index.js"),S=require("../x-provider/hooks/use-x-provider-context.js"),O=require("../transition-collapse/TransitionCollapse.js"),T=t.defineComponent({name:"AXThink",__name:"Think",props:{prefixCls:null,rootClassName:null,className:null,class:null,style:null,classNames:{default:()=>({})},styles:{default:()=>({})},title:null,icon:null,loading:null,defaultExpanded:{type:Boolean,default:!0},expanded:{type:Boolean,default:void 0},onExpand:{type:Function},blink:{type:Boolean},destroyOnHidden:{type:Boolean,default:!0}},emits:["expand"],setup(p,{expose:f,emit:v}){const e=p,o=t.useSlots(),m=v,c=t.ref(null),y=t.computed(()=>{const n=w.default(e,{attr:!0,aria:!0,data:!0}),{title:l,...$}=n;return $}),{getPrefixCls:N,direction:_}=S.default(),s=t.computed(()=>N("think",e.prefixCls)),u=B.default("think"),[x,h,k]=P.default(s),i=t.ref(e.expanded??e.defaultExpanded??!0);t.watch(()=>e.expanded,n=>{n!==void 0&&(i.value=n)});const d=t.computed(()=>e.expanded!==void 0?!!e.expanded:!!i.value),C=n=>{var l;e.expanded===void 0&&(i.value=n),(l=e.onExpand)==null||l.call(e,n),m("expand",n)},r=(n,l)=>l?l():typeof n=="function"?n():n,g=t.computed(()=>{const n=r(e.loading,o.loading);return n?n===!0?t.createVNode(a.LoadingOutlined,null,null):n:r(e.icon,o.icon)||t.createVNode(E.default,null,null)}),V=t.computed(()=>r(e.title,o.title)),q=t.computed(()=>a.classnames(s.value,u.value.className,e.className,e.class,e.rootClassName,e.classNames.root,h.value,k,{[`${s.value}-rtl`]:_.value==="rtl"})),b=t.computed(()=>!e.destroyOnHidden||d.value);return f({nativeElement:c}),()=>{var n;return x(t.createVNode("div",t.mergeProps(y.value,{ref:c,class:q.value,style:{...typeof u.value.style=="object"?u.value.style:{},...typeof((n=u.value.styles)==null?void 0:n.root)=="object"?u.value.styles.root:{},...typeof e.style=="object"?e.style:{},...e.styles.root}}),[t.createVNode("div",{class:a.classnames(`${s.value}-status-wrapper`,e.classNames.status),style:e.styles.status,onClick:()=>C(!d.value)},[t.createVNode("div",{class:`${s.value}-status-icon`},[g.value]),t.createVNode("div",{class:a.classnames(`${s.value}-status-text`,{[`${s.value}-motion-blink`]:e.blink})},[V.value]),t.createVNode(a.RightOutlined,{class:`${s.value}-status-down-icon`,rotate:d.value?90:0},null)]),t.createVNode(O.default,{prefixCls:s.value},{default:()=>{var l;return[b.value?t.withDirectives(t.createVNode("div",{key:"think-content"},[t.createVNode("div",{class:a.classnames(`${s.value}-content`,e.classNames.content),style:e.styles.content},[(l=o.default)==null?void 0:l.call(o)])]),[[t.vShow,d.value]]):null]}})]))}}});exports.default=T;