xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 2.99 kB
Source Map (JSON)
{"version":3,"file":"useCollapseAnimation.mjs","sources":["../../src/hooks/useCollapseAnimation.ts"],"sourcesContent":["export default function useCollapseAnimation() {\n const beforeEnter = (el: HTMLElement) => {\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = '0';\n el.style.paddingBottom = '0';\n };\n const enter = (el: HTMLElement) => {\n el.dataset.oldOverflow = el.style.overflow;\n el.style.height = `${el.scrollHeight}px`;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n el.style.overflow = 'hidden';\n };\n const afterEnter = (el: HTMLElement) => {\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n };\n const beforeLeave = (el: HTMLElement) => {\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = `${el.scrollHeight}px`;\n el.style.overflow = 'hidden';\n };\n const leave = (el: HTMLElement) => {\n if (el.scrollHeight !== 0) {\n el.style.height = '0';\n el.style.paddingTop = '0';\n el.style.paddingBottom = '0';\n }\n };\n const afterLeave = (el: HTMLElement) => {\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n };\n\n return {\n beforeEnter,\n enter,\n afterEnter,\n beforeLeave,\n leave,\n afterLeave,\n };\n}\n"],"names":["el","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave"],"mappings":";;;;;;AAAA,sCAAA,SAAA,oBAAA,GAAA;AACQ,EAAA,IAAA,WAAA,GAAA,SAAA,WAAA,CAAA,EAAA,EAAA;;;AAIJA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAAA,GAAAA,GAAAA,CAAAA;AACAA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,UAAAA,GAAAA,GAAAA,CAAAA;AACAA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,aAAAA,GAAAA,GAAAA,CAAAA;;AAEI,EAAA,IAAA,KAAA,GAAA,SAAA,KAAA,CAAA,EAAA,EAAA;;;;;AAKJA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,QAAAA,GAAAA,QAAAA,CAAAA;;AAEI,EAAA,IAAA,UAAA,GAAA,SAAA,UAAA,CAAA,EAAA,EAAA;AACJA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAAA,GAAAA,EAAAA,CAAAA;;;AAGI,EAAA,IAAA,WAAA,GAAA,SAAA,WAAA,CAAA,EAAA,EAAA;;;;;AAMJA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,QAAAA,GAAAA,QAAAA,CAAAA;;AAEI,EAAA,IAAA,KAAA,GAAA,SAAA,KAAA,CAAA,EAAA,EAAA;AACA,IAAA,IAAA,EAAA,CAAA,YAAA,KAAA,CAAA,EAAA;AACFA,MAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAAA,GAAAA,GAAAA,CAAAA;AACAA,MAAAA,EAAAA,CAAAA,KAAAA,CAAAA,UAAAA,GAAAA,GAAAA,CAAAA;AACAA,MAAAA,EAAAA,CAAAA,KAAAA,CAAAA,aAAAA,GAAAA,GAAAA,CAAAA;AACF,KAAA;;AAEI,EAAA,IAAA,UAAA,GAAA,SAAA,UAAA,CAAA,EAAA,EAAA;AACJA,IAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAAA,GAAAA,EAAAA,CAAAA;;;;;;AAOAC,IAAAA,WAAAA,EAAAA,WAAAA;AACAC,IAAAA,KAAAA,EAAAA,KAAAA;AACAC,IAAAA,UAAAA,EAAAA,UAAAA;AACAC,IAAAA,WAAAA,EAAAA,WAAAA;AACAC,IAAAA,KAAAA,EAAAA,KAAAA;AACAC,IAAAA,UAAAA,EAAAA,UAAAA;;AAEJ;;;;"}