import { n as cn } from "./utils-DXzSsU1e.js";
import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
import { reactiveOmit } from "@vueuse/core";
import { TabsContent, TabsList, TabsRoot, TabsTrigger, useForwardProps, useForwardPropsEmits } from "reka-ui";
import { cva } from "class-variance-authority";
//#endregion
//#region src/components/ui/tabs/Tabs.vue
var Tabs_default = /* @__PURE__ */ defineComponent({
	__name: "Tabs",
	props: {
		class: { type: [
			Boolean,
			null,
			String,
			Object,
			Array
		] },
		defaultValue: {},
		orientation: {},
		dir: {},
		activationMode: {},
		modelValue: {},
		unmountOnHide: { type: Boolean },
		asChild: { type: Boolean },
		as: {}
	},
	emits: ["update:modelValue"],
	setup(__props, { emit: __emit }) {
		const props = __props;
		const emits = __emit;
		const forwarded = useForwardPropsEmits(reactiveOmit(props, "class"), emits);
		return (_ctx, _cache) => {
			return openBlock(), createBlock(unref(TabsRoot), mergeProps(unref(forwarded), { class: unref(cn)(props.class) }), {
				default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
				_: 3
			}, 16, ["class"]);
		};
	}
});
//#endregion
//#region src/components/ui/tabs/TabsContent.vue
var TabsContent_default = /* @__PURE__ */ defineComponent({
	__name: "TabsContent",
	props: {
		class: { type: [
			Boolean,
			null,
			String,
			Object,
			Array
		] },
		value: {},
		forceMount: { type: Boolean },
		asChild: { type: Boolean },
		as: {}
	},
	setup(__props) {
		const props = __props;
		const delegatedProps = reactiveOmit(props, "class");
		return (_ctx, _cache) => {
			return openBlock(), createBlock(unref(TabsContent), mergeProps(unref(delegatedProps), { class: unref(cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", props.class) }), {
				default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
				_: 3
			}, 16, ["class"]);
		};
	}
});
//#endregion
//#region src/components/ui/tabs/TabsList.vue
var TabsList_default = /* @__PURE__ */ defineComponent({
	__name: "TabsList",
	props: {
		variant: {},
		class: { type: [
			Boolean,
			null,
			String,
			Object,
			Array
		] },
		loop: { type: Boolean },
		asChild: { type: Boolean },
		as: {}
	},
	setup(__props) {
		const props = __props;
		const delegatedProps = reactiveOmit(props, "class", "variant");
		return (_ctx, _cache) => {
			return openBlock(), createBlock(unref(TabsList), mergeProps(unref(delegatedProps), { class: unref(cn)(unref(tabsListVariants)({ variant: __props.variant }), props.class) }), {
				default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
				_: 3
			}, 16, ["class"]);
		};
	}
});
//#endregion
//#region src/components/ui/tabs/TabsTrigger.vue
var TabsTrigger_default = /* @__PURE__ */ defineComponent({
	__name: "TabsTrigger",
	props: {
		variant: {},
		class: { type: [
			Boolean,
			null,
			String,
			Object,
			Array
		] },
		value: {},
		disabled: { type: Boolean },
		asChild: { type: Boolean },
		as: {}
	},
	setup(__props) {
		const props = __props;
		const forwardedProps = useForwardProps(reactiveOmit(props, "class", "variant"));
		return (_ctx, _cache) => {
			return openBlock(), createBlock(unref(TabsTrigger), mergeProps(unref(forwardedProps), { class: unref(cn)(unref(tabsTriggerVariants)({ variant: __props.variant }), props.class) }), {
				default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
				_: 3
			}, 16, ["class"]);
		};
	}
});
//#endregion
//#region src/components/ui/tabs/index.ts
var tabsListVariants = cva("inline-flex items-center text-muted-foreground", {
	variants: { variant: {
		default: "justify-center rounded-md bg-muted p-1",
		pills: "gap-1",
		underline: "border-b w-full justify-start"
	} },
	defaultVariants: { variant: "default" }
});
var tabsTriggerVariants = cva("inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", {
	variants: { variant: {
		default: "rounded-sm px-3 py-1.5 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
		pills: "rounded-full px-4 py-1.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
		underline: "border-b-2 border-transparent px-4 py-2 -mb-px data-[state=active]:border-primary data-[state=active]:text-foreground"
	} },
	defaultVariants: { variant: "default" }
});
//#endregion
export { TabsContent_default as a, TabsList_default as i, tabsTriggerVariants as n, Tabs_default as o, TabsTrigger_default as r, tabsListVariants as t };

//# sourceMappingURL=tabs-CNh54xN1.js.map