aboutsummaryrefslogtreecommitdiffstats
path: root/ui/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/lib')
-rw-r--r--ui/src/lib/utils.ts31
1 files changed, 28 insertions, 3 deletions
diff --git a/ui/src/lib/utils.ts b/ui/src/lib/utils.ts
index d084ccad..c56d3687 100644
--- a/ui/src/lib/utils.ts
+++ b/ui/src/lib/utils.ts
@@ -1,6 +1,31 @@
-import { type ClassValue, clsx } from "clsx"
-import { twMerge } from "tailwind-merge"
+import type { ClassValue } from "clsx";
+
+import clsx from "clsx";
+import { extendTailwindMerge } from "tailwind-merge";
+
+const COMMON_UNITS = ["small", "medium", "large"];
+
+/**
+ * We need to extend the tailwind merge to include NextUI's custom classes.
+ *
+ * So we can use classes like `text-small` or `text-default-500` and override them.
+ */
+const twMerge = extendTailwindMerge({
+ extend: {
+ theme: {
+ opacity: ["disabled"],
+ spacing: ["divider"],
+ borderWidth: COMMON_UNITS,
+ borderRadius: COMMON_UNITS,
+ },
+ classGroups: {
+ shadow: [{ shadow: COMMON_UNITS }],
+ "font-size": [{ text: ["tiny", ...COMMON_UNITS] }],
+ "bg-image": ["bg-stripe-gradient"],
+ },
+ },
+});
export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs))
+ return twMerge(clsx(inputs));
}