@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 2.7 kB
Source Map (JSON)
{"version":3,"file":"sidebar-group2.mjs","sources":["../../../../../../packages/components/sidebar/src/sidebar-group.vue"],"sourcesContent":["<template>\n <div ref=\"groupRef\" :class=\"[ns.b(), ns.is('open', openState)]\">\n <div :class=\"ns.e('header')\" @click=\"onClickHeader\">\n <slot name=\"header\" />\n </div>\n <collapse-transition>\n <div v-show=\"openState\" ref=\"contentRef\" :class=\"ns.e('content')\">\n <slot />\n </div>\n </collapse-transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { nextTick, onMounted, ref, watch } from 'vue'\nimport CollapseTransition from '@vuesax-alpha/components/collapse-transition'\nimport { useNamespace } from '@vuesax-alpha/hooks'\nimport { sidebarGroupProps } from './sidebar-group'\n\ndefineOptions({\n name: 'VsSidebarGroup',\n})\n\nconst props = defineProps(sidebarGroupProps)\n\nconst ns = useNamespace('sidebar-group')\n\nconst groupRef = ref<HTMLElement>()\nconst contentRef = ref<HTMLElement>()\n\nconst openState = ref(false)\n\nconst onClickHeader = () => {\n openState.value = !openState.value\n}\n\nwatch(\n () => props.open,\n (val: boolean) => {\n nextTick(() => {\n if (!contentRef.value) return\n\n const h = contentRef.value.scrollHeight || 0\n\n const content = contentRef.value\n if (val) {\n content.style.height = `${content.scrollHeight + h - 1}px`\n } else {\n content.style.height = `${content.scrollHeight - h + 1}px`\n }\n })\n }\n)\n\nonMounted(() => {\n if (props.open) {\n openState.value = true\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;mCAmBc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIM,IAAA,MAAA,EAAA,GAAK,aAAa,eAAe,CAAA,CAAA;AAEvC,IAAA,MAAM,WAAW,GAAiB,EAAA,CAAA;AAClC,IAAA,MAAM,aAAa,GAAiB,EAAA,CAAA;AAE9B,IAAA,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAE3B,IAAA,MAAM,gBAAgB,MAAM;AAChB,MAAA,SAAA,CAAA,KAAA,GAAQ,CAAC,SAAU,CAAA,KAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAC,GAAiB,KAAA;AAChB,QAAA,QAAA,CAAS,MAAM;AACT,UAAA,IAAA,CAAC,UAAW,CAAA,KAAA;AAAO,YAAA,OAAA;AAEjB,UAAA,MAAA,CAAA,GAAI,UAAW,CAAA,KAAA,CAAM,YAAgB,IAAA,CAAA,CAAA;AAE3C,UAAA,MAAM,UAAU,UAAW,CAAA,KAAA,CAAA;AAC3B,UAAA,IAAI,GAAK,EAAA;AACP,YAAA,OAAA,CAAQ,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA,OAAA,CAAQ,eAAe,CAAI,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,WAChD,MAAA;AACL,YAAA,OAAA,CAAQ,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA,OAAA,CAAQ,eAAe,CAAI,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,WACvD;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,MAAM,IAAM,EAAA;AACd,QAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAAA,OACpB;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}