import { clsx } from "clsx";
import { twMerge } from "tailwind-merge";
//#region src/lib/utils.ts
/**
* Merges Tailwind class names with conflict resolution. The canonical
* helper used across every component in this library — passing
* conditional classes through `cn()` ensures later-applied utilities
* override earlier ones predictably.
*/
function cn(...inputs) {
	return twMerge(clsx(inputs));
}
/**
* Compile-time + runtime assertion that a value is never reached.
* Useful in exhaustive `switch` statements over union discriminants
* (e.g. element / card type tags) so adding a new variant becomes a
* TypeScript error until every consumer handles it.
*/
function assertNever(value, message) {
	throw new Error(message ?? `Unexpected value: ${String(value)}`);
}
/**
* Type predicate for objects that have a `[key]` property — handy when
* narrowing untrusted JSON before reading from it.
*/
function hasKey(obj, key) {
	return typeof obj === "object" && obj !== null && key in obj;
}
//#endregion
export { cn as n, hasKey as r, assertNever as t };

//# sourceMappingURL=utils-DXzSsU1e.js.map