maz-ui
Version:
A standalone components library for Vue.Js 3 & Nuxt.Js 3
1 lines • 2.65 kB
JavaScript
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.ChmETRGw.js";import{n as directive}from"./vLazyImg.CXViJbU1.js";import{Fragment,computed,createCommentVNode,createElementBlock,createElementVNode,createVNode,defineAsyncComponent,defineComponent,mergeProps,normalizeClass,normalizeStyle,openBlock,renderList,renderSlot,unref,withDirectives}from"vue";import '../assets/MazLazyImg.Dbt2sxHJ.css';var _hoisted_1=[`data-lazy-srcset`,`media`];var _hoisted_2=[`alt`];var _hoisted_3={key:0,class:`m-lazy-img-component-loader`};var MazLazyImg_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazLazyImg`,props:{style:{type:[Boolean,null,String,Object,Array],default:void 0},class:{type:[Boolean,null,String,Object,Array],default:void 0},src:{default:void 0},alt:{default:void 0},hideLoader:{type:Boolean},observerOnce:{type:Boolean,default:!0},loadOnce:{type:Boolean},imageHeightFull:{type:Boolean},observerOptions:{default:void 0},fallbackSrc:{default:void 0},imgClass:{type:[Boolean,null,String,Object,Array]},block:{type:Boolean}},emits:[`intersecting`,`loading`,`loaded`,`error`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let MazSpinner=defineAsyncComponent(()=>import(`../components/MazSpinner.js`));let sources=computed(()=>typeof props.src==`string`?[{srcset:props.src}]:props.src?.sources);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`picture`,{class:normalizeClass([`m-lazy-img-component m-reset-css`,[{"--use-loader":!__props.hideLoader,"--height-full":__props.imageHeightFull,"--block":__props.block},props.class]]),style:normalizeStyle(__props.style)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(sources.value,({srcset,media},sourceIndex)=>(openBlock(),createElementBlock(`source`,{key:sourceIndex,"data-lazy-srcset":srcset,media},null,8,_hoisted_1))),128)),createElementVNode(`img`,mergeProps(_ctx.$attrs,{src:`data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7`,loading:`lazy`,alt:__props.alt,class:__props.imgClass}),null,16,_hoisted_2),__props.hideLoader?createCommentVNode(``,!0):(openBlock(),createElementBlock(`div`,_hoisted_3,[createVNode(unref(MazSpinner),{size:`2em`})])),renderSlot(_ctx.$slots,`default`,{},void 0,!0)],6)),[[unref(directive),{loadOnce:__props.loadOnce,observerOptions:__props.observerOptions,fallbackSrc:__props.fallbackSrc,observerOnce:__props.observerOnce,onIntersecting:el=>emits(`intersecting`,el),onLoading:el=>emits(`loading`,el),onLoaded:el=>emits(`loaded`,el),onError:el=>emits(`error`,el)}]])}}),[[`__scopeId`,`data-v-e0df9318`]]);export{MazLazyImg_default as t};