Skip to content

Commit c02ee80

Browse files
authored
BASE_CLASSES for Button (#286)
1 parent 599126e commit c02ee80

File tree

1 file changed

+12
-28
lines changed

1 file changed

+12
-28
lines changed

lib/ruby_ui/button/button.rb

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
module RubyUI
44
class Button < Base
5-
DISABLED_CLASSES = "disabled:pointer-events-none disabled:opacity-50"
6-
FOCUS_VISIBLE_CLASSES = "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
7-
ARIA_DISABLED_CLASSES = "aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-disabled:cursor-not-allowed"
8-
DEFAULT_CLASSES = "whitespace-nowrap inline-flex items-center justify-center rounded-md font-medium transition-colors"
5+
BASE_CLASSES = [
6+
"whitespace-nowrap inline-flex items-center justify-center rounded-md font-medium transition-colors",
7+
"disabled:pointer-events-none disabled:opacity-50",
8+
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
9+
"aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-disabled:cursor-not-allowed"
10+
].freeze
911

1012
def initialize(type: :button, variant: :primary, size: :md, icon: false, **attrs)
1113
@type = type
@@ -41,10 +43,7 @@ def size_classes
4143

4244
def primary_classes
4345
[
44-
DEFAULT_CLASSES,
45-
FOCUS_VISIBLE_CLASSES,
46-
DISABLED_CLASSES,
47-
ARIA_DISABLED_CLASSES,
46+
BASE_CLASSES,
4847
size_classes,
4948
"bg-primary text-primary-foreground shadow",
5049
"hover:bg-primary/90"
@@ -53,10 +52,7 @@ def primary_classes
5352

5453
def link_classes
5554
[
56-
DEFAULT_CLASSES,
57-
FOCUS_VISIBLE_CLASSES,
58-
DISABLED_CLASSES,
59-
ARIA_DISABLED_CLASSES,
55+
BASE_CLASSES,
6056
size_classes,
6157
"text-primary underline-offset-4",
6258
"hover:underline"
@@ -65,10 +61,7 @@ def link_classes
6561

6662
def secondary_classes
6763
[
68-
DEFAULT_CLASSES,
69-
FOCUS_VISIBLE_CLASSES,
70-
DISABLED_CLASSES,
71-
ARIA_DISABLED_CLASSES,
64+
BASE_CLASSES,
7265
size_classes,
7366
"bg-secondary text-secondary-foreground",
7467
"hover:bg-opacity-80"
@@ -77,10 +70,7 @@ def secondary_classes
7770

7871
def destructive_classes
7972
[
80-
DEFAULT_CLASSES,
81-
FOCUS_VISIBLE_CLASSES,
82-
DISABLED_CLASSES,
83-
ARIA_DISABLED_CLASSES,
73+
BASE_CLASSES,
8474
size_classes,
8575
"bg-destructive text-destructive-foreground shadow-sm",
8676
"hover:bg-destructive/90"
@@ -89,10 +79,7 @@ def destructive_classes
8979

9080
def outline_classes
9181
[
92-
DEFAULT_CLASSES,
93-
FOCUS_VISIBLE_CLASSES,
94-
DISABLED_CLASSES,
95-
ARIA_DISABLED_CLASSES,
82+
BASE_CLASSES,
9683
size_classes,
9784
"border border-input bg-background shadow-sm",
9885
"hover:bg-accent hover:text-accent-foreground"
@@ -101,10 +88,7 @@ def outline_classes
10188

10289
def ghost_classes
10390
[
104-
DEFAULT_CLASSES,
105-
FOCUS_VISIBLE_CLASSES,
106-
DISABLED_CLASSES,
107-
ARIA_DISABLED_CLASSES,
91+
BASE_CLASSES,
10892
size_classes,
10993
"hover:bg-accent hover:text-accent-foreground"
11094
]

0 commit comments

Comments
 (0)