@astryx-vue/lab 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,838 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.components {
4
+ .astryx-schedule {
5
+ display: flex;
6
+ flex-direction: column;
7
+ min-width: 0;
8
+ min-height: 0;
9
+ color: var(--astryx-color-text-primary);
10
+ font-family: var(--astryx-font-family-body);
11
+ container-type: inline-size;
12
+ }
13
+
14
+ .astryx-schedule__frame {
15
+ flex: 1;
16
+ display: flex;
17
+ flex-direction: column;
18
+ min-width: 0;
19
+ min-height: 0;
20
+ border: var(--astryx-border-width) solid var(--astryx-color-border);
21
+ border-radius: var(--astryx-radius-container);
22
+ background: var(--astryx-color-background-card);
23
+ overflow: hidden;
24
+ }
25
+
26
+ .astryx-schedule__header {
27
+ display: grid;
28
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
29
+ align-items: center;
30
+ gap: var(--astryx-spacing-3);
31
+ padding: var(--astryx-spacing-3) var(--astryx-spacing-4);
32
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
33
+ }
34
+
35
+ .astryx-schedule__header-start {
36
+ justify-self: start;
37
+ display: flex;
38
+ align-items: center;
39
+ gap: var(--astryx-spacing-2);
40
+ min-width: 0;
41
+ }
42
+
43
+ .astryx-schedule__header-title {
44
+ justify-self: center;
45
+ min-width: 0;
46
+ text-align: center;
47
+ }
48
+
49
+ .astryx-schedule__header-end {
50
+ justify-self: end;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: flex-end;
54
+ gap: var(--astryx-spacing-2);
55
+ min-width: 0;
56
+ }
57
+
58
+ .astryx-schedule__title {
59
+ position: relative;
60
+ display: inline-flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ }
64
+
65
+ .astryx-schedule__title-em {
66
+ font-weight: var(--astryx-font-weight-bold);
67
+ }
68
+
69
+ .astryx-schedule__spinner {
70
+ position: absolute;
71
+ inset-inline-start: calc(100% + var(--astryx-spacing-2));
72
+ inset-block-start: 50%;
73
+ display: inline-flex;
74
+ transform: translateY(-50%);
75
+ }
76
+
77
+ .astryx-schedule__spinner.is-hidden {
78
+ visibility: hidden;
79
+ }
80
+
81
+ .astryx-schedule__live,
82
+ .astryx-schedule__sr {
83
+ position: absolute;
84
+ width: 1px;
85
+ height: 1px;
86
+ padding: 0;
87
+ margin: -1px;
88
+ overflow: hidden;
89
+ clip: rect(0 0 0 0);
90
+ white-space: nowrap;
91
+ border: 0;
92
+ }
93
+
94
+ :dir(rtl) .astryx-schedule__chevron {
95
+ transform: scaleX(-1);
96
+ }
97
+
98
+ @container (max-width: 560px) {
99
+ .astryx-schedule__header {
100
+ grid-template-columns: minmax(0, 1fr) auto;
101
+ grid-template-areas:
102
+ 'title title'
103
+ 'start end';
104
+ row-gap: var(--astryx-spacing-2);
105
+ }
106
+
107
+ .astryx-schedule__header-start {
108
+ grid-area: start;
109
+ }
110
+
111
+ .astryx-schedule__header-title {
112
+ grid-area: title;
113
+ justify-self: stretch;
114
+ text-align: center;
115
+ }
116
+
117
+ .astryx-schedule__header-end {
118
+ grid-area: end;
119
+ }
120
+
121
+ .astryx-schedule__weekday {
122
+ padding-inline: 0;
123
+ }
124
+
125
+ .astryx-schedule__weekday .astryx-heading {
126
+ font-size: var(--astryx-text-supporting-size);
127
+ line-height: var(--astryx-text-supporting-leading);
128
+ font-weight: var(--astryx-font-weight-medium);
129
+ white-space: nowrap;
130
+ }
131
+ }
132
+
133
+ .astryx-schedule__weekdays {
134
+ display: grid;
135
+ grid-template-columns: repeat(7, minmax(0, 1fr));
136
+ width: 100%;
137
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
138
+ }
139
+
140
+ .astryx-schedule__weekday {
141
+ min-width: 0;
142
+ overflow: hidden;
143
+ padding: var(--astryx-spacing-2) var(--astryx-spacing-1);
144
+ text-align: center;
145
+ }
146
+
147
+ .astryx-schedule__weekday .astryx-heading {
148
+ overflow: hidden;
149
+ text-align: center;
150
+ text-overflow: ellipsis;
151
+ white-space: nowrap;
152
+ }
153
+
154
+ .astryx-schedule__month {
155
+ min-width: 0;
156
+ overflow-x: auto;
157
+ outline: none;
158
+ }
159
+
160
+ .astryx-schedule__month:focus-visible {
161
+ outline: var(--astryx-focus-outline-width) var(--astryx-focus-outline-style) var(--astryx-focus-outline-color);
162
+ outline-offset: calc(-1 * var(--astryx-focus-outline-width));
163
+ }
164
+
165
+ .astryx-schedule__month-surface {
166
+ position: relative;
167
+ width: 100%;
168
+ min-width: 0;
169
+ isolation: isolate;
170
+ }
171
+
172
+ .astryx-schedule__month-grid {
173
+ display: grid;
174
+ grid-template-columns: repeat(7, minmax(0, 1fr));
175
+ grid-auto-rows: 128px;
176
+ }
177
+
178
+ .astryx-schedule__month-row {
179
+ display: contents;
180
+ }
181
+
182
+ .astryx-schedule__month-cell {
183
+ position: relative;
184
+ display: flex;
185
+ flex-direction: column;
186
+ gap: var(--astryx-spacing-1);
187
+ min-width: 0;
188
+ border-inline-end: var(--astryx-border-width) solid var(--astryx-color-border);
189
+ border-block-end: var(--astryx-border-width) solid var(--astryx-color-border);
190
+ background: var(--astryx-color-background-card);
191
+ }
192
+
193
+ .astryx-schedule__month-cell:focus-visible {
194
+ outline: var(--astryx-focus-outline-width) var(--astryx-focus-outline-style) var(--astryx-focus-outline-color);
195
+ outline-offset: calc(-1 * var(--astryx-focus-outline-width));
196
+ }
197
+
198
+ .astryx-schedule__month-cell.is-last-column {
199
+ border-inline-end-width: 0;
200
+ }
201
+
202
+ .astryx-schedule__month-cell.is-last-row {
203
+ border-block-end-width: 0;
204
+ }
205
+
206
+ .astryx-schedule__month-cell.is-outside {
207
+ background: var(--astryx-color-background-muted);
208
+ }
209
+
210
+ .astryx-schedule__day-number {
211
+ align-self: flex-start;
212
+ display: inline-flex;
213
+ align-items: center;
214
+ justify-content: center;
215
+ box-sizing: border-box;
216
+ width: auto;
217
+ min-width: 24px;
218
+ height: 24px;
219
+ margin: var(--astryx-spacing-0-5);
220
+ padding-inline: var(--astryx-spacing-1);
221
+ border-radius: var(--astryx-radius-full);
222
+ color: var(--astryx-color-text-secondary);
223
+ white-space: nowrap;
224
+ }
225
+
226
+ .astryx-schedule__day-number.is-current {
227
+ color: var(--astryx-color-on-accent);
228
+ background: var(--astryx-color-accent);
229
+ }
230
+
231
+ .astryx-schedule__chip {
232
+ position: absolute;
233
+ inset-inline-start: var(--astryx-spacing-0-5);
234
+ inset-block-start: calc(30px + var(--level, 0) * 29px);
235
+ inline-size: calc(var(--span, 1) * 100% + (var(--span, 1) - 1) * var(--astryx-border-width) - 2 * var(--astryx-spacing-0-5));
236
+ min-width: 0;
237
+ z-index: 1;
238
+ }
239
+
240
+ .astryx-schedule__chip.is-last-column {
241
+ inline-size: calc(100% - 2 * var(--astryx-spacing-0-5) - var(--astryx-border-width));
242
+ }
243
+
244
+ .astryx-schedule__chip:focus-visible {
245
+ z-index: 2;
246
+ }
247
+
248
+ .astryx-schedule__more {
249
+ position: absolute;
250
+ inset-inline-start: var(--astryx-spacing-0-5);
251
+ inset-inline-end: calc(var(--astryx-spacing-0-5) + var(--astryx-border-width));
252
+ inset-block-start: calc(30px + var(--level, 0) * 29px);
253
+ display: flex;
254
+ align-items: center;
255
+ min-width: 0;
256
+ overflow: hidden;
257
+ border: var(--astryx-border-width) solid transparent;
258
+ border-radius: var(--astryx-radius-inner);
259
+ padding: var(--astryx-spacing-0-5) var(--astryx-spacing-1-5);
260
+ font-size: var(--astryx-text-supporting-size);
261
+ line-height: var(--astryx-text-supporting-leading);
262
+ font-weight: var(--astryx-font-weight-medium);
263
+ color: var(--astryx-color-text-secondary);
264
+ text-overflow: ellipsis;
265
+ white-space: nowrap;
266
+ background: transparent;
267
+ }
268
+
269
+ .astryx-schedule__more:hover {
270
+ background: var(--astryx-color-overlay-hover);
271
+ }
272
+
273
+ .astryx-schedule__more:focus-visible {
274
+ z-index: 2;
275
+ }
276
+
277
+ .astryx-schedule__event-button {
278
+ appearance: none;
279
+ display: block;
280
+ justify-self: stretch;
281
+ margin: 0;
282
+ padding: 0;
283
+ border: 0;
284
+ background: transparent;
285
+ color: inherit;
286
+ font: inherit;
287
+ text-align: start;
288
+ cursor: pointer;
289
+ }
290
+
291
+ .astryx-schedule__event-button:focus-visible {
292
+ outline: var(--astryx-focus-outline-width) var(--astryx-focus-outline-style) var(--astryx-focus-outline-color);
293
+ z-index: 1;
294
+ }
295
+
296
+ .astryx-schedule__pill {
297
+ display: flex;
298
+ align-items: center;
299
+ gap: var(--astryx-spacing-1);
300
+ min-width: 0;
301
+ border: var(--astryx-border-width) solid transparent;
302
+ border-radius: var(--astryx-radius-inner);
303
+ padding: var(--astryx-spacing-0-5) var(--astryx-spacing-1-5);
304
+ font-size: var(--astryx-text-supporting-size);
305
+ line-height: var(--astryx-text-supporting-leading);
306
+ font-weight: var(--astryx-font-weight-medium);
307
+ }
308
+
309
+ .astryx-schedule__title-line {
310
+ display: flex;
311
+ flex-wrap: wrap;
312
+ align-items: baseline;
313
+ column-gap: var(--astryx-spacing-1);
314
+ flex-grow: 1;
315
+ min-width: 0;
316
+ block-size: calc(var(--astryx-text-supporting-size) * var(--astryx-text-supporting-leading));
317
+ overflow: hidden;
318
+ }
319
+
320
+ .astryx-schedule__pill-title {
321
+ min-width: 0;
322
+ max-width: 100%;
323
+ overflow: hidden;
324
+ text-overflow: ellipsis;
325
+ white-space: nowrap;
326
+ }
327
+
328
+ .astryx-schedule__pill-time,
329
+ .astryx-schedule__event-time {
330
+ flex-shrink: 0;
331
+ white-space: nowrap;
332
+ opacity: 0.8;
333
+ }
334
+
335
+ .astryx-schedule__time-frame {
336
+ position: relative;
337
+ display: flex;
338
+ flex-direction: column;
339
+ flex: 1 1 640px;
340
+ min-height: 0;
341
+ min-width: 0;
342
+ }
343
+
344
+ .astryx-schedule__time-grid {
345
+ flex: 1 1 0;
346
+ min-height: 0;
347
+ min-width: 0;
348
+ overflow: auto;
349
+ scrollbar-gutter: stable;
350
+ isolation: isolate;
351
+ outline: none;
352
+ }
353
+
354
+ .astryx-schedule__time-grid:focus-visible + .astryx-schedule__time-ring {
355
+ outline: var(--astryx-focus-outline-width) var(--astryx-focus-outline-style) var(--astryx-focus-outline-color);
356
+ }
357
+
358
+ .astryx-schedule__time-ring {
359
+ position: absolute;
360
+ inset: 0;
361
+ pointer-events: none;
362
+ outline-offset: calc(-1 * var(--astryx-focus-outline-width));
363
+ }
364
+
365
+ .astryx-schedule__time-content {
366
+ display: grid;
367
+ width: 100%;
368
+ grid-template-columns: 60px repeat(var(--days, 1), minmax(0, 1fr));
369
+ grid-template-rows: 56px auto auto;
370
+ }
371
+
372
+ @container (max-width: 560px) {
373
+ .astryx-schedule__time-content {
374
+ width: max(100%, calc(60px + var(--days, 1) * 140px));
375
+ grid-template-columns: 60px repeat(var(--days, 1), minmax(140px, 1fr));
376
+ }
377
+ }
378
+
379
+ .astryx-schedule__time-corner,
380
+ .astryx-schedule__time-head,
381
+ .astryx-schedule__all-day-label,
382
+ .astryx-schedule__hours {
383
+ background: var(--astryx-color-background-card);
384
+ border-inline-end: var(--astryx-border-width) solid var(--astryx-color-border);
385
+ }
386
+
387
+ .astryx-schedule__time-corner,
388
+ .astryx-schedule__time-head {
389
+ grid-row: 1;
390
+ position: sticky;
391
+ inset-block-start: 0;
392
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
393
+ }
394
+
395
+ .astryx-schedule__time-corner {
396
+ grid-column: 1;
397
+ inset-inline-start: 0;
398
+ z-index: 3;
399
+ }
400
+
401
+ .astryx-schedule__time-head {
402
+ z-index: 2;
403
+ display: flex;
404
+ align-items: center;
405
+ justify-content: center;
406
+ min-width: 0;
407
+ }
408
+
409
+ .astryx-schedule__time-head.is-last,
410
+ .astryx-schedule__all-day-cell.is-last,
411
+ .astryx-schedule__column.is-last {
412
+ border-inline-end-width: 0;
413
+ }
414
+
415
+ .astryx-schedule__time-head-line {
416
+ display: inline-flex;
417
+ align-items: center;
418
+ gap: var(--astryx-spacing-1);
419
+ }
420
+
421
+ .astryx-schedule__time-date.is-current {
422
+ display: inline-flex;
423
+ align-items: center;
424
+ justify-content: center;
425
+ min-width: 30px;
426
+ height: 30px;
427
+ line-height: 30px;
428
+ border-radius: var(--astryx-radius-full);
429
+ color: var(--astryx-color-on-accent);
430
+ background: var(--astryx-color-accent);
431
+ }
432
+
433
+ .astryx-schedule__all-day-label,
434
+ .astryx-schedule__all-day {
435
+ grid-row: 2;
436
+ position: sticky;
437
+ inset-block-start: 56px;
438
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
439
+ background: var(--astryx-color-background-card);
440
+ }
441
+
442
+ .astryx-schedule__all-day-label {
443
+ grid-column: 1;
444
+ inset-inline-start: 0;
445
+ z-index: 3;
446
+ display: flex;
447
+ align-items: center;
448
+ justify-content: flex-end;
449
+ padding: var(--astryx-spacing-1) var(--astryx-spacing-2);
450
+ }
451
+
452
+ .astryx-schedule__all-day {
453
+ grid-column: 2 / -1;
454
+ display: grid;
455
+ grid-template-columns: subgrid;
456
+ z-index: 2;
457
+ isolation: isolate;
458
+ min-height: max(26px, calc(3px + var(--levels, 0) * 27px));
459
+ min-width: 0;
460
+ }
461
+
462
+ .astryx-schedule__all-day-cell {
463
+ grid-row: 1;
464
+ min-width: 0;
465
+ border-inline-end: var(--astryx-border-width) solid var(--astryx-color-border);
466
+ }
467
+
468
+ .astryx-schedule__all-day-span {
469
+ grid-row: 1;
470
+ align-self: start;
471
+ min-width: 0;
472
+ margin-inline-start: var(--astryx-spacing-0-5);
473
+ margin-inline-end: calc(var(--astryx-spacing-0-5) + var(--astryx-border-width));
474
+ }
475
+
476
+ .astryx-schedule__hours {
477
+ grid-column: 1;
478
+ grid-row: 3;
479
+ position: sticky;
480
+ inset-inline-start: 0;
481
+ z-index: 2;
482
+ }
483
+
484
+ .astryx-schedule__hour {
485
+ position: absolute;
486
+ inset-inline: 0;
487
+ transform: translateY(-50%);
488
+ padding-inline: var(--astryx-spacing-1);
489
+ color: var(--astryx-color-text-secondary);
490
+ font-size: var(--astryx-text-supporting-size);
491
+ line-height: var(--astryx-text-supporting-leading);
492
+ text-align: end;
493
+ }
494
+
495
+ .astryx-schedule__column {
496
+ grid-row: 3;
497
+ position: relative;
498
+ isolation: isolate;
499
+ display: grid;
500
+ grid-auto-rows: var(--hour, 100px);
501
+ min-width: 0;
502
+ border-inline-end: var(--astryx-border-width) solid var(--astryx-color-border);
503
+ }
504
+
505
+ .astryx-schedule__slot {
506
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
507
+ }
508
+
509
+ .astryx-schedule__slot.is-last {
510
+ border-bottom-width: 0;
511
+ }
512
+
513
+ .astryx-schedule__block {
514
+ position: absolute;
515
+ display: flex;
516
+ flex-direction: column;
517
+ min-height: 24px;
518
+ min-width: 0;
519
+ overflow: hidden;
520
+ container-type: inline-size;
521
+ border: var(--astryx-border-width) solid transparent;
522
+ border-radius: var(--astryx-radius-inner);
523
+ padding: var(--astryx-spacing-0-5) var(--astryx-spacing-1) var(--astryx-spacing-1);
524
+ font-size: var(--astryx-text-supporting-size);
525
+ line-height: var(--astryx-text-supporting-leading);
526
+ font-weight: var(--astryx-font-weight-medium);
527
+ }
528
+
529
+ @container (max-width: 72px) {
530
+ .astryx-schedule__block .astryx-schedule__event-time {
531
+ display: none;
532
+ }
533
+ }
534
+
535
+ .astryx-schedule__now {
536
+ position: absolute;
537
+ inset-inline: 0;
538
+ border-top: 2px solid var(--astryx-color-border-orange);
539
+ z-index: 1;
540
+ pointer-events: none;
541
+ }
542
+
543
+ .astryx-schedule__now::before {
544
+ content: '';
545
+ position: absolute;
546
+ inset-inline-start: -6px;
547
+ top: -6px;
548
+ width: 10px;
549
+ height: 10px;
550
+ border-radius: var(--astryx-radius-full);
551
+ background: var(--astryx-color-border-orange);
552
+ }
553
+
554
+ .astryx-schedule__list {
555
+ display: flex;
556
+ flex-direction: column;
557
+ }
558
+
559
+ .astryx-schedule__list-day {
560
+ display: grid;
561
+ grid-template-columns: 88px minmax(0, 1fr);
562
+ align-items: start;
563
+ column-gap: var(--astryx-spacing-3);
564
+ padding: var(--astryx-spacing-3);
565
+ border-bottom: var(--astryx-border-width) solid var(--astryx-color-border);
566
+ }
567
+
568
+ .astryx-schedule__list-day.is-last {
569
+ border-bottom-width: 0;
570
+ }
571
+
572
+ .astryx-schedule__list-heading {
573
+ display: inline-flex;
574
+ align-items: center;
575
+ column-gap: var(--astryx-spacing-2);
576
+ margin-block-start: calc(var(--astryx-spacing-1) * -1);
577
+ margin-inline-start: calc(var(--astryx-spacing-1) * -1);
578
+ }
579
+
580
+ .astryx-schedule__list-number {
581
+ display: inline-flex;
582
+ align-items: center;
583
+ justify-content: flex-end;
584
+ width: 30px;
585
+ height: 30px;
586
+ border-radius: var(--astryx-radius-full);
587
+ }
588
+
589
+ .astryx-schedule__list-number.is-current {
590
+ justify-content: center;
591
+ color: var(--astryx-color-on-accent);
592
+ background: var(--astryx-color-accent);
593
+ }
594
+
595
+ .astryx-schedule__list-number-text {
596
+ font-weight: var(--astryx-font-weight-bold);
597
+ }
598
+
599
+ .astryx-schedule__list-events {
600
+ display: flex;
601
+ flex-direction: column;
602
+ gap: var(--astryx-spacing-2);
603
+ min-width: 0;
604
+ }
605
+
606
+ .astryx-schedule__list-now {
607
+ position: relative;
608
+ height: 10px;
609
+ margin-block: var(--astryx-spacing-0-5);
610
+ }
611
+
612
+ .astryx-schedule__list-now::before {
613
+ content: '';
614
+ position: absolute;
615
+ inset-inline: 0;
616
+ top: 4px;
617
+ border-top: 2px solid var(--astryx-color-border-orange);
618
+ }
619
+
620
+ .astryx-schedule__list-now::after {
621
+ content: '';
622
+ position: absolute;
623
+ inset-inline-start: -1px;
624
+ top: 0;
625
+ width: 10px;
626
+ height: 10px;
627
+ border-radius: var(--astryx-radius-full);
628
+ background: var(--astryx-color-border-orange);
629
+ }
630
+
631
+ .astryx-schedule__list-row {
632
+ display: grid;
633
+ grid-template-columns: 12px 144px minmax(0, 1fr);
634
+ align-items: center;
635
+ gap: var(--astryx-spacing-2);
636
+ min-width: 0;
637
+ }
638
+
639
+ .astryx-schedule__dot {
640
+ width: 10px;
641
+ height: 10px;
642
+ border-radius: var(--astryx-radius-full);
643
+ }
644
+
645
+ .astryx-schedule__list-time {
646
+ color: var(--astryx-color-text-secondary);
647
+ font-size: var(--astryx-text-supporting-size);
648
+ line-height: var(--astryx-text-supporting-leading);
649
+ white-space: nowrap;
650
+ }
651
+
652
+ .astryx-schedule__list-title {
653
+ min-width: 0;
654
+ overflow: hidden;
655
+ text-overflow: ellipsis;
656
+ white-space: nowrap;
657
+ font-size: var(--astryx-text-body-size);
658
+ line-height: var(--astryx-text-body-leading);
659
+ font-weight: var(--astryx-font-weight-medium);
660
+ }
661
+
662
+ .astryx-schedule__day-popover,
663
+ .astryx-schedule__day-events {
664
+ display: flex;
665
+ flex-direction: column;
666
+ gap: var(--astryx-spacing-2);
667
+ }
668
+
669
+ .astryx-schedule__day-popover {
670
+ max-inline-size: 360px;
671
+ }
672
+
673
+ .astryx-schedule__day-events {
674
+ margin: 0;
675
+ padding: 0;
676
+ list-style: none;
677
+ }
678
+
679
+ .astryx-schedule__day-event {
680
+ width: 100%;
681
+ border-radius: var(--astryx-radius-inner);
682
+ }
683
+
684
+ .astryx-schedule__day-event:hover {
685
+ background: var(--astryx-color-overlay-hover);
686
+ }
687
+
688
+ .astryx-schedule__pill[data-color='blue'],
689
+ .astryx-schedule__block[data-color='blue'] {
690
+ color: var(--astryx-color-text-blue);
691
+ border-color: var(--astryx-color-border-blue);
692
+ background: color-mix(in srgb, var(--astryx-color-border-blue) 20%, var(--astryx-color-background-card));
693
+ }
694
+
695
+ .astryx-schedule__pill[data-color='cyan'],
696
+ .astryx-schedule__block[data-color='cyan'] {
697
+ color: var(--astryx-color-text-cyan);
698
+ border-color: var(--astryx-color-border-cyan);
699
+ background: color-mix(in srgb, var(--astryx-color-border-cyan) 20%, var(--astryx-color-background-card));
700
+ }
701
+
702
+ .astryx-schedule__pill[data-color='green'],
703
+ .astryx-schedule__block[data-color='green'] {
704
+ color: var(--astryx-color-text-green);
705
+ border-color: var(--astryx-color-border-green);
706
+ background: color-mix(in srgb, var(--astryx-color-border-green) 20%, var(--astryx-color-background-card));
707
+ }
708
+
709
+ .astryx-schedule__pill[data-color='orange'],
710
+ .astryx-schedule__block[data-color='orange'] {
711
+ color: var(--astryx-color-text-orange);
712
+ border-color: var(--astryx-color-border-orange);
713
+ background: color-mix(in srgb, var(--astryx-color-border-orange) 20%, var(--astryx-color-background-card));
714
+ }
715
+
716
+ .astryx-schedule__pill[data-color='pink'],
717
+ .astryx-schedule__block[data-color='pink'] {
718
+ color: var(--astryx-color-text-pink);
719
+ border-color: var(--astryx-color-border-pink);
720
+ background: color-mix(in srgb, var(--astryx-color-border-pink) 20%, var(--astryx-color-background-card));
721
+ }
722
+
723
+ .astryx-schedule__pill[data-color='purple'],
724
+ .astryx-schedule__block[data-color='purple'] {
725
+ color: var(--astryx-color-text-purple);
726
+ border-color: var(--astryx-color-border-purple);
727
+ background: color-mix(in srgb, var(--astryx-color-border-purple) 20%, var(--astryx-color-background-card));
728
+ }
729
+
730
+ .astryx-schedule__pill[data-color='red'],
731
+ .astryx-schedule__block[data-color='red'] {
732
+ color: var(--astryx-color-text-red);
733
+ border-color: var(--astryx-color-border-red);
734
+ background: color-mix(in srgb, var(--astryx-color-border-red) 20%, var(--astryx-color-background-card));
735
+ }
736
+
737
+ .astryx-schedule__pill[data-color='teal'],
738
+ .astryx-schedule__block[data-color='teal'] {
739
+ color: var(--astryx-color-text-teal);
740
+ border-color: var(--astryx-color-border-teal);
741
+ background: color-mix(in srgb, var(--astryx-color-border-teal) 20%, var(--astryx-color-background-card));
742
+ }
743
+
744
+ .astryx-schedule__pill[data-color='yellow'],
745
+ .astryx-schedule__block[data-color='yellow'] {
746
+ color: var(--astryx-color-text-yellow);
747
+ border-color: var(--astryx-color-border-yellow);
748
+ background: color-mix(in srgb, var(--astryx-color-border-yellow) 20%, var(--astryx-color-background-card));
749
+ }
750
+
751
+ .astryx-schedule__pill[data-color='gray'],
752
+ .astryx-schedule__block[data-color='gray'] {
753
+ color: var(--astryx-color-text-gray);
754
+ border-color: var(--astryx-color-border-gray);
755
+ background: color-mix(in srgb, var(--astryx-color-border-gray) 20%, var(--astryx-color-background-card));
756
+ }
757
+
758
+ .astryx-schedule__pill[data-color='blue'][data-past='true'],
759
+ .astryx-schedule__block[data-color='blue'][data-past='true'] {
760
+ color: color-mix(in srgb, var(--astryx-color-text-blue) 52%, var(--astryx-color-text-secondary));
761
+ border-color: color-mix(in srgb, var(--astryx-color-border-blue) 48%, var(--astryx-color-border));
762
+ background: color-mix(in srgb, var(--astryx-color-border-blue) 10%, var(--astryx-color-background-card));
763
+ }
764
+
765
+ .astryx-schedule__pill[data-color='cyan'][data-past='true'],
766
+ .astryx-schedule__block[data-color='cyan'][data-past='true'] {
767
+ color: color-mix(in srgb, var(--astryx-color-text-cyan) 52%, var(--astryx-color-text-secondary));
768
+ border-color: color-mix(in srgb, var(--astryx-color-border-cyan) 48%, var(--astryx-color-border));
769
+ background: color-mix(in srgb, var(--astryx-color-border-cyan) 10%, var(--astryx-color-background-card));
770
+ }
771
+
772
+ .astryx-schedule__pill[data-color='green'][data-past='true'],
773
+ .astryx-schedule__block[data-color='green'][data-past='true'] {
774
+ color: color-mix(in srgb, var(--astryx-color-text-green) 52%, var(--astryx-color-text-secondary));
775
+ border-color: color-mix(in srgb, var(--astryx-color-border-green) 48%, var(--astryx-color-border));
776
+ background: color-mix(in srgb, var(--astryx-color-border-green) 10%, var(--astryx-color-background-card));
777
+ }
778
+
779
+ .astryx-schedule__pill[data-color='orange'][data-past='true'],
780
+ .astryx-schedule__block[data-color='orange'][data-past='true'] {
781
+ color: color-mix(in srgb, var(--astryx-color-text-orange) 52%, var(--astryx-color-text-secondary));
782
+ border-color: color-mix(in srgb, var(--astryx-color-border-orange) 48%, var(--astryx-color-border));
783
+ background: color-mix(in srgb, var(--astryx-color-border-orange) 10%, var(--astryx-color-background-card));
784
+ }
785
+
786
+ .astryx-schedule__pill[data-color='pink'][data-past='true'],
787
+ .astryx-schedule__block[data-color='pink'][data-past='true'] {
788
+ color: color-mix(in srgb, var(--astryx-color-text-pink) 52%, var(--astryx-color-text-secondary));
789
+ border-color: color-mix(in srgb, var(--astryx-color-border-pink) 48%, var(--astryx-color-border));
790
+ background: color-mix(in srgb, var(--astryx-color-border-pink) 10%, var(--astryx-color-background-card));
791
+ }
792
+
793
+ .astryx-schedule__pill[data-color='purple'][data-past='true'],
794
+ .astryx-schedule__block[data-color='purple'][data-past='true'] {
795
+ color: color-mix(in srgb, var(--astryx-color-text-purple) 52%, var(--astryx-color-text-secondary));
796
+ border-color: color-mix(in srgb, var(--astryx-color-border-purple) 48%, var(--astryx-color-border));
797
+ background: color-mix(in srgb, var(--astryx-color-border-purple) 10%, var(--astryx-color-background-card));
798
+ }
799
+
800
+ .astryx-schedule__pill[data-color='red'][data-past='true'],
801
+ .astryx-schedule__block[data-color='red'][data-past='true'] {
802
+ color: color-mix(in srgb, var(--astryx-color-text-red) 52%, var(--astryx-color-text-secondary));
803
+ border-color: color-mix(in srgb, var(--astryx-color-border-red) 48%, var(--astryx-color-border));
804
+ background: color-mix(in srgb, var(--astryx-color-border-red) 10%, var(--astryx-color-background-card));
805
+ }
806
+
807
+ .astryx-schedule__pill[data-color='teal'][data-past='true'],
808
+ .astryx-schedule__block[data-color='teal'][data-past='true'] {
809
+ color: color-mix(in srgb, var(--astryx-color-text-teal) 52%, var(--astryx-color-text-secondary));
810
+ border-color: color-mix(in srgb, var(--astryx-color-border-teal) 48%, var(--astryx-color-border));
811
+ background: color-mix(in srgb, var(--astryx-color-border-teal) 10%, var(--astryx-color-background-card));
812
+ }
813
+
814
+ .astryx-schedule__pill[data-color='yellow'][data-past='true'],
815
+ .astryx-schedule__block[data-color='yellow'][data-past='true'] {
816
+ color: color-mix(in srgb, var(--astryx-color-text-yellow) 52%, var(--astryx-color-text-secondary));
817
+ border-color: color-mix(in srgb, var(--astryx-color-border-yellow) 48%, var(--astryx-color-border));
818
+ background: color-mix(in srgb, var(--astryx-color-border-yellow) 10%, var(--astryx-color-background-card));
819
+ }
820
+
821
+ .astryx-schedule__pill[data-color='gray'][data-past='true'],
822
+ .astryx-schedule__block[data-color='gray'][data-past='true'] {
823
+ color: var(--astryx-color-text-secondary);
824
+ border-color: var(--astryx-color-border);
825
+ background: color-mix(in srgb, var(--astryx-color-border-gray) 10%, var(--astryx-color-background-card));
826
+ }
827
+
828
+ .astryx-schedule__dot[data-color='blue'] { background: var(--astryx-color-border-blue); }
829
+ .astryx-schedule__dot[data-color='cyan'] { background: var(--astryx-color-border-cyan); }
830
+ .astryx-schedule__dot[data-color='green'] { background: var(--astryx-color-border-green); }
831
+ .astryx-schedule__dot[data-color='orange'] { background: var(--astryx-color-border-orange); }
832
+ .astryx-schedule__dot[data-color='pink'] { background: var(--astryx-color-border-pink); }
833
+ .astryx-schedule__dot[data-color='purple'] { background: var(--astryx-color-border-purple); }
834
+ .astryx-schedule__dot[data-color='red'] { background: var(--astryx-color-border-red); }
835
+ .astryx-schedule__dot[data-color='teal'] { background: var(--astryx-color-border-teal); }
836
+ .astryx-schedule__dot[data-color='yellow'] { background: var(--astryx-color-border-yellow); }
837
+ .astryx-schedule__dot[data-color='gray'] { background: var(--astryx-color-text-secondary); }
838
+ }