Skip to content

Commit 0e5d846

Browse files
committed
Close #19
1 parent ab1c902 commit 0e5d846

File tree

1 file changed

+34
-43
lines changed

1 file changed

+34
-43
lines changed

css/components/badge.css

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
align-items: center;
55
justify-content: center;
66
padding: clamp(0.3rem, 0.5vw, 0.6rem) clamp(0.6rem, 1vw, 0.8rem);
7+
margin: var(--space-4) auto;
78
font-size: clamp(0.65rem, 1vw, 0.8rem);
89
font-weight: 500;
910
line-height: 1;
@@ -13,41 +14,41 @@
1314
text-transform: uppercase;
1415
white-space: nowrap;
1516
transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
16-
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Slight shadow for depth */
17+
box-shadow: var(--shadow-sm); /* Slight shadow for depth */
1718
}
1819

19-
/* Variants */
20-
.badge-primary { --badge-bg: var(--primary); --badge-color: #fff; }
21-
.badge-secondary { --badge-bg: var(--secondary); --badge-color: #fff; }
22-
.badge-success { --badge-bg: var(--success); --badge-color: #fff; }
23-
.badge-danger { --badge-bg: var(--danger); --badge-color: #fff; }
24-
.badge-warning { --badge-bg: var(--warning); --badge-color: #fff; }
25-
.badge-info { --badge-bg: var(--info); --badge-color: #fff; }
20+
/* Badge Variants */
21+
.badge[data-variant="primary"] { --badge-bg: var(--primary); --badge-color: #fff; }
22+
.badge[data-variant="secondary"] { --badge-bg: var(--secondary); --badge-color: #fff; }
23+
.badge[data-variant="success"] { --badge-bg: var(--success); --badge-color: #fff; }
24+
.badge[data-variant="danger"] { --badge-bg: var(--danger); --badge-color: #fff; }
25+
.badge[data-variant="warning"] { --badge-bg: var(--warning); --badge-color: #fff; }
26+
.badge[data-variant="info"] { --badge-bg: var(--info); --badge-color: #fff; }
2627

2728
/* Outline Badge Variant */
28-
.badge-outline {
29+
.badge[data-variant="outline"] {
2930
--badge-bg: transparent;
30-
color: var(--badge-color, var(--primary));
3131
box-shadow: inset 0 0 0 1.5px currentColor;
32+
color: var(--badge-color, var(--primary));
3233
}
33-
.badge-outline.badge-primary { --badge-color: var(--primary); }
34-
.badge-outline.badge-secondary { --badge-color: var(--secondary); }
35-
.badge-outline.badge-success { --badge-color: var(--success); }
36-
.badge-outline.badge-danger { --badge-color: var(--danger); }
37-
.badge-outline.badge-warning { --badge-color: var(--warning); }
38-
.badge-outline.badge-info { --badge-color: var(--info); }
34+
.badge[data-variant="outline"][data-color="primary"] { --badge-color: var(--primary); }
35+
.badge[data-variant="outline"][data-color="secondary"] { --badge-color: var(--secondary); }
36+
.badge[data-variant="outline"][data-color="success"] { --badge-color: var(--success); }
37+
.badge[data-variant="outline"][data-color="danger"] { --badge-color: var(--danger); }
38+
.badge[data-variant="outline"][data-color="warning"] { --badge-color: var(--warning); }
39+
.badge[data-variant="outline"][data-color="info"] { --badge-color: var(--info); }
3940

4041
/* Soft Badge Variant (Lighter Background) */
41-
.badge-soft {
42+
.badge[data-variant="soft"] {
4243
background-color: var(--badge-bg-light, rgba(255, 255, 255, 0.1));
4344
color: var(--badge-bg);
4445
}
45-
.badge-primary.badge-soft { --badge-bg-light: rgba(0, 123, 255, 0.15); }
46-
.badge-secondary.badge-soft { --badge-bg-light: rgba(108, 117, 125, 0.15); }
47-
.badge-success.badge-soft { --badge-bg-light: rgba(40, 167, 69, 0.15); }
48-
.badge-danger.badge-soft { --badge-bg-light: rgba(220, 53, 69, 0.15); }
49-
.badge-warning.badge-soft { --badge-bg-light: rgba(255, 193, 7, 0.15); }
50-
.badge-info.badge-soft { --badge-bg-light: rgba(23, 162, 184, 0.15); }
46+
.badge[data-color="primary"][data-variant="soft"] { --badge-bg-light: rgba(0, 123, 255, 0.15); }
47+
.badge[data-color="secondary"][data-variant="soft"] { --badge-bg-light: rgba(108, 117, 125, 0.15); }
48+
.badge[data-color="success"][data-variant="soft"] { --badge-bg-light: rgba(40, 167, 69, 0.15); }
49+
.badge[data-color="danger"][data-variant="soft"] { --badge-bg-light: rgba(220, 53, 69, 0.15); }
50+
.badge[data-color="warning"][data-variant="soft"] { --badge-bg-light: rgba(255, 193, 7, 0.15); }
51+
.badge[data-color="info"][data-variant="soft"] { --badge-bg-light: rgba(23, 162, 184, 0.15); }
5152

5253
/* Dot Badge for Notification Indicators */
5354
.badge-dot {
@@ -60,33 +61,30 @@
6061
margin-left: 0.25rem;
6162
}
6263

63-
/* Sizes */
64-
.badge-sm {
64+
/* Badge Sizes */
65+
.badge[data-size="sm"] {
6566
padding: 0.2rem 0.4rem;
6667
font-size: 0.65rem;
6768
}
6869

69-
.badge-lg {
70+
.badge[data-size="lg"] {
7071
padding: 0.4rem 0.8rem;
7172
font-size: 0.9rem;
7273
}
7374

74-
/* Shapes */
75-
.badge-rounded { border-radius: var(--radius-full); }
76-
.badge-square { border-radius: 0; }
77-
.badge-pill { border-radius: 9999px; }
75+
/* Badge Shapes */
76+
.badge[data-shape="rounded"] { border-radius: var(--radius-full); }
77+
.badge[data-shape="square"] { border-radius: 0; }
78+
.badge[data-shape="pill"] { border-radius: 9999px; }
7879

7980
/* Icon Badges */
80-
.badge-icon {
81+
.badge[data-icon="left"] {
8182
display: inline-flex;
8283
align-items: center;
8384
gap: 0.3rem;
8485
}
85-
.badge-icon svg { width: 1em; height: 1em; }
86-
87-
/* Icon Position */
88-
.badge-icon-left .badge-icon { order: -1; }
89-
.badge-icon-right .badge-icon { order: 1; }
86+
.badge[data-icon="left"] svg { order: -1; width: 1em; height: 1em; }
87+
.badge[data-icon="right"] svg { order: 1; width: 1em; height: 1em; margin-left: 4px; }
9088

9189
/* Badge Grouping and Stacking */
9290
.badge-group {
@@ -98,13 +96,6 @@
9896
position: relative;
9997
}
10098

101-
.badge-stacked .badge-dot {
102-
position: absolute;
103-
top: 0;
104-
right: 0;
105-
transform: translate(25%, -25%);
106-
}
107-
10899
/* Responsive Adjustments */
109100
@media (max-width: 768px) {
110101
.badge {

0 commit comments

Comments
 (0)