import { createVNode as _createVNode } from "vue";
import "./styles/theme-provider.css";
import { defineComponent } from "../../utils";
import { makeTagProps } from "../../composables/tag";
import { makeThemeProps, provideTheme } from "../../composables/theme";
const ThemeProvider = defineComponent({
  name: "VeThemeProvider",
  props: {
    ...makeTagProps(),
    ...makeThemeProps()
  },
  setup(props, {
    slots
  }) {
    const {
      themeClasses
    } = provideTheme(props);
    return () => {
      return _createVNode(props.tag, {
        "class": ["ve-theme-provider", themeClasses.value]
      }, {
        default: () => [slots.default?.()]
      });
    };
  }
});
export {
  ThemeProvider
};
//# sourceMappingURL=theme-provider.mjs.map
