{"version":3,"file":"collapse-transition.mjs","sources":["../../../../../../packages/components/collapse-transition/src/collapse-transition.vue"],"sourcesContent":["<template>\r\n  <transition name=\"sg-collapse-transition\" v-on=\"on\">\r\n    <slot></slot>\r\n  </transition>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent } from 'vue'\r\n\r\nexport default defineComponent({\r\n  name: 'SgCollapseTransition',\r\n  setup() {\r\n    return {\r\n      on: {\r\n        beforeEnter(sg) {\r\n          if (!sg.dataset) sg.dataset = {}\r\n\r\n          sg.dataset.oldPaddingTop = sg.style.paddingTop\r\n          sg.dataset.oldPaddingBottom = sg.style.paddingBottom\r\n\r\n          sg.style.maxHeight = 0\r\n          sg.style.paddingTop = 0\r\n          sg.style.paddingBottom = 0\r\n        },\r\n\r\n        enter(sg) {\r\n          sg.dataset.oldOverflow = sg.style.overflow\r\n          if (sg.scrollHeight !== 0) {\r\n            sg.style.maxHeight = `${sg.scrollHeight}px`\r\n            sg.style.paddingTop = sg.dataset.oldPaddingTop\r\n            sg.style.paddingBottom = sg.dataset.oldPaddingBottom\r\n          } else {\r\n            sg.style.maxHeight = 0\r\n            sg.style.paddingTop = sg.dataset.oldPaddingTop\r\n            sg.style.paddingBottom = sg.dataset.oldPaddingBottom\r\n          }\r\n\r\n          sg.style.overflow = 'hidden'\r\n        },\r\n\r\n        afterEnter(sg) {\r\n          sg.style.maxHeight = ''\r\n          sg.style.overflow = sg.dataset.oldOverflow\r\n        },\r\n\r\n        beforeLeave(sg) {\r\n          if (!sg.dataset) sg.dataset = {}\r\n          sg.dataset.oldPaddingTop = sg.style.paddingTop\r\n          sg.dataset.oldPaddingBottom = sg.style.paddingBottom\r\n          sg.dataset.oldOverflow = sg.style.overflow\r\n\r\n          sg.style.maxHeight = `${sg.scrollHeight}px`\r\n          sg.style.overflow = 'hidden'\r\n        },\r\n\r\n        leave(sg) {\r\n          if (sg.scrollHeight !== 0) {\r\n            sg.style.maxHeight = 0\r\n            sg.style.paddingTop = 0\r\n            sg.style.paddingBottom = 0\r\n          }\r\n        },\r\n\r\n        afterLeave(sg) {\r\n          sg.style.maxHeight = ''\r\n          sg.style.overflow = sg.dataset.oldOverflow\r\n          sg.style.paddingTop = sg.dataset.oldPaddingTop\r\n          sg.style.paddingBottom = sg.dataset.oldPaddingBottom\r\n        },\r\n      },\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createBlock","_Transition","_mergeProps","_toHandlers","_withCtx"],"mappings":";;;;AAEiB,SAAA,WAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,EAAA;SAAbA,SAAa,EAAA,EAAAC,WAAA,CAAAC,UAAA,EAAAC,UAAA,CAAA,EAAA,IAAA,EAAA,wBAAA,EAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA;AAAA,IAAA,OAAA,EAAAC,OAAA,CAAA,MAAA;;;;;;;;;;"}