UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

54 lines (50 loc) 1.54 kB
'use strict'; var vue = require('vue'); var useDrawerEvent = require('./use-drawer-event.cjs'); var useDrawerState = require('./use-drawer-state.cjs'); var index = require('../../../../hook/use-style/index.cjs'); require('../../../../hook/use-zindex/index.cjs'); function useDrawer({ props, visible }) { const uStyle = index.useStyle(); const rendered = vue.ref(false); const { emit } = vue.getCurrentInstance(); const { isLoading } = useDrawerState.useDrawerState({ props }); const { useBeforeCancel, useBeforeChange, useClose } = useDrawerEvent.useDrawerEvent({ props, visible, isLoading }); const useBeforeEnter = () => { rendered.value = true; }; const useEnter = () => emit("open"); const useAfterEnter = () => emit("opened"); const useBeforeLeave = () => emit("close"); const useAfterLeave = () => { props.unmountOnClose && (rendered.value = false); emit("closed"); }; const size = vue.computed(() => { if (["left", "right"].includes(props.placement)) { return uStyle.width(props.size); } if (["top", "bottom"].includes(props.placement)) { return uStyle.height(props.size); } }); const offset = vue.computed(() => { return visible.value ? "" : props.placement; }); return { useBeforeCancel, useBeforeChange, useClose, useEnter, useBeforeEnter, useAfterEnter, useBeforeLeave, useAfterLeave, isLoading, rendered, size, offset }; } exports.useDrawer = useDrawer; //# sourceMappingURL=use-drawer.cjs.map