{"version":3,"file":"collapse-transition2.mjs","sources":["../../../../../../packages/components/collapse-transition/src/collapse-transition.vue"],"sourcesContent":["<template>\n  <transition :name=\"ns.b()\" v-on=\"on\">\n    <slot />\n  </transition>\n</template>\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport type { RendererElement } from '@vue/runtime-core'\n\ndefineOptions({\n  name: 'ElCollapseTransition',\n})\n\nconst ns = useNamespace('collapse-transition')\n\nconst on = {\n  beforeEnter(el: RendererElement) {\n    if (!el.dataset) el.dataset = {}\n\n    el.dataset.oldPaddingTop = el.style.paddingTop\n    el.dataset.oldPaddingBottom = el.style.paddingBottom\n\n    el.style.maxHeight = 0\n    el.style.paddingTop = 0\n    el.style.paddingBottom = 0\n  },\n\n  enter(el: RendererElement) {\n    el.dataset.oldOverflow = el.style.overflow\n    if (el.scrollHeight !== 0) {\n      el.style.maxHeight = `${el.scrollHeight}px`\n      el.style.paddingTop = el.dataset.oldPaddingTop\n      el.style.paddingBottom = el.dataset.oldPaddingBottom\n    } else {\n      el.style.maxHeight = 0\n      el.style.paddingTop = el.dataset.oldPaddingTop\n      el.style.paddingBottom = el.dataset.oldPaddingBottom\n    }\n\n    el.style.overflow = 'hidden'\n  },\n\n  afterEnter(el: RendererElement) {\n    el.style.maxHeight = ''\n    el.style.overflow = el.dataset.oldOverflow\n  },\n\n  beforeLeave(el: RendererElement) {\n    if (!el.dataset) el.dataset = {}\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.maxHeight = `${el.scrollHeight}px`\n    el.style.overflow = 'hidden'\n  },\n\n  leave(el: RendererElement) {\n    if (el.scrollHeight !== 0) {\n      el.style.maxHeight = 0\n      el.style.paddingTop = 0\n      el.style.paddingBottom = 0\n    }\n  },\n\n  afterLeave(el: RendererElement) {\n    el.style.maxHeight = ''\n    el.style.overflow = el.dataset.oldOverflow\n    el.style.paddingTop = el.dataset.oldPaddingTop\n    el.style.paddingBottom = el.dataset.oldPaddingBottom\n  },\n}\n</script>\n"],"names":[],"mappings":"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"}