import { createVNode } from "vue";
import "./styles/theme-provider.scss";
import { makeTagProps } from "../../composables/tag/index.mjs";
import { makeThemeProps, provideTheme } from "../../composables/theme/index.mjs";
import { defineComponent } from "../../utils/define-component.mjs";
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: () => {
          var _a;
          return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
        }
      });
    };
  }
});
export {
  ThemeProvider
};
//# sourceMappingURL=theme-provider.mjs.map
