{"version":3,"file":"aside.mjs","sources":["../../src/layout/aside.tsx"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, inject } from 'vue';\nimport props from './aside-props';\nimport { LayoutProvideType } from './layout';\nimport { usePrefixClass } from '../hooks/useConfig';\nimport { useTNodeJSX } from '../hooks/tnode';\n\nexport default defineComponent({\n  name: 'XAside',\n\n  props,\n\n  setup(props) {\n    const { hasSide } = inject<LayoutProvideType>('layout', Object.create(null));\n    const COMPONENT_NAME = usePrefixClass('layout__sider');\n    const renderTNodeJSX = useTNodeJSX();\n    if (!hasSide) return;\n\n    onMounted(() => {\n      hasSide.value = true;\n    });\n\n    onUnmounted(() => {\n      hasSide.value = false;\n    });\n\n    return () => {\n      const styles = props.width ? { width: props.width } : {};\n      return (\n        <aside class={COMPONENT_NAME.value} style={styles}>\n          {renderTNodeJSX('default')}\n        </aside>\n      );\n    };\n  },\n});\n"],"names":["name","props","onMounted","onUnmounted","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,aAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,QAAAA;AAEAC,EAAAA,KAAAA,EAAAA,KAAAA;;AAGQ,IAAA,IAAA,OAAA,GAAA,MAAA,CAAA,QAAA,iBAAA,MAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;AACA,IAAA,IAAA,cAAA,GAAA,cAAA,CAAA,eAAA,CAAA,CAAA;AACN,IAAA,IAAA,cAAA,GAAA,WAAA,EAAA,CAAA;;AAGAC,IAAAA,SAAAA,CAAAA,YAAAA;;AAEA,KAAA,CAAA,CAAA;AAEAC,IAAAA,WAAAA,CAAAA,YAAAA;;AAEA,KAAA,CAAA,CAAA;AAEA,IAAA,OAAA,YAAA;AACQ,MAAA,IAAA,MAAA,GAAA,MAAA,CAAA,KAAA,GAAA;;;AAEJ,MAAA,OAAAC,WAAA,CAAA,OAAA,EAAA;;;;;AAKN,GAAA;AACF,CAAA,CAAA;;;;"}