@@ -136,6 +136,11 @@ ol:where([role="list"]) {
136136 margin : 0 ;
137137}
138138
139+ abbr {
140+ text-decoration : none;
141+ cursor : help;
142+ }
143+
139144/*------------------------------------*\
140145 #UTILS
141146\*------------------------------------*/
@@ -195,6 +200,7 @@ ol:where([role="list"]) {
195200/*------------------------------------*\
196201 #COMPONENTS
197202\*------------------------------------*/
203+ /* button */
198204.button {
199205 display : inline-flex;
200206 min-height : 3rem ;
@@ -208,6 +214,11 @@ ol:where([role="list"]) {
208214 cursor : pointer;
209215 line-height : 1.1 ;
210216 text-decoration : none;
217+ transition : transform 200ms ease;
218+ }
219+
220+ .button : is (: hover , : focus-visible ) {
221+ border-color : var (--clr-accent );
211222}
212223
213224.button--icon {
@@ -220,6 +231,7 @@ ol:where([role="list"]) {
220231 padding : 0.5em ;
221232}
222233
234+ /* search field */
223235.search-field {
224236 display : inline-flex;
225237 align-items : center;
@@ -228,6 +240,10 @@ ol:where([role="list"]) {
228240 border : 1px solid var (--border-color );
229241 border-radius : var (--br-md );
230242 padding : 0.75em 1.125em ;
243+
244+ & : is (: hover , : focus-within ) {
245+ border-color : var (--clr-accent );
246+ }
231247}
232248
233249.search-field > input {
@@ -239,6 +255,112 @@ ol:where([role="list"]) {
239255 }
240256}
241257
258+ /* custom selector */
259+ .selector {
260+ position : relative;
261+ width : 100% ;
262+ }
263+
264+ .selector__button {
265+ width : 100% ;
266+ font-size : var (--fs-500 );
267+ font-weight : var (--fw-bold );
268+ padding : 0.5em 1em ;
269+ background-color : transparent;
270+ border : 1px solid var (--border-color );
271+ border-radius : var (--br-md );
272+ cursor : pointer;
273+
274+ display : grid;
275+ grid-template-columns : 1fr auto;
276+ align-items : center;
277+ }
278+
279+ .selector__value {
280+ display : flex;
281+ gap : 0.5em ;
282+ align-items : center;
283+ }
284+
285+ .selector__value img {
286+ width : 30px ;
287+ }
288+
289+ .selector__arrow {
290+ border-left : 7px solid transparent;
291+ border-right : 7px solid transparent;
292+ border-top : 7px solid var (--text-primary );
293+ transition : transform 100ms ease;
294+ }
295+
296+ .selector--open .selector__arrow {
297+ transform : rotate (180deg );
298+ }
299+
300+ .selector__dropdown {
301+ display : grid;
302+ gap : 0.25rem ;
303+
304+ position : absolute;
305+ width : 100% ;
306+ max-height : 15rem ;
307+ overflow-y : auto;
308+
309+ background-color : var (--bg-secondary );
310+ border : 1px solid var (--border-color );
311+ border-radius : var (--br-md );
312+ margin-top : 0.5rem ;
313+ padding : 0.5rem ;
314+ font-size : var (--fs-400 );
315+ list-style : none;
316+
317+ box-shadow : 0 10px 25px rgba (0 , 0 , 0 , 0.2 );
318+ }
319+
320+ .selector__dropdown : focus-within {
321+ border-color : var (--clr-accent );
322+ }
323+
324+ .selector__item {
325+ position : relative;
326+ cursor : pointer;
327+ display : flex;
328+ gap : 1rem ;
329+ align-items : center;
330+ border-radius : var (--br-md );
331+ }
332+
333+ .selector__item label {
334+ width : 100% ;
335+ padding : 0.25em 0.75em ;
336+ cursor : pointer;
337+ border-radius : var (--br-md );
338+ display : flex;
339+ gap : 1em ;
340+ align-items : center;
341+ color : var (--text-primary );
342+ }
343+
344+ .selector__item label img {
345+ width : 35px ;
346+ }
347+
348+ .selector__item : hover {
349+ background-image : var (--gradient-secondary );
350+ }
351+
352+ .selector__item .selected label {
353+ background-color : var (--clr-accent );
354+ color : var (--text-dark );
355+ font-weight : var (--fw-bold );
356+ }
357+
358+ .selector__item input [type = "radio" ] {
359+ position : absolute;
360+ left : 0 ;
361+ opacity : 0 ;
362+ }
363+
242364.logo {
243365 display : inline-flex;
244366 gap : 0.25em ;
@@ -294,18 +416,20 @@ ol:where([role="list"]) {
294416/*------------------------------------*\
295417 #SIDEBAR
296418\*------------------------------------*/
297- .language-selector {
419+ /* .language-selector {
298420 background-color: transparent;
299421 cursor: pointer;
300- border : 0 ;
301- /* padding-block: 0.5em; */
422+ border: 1px solid transparent ;
423+ padding-block: 0.5em;
302424 font-weight: var(--fw-bold);
303425 font-size: var(--fs-600);
304- }
426+ border-radius: var(--br-md);
427+ appearance: none; /* Removes default arrow */
305428
306- .language-selector option {
307- font-size : var (--fs-400 );
308- }
429+ /* &:focus-within {
430+ border-color: var(--clr-accent);
431+ }
432+ } */
309433
310434.categories {
311435 display : grid;
0 commit comments