Skip to content

Commit ab1c902

Browse files
committed
Close #18
1 parent 2389191 commit ab1c902

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

css/components/avatar.css

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -10,45 +10,45 @@
1010
font-weight: 500;
1111
position: relative;
1212
transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
13-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
13+
box-shadow: var(--shadow-sm);
1414
}
1515

1616
/* Avatar Sizes */
17-
.avatar-sm {
18-
width: 2rem;
19-
height: 2rem;
20-
font-size: 0.75rem;
17+
.avatar[data-size="sm"] {
18+
width: clamp(2rem, 2vw, 3rem);
19+
height: clamp(2rem, 2vw, 3rem);
20+
font-size: clamp(0.75rem, 1vw + 0.25rem, 1rem);
2121
}
2222

23-
.avatar-md {
24-
width: 3rem;
25-
height: 3rem;
26-
font-size: 1rem;
23+
.avatar[data-size="md"] {
24+
width: clamp(3rem, 3vw, 4rem);
25+
height: clamp(3rem, 3vw, 4rem);
26+
font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem);
2727
}
2828

29-
.avatar-lg {
30-
width: 4rem;
31-
height: 4rem;
32-
font-size: 1.25rem;
29+
.avatar[data-size="lg"] {
30+
width: clamp(4rem, 4vw, 5rem);
31+
height: clamp(4rem, 4vw, 5rem);
32+
font-size: clamp(1.25rem, 1vw + 0.75rem, 1.5rem);
3333
}
3434

35-
.avatar-xl {
36-
width: 5rem;
37-
height: 5rem;
38-
font-size: 1.5rem;
35+
.avatar[data-size="xl"] {
36+
width: clamp(5rem, 5vw, 6rem);
37+
height: clamp(5rem, 5vw, 6rem);
38+
font-size: clamp(1.5rem, 1vw + 1rem, 1.75rem);
3939
}
4040

4141
/* Avatar Shapes */
42-
.avatar-rounded { border-radius: var(--radius-lg); }
43-
.avatar-square { border-radius: 0; }
42+
.avatar[data-shape="rounded"] { border-radius: var(--radius-lg); }
43+
.avatar[data-shape="square"] { border-radius: 0; }
4444

4545
/* Avatar Variants */
46-
.avatar-primary { background-color: var(--primary); color: #fff; }
47-
.avatar-secondary { background-color: var(--secondary); color: #fff; }
48-
.avatar-success { background-color: var(--success); color: #fff; }
49-
.avatar-danger { background-color: var(--danger); color: #fff; }
50-
.avatar-warning { background-color: var(--warning); color: #fff; }
51-
.avatar-info { background-color: var(--info); color: #fff; }
46+
.avatar[data-variant="primary"] { background-color: var(--primary); color: #fff; }
47+
.avatar[data-variant="secondary"] { background-color: var(--secondary); color: #fff; }
48+
.avatar[data-variant="success"] { background-color: var(--success); color: #fff; }
49+
.avatar[data-variant="danger"] { background-color: var(--danger); color: #fff; }
50+
.avatar[data-variant="warning"] { background-color: var(--warning); color: #fff; }
51+
.avatar[data-variant="info"] { background-color: var(--info); color: #fff; }
5252

5353
/* Avatar with Image */
5454
.avatar img {
@@ -73,14 +73,14 @@
7373
border-radius: 50%;
7474
border: 2px solid #fff;
7575
background-color: var(--status-color, var(--success));
76-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
76+
box-shadow: var(--shadow-sm);
7777
}
7878

7979
/* Status Colors */
80-
.avatar-status-online { --status-color: var(--success); }
81-
.avatar-status-offline { --status-color: var(--neutral-400); }
82-
.avatar-status-busy { --status-color: var(--danger); }
83-
.avatar-status-away { --status-color: var(--warning); }
80+
.avatar[data-status="online"] .avatar-status { --status-color: var(--success); }
81+
.avatar[data-status="offline"] .avatar-status { --status-color: var(--neutral-400); }
82+
.avatar[data-status="busy"] .avatar-status { --status-color: var(--danger); }
83+
.avatar[data-status="away"] .avatar-status { --status-color: var(--warning); }
8484

8585
/* Avatar Group */
8686
.avatar-group {
@@ -90,15 +90,15 @@
9090
.avatar-group .avatar:not(:first-child) {
9191
margin-left: -0.5rem;
9292
border: 2px solid #fff;
93-
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8); /* Slight shadow for overlap */
93+
box-shadow: var(--shadow-xs); /* Slight shadow for overlap */
9494
}
9595

9696
/* Pulsing Avatar */
97-
.avatar-pulsing {
97+
.avatar[data-effect="pulsing"] {
9898
position: relative;
9999
z-index: 1;
100100
}
101-
.avatar-pulsing::after {
101+
.avatar[data-effect="pulsing"]::after {
102102
content: "";
103103
position: absolute;
104104
top: 0;
@@ -116,19 +116,19 @@
116116
}
117117

118118
/* Ghost Avatar */
119-
.avatar-ghost {
119+
.avatar[data-variant="ghost"] {
120120
background-color: transparent;
121121
border: 1.5px dashed var(--avatar-border-color, var(--neutral-400));
122122
color: var(--neutral-500);
123123
box-shadow: none;
124124
}
125-
.avatar-ghost .avatar-status {
125+
.avatar[data-variant="ghost"] .avatar-status {
126126
background-color: transparent;
127127
border: 2px dashed var(--neutral-400);
128128
}
129129

130130
/* Disabled Avatar */
131-
.avatar-disabled {
131+
.avatar[data-disabled="true"] {
132132
opacity: 0.5;
133133
cursor: not-allowed;
134134
}
@@ -139,14 +139,14 @@
139139
display: inline-flex;
140140
align-items: center;
141141
justify-content: center;
142-
border: 2px solid black;
142+
border: 2px solid;
143143
border-radius: 50%;
144144
overflow: hidden;
145-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
146-
}
147-
.avatar-bordered.avatar-primary { border-color: var(--primary); }
148-
.avatar-bordered.avatar-secondary { border-color: var(--secondary); }
149-
.avatar-bordered.avatar-success { border-color: var(--success); }
150-
.avatar-bordered.avatar-danger { border-color: var(--danger); }
151-
.avatar-bordered.avatar-warning { border-color: var(--warning); }
152-
.avatar-bordered.avatar-info { border-color: var(--info); }
145+
box-shadow: var(--shadow-xs);
146+
}
147+
.avatar[data-variant="primary"].avatar-bordered { border-color: var(--primary); }
148+
.avatar[data-variant="secondary"].avatar-bordered { border-color: var(--secondary); }
149+
.avatar[data-variant="success"].avatar-bordered { border-color: var(--success); }
150+
.avatar[data-variant="danger"].avatar-bordered { border-color: var(--danger); }
151+
.avatar[data-variant="warning"].avatar-bordered { border-color: var(--warning); }
152+
.avatar[data-variant="info"].avatar-bordered { border-color: var(--info); }

0 commit comments

Comments
 (0)