{"version":3,"file":"collapse-transition.vue2.mjs","sources":["../../../../../packages/components/collapse-transition/src/collapse-transition.vue"],"sourcesContent":["<template>\n  <transition :name=\"ns.b()\" v-on=\"on\">\n    <slot></slot>\n  </transition>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, shallowRef } from 'vue'\nimport { useNamespace } from '@element-ultra/hooks'\n\nexport default defineComponent({\n  name: 'ElCollapseTransition',\n  setup(props, { attrs }) {\n    const ns = useNamespace('collapse-transition')\n\n    return {\n      ns,\n      on: {\n        beforeEnter(el) {\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) {\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) {\n          el.style.maxHeight = ''\n          el.style.overflow = el.dataset.oldOverflow\n          let style = (attrs.style || {}) as Record<string, any>\n          Object.keys(style).forEach((key) => {\n            let  _key = key.replace(/([A-Z])/g, (_, c) => `-${c.toLowerCase()}`)\n            el.style[_key] = style[key]\n          })\n        },\n\n        beforeLeave(el) {\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) {\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) {\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    }\n  },\n})\n</script>\n"],"names":[],"mappings":"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"}