Skip to content

Commit 364af00

Browse files
committed
feat(styles): Migrate Button from ReactJS
1 parent d1153d6 commit 364af00

File tree

4 files changed

+69
-29
lines changed

4 files changed

+69
-29
lines changed

js/react/lib/components/button/button.component.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ export const Button = withAs((Component, props: ButtonProps) => {
1717
<Component
1818
className={cn(
1919
...variants[variant],
20-
"text-button flex h-12 w-fit cursor-pointer items-center justify-center gap-2.5 px-8 transition disabled:cursor-not-allowed",
21-
"[&>svg]:size-6",
20+
"text-button rustlanges-button",
2221
className
2322
)}
2423
{...attr}
Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,8 @@
11
export const variants = {
2-
primary: [
3-
"border rounded-2xl",
4-
"bg-primary-500 border-black text-black shadow-rb-black",
5-
"dark:bg-primary-300",
6-
"hover:bg-primary-600 dark:hover:bg-primary-400 active:shadow-none",
7-
"disabled:bg-neutral-100 disabled:shadow-none disabled:border-neutral-400 disabled:text-neutral-400",
8-
"dark:disabled:bg-neutral-950",
9-
],
10-
secondary: [
11-
"border rounded-2xl",
12-
"bg-light text-neutral-950 border-neutral-950 shadow-rb-neutral-950",
13-
"dark:bg-dark dark:text-light dark:border-light dark:shadow-rb-neutral-50",
14-
"hover:shadow-rb-primary-500 hover:border-primary-500 hover:text-primary-500",
15-
"disabled:bg-neutral-100 disabled:text-neutral-400 disabled:border-neutral-400! disabled:shadow-none",
16-
"dark:disabled:bg-neutral-950",
17-
"active:shadow-none",
18-
],
19-
text: [
20-
"text-neutral-950 hover:text-primary-600",
21-
"dark:text-light dark:hover:text-primary-300",
22-
],
23-
icon: [
24-
"rounded-full border aspect-square p-2! !h-fit",
25-
"bg-light border-black text-black",
26-
"dark:bg-dark dark:border-light dark:text-light",
27-
"hover:text-primary-500 hover:border-primary-500",
28-
],
2+
primary: "rustlanges-button--primary",
3+
secondary: "rustlanges-button--secondary",
4+
text: "rustlanges-button--text",
5+
icon: "rustlanges-button--icon",
296
};
307

318
export type ButtonVariants = keyof typeof variants;

styles/components.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
@import "./components/avatar.css";
22
@import "./components/badge.css";
3+
@import "./components/button.css";
34
@import "./components/text.css";

styles/components/button.css

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
@layer components {
2+
.rustlanges-button {
3+
@apply flex h-12 w-fit cursor-pointer items-center justify-center gap-2.5 px-8 transition [&>svg]:size-6;
4+
5+
@variant disabled {
6+
@apply cursor-not-allowed;
7+
}
8+
}
9+
10+
.rustlanges-button--primary {
11+
@apply rounded-2xl border;
12+
@apply bg-primary-500 shadow-rb-black border-black text-black;
13+
@apply hover:bg-primary-600 active:shadow-none;
14+
15+
@variant disabled {
16+
@apply border-neutral-400 bg-neutral-100 text-neutral-400 shadow-none;
17+
}
18+
19+
@variant dark {
20+
@apply bg-primary-300 hover:bg-primary-400 disabled:bg-neutral-950;
21+
}
22+
}
23+
24+
.rustlanges-button--secondary {
25+
@apply rounded-2xl border;
26+
@apply bg-light shadow-rb-neutral-950 border-neutral-950 text-neutral-950;
27+
@apply active:shadow-none;
28+
29+
@variant disabled {
30+
@apply border-neutral-400! bg-neutral-100 text-neutral-400 shadow-none;
31+
}
32+
33+
@variant hover {
34+
@apply shadow-rb-primary-500 border-primary-500 text-primary-500;
35+
}
36+
37+
@variant dark {
38+
@apply bg-dark text-light border-light shadow-rb-neutral-50;
39+
@apply disabled:bg-neutral-950;
40+
}
41+
}
42+
43+
.rustlanges-button--text {
44+
@apply hover:text-primary-600 text-neutral-950;
45+
46+
@variant dark {
47+
@apply text-light hover:text-primary-300;
48+
}
49+
}
50+
51+
.rustlanges-button--icon {
52+
@apply p-2! aspect-square !h-fit rounded-full border;
53+
@apply bg-light border-black text-black;
54+
55+
@variant hover {
56+
@apply text-primary-500 border-primary-500;
57+
}
58+
59+
@variant dark {
60+
@apply bg-dark border-light text-light;
61+
}
62+
}
63+
}

0 commit comments

Comments
 (0)