@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 1.83 kB
Source Map (JSON)
{"version":3,"file":"expand2.mjs","sources":["../../../../../../packages/components/table/src/expand.vue"],"sourcesContent":["<template>\n <transition name=\"fade-expand\">\n <tr v-if=\"!hidden\" ref=\"trRef\" :class=\"ns.be('tr-expand', 'row')\">\n <td :class=\"ns.be('tr-expand', 'td')\" :colspan=\"colspan\">\n <div ref=\"contentRef\" :class=\"ns.be('tr-expand', 'content')\">\n <div :class=\"ns.bem('tr-expand', 'content', 'inner')\">\n <slot />\n </div>\n </div>\n </td>\n </tr>\n </transition>\n</template>\n\n<script setup lang=\"ts\">\nimport { nextTick, ref, watch } from 'vue'\nimport { useNamespace } from '@vuesax-alpha/hooks'\nimport { expandProps } from './expand'\n\ndefineOptions({\n name: 'VsTableExpand',\n})\n\nconst ns = useNamespace('table')\n\ndefineProps(expandProps)\n\nconst hidden = ref<boolean>(true)\n\nconst trRef = ref<HTMLElement>()\nconst contentRef = ref<HTMLElement>()\n\nwatch(hidden, (val: boolean) => {\n if (!val) {\n nextTick(() => {\n const content = contentRef.value\n if (!content) return\n\n content.style.height = `${content.scrollHeight}px`\n })\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;mCAmBc,CAAA;AAAA,EACZ,IAAM,EAAA,eAAA;AACR,CAAA,CAAA,CAAA;;;;;AAEM,IAAA,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAIzB,IAAA,MAAA,MAAA,GAAS,IAAa,IAAI,CAAA,CAAA;AAEhC,IAAA,MAAM,QAAQ,GAAiB,EAAA,CAAA;AAC/B,IAAA,MAAM,aAAa,GAAiB,EAAA,CAAA;AAE9B,IAAA,KAAA,CAAA,MAAA,EAAQ,CAAC,GAAiB,KAAA;AAC9B,MAAA,IAAI,CAAC,GAAK,EAAA;AACR,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,MAAM,UAAU,UAAW,CAAA,KAAA,CAAA;AAC3B,UAAA,IAAI,CAAC,OAAA;AAAS,YAAA,OAAA;AAEd,UAAQ,OAAA,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,EAAG,OAAQ,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACnC,CAAA,CAAA;AAAA,OACH;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}