@tasknotes/calendar 0.1.6 → 0.1.8

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/dist/calendar.css CHANGED
@@ -21,6 +21,12 @@
21
21
  --tnc-ok: var(--tnc-theme-ok, #16a34a);
22
22
  --tnc-amber: var(--tnc-theme-amber, #d97706);
23
23
  --tnc-off: color-mix(in srgb, var(--tnc-text) 3.5%, transparent);
24
+ --tnc-hover: var(--tnc-theme-hover, var(--tnc-surface-2));
25
+ --tnc-active: var(--tnc-theme-active, var(--tnc-surface-3));
26
+ --tnc-selected: var(--tnc-theme-selected, var(--tnc-accent-soft));
27
+ --tnc-focus: var(--tnc-theme-focus, var(--tnc-accent));
28
+ --tnc-motion: var(--tnc-theme-motion, 100ms);
29
+ --tnc-drag-opacity: var(--tnc-theme-drag-opacity, 0.4);
24
30
  --tnc-shadow: 0 8px 24px rgb(0 0 0 / 0.16);
25
31
  --tnc-radius: 6px;
26
32
  /* Time-grid share for tracked ("actual") items where they overlap planned ones. */
@@ -123,8 +129,11 @@
123
129
  font-size: var(--tnc-font-size);
124
130
  line-height: 1.2;
125
131
  }
126
- .tnc-btn:hover {
127
- background: var(--tnc-surface-3);
132
+ @media (hover: hover) {
133
+ .tnc-btn:hover {
134
+ background: var(--tnc-surface-3);
135
+ }
136
+
128
137
  }
129
138
  .tnc-btn[aria-pressed="true"] {
130
139
  background: var(--tnc-accent-soft);
@@ -177,10 +186,12 @@
177
186
  cursor: pointer;
178
187
  text-align: inherit;
179
188
  }
180
- .tnc-navlink:hover {
181
- text-decoration: underline;
182
- }
189
+ @media (hover: hover) {
190
+ .tnc-navlink:hover {
191
+ text-decoration: underline;
192
+ }
183
193
 
194
+ }
184
195
  /* ---------------------------------------------------------------- items */
185
196
  .tnc-item {
186
197
  --c: var(--tnc-c, var(--tnc-item-c));
@@ -246,6 +257,7 @@
246
257
 
247
258
  /* timed (time grid) */
248
259
  .tnc-item--timed {
260
+ container-type: size;
249
261
  padding: 2px 5px 2px 6px;
250
262
  background: var(--tnc-bg, color-mix(in srgb, var(--c) 14%, var(--tnc-surface)));
251
263
  border: 1px solid var(--tnc-border, color-mix(in srgb, var(--c) 34%, transparent));
@@ -261,7 +273,7 @@
261
273
  -webkit-box-orient: vertical;
262
274
  -webkit-line-clamp: 6;
263
275
  white-space: normal;
264
- overflow-wrap: anywhere;
276
+ overflow-wrap: normal;
265
277
  }
266
278
  .tnc-item--timed.is-short {
267
279
  padding-top: 0;
@@ -281,8 +293,18 @@
281
293
  .tnc-item--timed.is-short .tnc-item-time {
282
294
  flex: none;
283
295
  }
284
- .tnc-item--timed.is-short .tnc-item-time-end {
285
- display: none;
296
+ @container (max-height: 50px) and (max-width: 239px) {
297
+ .tnc-item--timed .tnc-item-time {
298
+ display: none;
299
+ }
300
+ }
301
+ @container (max-width: 109px) {
302
+ .tnc-item--timed .tnc-item-time-end {
303
+ display: none;
304
+ }
305
+ }
306
+ .tnc:is(.tnc-dragging-resize-start, .tnc-dragging-resize-end) .tnc-item--timed.is-dragging .tnc-item-time-end {
307
+ display: inline;
286
308
  }
287
309
  .tnc-item--timed.is-cont-start {
288
310
  border-top-left-radius: 0;
@@ -348,10 +370,16 @@
348
370
  align-items: center;
349
371
  white-space: nowrap;
350
372
  }
351
- .tnc-item--dot:hover,
352
373
  .tnc-item--dot.is-hover {
353
374
  background: var(--tnc-surface-3);
354
375
  }
376
+
377
+ @media (hover: hover) {
378
+ .tnc-item--dot:hover {
379
+ background: var(--tnc-surface-3);
380
+ }
381
+
382
+ }
355
383
  .tnc-item--dot .tnc-item-main {
356
384
  gap: 4px;
357
385
  align-items: center;
@@ -442,9 +470,12 @@
442
470
  overflow: hidden;
443
471
  text-overflow: ellipsis;
444
472
  }
445
- .tnc-more:hover {
446
- background: var(--tnc-surface-3);
447
- color: var(--tnc-text);
473
+ @media (hover: hover) {
474
+ .tnc-more:hover {
475
+ background: var(--tnc-surface-3);
476
+ color: var(--tnc-text);
477
+ }
478
+
448
479
  }
449
480
  .tnc-more--stack {
450
481
  height: auto;
@@ -453,6 +484,45 @@
453
484
  background: var(--tnc-surface-3);
454
485
  z-index: 30;
455
486
  }
487
+ .tnc-more.tnc-more--collision {
488
+ display: grid;
489
+ grid-template-columns: auto minmax(0, 1fr);
490
+ align-content: center;
491
+ align-items: stretch;
492
+ justify-content: center;
493
+ gap: 2px 4px;
494
+ padding: 2px 4px;
495
+ border: 1px solid var(--tnc-line-strong);
496
+ border-radius: var(--tnc-radius);
497
+ background: var(--tnc-surface-2);
498
+ text-align: start;
499
+ white-space: normal;
500
+ }
501
+ .tnc-collision-count {
502
+ color: var(--tnc-text);
503
+ font-weight: 650;
504
+ white-space: nowrap;
505
+ flex: none;
506
+ line-height: 1.3;
507
+ }
508
+ .tnc-collision-range {
509
+ min-width: 0;
510
+ text-align: end;
511
+ color: var(--tnc-text);
512
+ font-size: var(--tnc-small);
513
+ white-space: nowrap;
514
+ overflow: hidden;
515
+ text-overflow: ellipsis;
516
+ }
517
+ .tnc-item--indicator .tnc-item-title {
518
+ white-space: nowrap;
519
+ overflow-wrap: normal;
520
+ text-overflow: ellipsis;
521
+ display: block;
522
+ }
523
+ .tnc-item--indicator .tnc-item-main {
524
+ min-width: 0;
525
+ }
456
526
 
457
527
  /* ------------------------------------------------------------ time grid */
458
528
  .tnc-tg {
@@ -467,6 +537,43 @@
467
537
  overflow: auto;
468
538
  overscroll-behavior: contain;
469
539
  }
540
+ .tnc-tg-day-navigation {
541
+ display: flex;
542
+ flex-wrap: wrap;
543
+ gap: 2px;
544
+ flex: none;
545
+ }
546
+ .tnc-tg-day-navigation[hidden] {
547
+ display: none;
548
+ }
549
+ .tnc-tg-day-navigation .is-offscreen {
550
+ text-decoration: underline;
551
+ text-underline-offset: 3px;
552
+ }
553
+ .tnc-more--collision {
554
+ display: grid;
555
+ grid-template-columns: auto minmax(0, 1fr);
556
+ align-content: center;
557
+ align-items: center;
558
+ gap: 2px 4px;
559
+ padding: 2px 4px;
560
+ min-height: 40px;
561
+ white-space: normal;
562
+ text-align: start;
563
+ }
564
+ .tnc-collision-title {
565
+ grid-column: 1 / -1;
566
+ flex: 1;
567
+ min-width: 0;
568
+ text-overflow: ellipsis;
569
+ white-space: nowrap;
570
+ color: var(--tnc-text);
571
+ font-weight: 500;
572
+ display: -webkit-box;
573
+ -webkit-box-orient: vertical;
574
+ -webkit-line-clamp: 3;
575
+ overflow: hidden;
576
+ }
470
577
  .tnc--height-auto .tnc-tg-scroll {
471
578
  overflow: visible;
472
579
  }
@@ -502,6 +609,7 @@
502
609
  font-size: 10px;
503
610
  }
504
611
  .tnc-dh {
612
+ container-type: inline-size;
505
613
  min-width: 0;
506
614
  padding: 5px 6px 5px 7px;
507
615
  border-left: 1px solid var(--tnc-line);
@@ -530,6 +638,18 @@
530
638
  border-radius: 999px;
531
639
  padding: 0 7px;
532
640
  }
641
+ @container (max-width: 64px) {
642
+ .tnc-dh-label {
643
+ flex-direction: column;
644
+ align-items: center;
645
+ gap: 2px;
646
+ width: 100%;
647
+ }
648
+ .tnc-dh-link {
649
+ display: block;
650
+ width: 100%;
651
+ }
652
+ }
533
653
  .tnc-cap {
534
654
  position: relative;
535
655
  margin-top: 5px;
@@ -795,6 +915,9 @@
795
915
  overflow: hidden;
796
916
  pointer-events: none;
797
917
  }
918
+ .tnc-dg-dots[hidden] {
919
+ display: none;
920
+ }
798
921
  .tnc-dg-dots.is-unlimited {
799
922
  position: static;
800
923
  padding: 0 6px 4px;
@@ -820,6 +943,45 @@
820
943
  font-variant-numeric: tabular-nums;
821
944
  }
822
945
 
946
+ .tnc-dg--dots .tnc-dg-top {
947
+ justify-content: center;
948
+ }
949
+
950
+ .tnc-dg--dots .tnc-dg-dots {
951
+ justify-content: center;
952
+ align-content: flex-start;
953
+ }
954
+
955
+ .tnc-dg--chips {
956
+ --tnc-chip-h: 20px;
957
+ }
958
+ .tnc-dg--chips .tnc-dg-dots {
959
+ left: 2px;
960
+ right: 2px;
961
+ flex-direction: column;
962
+ flex-wrap: nowrap;
963
+ align-items: stretch;
964
+ justify-content: flex-start;
965
+ }
966
+ .tnc-dg--chips .tnc-dg-dots > .tnc-item--indicator {
967
+ width: 100%;
968
+ height: var(--tnc-chip-h);
969
+ border: 0;
970
+ border-radius: var(--tnc-radius);
971
+ padding: 0 2px;
972
+ color: var(--tnc-fg, var(--tnc-text));
973
+ font-size: 10px;
974
+ line-height: var(--tnc-chip-h);
975
+ }
976
+ .tnc-dg--chips .tnc-item-title {
977
+ display: block;
978
+ white-space: nowrap;
979
+ text-overflow: clip;
980
+ }
981
+ .tnc-dg--chips .tnc-dg-dots-more {
982
+ line-height: var(--tnc-chip-h);
983
+ }
984
+
823
985
  /* ------------------------------------------------------------------ list */
824
986
  .tnc-list {
825
987
  display: flex;
@@ -857,8 +1019,11 @@
857
1019
  border-radius: 0;
858
1020
  font-size: var(--tnc-font-size);
859
1021
  }
860
- .tnc-item--list:hover {
861
- background: var(--tnc-surface-2);
1022
+ @media (hover: hover) {
1023
+ .tnc-item--list:hover {
1024
+ background: var(--tnc-surface-2);
1025
+ }
1026
+
862
1027
  }
863
1028
  .tnc-item--list .tnc-item-main {
864
1029
  gap: 10px;
@@ -956,8 +1121,11 @@
956
1121
  .tnc-strip-today[hidden] {
957
1122
  display: none;
958
1123
  }
959
- .tnc-strip-today:hover {
960
- background: var(--tnc-surface-2);
1124
+ @media (hover: hover) {
1125
+ .tnc-strip-today:hover {
1126
+ background: var(--tnc-surface-2);
1127
+ }
1128
+
961
1129
  }
962
1130
  .tnc-strip-slot {
963
1131
  display: flex;
@@ -977,9 +1145,12 @@
977
1145
  line-height: 1;
978
1146
  cursor: pointer;
979
1147
  }
980
- .tnc-strip-title:hover,
981
- .tnc-strip-nav:hover {
982
- background: var(--tnc-surface-2);
1148
+ @media (hover: hover) {
1149
+ .tnc-strip-title:hover,
1150
+ .tnc-strip-nav:hover {
1151
+ background: var(--tnc-surface-2);
1152
+ }
1153
+
983
1154
  }
984
1155
  .tnc-strip-dows,
985
1156
  .tnc-strip-grid {
@@ -1052,11 +1223,17 @@
1052
1223
  .tnc-strip-day.is-in-range .tnc-strip-num {
1053
1224
  background: var(--tnc-accent-soft);
1054
1225
  }
1055
- .tnc-strip-day:hover .tnc-strip-num {
1056
- background: var(--tnc-surface-2);
1226
+ @media (hover: hover) {
1227
+ .tnc-strip-day:hover .tnc-strip-num {
1228
+ background: var(--tnc-surface-2);
1229
+ }
1230
+
1057
1231
  }
1058
- .tnc-strip-day.is-focus:hover .tnc-strip-num {
1059
- background: var(--tnc-accent);
1232
+ @media (hover: hover) {
1233
+ .tnc-strip-day.is-focus:hover .tnc-strip-num {
1234
+ background: var(--tnc-accent);
1235
+ }
1236
+
1060
1237
  }
1061
1238
  .tnc-strip-day.is-drop-target .tnc-strip-num {
1062
1239
  box-shadow: 0 0 0 2px var(--tnc-accent);
@@ -1133,9 +1310,12 @@
1133
1310
  font-weight: 700;
1134
1311
  text-align: center;
1135
1312
  }
1136
- .tnc-list-add:hover {
1137
- color: var(--tnc-accent);
1138
- background: var(--tnc-surface-2);
1313
+ @media (hover: hover) {
1314
+ .tnc-list-add:hover {
1315
+ color: var(--tnc-accent);
1316
+ background: var(--tnc-surface-2);
1317
+ }
1318
+
1139
1319
  }
1140
1320
  .tnc-list-add:focus-visible {
1141
1321
  outline: 2px solid var(--tnc-accent);
@@ -1160,10 +1340,22 @@
1160
1340
  padding: 12px;
1161
1341
  }
1162
1342
  .tnc-year-grid {
1343
+ --tnc-year-day-min: var(--tnc-theme-date-target, 40px);
1163
1344
  display: grid;
1164
- grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
1345
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(7 * var(--tnc-year-day-min) + 12px)), 1fr));
1165
1346
  gap: 18px 16px;
1166
1347
  }
1348
+ .tnc-ym {
1349
+ min-width: 0;
1350
+ }
1351
+ .tnc .tnc-ym-title,
1352
+ .tnc .tnc-ym-day {
1353
+ appearance: none;
1354
+ box-shadow: none;
1355
+ background-image: none;
1356
+ font-family: inherit;
1357
+ color: var(--tnc-text);
1358
+ }
1167
1359
  .tnc-ym-title {
1168
1360
  display: block;
1169
1361
  border: 0;
@@ -1185,21 +1377,28 @@
1185
1377
  }
1186
1378
  .tnc-ym-day {
1187
1379
  position: relative;
1380
+ min-width: var(--tnc-year-day-min);
1381
+ min-height: var(--tnc-year-day-min);
1382
+ width: 100%;
1383
+ height: auto;
1188
1384
  aspect-ratio: 1;
1189
1385
  border: 0;
1190
1386
  border-radius: 5px;
1191
1387
  padding: 0;
1192
1388
  cursor: pointer;
1193
1389
  font-size: 11px;
1194
- background: color-mix(in srgb, var(--tnc-accent) calc(var(--tnc-heat, 0) * 38%), transparent);
1390
+ background: color-mix(in srgb, var(--tnc-accent) calc(var(--tnc-heat, 0) * 14%), transparent);
1195
1391
  display: flex;
1196
1392
  flex-direction: column;
1197
1393
  align-items: center;
1198
1394
  justify-content: center;
1199
1395
  gap: 1px;
1200
1396
  }
1201
- .tnc-ym-day:hover {
1202
- outline: 1px solid var(--tnc-line-strong);
1397
+ @media (hover: hover) {
1398
+ .tnc-ym-day:hover {
1399
+ outline: 1px solid var(--tnc-line-strong);
1400
+ }
1401
+
1203
1402
  }
1204
1403
  .tnc-ym-day.is-weekend .tnc-ym-num {
1205
1404
  color: var(--tnc-muted);
@@ -1219,16 +1418,14 @@
1219
1418
  width: 4px;
1220
1419
  height: 4px;
1221
1420
  border-radius: 50%;
1222
- background: var(--tnc-c, var(--tnc-accent));
1421
+ background: color-mix(in srgb, var(--tnc-c, var(--tnc-accent)) 65%, var(--tnc-text));
1223
1422
  }
1224
1423
 
1225
- /* Two months a row: each day is a shaded square, and its count is in its label. */
1226
1424
  @container (max-width: 520px) {
1227
1425
  .tnc-year-scroll {
1228
1426
  padding: 8px 4px;
1229
1427
  }
1230
1428
  .tnc-year-grid {
1231
- grid-template-columns: repeat(2, minmax(0, 1fr));
1232
1429
  gap: 14px 12px;
1233
1430
  }
1234
1431
  .tnc-ym-title {
@@ -1244,7 +1441,7 @@
1244
1441
  }
1245
1442
  /* Without dots, one item must still read as busy. */
1246
1443
  .tnc-ym-day.has-items {
1247
- background: color-mix(in srgb, var(--tnc-accent) calc((0.3 + var(--tnc-heat) * 0.7) * 50%), transparent);
1444
+ background: color-mix(in srgb, var(--tnc-accent) calc((0.3 + var(--tnc-heat) * 0.7) * 20%), transparent);
1248
1445
  }
1249
1446
  .tnc-ym-dots {
1250
1447
  display: none;
@@ -1513,13 +1710,19 @@
1513
1710
  .tnc-item--timeline.is-link-invalid > .tnc-item-main {
1514
1711
  box-shadow: 0 0 0 2px var(--tnc-warn);
1515
1712
  }
1516
- .tnc-item--timeline:hover .tnc-port,
1517
1713
  .tnc-item--timeline.is-hover .tnc-port,
1518
1714
  .tnc-item--timeline.is-selected .tnc-port,
1519
1715
  .tnc-item--timeline:focus-visible .tnc-port,
1520
1716
  .tnc-tl.is-linking .tnc-item--timeline .tnc-port {
1521
1717
  opacity: 1;
1522
1718
  }
1719
+
1720
+ @media (hover: hover) {
1721
+ .tnc-item--timeline:hover .tnc-port {
1722
+ opacity: 1;
1723
+ }
1724
+
1725
+ }
1523
1726
  @media (pointer: coarse) {
1524
1727
  .tnc-port {
1525
1728
  --tnc-port-hit: 44px;
@@ -1620,6 +1823,7 @@
1620
1823
  outline: none;
1621
1824
  }
1622
1825
  .tnc-popover-head {
1826
+ flex: none;
1623
1827
  display: flex;
1624
1828
  align-items: center;
1625
1829
  justify-content: space-between;
@@ -1629,6 +1833,7 @@
1629
1833
  font-weight: 650;
1630
1834
  }
1631
1835
  .tnc-popover-close {
1836
+ flex: none;
1632
1837
  min-width: 28px;
1633
1838
  min-height: 28px;
1634
1839
  border: 0;
@@ -1638,10 +1843,14 @@
1638
1843
  font-size: 16px;
1639
1844
  line-height: 1;
1640
1845
  }
1641
- .tnc-popover-close:hover {
1642
- background: var(--tnc-surface-3);
1846
+ @media (hover: hover) {
1847
+ .tnc-popover-close:hover {
1848
+ background: var(--tnc-surface-3);
1849
+ }
1850
+
1643
1851
  }
1644
1852
  .tnc-popover-body {
1853
+ min-height: 0;
1645
1854
  display: flex;
1646
1855
  flex-direction: column;
1647
1856
  gap: 2px;
@@ -1651,8 +1860,149 @@
1651
1860
  .tnc-popover-body .tnc-item {
1652
1861
  position: relative;
1653
1862
  flex: none;
1863
+ height: auto;
1864
+ min-height: 40px;
1865
+ }
1866
+ .tnc-popover-title {
1867
+ min-width: 0;
1868
+ overflow: hidden;
1869
+ text-overflow: ellipsis;
1870
+ white-space: nowrap;
1871
+ }
1872
+ .tnc-popover-body .tnc-item-main {
1873
+ min-height: 40px;
1874
+ }
1875
+ .tnc-popover-body .tnc-item-title {
1876
+ white-space: normal;
1877
+ overflow-wrap: anywhere;
1878
+ }
1879
+ .tnc-popover-close:focus-visible {
1880
+ outline: 2px solid var(--tnc-accent);
1881
+ outline-offset: -2px;
1654
1882
  }
1655
1883
 
1884
+ .tnc .tnc-col-actual .tnc-item-title {
1885
+ white-space: nowrap;
1886
+ overflow-wrap: normal;
1887
+ display: block;
1888
+ text-overflow: ellipsis;
1889
+ }
1890
+ .tnc .tnc-col-actual .tnc-item-main {
1891
+ min-width: 0;
1892
+ }
1893
+ .tnc .tnc-col-actual .tnc-item--timed {
1894
+ border-top: 1px solid var(--tnc-surface);
1895
+ border-bottom: 1px solid var(--tnc-surface);
1896
+ }
1897
+ .tnc .tnc-item--timed {
1898
+ box-shadow: inset 0 -1px 0 var(--tnc-surface);
1899
+ }
1900
+ .tnc .tnc-item.is-draggable {
1901
+ cursor: grab;
1902
+ }
1903
+ .tnc .tnc-item.is-dragging {
1904
+ opacity: 0.96;
1905
+ box-shadow: var(--tnc-theme-drag-lift, var(--tnc-shadow));
1906
+ outline: 1px solid var(--tnc-focus);
1907
+ outline-offset: -1px;
1908
+ }
1909
+ .tnc .tnc-item--list.is-dragging:not(.tnc-drag-preview) {
1910
+ opacity: var(--tnc-drag-opacity);
1911
+ box-shadow: none;
1912
+ }
1913
+ .tnc .tnc-item.tnc-drag-source {
1914
+ opacity: var(--tnc-drag-opacity);
1915
+ pointer-events: none;
1916
+ box-shadow: none;
1917
+ outline: none;
1918
+ }
1919
+ .tnc .tnc-item.tnc-drag-preview {
1920
+ position: absolute;
1921
+ z-index: var(--tnc-theme-drag-z, 1000);
1922
+ pointer-events: none;
1923
+ opacity: 1;
1924
+ background: var(--tnc-theme-drag-surface, var(--tnc-surface));
1925
+ border: 1px solid var(--tnc-theme-drag-border, var(--tnc-line-strong));
1926
+ box-shadow: var(--tnc-theme-drag-shadow, var(--tnc-shadow));
1927
+ outline: none;
1928
+ }
1929
+ .tnc .tnc-item.is-write-pending {
1930
+ opacity: 0.65;
1931
+ cursor: progress;
1932
+ }
1933
+ .tnc .tnc-item.is-write-failed {
1934
+ outline: 2px dashed var(--tnc-warn);
1935
+ outline-offset: -2px;
1936
+ }
1937
+ .tnc.tnc-drop-denied .tnc-item.is-dragging {
1938
+ outline: 2px dashed var(--tnc-warn);
1939
+ outline-offset: -2px;
1940
+ }
1941
+ .tnc.tnc-drop-denied,
1942
+ .tnc.tnc-drop-denied .tnc-item.is-dragging {
1943
+ cursor: not-allowed;
1944
+ }
1945
+ .tnc .tnc-item.is-selected {
1946
+ background-color: var(--tnc-selected);
1947
+ outline: 2px solid var(--tnc-accent);
1948
+ outline-offset: -2px;
1949
+ }
1950
+ .tnc :is(.tnc-item, .tnc-more, .tnc-strip-day, .tnc-btn, .tnc-list-add):focus-visible {
1951
+ outline: 2px solid var(--tnc-focus);
1952
+ outline-offset: -2px;
1953
+ }
1954
+ .tnc :is(.tnc-more, .tnc-btn, .tnc-list-add):disabled {
1955
+ opacity: var(--tnc-drag-opacity);
1956
+ cursor: not-allowed;
1957
+ }
1958
+ .tnc :is(.tnc-more, .tnc-btn, .tnc-list-add):active {
1959
+ background: var(--tnc-active);
1960
+ }
1961
+ .tnc .tnc-strip-day:active .tnc-strip-num {
1962
+ background: var(--tnc-active);
1963
+ }
1964
+ .tnc .tnc-strip-day.is-focus:active .tnc-strip-num {
1965
+ background: var(--tnc-accent);
1966
+ }
1967
+ .tnc .tnc-popover {
1968
+ background: var(--tnc-surface);
1969
+ }
1970
+ @media (hover: hover) {
1971
+ .tnc .tnc-item:not(.is-selected):not(.is-dragging):hover {
1972
+ filter: none;
1973
+ background-color: var(--tnc-hover);
1974
+ transition: background-color var(--tnc-motion);
1975
+ }
1976
+ .tnc .tnc-item--list:hover {
1977
+ box-shadow: none;
1978
+ }
1979
+ .tnc .tnc-item.is-selected:hover {
1980
+ background-color: var(--tnc-theme-selected-hover, var(--tnc-selected));
1981
+ }
1982
+ .tnc .tnc-more:hover {
1983
+ background: var(--tnc-hover);
1984
+ }
1985
+ }
1986
+ @media (hover: none) {
1987
+ .tnc .tnc-item:hover {
1988
+ filter: none;
1989
+ }
1990
+ .tnc .tnc-item--list:not(.is-selected):hover {
1991
+ background: none;
1992
+ }
1993
+ .tnc .tnc-strip-day:not(.is-focus):hover .tnc-strip-num {
1994
+ background: none;
1995
+ }
1996
+ }
1997
+ @media (prefers-reduced-motion: no-preference) {
1998
+ .tnc-item.is-write-changed {
1999
+ animation: tnc-write-settle calc(var(--tnc-motion) * 2) ease-out;
2000
+ }
2001
+ }
2002
+ @keyframes tnc-write-settle {
2003
+ from { opacity: var(--tnc-drag-opacity); }
2004
+ to { opacity: 1; }
2005
+ }
1656
2006
  @media (prefers-reduced-motion: reduce) {
1657
2007
  .tnc * {
1658
2008
  transition: none !important;