@nomideusz/svelte-calendar 1.3.0 → 1.4.1
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.
- package/README.md +164 -91
- package/dist/adapters/mapped.d.ts +7 -7
- package/dist/adapters/mapped.js +5 -2
- package/dist/adapters/memory.d.ts +7 -6
- package/dist/adapters/memory.js +3 -4
- package/dist/adapters/recurring.d.ts +6 -6
- package/dist/adapters/recurring.js +12 -14
- package/dist/calendar/Calendar.svelte +65 -18
- package/dist/calendar/Calendar.svelte.d.ts +1 -1
- package/dist/core/locale.d.ts +5 -0
- package/dist/core/locale.js +68 -17
- package/dist/primitives/DayHeader.svelte +9 -9
- package/dist/primitives/EmptySlot.svelte +6 -6
- package/dist/primitives/EventBlock.svelte +19 -19
- package/dist/primitives/FloatingPanel.svelte +4 -4
- package/dist/primitives/NowIndicator.svelte +5 -5
- package/dist/primitives/TimeGutter.svelte +4 -4
- package/dist/theme/auto.d.ts +5 -0
- package/dist/theme/auto.js +32 -4
- package/dist/views/agenda/AgendaDay.svelte +83 -74
- package/dist/views/agenda/AgendaWeek.svelte +53 -52
- package/dist/views/mobile/MobileDay.svelte +34 -34
- package/dist/views/mobile/MobileWeek.svelte +41 -41
- package/dist/views/month/MonthGrid.svelte +49 -23
- package/dist/views/planner/PlannerScroll.svelte +47 -47
- package/dist/views/planner/PlannerWeek.svelte +101 -73
- package/dist/views/shared/context.svelte.d.ts +2 -0
- package/dist/views/shared/context.svelte.js +1 -0
- package/package.json +1 -1
- package/widget/widget.js +376 -223
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* Clean numbered schedule list.
|
|
13
13
|
*/
|
|
14
14
|
import { createClock } from "../../core/clock.svelte.js";
|
|
15
|
-
import { sod, addDaysMs,
|
|
16
|
-
import { weekdayLong, monthLong } from "../../core/locale.js";
|
|
15
|
+
import { sod, addDaysMs, isAllDay } from "../../core/time.js";
|
|
16
|
+
import { weekdayLong, monthLong, fmtDayNum } from "../../core/locale.js";
|
|
17
17
|
import { useCalendarContext } from "../shared/context.svelte.js";
|
|
18
18
|
import EventContent from "../shared/EventContent.svelte";
|
|
19
19
|
import { fmtTime, duration, timeUntilMs, progress, groupIntoSlots } from "../shared/format.js";
|
|
@@ -136,7 +136,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
136
136
|
<!-- ─── In-view date header (only when the chrome doesn't label the day) ─── -->
|
|
137
137
|
{#if !hideDayHead}
|
|
138
138
|
<div class="ag-day-head" class:ag-day-head--today={!equalDays && isToday}>
|
|
139
|
-
<span class="ag-day-head-num">{
|
|
139
|
+
<span class="ag-day-head-num">{fmtDayNum(dayMs, locale)}</span>
|
|
140
140
|
{#if !equalDays && isToday}
|
|
141
141
|
<span class="ag-day-head-badge">{L.today}</span>
|
|
142
142
|
{:else if !equalDays && isTomorrow}
|
|
@@ -184,7 +184,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
184
184
|
class:ag-compact-row--selected={selectedEventId === ev.id}
|
|
185
185
|
class:ag-compact-row--cancelled={ev.status === 'cancelled'}
|
|
186
186
|
class:ag-compact-row--tentative={ev.status === 'tentative'}
|
|
187
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
187
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
188
188
|
aria-label="{ev.title}{statusText(ev)}, {fmt(ev.start)}, {duration(ev)}"
|
|
189
189
|
onclick={() => handleClick(ev)}
|
|
190
190
|
onpointerenter={() => oneventhover?.(ev)}
|
|
@@ -221,7 +221,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
221
221
|
type="button"
|
|
222
222
|
class="ag-q-now"
|
|
223
223
|
class:ag-q-now--selected={selectedEventId === ev.id}
|
|
224
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
224
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
225
225
|
aria-label="{ev.title}, {L.happeningNow}, {L.percentComplete(Math.round(prog(ev) * 100))}"
|
|
226
226
|
onclick={() => handleClick(ev)}
|
|
227
227
|
onpointerenter={() => oneventhover?.(ev)}
|
|
@@ -252,7 +252,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
252
252
|
aria-label="{ev.title}, {L.completed}, {fmt(ev.start)}"
|
|
253
253
|
onclick={() => handleClick(ev)}
|
|
254
254
|
>
|
|
255
|
-
<span class="ag-q-done-check">✓</span>
|
|
255
|
+
<span class="ag-q-done-check" aria-hidden="true">✓</span>
|
|
256
256
|
<span class="ag-q-done-title">{ev.title}</span>
|
|
257
257
|
</button>
|
|
258
258
|
{/each}
|
|
@@ -279,7 +279,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
279
279
|
type="button"
|
|
280
280
|
class="ag-compact-row ag-compact-row--queue"
|
|
281
281
|
class:ag-compact-row--selected={selectedEventId === ev.id}
|
|
282
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
282
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
283
283
|
aria-label="{ev.title}{statusText(ev)}, {fmt(ev.start)}, {duration(ev)}"
|
|
284
284
|
onclick={() => handleClick(ev)}
|
|
285
285
|
onpointerenter={() => oneventhover?.(ev)}
|
|
@@ -300,7 +300,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
300
300
|
class="ag-card ag-card--q"
|
|
301
301
|
class:ag-card--hero={i === 0}
|
|
302
302
|
class:ag-card--selected={selectedEventId === ev.id}
|
|
303
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
303
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
304
304
|
aria-label="{ev.title}{statusText(ev)}, {fmt(ev.start)}, {duration(ev)}"
|
|
305
305
|
onclick={() => handleClick(ev)}
|
|
306
306
|
onpointerenter={() => oneventhover?.(ev)}
|
|
@@ -348,14 +348,14 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
348
348
|
class="ag-log-row"
|
|
349
349
|
class:ag-log-row--selected={selectedEventId === ev.id}
|
|
350
350
|
class:ag-log-row--cancelled={ev.status === 'cancelled'}
|
|
351
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
351
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
352
352
|
aria-label="{ev.title}{statusText(ev)}, {fmt(ev.start)} – {fmt(ev.end)}"
|
|
353
353
|
onclick={() => handleClick(ev)}
|
|
354
354
|
onpointerenter={() => oneventhover?.(ev)}
|
|
355
355
|
>
|
|
356
|
-
<span class="ag-log-check">✓</span>
|
|
356
|
+
<span class="ag-log-check" aria-hidden="true">✓</span>
|
|
357
357
|
<span class="ag-log-time">{fmt(ev.start)}</span>
|
|
358
|
-
<span class="ag-log-dot" style:background={ev.color || 'var(--dt-accent)'}></span>
|
|
358
|
+
<span class="ag-log-dot" style:background={ev.color || 'var(--dt-event, var(--dt-accent))'}></span>
|
|
359
359
|
<span class="ag-log-title">{ev.title}</span>
|
|
360
360
|
<span class="ag-log-dur">{duration(ev)}</span>
|
|
361
361
|
</button>
|
|
@@ -381,7 +381,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
381
381
|
class:ag-card--tentative={ev.status === 'tentative'}
|
|
382
382
|
class:ag-card--full={ev.status === 'full'}
|
|
383
383
|
class:ag-card--limited={ev.status === 'limited'}
|
|
384
|
-
style:--ev-color={ev.color || 'var(--dt-accent)'}
|
|
384
|
+
style:--ev-color={ev.color || 'var(--dt-event, var(--dt-accent))'}
|
|
385
385
|
aria-label="{ev.title}{statusText(ev)}, {fmt(ev.start)} – {fmt(ev.end)}, {duration(ev)}"
|
|
386
386
|
onclick={() => handleClick(ev)}
|
|
387
387
|
onpointerenter={() => oneventhover?.(ev)}
|
|
@@ -431,7 +431,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
431
431
|
width: 100%;
|
|
432
432
|
min-width: 0;
|
|
433
433
|
box-sizing: border-box;
|
|
434
|
-
color: var(--dt-text, rgba(
|
|
434
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
435
435
|
font-family: var(--dt-sans, system-ui, sans-serif);
|
|
436
436
|
}
|
|
437
437
|
|
|
@@ -463,8 +463,8 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
463
463
|
135deg,
|
|
464
464
|
transparent,
|
|
465
465
|
transparent 6px,
|
|
466
|
-
color-mix(in srgb, var(--dt-text, rgba(
|
|
467
|
-
color-mix(in srgb, var(--dt-text, rgba(
|
|
466
|
+
color-mix(in srgb, var(--dt-text, rgba(15, 15, 15, 0.87)) 4%, transparent) 6px,
|
|
467
|
+
color-mix(in srgb, var(--dt-text, rgba(15, 15, 15, 0.87)) 4%, transparent) 12px
|
|
468
468
|
);
|
|
469
469
|
}
|
|
470
470
|
|
|
@@ -498,7 +498,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
498
498
|
font-stretch: 90%;
|
|
499
499
|
letter-spacing: -0.02em;
|
|
500
500
|
font-variant-numeric: tabular-nums;
|
|
501
|
-
color: var(--dt-text, rgba(
|
|
501
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
502
502
|
margin-inline-end: 4px;
|
|
503
503
|
}
|
|
504
504
|
.ag-day-head-badge,
|
|
@@ -506,19 +506,19 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
506
506
|
font: 500 12px/1 var(--dt-sans, system-ui, sans-serif);
|
|
507
507
|
letter-spacing: 0.08em;
|
|
508
508
|
text-transform: uppercase;
|
|
509
|
-
color: var(--dt-text-2, rgba(
|
|
509
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
510
510
|
}
|
|
511
511
|
.ag-day-head--today .ag-day-head-num,
|
|
512
512
|
.ag-day-head--today .ag-day-head-name,
|
|
513
513
|
.ag-day-head-badge {
|
|
514
|
-
color: var(--dt-accent, #
|
|
514
|
+
color: var(--dt-accent, #1d4fd7);
|
|
515
515
|
}
|
|
516
516
|
.ag-day-head .ag-day-head-badge--muted {
|
|
517
|
-
color: var(--dt-text-2, rgba(
|
|
517
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
518
518
|
}
|
|
519
519
|
.ag-day-head-date {
|
|
520
520
|
font: 400 12.5px/1 var(--dt-sans, system-ui, sans-serif);
|
|
521
|
-
color: var(--dt-text-2, rgba(
|
|
521
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
522
522
|
}
|
|
523
523
|
.ag--auto .ag-body { overflow-y: visible; min-height: auto; }
|
|
524
524
|
.ag-body::-webkit-scrollbar {
|
|
@@ -535,13 +535,13 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
535
535
|
align-items: center;
|
|
536
536
|
gap: 8px;
|
|
537
537
|
padding: 6px 16px;
|
|
538
|
-
border-bottom: 1px solid var(--dt-border, rgba(
|
|
538
|
+
border-bottom: 1px solid var(--dt-border, rgba(15, 15, 15, 0.08));
|
|
539
539
|
}
|
|
540
540
|
.ag-allday-label {
|
|
541
541
|
font: 500 12px/1 var(--dt-sans, system-ui, sans-serif);
|
|
542
542
|
text-transform: uppercase;
|
|
543
543
|
letter-spacing: 0.08em;
|
|
544
|
-
color: var(--dt-text-2, rgba(
|
|
544
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
545
545
|
white-space: nowrap;
|
|
546
546
|
flex-shrink: 0;
|
|
547
547
|
}
|
|
@@ -562,13 +562,22 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
562
562
|
color: var(--dt-btn-text, #fff);
|
|
563
563
|
cursor: pointer;
|
|
564
564
|
}
|
|
565
|
+
@media (pointer: coarse) {
|
|
566
|
+
.ag-allday-chip {
|
|
567
|
+
min-height: 44px;
|
|
568
|
+
}
|
|
569
|
+
.ag-q-done-item {
|
|
570
|
+
min-height: 44px;
|
|
571
|
+
align-items: center;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
565
574
|
.ag-allday-chip:hover,
|
|
566
575
|
.ag-allday-chip:active {
|
|
567
576
|
filter: brightness(1.08);
|
|
568
577
|
}
|
|
569
578
|
.ag-allday-chip:focus-visible {
|
|
570
579
|
outline: none;
|
|
571
|
-
box-shadow: inset 0 0 0 2px var(--dt-btn-text, #fff), 0 0 0 2px var(--dt-accent, #
|
|
580
|
+
box-shadow: inset 0 0 0 2px var(--dt-btn-text, #fff), 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
572
581
|
}
|
|
573
582
|
.ag-allday-chip--selected {
|
|
574
583
|
box-shadow: inset 0 0 0 2px var(--dt-btn-text, #fff);
|
|
@@ -592,7 +601,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
592
601
|
border-radius: 0;
|
|
593
602
|
background: transparent;
|
|
594
603
|
border: none;
|
|
595
|
-
border-bottom: 1px solid var(--dt-border, rgba(
|
|
604
|
+
border-bottom: 1px solid var(--dt-border, rgba(15, 15, 15, 0.3));
|
|
596
605
|
overflow: hidden;
|
|
597
606
|
cursor: pointer;
|
|
598
607
|
transition: background 150ms, box-shadow 150ms;
|
|
@@ -608,18 +617,18 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
608
617
|
}
|
|
609
618
|
.ag-card:hover,
|
|
610
619
|
.ag-card:active {
|
|
611
|
-
background: var(--dt-hover, rgba(
|
|
620
|
+
background: var(--dt-hover, rgba(15, 15, 15, 0.04));
|
|
612
621
|
}
|
|
613
622
|
.ag-card:focus-visible {
|
|
614
623
|
outline: none;
|
|
615
|
-
box-shadow: 0 0 0 2px var(--dt-accent, #
|
|
624
|
+
box-shadow: 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
616
625
|
}
|
|
617
626
|
.ag-card--selected {
|
|
618
627
|
box-shadow: inset 0 0 0 1px var(--ev-color);
|
|
619
628
|
}
|
|
620
629
|
.ag-card--cancelled .ag-card-title {
|
|
621
630
|
text-decoration: line-through;
|
|
622
|
-
color: var(--dt-text-2, rgba(
|
|
631
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.54));
|
|
623
632
|
}
|
|
624
633
|
.ag-card--cancelled::before,
|
|
625
634
|
.ag-card--full::before {
|
|
@@ -628,7 +637,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
628
637
|
.ag-card--tentative .ag-card-title,
|
|
629
638
|
.ag-card--limited .ag-card-title,
|
|
630
639
|
.ag-card--full .ag-card-title {
|
|
631
|
-
color: var(--dt-text-2, rgba(
|
|
640
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.54));
|
|
632
641
|
}
|
|
633
642
|
.ag-card--tentative::before,
|
|
634
643
|
.ag-card--limited::before {
|
|
@@ -653,14 +662,14 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
653
662
|
}
|
|
654
663
|
.ag-card-title {
|
|
655
664
|
font: 500 15px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
656
|
-
color: var(--dt-text, rgba(
|
|
665
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
657
666
|
word-break: break-word;
|
|
658
667
|
min-width: 0;
|
|
659
668
|
}
|
|
660
669
|
.ag-card-meta {
|
|
661
670
|
font: 400 14px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
662
671
|
font-variant-numeric: tabular-nums;
|
|
663
|
-
color: var(--dt-text, rgba(
|
|
672
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
664
673
|
}
|
|
665
674
|
.ag-card-dur,
|
|
666
675
|
.ag-card-eta,
|
|
@@ -668,7 +677,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
668
677
|
.ag-card-loc,
|
|
669
678
|
.ag-card-tag {
|
|
670
679
|
font: 400 12.5px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
671
|
-
color: var(--dt-text-2, rgba(
|
|
680
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
672
681
|
}
|
|
673
682
|
.ag-card-dur {
|
|
674
683
|
margin-left: 8px;
|
|
@@ -698,7 +707,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
698
707
|
/* The next one up: its countdown in ink. Size stays on the scale — the
|
|
699
708
|
happening-now item is the largest thing in the queue. */
|
|
700
709
|
.ag-card--hero .ag-card-eta {
|
|
701
|
-
color: var(--dt-text, rgba(
|
|
710
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
702
711
|
}
|
|
703
712
|
|
|
704
713
|
/* ── Plan card variant ── */
|
|
@@ -709,7 +718,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
709
718
|
.ag-card-order {
|
|
710
719
|
font: 400 14px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
711
720
|
font-variant-numeric: tabular-nums;
|
|
712
|
-
color: var(--dt-text-2, rgba(
|
|
721
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
713
722
|
min-width: 18px;
|
|
714
723
|
flex-shrink: 0;
|
|
715
724
|
}
|
|
@@ -775,7 +784,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
775
784
|
font: 500 12px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
776
785
|
letter-spacing: 0.08em;
|
|
777
786
|
text-transform: uppercase;
|
|
778
|
-
color: var(--dt-text-2, rgba(
|
|
787
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
779
788
|
margin-bottom: 8px;
|
|
780
789
|
padding: 0 12px;
|
|
781
790
|
}
|
|
@@ -785,13 +794,13 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
785
794
|
justify-content: center;
|
|
786
795
|
flex: 1;
|
|
787
796
|
font-size: 14px;
|
|
788
|
-
color: var(--dt-text-2, rgba(
|
|
797
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
789
798
|
}
|
|
790
799
|
|
|
791
800
|
/* ── NOW column (includes Done above) ── */
|
|
792
801
|
.ag-q-status {
|
|
793
802
|
padding: 0 10px 0 14px;
|
|
794
|
-
border-right: 1px solid var(--dt-border, rgba(
|
|
803
|
+
border-right: 1px solid var(--dt-border, rgba(15, 15, 15, 0.08));
|
|
795
804
|
display: flex;
|
|
796
805
|
flex-direction: column;
|
|
797
806
|
overflow-y: auto;
|
|
@@ -810,33 +819,33 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
810
819
|
font-family: var(--dt-sans, system-ui, sans-serif);
|
|
811
820
|
font-variant-numeric: tabular-nums;
|
|
812
821
|
font-size: 12.5px;
|
|
813
|
-
color: var(--dt-text-2, rgba(
|
|
822
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
814
823
|
cursor: pointer;
|
|
815
824
|
}
|
|
816
825
|
.ag-q-done-toggle:hover,
|
|
817
826
|
.ag-q-done-toggle:active {
|
|
818
|
-
color: var(--dt-text, rgba(
|
|
819
|
-
border-color: var(--dt-border-day, rgba(
|
|
827
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
828
|
+
border-color: var(--dt-border-day, rgba(15, 15, 15, 0.6));
|
|
820
829
|
}
|
|
821
830
|
.ag-q-done-toggle:focus-visible {
|
|
822
831
|
outline: none;
|
|
823
|
-
box-shadow: 0 0 0 2px var(--dt-
|
|
832
|
+
box-shadow: 0 0 0 2px var(--dt-text, #0f0f0f);
|
|
824
833
|
}
|
|
825
834
|
.ag-q-now-sub {
|
|
826
835
|
font: 400 12.5px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
827
|
-
color: var(--dt-text-2, rgba(
|
|
836
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
828
837
|
margin-bottom: 4px;
|
|
829
838
|
}
|
|
830
839
|
.ag-q-done-section {
|
|
831
840
|
margin-top: 12px;
|
|
832
841
|
padding-top: 10px;
|
|
833
|
-
border-top: 1px solid var(--dt-border, rgba(
|
|
842
|
+
border-top: 1px solid var(--dt-border, rgba(15, 15, 15, 0.08));
|
|
834
843
|
}
|
|
835
844
|
.ag-q-clock {
|
|
836
845
|
font: 500 12px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
837
846
|
letter-spacing: 0;
|
|
838
847
|
font-variant-numeric: tabular-nums;
|
|
839
|
-
color: var(--dt-accent, #
|
|
848
|
+
color: var(--dt-accent, #1d4fd7);
|
|
840
849
|
margin-left: 4px;
|
|
841
850
|
}
|
|
842
851
|
/* The one happening now is the most prominent thing on the day: the
|
|
@@ -849,9 +858,9 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
849
858
|
padding: 12px 12px 12px 15px;
|
|
850
859
|
margin-bottom: 8px;
|
|
851
860
|
border-radius: 0;
|
|
852
|
-
background: var(--dt-accent-dim, color-mix(in srgb, var(--dt-accent, #
|
|
861
|
+
background: var(--dt-accent-dim, color-mix(in srgb, var(--dt-accent, #1d4fd7) 12%, transparent));
|
|
853
862
|
border: none;
|
|
854
|
-
border-bottom: 1px solid var(--dt-border, rgba(
|
|
863
|
+
border-bottom: 1px solid var(--dt-border, rgba(15, 15, 15, 0.3));
|
|
855
864
|
cursor: pointer;
|
|
856
865
|
transition: background 150ms, box-shadow 150ms;
|
|
857
866
|
}
|
|
@@ -867,12 +876,12 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
867
876
|
.ag-q-now:hover,
|
|
868
877
|
.ag-q-now:active {
|
|
869
878
|
background:
|
|
870
|
-
linear-gradient(var(--dt-hover, rgba(
|
|
871
|
-
var(--dt-accent-dim, color-mix(in srgb, var(--dt-accent, #
|
|
879
|
+
linear-gradient(var(--dt-hover, rgba(15, 15, 15, 0.04)), var(--dt-hover, rgba(15, 15, 15, 0.04))),
|
|
880
|
+
var(--dt-accent-dim, color-mix(in srgb, var(--dt-accent, #1d4fd7) 12%, transparent));
|
|
872
881
|
}
|
|
873
882
|
.ag-q-now:focus-visible {
|
|
874
883
|
outline: none;
|
|
875
|
-
box-shadow: 0 0 0 2px var(--dt-accent, #
|
|
884
|
+
box-shadow: 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
876
885
|
}
|
|
877
886
|
.ag-q-now--selected {
|
|
878
887
|
box-shadow: inset 0 0 0 1px var(--ev-color, var(--dt-accent));
|
|
@@ -881,7 +890,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
881
890
|
width: 8px;
|
|
882
891
|
height: 8px;
|
|
883
892
|
border-radius: 50%;
|
|
884
|
-
background: var(--ev-color, var(--dt-accent, #
|
|
893
|
+
background: var(--ev-color, var(--dt-accent, #1d4fd7));
|
|
885
894
|
margin-bottom: 8px;
|
|
886
895
|
animation: ag-pulse 2.5s ease-in-out infinite;
|
|
887
896
|
}
|
|
@@ -899,7 +908,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
899
908
|
}
|
|
900
909
|
.ag-q-now-title {
|
|
901
910
|
font: 500 20px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
902
|
-
color: var(--dt-text, rgba(
|
|
911
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
903
912
|
display: -webkit-box;
|
|
904
913
|
-webkit-box-orient: vertical;
|
|
905
914
|
-webkit-line-clamp: 2;
|
|
@@ -911,19 +920,19 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
911
920
|
.ag-q-now-time {
|
|
912
921
|
font: 400 14px/1.2 var(--dt-sans, system-ui, sans-serif);
|
|
913
922
|
font-variant-numeric: tabular-nums;
|
|
914
|
-
color: var(--dt-text, rgba(
|
|
923
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
915
924
|
margin-bottom: 10px;
|
|
916
925
|
}
|
|
917
926
|
.ag-q-now-track {
|
|
918
927
|
height: 2px;
|
|
919
|
-
background: var(--dt-border, rgba(
|
|
928
|
+
background: var(--dt-border, rgba(15, 15, 15, 0.08));
|
|
920
929
|
border-radius: 0;
|
|
921
930
|
overflow: hidden;
|
|
922
931
|
}
|
|
923
932
|
.ag-q-now-fill {
|
|
924
933
|
height: 100%;
|
|
925
934
|
width: 100%;
|
|
926
|
-
background: var(--ev-color, var(--dt-accent, #
|
|
935
|
+
background: var(--ev-color, var(--dt-accent, #1d4fd7));
|
|
927
936
|
border-radius: 0;
|
|
928
937
|
transform-origin: left;
|
|
929
938
|
transition: transform 1s linear;
|
|
@@ -934,7 +943,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
934
943
|
}
|
|
935
944
|
.ag-q-free-label {
|
|
936
945
|
font: 400 15px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
937
|
-
color: var(--dt-text-2, rgba(
|
|
946
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
938
947
|
margin-bottom: 2px;
|
|
939
948
|
}
|
|
940
949
|
|
|
@@ -963,22 +972,22 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
963
972
|
.ag-q-done-item:hover .ag-q-done-title,
|
|
964
973
|
.ag-q-done-item:active .ag-q-done-title,
|
|
965
974
|
.ag-q-done-item--selected .ag-q-done-title {
|
|
966
|
-
color: var(--dt-text, rgba(
|
|
975
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
967
976
|
}
|
|
968
977
|
.ag-q-done-item:focus-visible {
|
|
969
978
|
outline: none;
|
|
970
|
-
box-shadow: 0 0 0 2px var(--dt-accent, #
|
|
979
|
+
box-shadow: 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
971
980
|
border-radius: 0;
|
|
972
981
|
}
|
|
973
982
|
.ag-q-done-check {
|
|
974
983
|
font-size: 12.5px;
|
|
975
|
-
color: var(--dt-
|
|
984
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
976
985
|
flex-shrink: 0;
|
|
977
986
|
}
|
|
978
987
|
/* Finished: quieter ink, no strike (strikethrough means cancelled). */
|
|
979
988
|
.ag-q-done-title {
|
|
980
989
|
font: 500 15px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
981
|
-
color: var(--dt-text-2, rgba(
|
|
990
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
982
991
|
white-space: nowrap;
|
|
983
992
|
overflow: hidden;
|
|
984
993
|
text-overflow: ellipsis;
|
|
@@ -1002,7 +1011,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1002
1011
|
gap: 10px;
|
|
1003
1012
|
padding: 8px 0;
|
|
1004
1013
|
width: 100%;
|
|
1005
|
-
border-bottom: 1px solid var(--dt-border, rgba(
|
|
1014
|
+
border-bottom: 1px solid var(--dt-border, rgba(15, 15, 15, 0.08));
|
|
1006
1015
|
cursor: pointer;
|
|
1007
1016
|
}
|
|
1008
1017
|
.ag-log-row:last-child {
|
|
@@ -1011,15 +1020,15 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1011
1020
|
.ag-log-row:hover .ag-log-title,
|
|
1012
1021
|
.ag-log-row:active .ag-log-title,
|
|
1013
1022
|
.ag-log-row--selected .ag-log-title {
|
|
1014
|
-
color: var(--dt-text, rgba(
|
|
1023
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
1015
1024
|
}
|
|
1016
1025
|
.ag-log-row:hover,
|
|
1017
1026
|
.ag-log-row:active {
|
|
1018
|
-
background: var(--dt-hover, rgba(
|
|
1027
|
+
background: var(--dt-hover, rgba(15, 15, 15, 0.04));
|
|
1019
1028
|
}
|
|
1020
1029
|
.ag-log-row:focus-visible {
|
|
1021
1030
|
outline: none;
|
|
1022
|
-
box-shadow: 0 0 0 2px var(--dt-accent, #
|
|
1031
|
+
box-shadow: 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
1023
1032
|
border-radius: 0;
|
|
1024
1033
|
}
|
|
1025
1034
|
.ag-log-row--selected {
|
|
@@ -1028,13 +1037,13 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1028
1037
|
}
|
|
1029
1038
|
.ag-log-check {
|
|
1030
1039
|
font-size: 12.5px;
|
|
1031
|
-
color: var(--dt-
|
|
1040
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
1032
1041
|
flex-shrink: 0;
|
|
1033
1042
|
}
|
|
1034
1043
|
.ag-log-time {
|
|
1035
1044
|
font: 400 14px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
1036
1045
|
font-variant-numeric: tabular-nums;
|
|
1037
|
-
color: var(--dt-text-2, rgba(
|
|
1046
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
1038
1047
|
min-width: 4.6em;
|
|
1039
1048
|
flex-shrink: 0;
|
|
1040
1049
|
}
|
|
@@ -1050,7 +1059,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1050
1059
|
Strikethrough is kept for cancelled events only. */
|
|
1051
1060
|
.ag-log-title {
|
|
1052
1061
|
font: 500 15px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
1053
|
-
color: var(--dt-text-2, rgba(
|
|
1062
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
1054
1063
|
flex: 0 1 auto;
|
|
1055
1064
|
min-width: 0;
|
|
1056
1065
|
white-space: nowrap;
|
|
@@ -1065,7 +1074,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1065
1074
|
.ag-log-dur {
|
|
1066
1075
|
font: 400 12.5px/1.25 var(--dt-sans, system-ui, sans-serif);
|
|
1067
1076
|
font-variant-numeric: tabular-nums;
|
|
1068
|
-
color: var(--dt-text-2, rgba(
|
|
1077
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
1069
1078
|
flex-shrink: 0;
|
|
1070
1079
|
}
|
|
1071
1080
|
|
|
@@ -1084,7 +1093,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1084
1093
|
align-items: baseline;
|
|
1085
1094
|
gap: 10px;
|
|
1086
1095
|
padding: 5px 0 5px 11px;
|
|
1087
|
-
border-bottom: 1px solid var(--dt-border, rgba(
|
|
1096
|
+
border-bottom: 1px solid var(--dt-border, rgba(15, 15, 15, 0.3));
|
|
1088
1097
|
cursor: pointer;
|
|
1089
1098
|
min-width: 0;
|
|
1090
1099
|
width: 100%;
|
|
@@ -1105,16 +1114,16 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1105
1114
|
.ag-compact-row:active .ag-compact-row-title { color: var(--dt-text); }
|
|
1106
1115
|
.ag-compact-row:hover,
|
|
1107
1116
|
.ag-compact-row:active {
|
|
1108
|
-
background: var(--dt-hover, rgba(
|
|
1117
|
+
background: var(--dt-hover, rgba(15, 15, 15, 0.04));
|
|
1109
1118
|
}
|
|
1110
1119
|
.ag-compact-row:focus-visible {
|
|
1111
1120
|
outline: none;
|
|
1112
|
-
box-shadow: 0 0 0 2px var(--dt-accent, #
|
|
1121
|
+
box-shadow: 0 0 0 2px var(--dt-accent, #1d4fd7);
|
|
1113
1122
|
}
|
|
1114
1123
|
.ag-compact-row-time {
|
|
1115
1124
|
font: 400 14px/1.3 var(--dt-sans, system-ui, sans-serif);
|
|
1116
1125
|
font-variant-numeric: tabular-nums;
|
|
1117
|
-
color: var(--dt-text, rgba(
|
|
1126
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
1118
1127
|
min-width: 4.6em;
|
|
1119
1128
|
flex-shrink: 0;
|
|
1120
1129
|
white-space: nowrap;
|
|
@@ -1147,7 +1156,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1147
1156
|
}
|
|
1148
1157
|
.ag-compact-row-title {
|
|
1149
1158
|
font: 500 15px/1.3 var(--dt-sans, system-ui, sans-serif);
|
|
1150
|
-
color: var(--dt-text, rgba(
|
|
1159
|
+
color: var(--dt-text, rgba(15, 15, 15, 0.87));
|
|
1151
1160
|
flex: 0 1 auto;
|
|
1152
1161
|
/* The title is the row's identity — never let subtitle/tags/duration
|
|
1153
1162
|
squeeze it out on narrow screens (min-width: 0 resolves to 0px). */
|
|
@@ -1162,7 +1171,7 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1162
1171
|
.ag-compact-row-sub,
|
|
1163
1172
|
.ag-compact-row-tag {
|
|
1164
1173
|
font: 400 12.5px/1.3 var(--dt-sans, system-ui, sans-serif);
|
|
1165
|
-
color: var(--dt-text-2, rgba(
|
|
1174
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.66));
|
|
1166
1175
|
white-space: nowrap;
|
|
1167
1176
|
}
|
|
1168
1177
|
.ag-compact-row-dur {
|
|
@@ -1184,10 +1193,10 @@ const hiddenDoneCount = $derived(showAllDone ? 0 : Math.max(0, dayCat.past.lengt
|
|
|
1184
1193
|
}
|
|
1185
1194
|
.ag-compact-row--cancelled .ag-compact-row-title {
|
|
1186
1195
|
text-decoration: line-through;
|
|
1187
|
-
color: var(--dt-text-2, rgba(
|
|
1196
|
+
color: var(--dt-text-2, rgba(15, 15, 15, 0.54));
|
|
1188
1197
|
}
|
|
1189
1198
|
.ag-compact-row--cancelled::before { opacity: 0.45; }
|
|
1190
|
-
.ag-compact-row--tentative .ag-compact-row-title { color: var(--dt-text-2, rgba(
|
|
1199
|
+
.ag-compact-row--tentative .ag-compact-row-title { color: var(--dt-text-2, rgba(15, 15, 15, 0.54)); }
|
|
1191
1200
|
.ag-compact-row--tentative::before {
|
|
1192
1201
|
background: repeating-linear-gradient(180deg, var(--ev-color) 0 4px, transparent 4px 7px);
|
|
1193
1202
|
}
|