UNPKG

maz-ui

Version:

A standalone components library for Vue.Js 3 & Nuxt.Js 3

1 lines 7.49 kB
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.ChmETRGw.js";import{t as hasSlotContent}from"./hasSlotContent.akaXJLAp.js";import{t as resolveLinkComponent}from"./resolveLinkComponent.BkamYM5e.js";import{computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,createVNode,defineAsyncComponent,defineComponent,mergeModels,mergeProps,normalizeClass,openBlock,renderSlot,resolveDynamicComponent,toDisplayString,unref,useModel,useSlots,withCtx,withModifiers}from"vue";import{MazChevronDown}from"@maz-ui/icons/lazy/MazChevronDown";import '../assets/MazCard.Bum7yF_1.css';var _hoisted_1={key:0,class:`m-card__gallery__wrapper`};var _hoisted_2={class:`maz-min-w-0 maz-flex-1`};var _hoisted_3={key:0,class:`m-card__title`};var _hoisted_4={key:1,class:`m-card__subtitle`};var _hoisted_5={key:2,class:`m-card__content`};var _hoisted_6={key:2,class:`m-card__actions maz-flex maz-p-2`};var MazCard_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazCard`,props:mergeModels({orientation:{default:`column`},href:{default:()=>void 0},to:{default:()=>void 0},hrefTarget:{default:`_self`},footerAlign:{default:`right`},gallery:{default:()=>void 0},scale:{type:Boolean,default:!0},elevation:{type:Boolean,default:!1},radius:{type:Boolean,default:!0},bordered:{type:Boolean,default:!0},wrapperClass:{type:[Boolean,null,String,Object,Array],default:()=>void 0},padding:{type:Boolean,default:!0},overflowHidden:{type:Boolean},collapsible:{type:Boolean,default:!1},collapseOpen:{type:Boolean,default:!1},title:{default:()=>void 0},block:{type:Boolean}},{collapseOpen:{type:Boolean,default:!1},collapseOpenModifiers:{}}),emits:mergeModels([`update:collapseOpen`],[`update:collapseOpen`]),setup(__props){let isLinked=computed(()=>!!__props.href||!!__props.to);let DEFAULT_GALLERY_OPTIONS={displayedCount:3,remaining:!1,zoom:!isLinked.value,width:200,height:150};let MazBtn=defineAsyncComponent(()=>import(`../components/MazBtn.js`));let MazGallery=defineAsyncComponent(()=>import(`../components/MazGallery.js`));let MazExpandAnimation=defineAsyncComponent(()=>import(`../components/MazExpandAnimation.js`));let slots=useSlots();let collapseOpenModel=useModel(__props,`collapseOpen`);collapseOpenModel.value=__props.collapsible?__props.collapseOpen:!0;let isColumnVariant=computed(()=>[`column`,`column-reverse`].includes(__props.orientation));let haveSomeContent=computed(()=>hasSlotContent(slots.default)||hasSlotContent(slots[`content-title`])||hasSlotContent(slots[`content-subtitle`])||hasSlotContent(slots[`content-body`]));let galleryHeightComputed=computed(()=>haveSomeContent.value?__props.gallery?.height??DEFAULT_GALLERY_OPTIONS.height:`100%`);let galleryWidthComputed=computed(()=>haveSomeContent.value?__props.gallery?.width??DEFAULT_GALLERY_OPTIONS.width:`100%`);let galleryOptions=computed(()=>({...DEFAULT_GALLERY_OPTIONS,radius:__props.radius,width:isColumnVariant.value?!1:galleryWidthComputed.value,height:!isColumnVariant.value&&haveSomeContent.value?!1:galleryHeightComputed.value,...__props.gallery}));let wrapperData=computed(()=>{let componentType=`div`;return __props.href?componentType=`a`:__props.to&&(componentType=resolveLinkComponent()),{is:componentType,...__props.href&&{href:__props.href},...__props.to&&{to:__props.to},target:__props.hrefTarget}});let footerAlignClass=computed(()=>__props.footerAlign===`right`?`maz-text-end`:`maz-text-start`);function toggleCollapse(){__props.collapsible&&(collapseOpenModel.value=!collapseOpenModel.value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`m-card m-reset-css`,[{"m-card--linked":isLinked.value,"m-card--no-scale":!__props.scale,"maz-shadow-elevation maz-drop-shadow-md":__props.elevation,"--block":__props.block,"maz-overflow-hidden":__props.overflowHidden||!collapseOpenModel.value,"maz-rounded":__props.radius,"maz-border maz-border-solid maz-border-divider":__props.bordered}]])},[unref(hasSlotContent)(unref(slots).title)||__props.title||__props.collapsible?(openBlock(),createBlock(resolveDynamicComponent(__props.collapsible?`button`:`div`),{key:0,class:normalizeClass([`m-card__header maz-border-b maz-border-solid`,[collapseOpenModel.value?`maz-rounded-t maz-border-divider`:`maz-border-transparent`,{"--is-collapsible":__props.collapsible},{"maz-justify-end":(!unref(hasSlotContent)(unref(slots).title)||!__props.title)&&__props.collapsible},{"maz-justify-between":unref(hasSlotContent)(unref(slots).title)||__props.title}]]),tabindex:`-1`,onClick:_cache[0]||=withModifiers($event=>__props.collapsible?toggleCollapse():void 0,[`stop`])},{default:withCtx(()=>[unref(hasSlotContent)(unref(slots).title)||__props.title?renderSlot(_ctx.$slots,`title`,{key:0},()=>[createTextVNode(toDisplayString(__props.title),1)],!0):createCommentVNode(``,!0),__props.collapsible?(openBlock(),createBlock(unref(MazBtn),{key:1,color:`transparent`,class:`maz-ms-2 maz-text-sm`,size:`xs`,onClick:withModifiers(toggleCollapse,[`stop`])},{default:withCtx(()=>[createVNode(unref(MazChevronDown),{class:normalizeClass([{"--is-open":collapseOpenModel.value},`m-card__collapse-icon maz-text-xl`])},null,8,[`class`])]),_:1})):createCommentVNode(``,!0)]),_:3},8,[`class`])):createCommentVNode(``,!0),(openBlock(),createBlock(resolveDynamicComponent(wrapperData.value.is),mergeProps(wrapperData.value,{class:[`m-card__wrapper`,[`m-card__wrapper--${__props.orientation}`,{"m-card__link":isLinked.value}]]}),{default:withCtx(()=>[galleryOptions.value.images?(openBlock(),createElementBlock(`div`,_hoisted_1,[createVNode(unref(MazGallery),mergeProps({...galleryOptions.value,zoom:!isLinked.value},{class:`m-card__gallery`}),null,16)])):createCommentVNode(``,!0),createElementVNode(`div`,_hoisted_2,[(openBlock(),createBlock(resolveDynamicComponent(__props.collapsible?unref(MazExpandAnimation):`div`),{modelValue:collapseOpenModel.value,"onUpdate:modelValue":_cache[1]||=$event=>collapseOpenModel.value=$event,class:`maz-h-full`},{default:withCtx(()=>[createElementVNode(`div`,{class:normalizeClass([[__props.wrapperClass,{"maz-p-4":__props.padding}],`m-card__content__wrapper`])},[unref(hasSlotContent)(unref(slots)[`content-title`])?(openBlock(),createElementBlock(`div`,_hoisted_3,[renderSlot(_ctx.$slots,`content-title`,{collapseOpen:collapseOpenModel.value},void 0,!0)])):createCommentVNode(``,!0),unref(hasSlotContent)(unref(slots)[`content-subtitle`])?(openBlock(),createElementBlock(`div`,_hoisted_4,[renderSlot(_ctx.$slots,`content-subtitle`,{},void 0,!0)])):createCommentVNode(``,!0),unref(hasSlotContent)(unref(slots)[`content-body`])?(openBlock(),createElementBlock(`div`,_hoisted_5,[renderSlot(_ctx.$slots,`content-body`,{},void 0,!0)])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`default`,{collapseOpen:collapseOpenModel.value},void 0,!0)],2)]),_:3},8,[`modelValue`]))])]),_:3},16,[`class`])),unref(hasSlotContent)(unref(slots).footer)?(openBlock(),createElementBlock(`div`,{key:1,class:normalizeClass([`m-card__footer maz-overflow-x-auto maz-p-3`,[{"maz-border-t maz-border-divider":isColumnVariant.value&&haveSomeContent.value},footerAlignClass.value]])},[renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],2)):createCommentVNode(``,!0),unref(hasSlotContent)(unref(slots).actions)&&galleryOptions.value.images?(openBlock(),createElementBlock(`div`,_hoisted_6,[renderSlot(_ctx.$slots,`actions`,{},void 0,!0)])):createCommentVNode(``,!0)],2))}}),[[`__scopeId`,`data-v-6a9baa69`]]);export{MazCard_default as t};