UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 6.78 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),$=require("@aplus-frontend/antdv"),T=require("@ant-design/icons-vue");require("../../../config-provider/index.js");const y=require("../../../editable-table/utils.js"),_=require("@aplus-frontend/antdv/es/_util/hooks/useBreakpoint"),H=require("@aplus-frontend/icon"),Q=require("../../style/index.js"),J=require("../../../config-provider/hooks/use-namespace.js"),K=e.defineComponent({name:"ApProCard",__name:"index",props:e.mergeModels({headStyle:{},bodyStyle:{},actionsStyle:{},headerBordered:{type:Boolean,default:!1},title:{type:[Object,String,Number,Boolean,null,Array]},tooltip:{type:[Object,String,Number,Boolean,null,Array]},extra:{type:[Object,String,Number,Boolean,null,Array]},layout:{},type:{},direction:{},wrap:{type:Boolean,default:!1},loading:{type:[Boolean,Object,String,Number,null,Array]},colSpan:{},colStyle:{},gutter:{default:0},actions:{type:[Object,String,Number,Boolean,null,Array]},split:{},bordered:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!1},ghost:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!1},defaultCollapsed:{type:Boolean,default:!1},collapsed:{type:Boolean},collapsibleIconRender:{},boxShadow:{type:Boolean,default:!1}},{collapsed:{type:Boolean,default:void 0},collapsedModifiers:{}}),emits:["update:collapsed"],setup(b){const l=b,a=e.useSlots(),d=e.ref(l.defaultCollapsed),h=e.useModel(b,"collapsed");e.watch(()=>h.value,t=>{t!==void 0&&(d.value=t)},{immediate:!0});const N=()=>{d.value=!d.value},{b:s}=J.useNamespace("pro-card"),V=Q.default("pro-card"),m=["xxxl","xxl","xl","lg","md","sm","xs"],x=_(),v=(t,o)=>t?o:{},z=t=>{const o=[0,0];return(Array.isArray(t)?t:[t,0]).forEach((n,i)=>{if(typeof n=="object")for(let c=0;c<m.length;c+=1){const p=m[c];if({lg:!0,md:!0,sm:!0,xl:!1,xs:!1,xxl:!1,xxxl:!1,...x?.value}[p]&&n[p]!==void 0){o[i]=n[p];break}}else o[i]=n||0}),o},w=t=>{let o=t;if(typeof t=="object")for(let n=0;n<m.length;n+=1){const i=m[n];if({lg:!0,md:!0,sm:!0,xl:!1,xs:!1,xxl:!1,xxxl:!1,...x?.value}?.[i]&&t?.[i]!==void 0){o=t[i];break}}const r=v(typeof o=="string"&&/\d%|\dpx/i.test(o),{width:o,flexShrink:0});return{span:o,colSpanStyle:r}},A=e.computed(()=>z(l.gutter)),g=e.ref(!1),k=t=>{g.value=t},E=e.computed(()=>e.createVNode(e.Fragment,null,[l.title||a.title?.()])),M=e.computed(()=>e.createVNode(e.Fragment,null,[l.tooltip])),j=e.computed(()=>e.createVNode(e.Fragment,null,[l.extra||a.extra?.()])),D=e.computed(()=>e.createVNode(e.Fragment,null,[l.actions||a.actions?.()])),q=e.computed(()=>l.loading===!0?e.createVNode($.Spin,{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},null):e.createVNode(e.Fragment,null,[l.loading])),u=e.computed(()=>l.collapsible&&h.value===void 0),I=()=>l.collapsibleIconRender?l.collapsibleIconRender?.({collapsed:d.value}):e.createVNode(e.Fragment,null,[e.createVNode(H.IconApAdFillDown,{class:s("collapsible-icon"),style:{transform:d.value?"rotate(-90deg)":"rotate(0deg)"}},null)]),S=(t,o=[])=>{if(t?.type===Symbol.for("v-fgt")){const r=Array.isArray(t?.children)?t?.children:[t?.children];if(r?.length)for(let n=0;n<r.length;n++)r?.[n]&&S(r?.[n],o)}else t&&o.push(t);return o},F=()=>{const t=a.default?.();return k(!1),e.createVNode(e.Fragment,null,[t?.reduce((o,r)=>{const n=S(r);return[...o,...n]},[])?.filter(o=>o.type!==Symbol.for("v-cmt"))?.map((o,r,n)=>{if(o&&typeof o=="object"&&"type"in o&&o.type?.isProCard===!0){k(!0);const i=o?.props?.colSpan||o?.props?.["col-span"]||{},{span:c,colSpanStyle:p}=w(i),f=s("col"),R=y.mergeClass(`${f}`,[typeof c=="number"&&c>=0&&c<=24?`${f}-span-${c}`:void 0,l.split==="horizontal"&&r!==n.length-1?`${f}-split-horizontal`:void 0,l.split==="vertical"&&r!==n.length-1?`${f}-split-vertical`:void 0].filter(Boolean)),[B,C]=A.value;return e.createVNode("div",{class:R,style:{...p,...v(B>0,{paddingInlineStart:`${B/2}px`,paddingInlineEnd:`${B/2}px`}),...v(C>0,{paddingBlockStart:`${C/2}px`,paddingBlockEnd:`${C/2}px`}),...l.colStyle}},[o])}return o})])},O=e.computed(()=>{const t=s();return y.mergeClass(`${t}`,[l.bordered?`${t}-border`:void 0,l.boxShadow?`${t}-box-shadow`:void 0,g.value?`${t}-contain-card`:void 0,l.loading?`${t}-loading`:void 0,l.split==="vertical"||l.split==="horizontal"?`${t}-split`:void 0,l.ghost?`${t}-ghost`:void 0,l.hoverable?`${t}-hoverable`:void 0,l.type?`${t}-type-${l.type}`:void 0,d.value?`${t}-collapsed`:void 0,V.value].filter(Boolean))}),P=e.computed(()=>{const t=s("header");return y.mergeClass(`${t}`,[l.headerBordered||l.type==="inner"?`${t}-border`:void 0,u.value?`${t}-collapsible`:void 0].filter(Boolean))}),G=e.computed(()=>{const t=s("body");return y.mergeClass(`${t}`,[l.layout==="center"?`${t}-center`:void 0,l.split==="horizontal"||l.direction==="column"?`${t}-direction-column`:void 0,l.wrap&&g.value?`${t}-wrap`:void 0].filter(Boolean))});return(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:O.value},{...t.$attrs}),[l.title||a.title||l.extra||a.extra||u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(P.value),style:e.normalizeStyle({...l.headStyle}),onClick:o[0]||(o[0]=()=>{u.value&&N()})},[l.title||a.title||u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(s)("header-title"))},[u.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I()),{key:0})):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"title",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.value)))]),l.tooltip?(e.openBlock(),e.createBlock(e.unref($.Tooltip),{key:1},{title:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value)))]),default:e.withCtx(()=>[e.createVNode(e.unref(T.QuestionCircleOutlined),{class:e.normalizeClass(e.unref(s)("header-title-tooltip"))},null,8,["class"])]),_:1})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),l.extra||a.extra?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(s)("header-extra"))},[e.renderSlot(t.$slots,"extra",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.value)))])],2)):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(G.value),style:e.normalizeStyle({...l.bodyStyle})},[l.loading?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(q.value),{key:0})):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F()),{key:1}))],6),l.actions||a.actions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(s)("actions")),style:e.normalizeStyle({...l.actionsStyle})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value)))],6)):e.createCommentVNode("",!0)],16))}});exports.default=K;