import { createVNode as _createVNode } from "vue"; // Styles import "./VThemeProvider.css"; // Composables import { makeComponentProps } from "../../composables/component.mjs"; import { makeTagProps } from "../../composables/tag.mjs"; import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities import { genericComponent, propsFactory } from "../../util/index.mjs"; export const makeVThemeProviderProps = propsFactory({ withBackground: Boolean, ...makeComponentProps(), ...makeThemeProps(), ...makeTagProps() }, 'VThemeProvider'); export const VThemeProvider = genericComponent()({ name: 'VThemeProvider', props: makeVThemeProviderProps(), setup(props, _ref) { let { slots } = _ref; const { themeClasses } = provideTheme(props); return () => { if (!props.withBackground) return slots.default?.(); return _createVNode(props.tag, { "class": ['v-theme-provider', themeClasses.value, props.class], "style": props.style }, { default: () => [slots.default?.()] }); }; } }); //# sourceMappingURL=VThemeProvider.mjs.map