import { type ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge"; import type { HTMLAttributes } from "svelte/elements"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } // biome-ignore lint/suspicious/noExplicitAny: export type WithoutChild = T extends { child?: any } ? Omit : T; export type WithoutChildrenOrChild = WithoutChildren>; // biome-ignore lint/suspicious/noExplicitAny: export type WithoutChildren = T extends { children?: any } ? Omit : T; export type WithElementRef = T & { ref?: U | null; }; export type PrimitiveElementAttributes = WithElementRef< HTMLAttributes >;