import { createVNode } from 'vue'; import { g as genericComponent, p as propsFactory, F as provideTheme, ai as useDensity, a as useRender, j as convertToUnit, K as makeThemeProps, L as makeTagProps, P as makeDensityProps, m as makeComponentProps } from './server.mjs'; const makeVTableProps = propsFactory({ fixedHeader: Boolean, fixedFooter: Boolean, height: [Number, String], hover: Boolean, ...makeComponentProps(), ...makeDensityProps(), ...makeTagProps(), ...makeThemeProps() }, "VTable"); const VTable = genericComponent()({ name: "VTable", props: makeVTableProps(), setup(props, _ref) { let { slots, emit } = _ref; const { themeClasses } = provideTheme(props); const { densityClasses } = useDensity(props); useRender(() => createVNode(props.tag, { "class": ["v-table", { "v-table--fixed-height": !!props.height, "v-table--fixed-header": props.fixedHeader, "v-table--fixed-footer": props.fixedFooter, "v-table--has-top": !!slots.top, "v-table--has-bottom": !!slots.bottom, "v-table--hover": props.hover }, themeClasses.value, densityClasses.value, props.class], "style": props.style }, { default: () => { var _a, _b, _c; return [(_a = slots.top) == null ? void 0 : _a.call(slots), slots.default ? createVNode("div", { "class": "v-table__wrapper", "style": { height: convertToUnit(props.height) } }, [createVNode("table", null, [slots.default()])]) : (_b = slots.wrapper) == null ? void 0 : _b.call(slots), (_c = slots.bottom) == null ? void 0 : _c.call(slots)]; } })); return {}; } }); export { VTable as V, makeVTableProps as m };