import { n as cn } from "./utils-DXzSsU1e.js";
import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
import { reactiveOmit } from "@vueuse/core";
import { CheckboxIndicator, CheckboxRoot, useForwardPropsEmits } from "reka-ui";
import { Check } from "@lucide/vue";
//#endregion
//#region src/components/ui/checkbox/Checkbox.vue
var Checkbox_default = /* @__PURE__ */ defineComponent({
	__name: "Checkbox",
	props: {
		class: { type: [
			Boolean,
			null,
			String,
			Object,
			Array
		] },
		defaultValue: {},
		modelValue: {},
		disabled: { type: Boolean },
		value: {},
		id: {},
		trueValue: {},
		falseValue: {},
		asChild: { type: Boolean },
		as: {},
		name: {},
		required: { type: Boolean }
	},
	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(CheckboxRoot), mergeProps(unref(forwarded), { class: unref(cn)("peer grid h-4 w-4 shrink-0 place-content-center rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground", props.class) }), {
				default: withCtx(() => [createVNode(unref(CheckboxIndicator), { class: "grid place-content-center text-current" }, {
					default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createVNode(unref(Check), { class: "h-4 w-4" })])]),
					_: 3
				})]),
				_: 3
			}, 16, ["class"]);
		};
	}
});
//#endregion
export { Checkbox_default as t };

//# sourceMappingURL=checkbox-CyVKkarV.js.map