{"version":3,"file":"CollapseTransition2.mjs","sources":["../../../../../../../packages/components/transition/src/CollapseTransition.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { addClass, removeClass } from '@tav-ui/utils/domUtils'\n\nexport default defineComponent({\n  name: 'TaCollapseTransition',\n  setup() {\n    return {\n      on: {\n        beforeEnter(el) {\n          addClass(el, 'collapse-transition')\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.height = '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.height = `${el.scrollHeight}px`\n            el.style.paddingTop = el.dataset.oldPaddingTop\n            el.style.paddingBottom = el.dataset.oldPaddingBottom\n          } else {\n            el.style.height = ''\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          removeClass(el, 'collapse-transition')\n          el.style.height = ''\n          el.style.overflow = el.dataset.oldOverflow\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.height = `${el.scrollHeight}px`\n          el.style.overflow = 'hidden'\n        },\n\n        leave(el) {\n          if (el.scrollHeight !== 0) {\n            addClass(el, 'collapse-transition')\n            el.style.height = 0\n            el.style.paddingTop = 0\n            el.style.paddingBottom = 0\n          }\n        },\n\n        afterLeave(el) {\n          removeClass(el, 'collapse-transition')\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    }\n  },\n})\n</script>\n<template>\n  <transition mode=\"out-in\" v-on=\"on\">\n    <slot />\n  </transition>\n</template>\n"],"names":["_createBlock","_Transition","_mergeProps","_toHandlers","_withCtx","_renderSlot"],"mappings":";;;;AAIA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,sBAAA;AAAA,EACN,KAAQ,GAAA;AACN,IAAO,OAAA;AAAA,MACL,EAAI,EAAA;AAAA,QACF,YAAY,EAAI,EAAA;AACd,UAAA,QAAA,CAAS,IAAI,qBAAqB,CAAA,CAAA;AAClC,UAAA,IAAI,CAAC,EAAG,CAAA,OAAA;AAAS,YAAA,EAAA,CAAG,UAAU,EAAC,CAAA;AAE/B,UAAG,EAAA,CAAA,OAAA,CAAQ,aAAgB,GAAA,EAAA,CAAG,KAAM,CAAA,UAAA,CAAA;AACpC,UAAG,EAAA,CAAA,OAAA,CAAQ,gBAAmB,GAAA,EAAA,CAAG,KAAM,CAAA,aAAA,CAAA;AAEvC,UAAA,EAAA,CAAG,MAAM,MAAS,GAAA,GAAA,CAAA;AAClB,UAAA,EAAA,CAAG,MAAM,UAAa,GAAA,CAAA,CAAA;AACtB,UAAA,EAAA,CAAG,MAAM,aAAgB,GAAA,CAAA,CAAA;AAAA,SAC3B;AAAA,QAEA,MAAM,EAAI,EAAA;AACR,UAAG,EAAA,CAAA,OAAA,CAAQ,WAAc,GAAA,EAAA,CAAG,KAAM,CAAA,QAAA,CAAA;AAClC,UAAI,IAAA,EAAA,CAAG,iBAAiB,CAAG,EAAA;AACzB,YAAG,EAAA,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,EAAG,EAAG,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AACxB,YAAG,EAAA,CAAA,KAAA,CAAM,UAAa,GAAA,EAAA,CAAG,OAAQ,CAAA,aAAA,CAAA;AACjC,YAAG,EAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,EAAA,CAAG,OAAQ,CAAA,gBAAA,CAAA;AAAA,WAC/B,MAAA;AACL,YAAA,EAAA,CAAG,MAAM,MAAS,GAAA,EAAA,CAAA;AAClB,YAAG,EAAA,CAAA,KAAA,CAAM,UAAa,GAAA,EAAA,CAAG,OAAQ,CAAA,aAAA,CAAA;AACjC,YAAG,EAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,EAAA,CAAG,OAAQ,CAAA,gBAAA,CAAA;AAAA,WACtC;AAEA,UAAA,EAAA,CAAG,MAAM,QAAW,GAAA,QAAA,CAAA;AAAA,SACtB;AAAA,QAEA,WAAW,EAAI,EAAA;AACb,UAAA,WAAA,CAAY,IAAI,qBAAqB,CAAA,CAAA;AACrC,UAAA,EAAA,CAAG,MAAM,MAAS,GAAA,EAAA,CAAA;AAClB,UAAG,EAAA,CAAA,KAAA,CAAM,QAAW,GAAA,EAAA,CAAG,OAAQ,CAAA,WAAA,CAAA;AAAA,SACjC;AAAA,QAEA,YAAY,EAAI,EAAA;AACd,UAAA,IAAI,CAAC,EAAG,CAAA,OAAA;AAAS,YAAA,EAAA,CAAG,UAAU,EAAC,CAAA;AAC/B,UAAG,EAAA,CAAA,OAAA,CAAQ,aAAgB,GAAA,EAAA,CAAG,KAAM,CAAA,UAAA,CAAA;AACpC,UAAG,EAAA,CAAA,OAAA,CAAQ,gBAAmB,GAAA,EAAA,CAAG,KAAM,CAAA,aAAA,CAAA;AACvC,UAAG,EAAA,CAAA,OAAA,CAAQ,WAAc,GAAA,EAAA,CAAG,KAAM,CAAA,QAAA,CAAA;AAElC,UAAG,EAAA,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,EAAG,EAAG,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AACxB,UAAA,EAAA,CAAG,MAAM,QAAW,GAAA,QAAA,CAAA;AAAA,SACtB;AAAA,QAEA,MAAM,EAAI,EAAA;AACR,UAAI,IAAA,EAAA,CAAG,iBAAiB,CAAG,EAAA;AACzB,YAAA,QAAA,CAAS,IAAI,qBAAqB,CAAA,CAAA;AAClC,YAAA,EAAA,CAAG,MAAM,MAAS,GAAA,CAAA,CAAA;AAClB,YAAA,EAAA,CAAG,MAAM,UAAa,GAAA,CAAA,CAAA;AACtB,YAAA,EAAA,CAAG,MAAM,aAAgB,GAAA,CAAA,CAAA;AAAA,WAC3B;AAAA,SACF;AAAA,QAEA,WAAW,EAAI,EAAA;AACb,UAAA,WAAA,CAAY,IAAI,qBAAqB,CAAA,CAAA;AACrC,UAAA,EAAA,CAAG,MAAM,MAAS,GAAA,EAAA,CAAA;AAClB,UAAG,EAAA,CAAA,KAAA,CAAM,QAAW,GAAA,EAAA,CAAG,OAAQ,CAAA,WAAA,CAAA;AAC/B,UAAG,EAAA,CAAA,KAAA,CAAM,UAAa,GAAA,EAAA,CAAG,OAAQ,CAAA,aAAA,CAAA;AACjC,UAAG,EAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,EAAA,CAAG,OAAQ,CAAA,gBAAA,CAAA;AAAA,SACtC;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;sBAGCA,WAEa,CAAAC,UAAA,EAFbC,WAEa,EAFD,IAAA,EAAK,UAAS,EAAAC,UAAA,CAAM,KAAG,EAAD,CAAA,CAAA,EAAA;AAAA,IAAA,OAAA,EAAAC,OAAA,CAChC,MAAQ;AAAA,MAARC,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;"}