maz-ui
Version:
A standalone components library for Vue.Js 3 & Nuxt.Js 3
1 lines • 1.96 kB
JavaScript
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.ChmETRGw.js";import{createElementBlock,createElementVNode,defineComponent,mergeModels,mergeProps,normalizeClass,normalizeStyle,onMounted,onUnmounted,openBlock,ref,renderSlot,useModel}from"vue";import '../assets/MazExpandAnimation.BdhcwTAg.css';var _hoisted_1=[`aria-hidden`];var MazExpandAnimation_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazExpandAnimation`,props:mergeModels({duration:{default:`300ms`},timingFunction:{default:`ease-in-out`}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(__props){let isOpen=useModel(__props,`modelValue`);let hasOverflowHidden=ref(!isOpen.value);let expandAnimationRef=ref();function onTransitionStart(){isOpen.value||(hasOverflowHidden.value=!0)}function onTransitionEnd(){isOpen.value&&(hasOverflowHidden.value=!1)}return onMounted(()=>{expandAnimationRef.value?.addEventListener(`transitionstart`,onTransitionStart,!1),expandAnimationRef.value?.addEventListener(`transitionend`,onTransitionEnd,!1)}),onUnmounted(()=>{expandAnimationRef.value?.removeEventListener(`transitionstart`,onTransitionStart,!1),expandAnimationRef.value?.removeEventListener(`transitionend`,onTransitionEnd,!1)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`expandAnimationRef`,ref:expandAnimationRef,class:normalizeClass([`m-expand-animation m-reset-css`,{"m-expand-animation--expanded":isOpen.value}]),"aria-hidden":!isOpen.value,role:`region`,style:normalizeStyle([{"--expand-animation-duration":__props.duration,"--expand-animation-timing-function":__props.timingFunction}])},[createElementVNode(`div`,mergeProps({class:`m-expand-animation__inner`},_ctx.$attrs,{class:{"--overflow-hidden":hasOverflowHidden.value}}),[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],16)],14,_hoisted_1))}}),[[`__scopeId`,`data-v-25a0e87a`]]);export{MazExpandAnimation_default as t};