Skip to content

Commit c415982

Browse files
committed
fix(calendar): refactor indigo theme styles for selected, special, and range states
- Consolidate and reorder styles for selected, special, current, and range states. - Refine hover and focus border/foreground/background colors for consistency. - Remove redundant selectors and improve maintainability.
1 parent 641b04d commit c415982

File tree

1 file changed

+125
-112
lines changed

1 file changed

+125
-112
lines changed

src/components/calendar/themes/shared/indigo/days-view.indigo.scss

Lines changed: 125 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -214,58 +214,56 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
214214
background: var-get($theme, 'date-selected-focus-background');
215215
border-color: var-get($theme, 'date-selected-focus-border-color');
216216
}
217+
}
217218

218-
&[part~='range'][part~='special'][part~='first'],
219-
&[part~='range'][part~='special'][part~='last'] {
220-
&::after {
221-
border-color: var-get($theme, 'date-selected-special-border-color');
222-
}
219+
&[part~='selected'][part~='range'] {
220+
color: var-get($theme, 'date-selected-range-foreground');
223221

224-
&:hover {
225-
/* stylelint-disable max-nesting-depth */
226-
&::after {
227-
border-color: var-get($theme, 'date-selected-special-hover-border-color');
228-
}
229-
/* stylelint-enable max-nesting-depth */
230-
}
222+
&:hover {
223+
color: var-get($theme, 'date-selected-range-hover-foreground');
224+
background: var-get($theme, 'date-selected-range-hover-background');
225+
}
231226

232-
&:focus {
233-
/* stylelint-disable max-nesting-depth */
234-
&::after {
235-
border-color: var-get($theme, 'date-selected-special-focus-border-color');
236-
}
237-
/* stylelint-enable max-nesting-depth */
238-
}
227+
&:focus {
228+
color: var-get($theme, 'date-selected-range-focus-foreground');
229+
background: var-get($theme, 'date-selected-range-focus-background');
239230
}
231+
}
240232

241-
&[part~='range'] {
242-
color: var-get($theme, 'date-selected-range-foreground');
233+
&[part~='selected'][part~='current'] {
234+
color: var-get($theme, 'date-selected-current-foreground');
235+
background: var-get($theme, 'date-selected-current-background');
236+
border-color: var-get($theme, 'date-selected-current-border-color');
243237

244-
&:hover {
245-
color: var-get($theme, 'date-selected-range-hover-foreground');
246-
background: var-get($theme, 'date-selected-range-hover-background');
247-
}
238+
&:hover {
239+
color: var-get($theme, 'date-selected-current-hover-foreground');
240+
background: var-get($theme, 'date-selected-current-hover-background');
241+
border-color: var-get($theme, 'date-selected-current-hover-border-color');
242+
}
248243

249-
&:focus {
250-
color: var-get($theme, 'date-selected-range-focus-foreground');
251-
background: var-get($theme, 'date-selected-range-focus-background');
252-
}
244+
&:focus {
245+
color: var-get($theme, 'date-selected-current-focus-foreground');
246+
background: var-get($theme, 'date-selected-current-focus-background');
247+
border-color: var-get($theme, 'date-selected-current-focus-border-color');
253248
}
254249

255-
&[part~='first'],
256-
&[part~='last'] {
257-
color: var-get($theme, 'date-selected-foreground');
258-
background: var-get($theme, 'date-selected-background');
250+
&::after {
251+
border-color: transparent;
252+
}
253+
}
259254

260-
&:hover {
261-
color: var-get($theme, 'date-selected-hover-foreground');
262-
background: var-get($theme, 'date-selected-hover-background');
263-
}
255+
&[part~='selected'][part~='special'] {
256+
color: var-get($theme, 'date-selected-special-foreground');
257+
background: var-get($theme, 'date-selected-special-background');
264258

265-
&:focus {
266-
color: var-get($theme, 'date-selected-focus-foreground');
267-
background: var-get($theme, 'date-selected-focus-background');
268-
}
259+
&:hover {
260+
color: var-get($theme, 'date-selected-special-hover-foreground');
261+
background: var-get($theme, 'date-selected-special-hover-background');
262+
}
263+
264+
&:focus {
265+
color: var-get($theme, 'date-selected-special-focus-foreground');
266+
background: var-get($theme, 'date-selected-special-focus-background');
269267
}
270268
}
271269

@@ -275,50 +273,36 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
275273
border-color: var-get($theme, 'date-current-border-color');
276274

277275
&:hover {
276+
color: var-get($theme, 'date-selected-current-range-hover-foreground');
278277
background: var-get($theme, 'date-selected-current-range-hover-background');
279-
color: var-get($theme, 'date-current-hover-foreground');
280278
border-color: var-get($theme, 'date-current-hover-border-color');
281279
}
282280

283281
&:focus {
282+
color: var-get($theme, 'date-selected-current-range-focus-foreground');
284283
background: var-get($theme, 'date-selected-current-range-focus-background');
285-
color: var-get($theme, 'date-current-focus-foreground');
286284
border-color: var-get($theme, 'date-current-focus-border-color');
287285
}
288286

289-
&::after {
290-
border-color: transparent;
291-
}
287+
//
288+
// &::after {
289+
// border-color: transparent;
290+
// }
292291
}
293292

294-
&[part~='selected'][part~='current'][part~='range'][part~='special'] {
295-
color: var-get($theme, 'date-special-range-foreground');
296-
background: var-get($theme, 'date-current-background');
293+
&[part~='selected'][part~='first'],
294+
&[part~='selected'][part~='last'] {
295+
color: var-get($theme, 'date-selected-foreground');
296+
background: var-get($theme, 'date-selected-background');
297297

298298
&:hover {
299-
color: var-get($theme, 'date-special-range-hover-foreground');
300-
background: var-get($theme, 'date-selected-current-range-hover-background');
301-
302-
/* stylelint-disable max-nesting-depth */
303-
&::after {
304-
border-color: var-get($theme, 'date-special-range-hover-border-color');
305-
}
306-
/* stylelint-enable */
299+
color: var-get($theme, 'date-selected-hover-foreground');
300+
background: var-get($theme, 'date-selected-hover-background');
307301
}
308302

309303
&:focus {
310-
color: var-get($theme, 'date-special-range-focus-foreground');
311-
background: var-get($theme, 'date-selected-current-range-focus-background');
312-
313-
/* stylelint-disable max-nesting-depth */
314-
&::after {
315-
border-color: var-get($theme, 'date-special-range-hover-border-color');
316-
}
317-
/* stylelint-enable */
318-
}
319-
320-
&::after {
321-
border-color: var-get($theme, 'date-special-range-border-color');
304+
color: var-get($theme, 'date-selected-focus-foreground');
305+
background: var-get($theme, 'date-selected-focus-background');
322306
}
323307
}
324308

@@ -345,8 +329,71 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
345329
}
346330
}
347331

348-
&[part~='selected'][part~='current'][part~='range'][part~='special'][part~='first'],
349-
&[part~='selected'][part~='current'][part~='range'][part~='special'][part~='last'] {
332+
&[part~='selected'][part~='special'][part~='range'][part~='first'],
333+
&[part~='selected'][part~='special'][part~='range'][part~='last'] {
334+
&::after {
335+
border-color: var-get($theme, 'date-selected-special-border-color');
336+
}
337+
338+
&:hover {
339+
/* stylelint-disable max-nesting-depth */
340+
&::after {
341+
border-color: var-get($theme, 'date-selected-special-hover-border-color');
342+
}
343+
/* stylelint-enable max-nesting-depth */
344+
}
345+
346+
&:focus {
347+
/* stylelint-disable max-nesting-depth */
348+
&::after {
349+
border-color: var-get($theme, 'date-selected-special-focus-border-color');
350+
}
351+
/* stylelint-enable max-nesting-depth */
352+
}
353+
}
354+
355+
&[part~='selected'][part~='current'][part~='special'] {
356+
border-color: var-get($theme, 'date-selected-current-border-color');
357+
358+
&:hover {
359+
border-color: var-get($theme, 'date-selected-current-hover-border-color');
360+
}
361+
362+
&:focus {
363+
border-color: var-get($theme, 'date-selected-current-focus-border-color');
364+
}
365+
}
366+
367+
&[part~='selected'][part~='current'][part~='special'][part~='range'] {
368+
color: var-get($theme, 'date-special-range-foreground');
369+
370+
&:hover {
371+
color: var-get($theme, 'date-special-range-hover-foreground');
372+
373+
/* stylelint-disable max-nesting-depth */
374+
&::after {
375+
border-color: var-get($theme, 'date-special-range-hover-border-color');
376+
}
377+
/* stylelint-enable */
378+
}
379+
380+
&:focus {
381+
color: var-get($theme, 'date-special-range-focus-foreground');
382+
383+
/* stylelint-disable max-nesting-depth */
384+
&::after {
385+
border-color: var-get($theme, 'date-special-range-hover-border-color');
386+
}
387+
/* stylelint-enable */
388+
}
389+
390+
&::after {
391+
border-color: var-get($theme, 'date-special-range-border-color');
392+
}
393+
}
394+
395+
&[part~='selected'][part~='current'][part~='special'][part~='range'][part~='first'],
396+
&[part~='selected'][part~='current'][part~='special'][part~='range'][part~='last'] {
350397
color: var-get($theme, 'date-selected-foreground');
351398
background: var-get($theme, 'date-selected-background');
352399
border-color: var-get($theme, 'date-selected-current-border-color');
@@ -388,20 +435,6 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
388435
}
389436
}
390437

391-
&[part~='selected'][part~='special'] {
392-
color: var-get($theme, 'date-selected-special-foreground');
393-
background: var-get($theme, 'date-selected-special-background');
394-
395-
&:hover {
396-
color: var-get($theme, 'date-selected-special-hover-foreground');
397-
background: var-get($theme, 'date-selected-special-hover-background');
398-
}
399-
400-
&:focus {
401-
color: var-get($theme, 'date-selected-special-focus-foreground');
402-
background: var-get($theme, 'date-selected-special-focus-background');
403-
}
404-
}
405438

406439
&[part~='selected'][part~='special']:not([part~='range']) {
407440
&::after {
@@ -458,31 +491,33 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
458491
&::after {
459492
content: '';
460493
position: absolute;
461-
z-index: 0;
494+
z-index: -1;
462495
border: rem(2px) solid transparent;
463496
width: var-get($theme, 'inner-size');
464497
height: var-get($theme, 'inner-size');
465498
box-sizing: border-box;
466499
}
467500

468-
&[part~='range']:not([part~='preview']) {
501+
&[part~='range']:not([part~='preview'], [part~='current']) {
469502
color: var-get($theme, 'date-special-range-foreground');
470503
background: var-get($theme, 'date-special-range-background');
504+
border-color: var-get($theme, 'date-special-range-border-color');
471505

472506
&:hover {
473507
color: var-get($theme, 'date-special-range-hover-foreground');
474508
background: var-get($theme, 'date-special-range-hover-background');
509+
border-color: var-get($theme, 'date-special-range-hover-border-color');
475510
}
476511

477512
&:focus {
478513
color: var-get($theme, 'date-special-range-focus-foreground');
479514
background: var-get($theme, 'date-special-range-focus-background');
515+
border-color: var-get($theme, 'date-special-range-focus-border-color');
480516
}
481517
}
482518

483519
&[part~='range'][part~='first']:not([part~='preview']),
484-
&[part~='range'][part~='last']:not([part~='preview']),
485-
{
520+
&[part~='range'][part~='last']:not([part~='preview']) {
486521
color: var-get($theme, 'date-selected-foreground');
487522
background: var-get($theme, 'date-selected-background');
488523

@@ -497,7 +532,7 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
497532
}
498533

499534
&[part~='range'][part~='first']:not([part~='current']),
500-
&[part~='range'][part~='last']:not([part~='current']), {
535+
&[part~='range'][part~='last']:not([part~='current']) {
501536
border-color: transparent;
502537
}
503538

@@ -547,28 +582,6 @@ $week-number-radius: var-get($theme, 'week-number-border-radius');
547582
}
548583
}
549584

550-
&[part~='selected'][part~='current'] {
551-
color: var-get($theme, 'date-selected-current-foreground');
552-
background: var-get($theme, 'date-selected-current-background');
553-
border-color: var-get($theme, 'date-selected-current-border-color');
554-
555-
&:hover {
556-
color: var-get($theme, 'date-selected-current-hover-foreground');
557-
background: var-get($theme, 'date-selected-current-hover-background');
558-
border-color: var-get($theme, 'date-selected-current-hover-border-color');
559-
}
560-
561-
&:focus {
562-
color: var-get($theme, 'date-selected-current-focus-foreground');
563-
background: var-get($theme, 'date-selected-current-focus-background');
564-
border-color: var-get($theme, 'date-selected-current-focus-border-color');
565-
}
566-
567-
&::after {
568-
border-color: transparent;
569-
}
570-
}
571-
572585
&[part~='special'][part~='current']:not([part~='selected']) {
573586
color: var-get($theme, 'date-special-foreground');
574587
background: var-get($theme, 'date-current-background');

0 commit comments

Comments
 (0)