|
10 | 10 | font-weight: 500; |
11 | 11 | position: relative; |
12 | 12 | 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); |
14 | 14 | } |
15 | 15 |
|
16 | 16 | /* 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); |
21 | 21 | } |
22 | 22 |
|
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); |
27 | 27 | } |
28 | 28 |
|
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); |
33 | 33 | } |
34 | 34 |
|
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); |
39 | 39 | } |
40 | 40 |
|
41 | 41 | /* 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; } |
44 | 44 |
|
45 | 45 | /* 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; } |
52 | 52 |
|
53 | 53 | /* Avatar with Image */ |
54 | 54 | .avatar img { |
|
73 | 73 | border-radius: 50%; |
74 | 74 | border: 2px solid #fff; |
75 | 75 | 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); |
77 | 77 | } |
78 | 78 |
|
79 | 79 | /* 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); } |
84 | 84 |
|
85 | 85 | /* Avatar Group */ |
86 | 86 | .avatar-group { |
|
90 | 90 | .avatar-group .avatar:not(:first-child) { |
91 | 91 | margin-left: -0.5rem; |
92 | 92 | 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 */ |
94 | 94 | } |
95 | 95 |
|
96 | 96 | /* Pulsing Avatar */ |
97 | | -.avatar-pulsing { |
| 97 | +.avatar[data-effect="pulsing"] { |
98 | 98 | position: relative; |
99 | 99 | z-index: 1; |
100 | 100 | } |
101 | | -.avatar-pulsing::after { |
| 101 | +.avatar[data-effect="pulsing"]::after { |
102 | 102 | content: ""; |
103 | 103 | position: absolute; |
104 | 104 | top: 0; |
|
116 | 116 | } |
117 | 117 |
|
118 | 118 | /* Ghost Avatar */ |
119 | | -.avatar-ghost { |
| 119 | +.avatar[data-variant="ghost"] { |
120 | 120 | background-color: transparent; |
121 | 121 | border: 1.5px dashed var(--avatar-border-color, var(--neutral-400)); |
122 | 122 | color: var(--neutral-500); |
123 | 123 | box-shadow: none; |
124 | 124 | } |
125 | | -.avatar-ghost .avatar-status { |
| 125 | +.avatar[data-variant="ghost"] .avatar-status { |
126 | 126 | background-color: transparent; |
127 | 127 | border: 2px dashed var(--neutral-400); |
128 | 128 | } |
129 | 129 |
|
130 | 130 | /* Disabled Avatar */ |
131 | | -.avatar-disabled { |
| 131 | +.avatar[data-disabled="true"] { |
132 | 132 | opacity: 0.5; |
133 | 133 | cursor: not-allowed; |
134 | 134 | } |
|
139 | 139 | display: inline-flex; |
140 | 140 | align-items: center; |
141 | 141 | justify-content: center; |
142 | | - border: 2px solid black; |
| 142 | + border: 2px solid; |
143 | 143 | border-radius: 50%; |
144 | 144 | 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