@tasknotes/calendar 0.1.7 → 0.1.10

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 {
@@ -481,16 +551,24 @@
481
551
  text-underline-offset: 3px;
482
552
  }
483
553
  .tnc-more--collision {
484
- display: flex;
485
- align-items: start;
486
- gap: 4px;
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;
487
560
  min-height: 40px;
488
561
  white-space: normal;
489
562
  text-align: start;
490
563
  }
491
564
  .tnc-collision-title {
565
+ grid-column: 1 / -1;
492
566
  flex: 1;
493
567
  min-width: 0;
568
+ text-overflow: ellipsis;
569
+ white-space: nowrap;
570
+ color: var(--tnc-text);
571
+ font-weight: 500;
494
572
  display: -webkit-box;
495
573
  -webkit-box-orient: vertical;
496
574
  -webkit-line-clamp: 3;
@@ -531,6 +609,7 @@
531
609
  font-size: 10px;
532
610
  }
533
611
  .tnc-dh {
612
+ container-type: inline-size;
534
613
  min-width: 0;
535
614
  padding: 5px 6px 5px 7px;
536
615
  border-left: 1px solid var(--tnc-line);
@@ -559,6 +638,18 @@
559
638
  border-radius: 999px;
560
639
  padding: 0 7px;
561
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
+ }
562
653
  .tnc-cap {
563
654
  position: relative;
564
655
  margin-top: 5px;
@@ -616,6 +707,10 @@
616
707
  .tnc-tg-body {
617
708
  position: relative;
618
709
  }
710
+ .tnc-tg--pinch .tnc-tg-body {
711
+ /* Pinches rescale the grid rather than zoom the page. */
712
+ touch-action: pan-x pan-y;
713
+ }
619
714
  .tnc-gutter {
620
715
  border-right: 1px solid var(--tnc-line);
621
716
  }
@@ -824,6 +919,9 @@
824
919
  overflow: hidden;
825
920
  pointer-events: none;
826
921
  }
922
+ .tnc-dg-dots[hidden] {
923
+ display: none;
924
+ }
827
925
  .tnc-dg-dots.is-unlimited {
828
926
  position: static;
829
927
  padding: 0 6px 4px;
@@ -849,6 +947,45 @@
849
947
  font-variant-numeric: tabular-nums;
850
948
  }
851
949
 
950
+ .tnc-dg--dots .tnc-dg-top {
951
+ justify-content: center;
952
+ }
953
+
954
+ .tnc-dg--dots .tnc-dg-dots {
955
+ justify-content: center;
956
+ align-content: flex-start;
957
+ }
958
+
959
+ .tnc-dg--chips {
960
+ --tnc-chip-h: 20px;
961
+ }
962
+ .tnc-dg--chips .tnc-dg-dots {
963
+ left: 2px;
964
+ right: 2px;
965
+ flex-direction: column;
966
+ flex-wrap: nowrap;
967
+ align-items: stretch;
968
+ justify-content: flex-start;
969
+ }
970
+ .tnc-dg--chips .tnc-dg-dots > .tnc-item--indicator {
971
+ width: 100%;
972
+ height: var(--tnc-chip-h);
973
+ border: 0;
974
+ border-radius: var(--tnc-radius);
975
+ padding: 0 2px;
976
+ color: var(--tnc-fg, var(--tnc-text));
977
+ font-size: 10px;
978
+ line-height: var(--tnc-chip-h);
979
+ }
980
+ .tnc-dg--chips .tnc-item-title {
981
+ display: block;
982
+ white-space: nowrap;
983
+ text-overflow: clip;
984
+ }
985
+ .tnc-dg--chips .tnc-dg-dots-more {
986
+ line-height: var(--tnc-chip-h);
987
+ }
988
+
852
989
  /* ------------------------------------------------------------------ list */
853
990
  .tnc-list {
854
991
  display: flex;
@@ -886,8 +1023,11 @@
886
1023
  border-radius: 0;
887
1024
  font-size: var(--tnc-font-size);
888
1025
  }
889
- .tnc-item--list:hover {
890
- background: var(--tnc-surface-2);
1026
+ @media (hover: hover) {
1027
+ .tnc-item--list:hover {
1028
+ background: var(--tnc-surface-2);
1029
+ }
1030
+
891
1031
  }
892
1032
  .tnc-item--list .tnc-item-main {
893
1033
  gap: 10px;
@@ -985,8 +1125,11 @@
985
1125
  .tnc-strip-today[hidden] {
986
1126
  display: none;
987
1127
  }
988
- .tnc-strip-today:hover {
989
- background: var(--tnc-surface-2);
1128
+ @media (hover: hover) {
1129
+ .tnc-strip-today:hover {
1130
+ background: var(--tnc-surface-2);
1131
+ }
1132
+
990
1133
  }
991
1134
  .tnc-strip-slot {
992
1135
  display: flex;
@@ -1006,9 +1149,12 @@
1006
1149
  line-height: 1;
1007
1150
  cursor: pointer;
1008
1151
  }
1009
- .tnc-strip-title:hover,
1010
- .tnc-strip-nav:hover {
1011
- background: var(--tnc-surface-2);
1152
+ @media (hover: hover) {
1153
+ .tnc-strip-title:hover,
1154
+ .tnc-strip-nav:hover {
1155
+ background: var(--tnc-surface-2);
1156
+ }
1157
+
1012
1158
  }
1013
1159
  .tnc-strip-dows,
1014
1160
  .tnc-strip-grid {
@@ -1054,6 +1200,12 @@
1054
1200
  font-weight: 650;
1055
1201
  line-height: 1;
1056
1202
  }
1203
+ .tnc-strip-dots {
1204
+ display: flex;
1205
+ justify-content: center;
1206
+ gap: 2px;
1207
+ min-height: 5px;
1208
+ }
1057
1209
  .tnc-strip-dot {
1058
1210
  width: 5px;
1059
1211
  height: 5px;
@@ -1081,11 +1233,17 @@
1081
1233
  .tnc-strip-day.is-in-range .tnc-strip-num {
1082
1234
  background: var(--tnc-accent-soft);
1083
1235
  }
1084
- .tnc-strip-day:hover .tnc-strip-num {
1085
- background: var(--tnc-surface-2);
1236
+ @media (hover: hover) {
1237
+ .tnc-strip-day:hover .tnc-strip-num {
1238
+ background: var(--tnc-surface-2);
1239
+ }
1240
+
1086
1241
  }
1087
- .tnc-strip-day.is-focus:hover .tnc-strip-num {
1088
- background: var(--tnc-accent);
1242
+ @media (hover: hover) {
1243
+ .tnc-strip-day.is-focus:hover .tnc-strip-num {
1244
+ background: var(--tnc-accent);
1245
+ }
1246
+
1089
1247
  }
1090
1248
  .tnc-strip-day.is-drop-target .tnc-strip-num {
1091
1249
  box-shadow: 0 0 0 2px var(--tnc-accent);
@@ -1162,9 +1320,12 @@
1162
1320
  font-weight: 700;
1163
1321
  text-align: center;
1164
1322
  }
1165
- .tnc-list-add:hover {
1166
- color: var(--tnc-accent);
1167
- background: var(--tnc-surface-2);
1323
+ @media (hover: hover) {
1324
+ .tnc-list-add:hover {
1325
+ color: var(--tnc-accent);
1326
+ background: var(--tnc-surface-2);
1327
+ }
1328
+
1168
1329
  }
1169
1330
  .tnc-list-add:focus-visible {
1170
1331
  outline: 2px solid var(--tnc-accent);
@@ -1189,10 +1350,22 @@
1189
1350
  padding: 12px;
1190
1351
  }
1191
1352
  .tnc-year-grid {
1353
+ --tnc-year-day-min: var(--tnc-theme-date-target, 40px);
1192
1354
  display: grid;
1193
- grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
1355
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(7 * var(--tnc-year-day-min) + 12px)), 1fr));
1194
1356
  gap: 18px 16px;
1195
1357
  }
1358
+ .tnc-ym {
1359
+ min-width: 0;
1360
+ }
1361
+ .tnc .tnc-ym-title,
1362
+ .tnc .tnc-ym-day {
1363
+ appearance: none;
1364
+ box-shadow: none;
1365
+ background-image: none;
1366
+ font-family: inherit;
1367
+ color: var(--tnc-text);
1368
+ }
1196
1369
  .tnc-ym-title {
1197
1370
  display: block;
1198
1371
  border: 0;
@@ -1214,21 +1387,28 @@
1214
1387
  }
1215
1388
  .tnc-ym-day {
1216
1389
  position: relative;
1390
+ min-width: var(--tnc-year-day-min);
1391
+ min-height: var(--tnc-year-day-min);
1392
+ width: 100%;
1393
+ height: auto;
1217
1394
  aspect-ratio: 1;
1218
1395
  border: 0;
1219
1396
  border-radius: 5px;
1220
1397
  padding: 0;
1221
1398
  cursor: pointer;
1222
1399
  font-size: 11px;
1223
- background: color-mix(in srgb, var(--tnc-accent) calc(var(--tnc-heat, 0) * 38%), transparent);
1400
+ background: color-mix(in srgb, var(--tnc-accent) calc(var(--tnc-heat, 0) * 14%), transparent);
1224
1401
  display: flex;
1225
1402
  flex-direction: column;
1226
1403
  align-items: center;
1227
1404
  justify-content: center;
1228
1405
  gap: 1px;
1229
1406
  }
1230
- .tnc-ym-day:hover {
1231
- outline: 1px solid var(--tnc-line-strong);
1407
+ @media (hover: hover) {
1408
+ .tnc-ym-day:hover {
1409
+ outline: 1px solid var(--tnc-line-strong);
1410
+ }
1411
+
1232
1412
  }
1233
1413
  .tnc-ym-day.is-weekend .tnc-ym-num {
1234
1414
  color: var(--tnc-muted);
@@ -1248,16 +1428,14 @@
1248
1428
  width: 4px;
1249
1429
  height: 4px;
1250
1430
  border-radius: 50%;
1251
- background: var(--tnc-c, var(--tnc-accent));
1431
+ background: color-mix(in srgb, var(--tnc-c, var(--tnc-accent)) 65%, var(--tnc-text));
1252
1432
  }
1253
1433
 
1254
- /* Two months a row: each day is a shaded square, and its count is in its label. */
1255
1434
  @container (max-width: 520px) {
1256
1435
  .tnc-year-scroll {
1257
1436
  padding: 8px 4px;
1258
1437
  }
1259
1438
  .tnc-year-grid {
1260
- grid-template-columns: repeat(2, minmax(0, 1fr));
1261
1439
  gap: 14px 12px;
1262
1440
  }
1263
1441
  .tnc-ym-title {
@@ -1273,7 +1451,7 @@
1273
1451
  }
1274
1452
  /* Without dots, one item must still read as busy. */
1275
1453
  .tnc-ym-day.has-items {
1276
- background: color-mix(in srgb, var(--tnc-accent) calc((0.3 + var(--tnc-heat) * 0.7) * 50%), transparent);
1454
+ background: color-mix(in srgb, var(--tnc-accent) calc((0.3 + var(--tnc-heat) * 0.7) * 20%), transparent);
1277
1455
  }
1278
1456
  .tnc-ym-dots {
1279
1457
  display: none;
@@ -1542,13 +1720,19 @@
1542
1720
  .tnc-item--timeline.is-link-invalid > .tnc-item-main {
1543
1721
  box-shadow: 0 0 0 2px var(--tnc-warn);
1544
1722
  }
1545
- .tnc-item--timeline:hover .tnc-port,
1546
1723
  .tnc-item--timeline.is-hover .tnc-port,
1547
1724
  .tnc-item--timeline.is-selected .tnc-port,
1548
1725
  .tnc-item--timeline:focus-visible .tnc-port,
1549
1726
  .tnc-tl.is-linking .tnc-item--timeline .tnc-port {
1550
1727
  opacity: 1;
1551
1728
  }
1729
+
1730
+ @media (hover: hover) {
1731
+ .tnc-item--timeline:hover .tnc-port {
1732
+ opacity: 1;
1733
+ }
1734
+
1735
+ }
1552
1736
  @media (pointer: coarse) {
1553
1737
  .tnc-port {
1554
1738
  --tnc-port-hit: 44px;
@@ -1669,8 +1853,11 @@
1669
1853
  font-size: 16px;
1670
1854
  line-height: 1;
1671
1855
  }
1672
- .tnc-popover-close:hover {
1673
- background: var(--tnc-surface-3);
1856
+ @media (hover: hover) {
1857
+ .tnc-popover-close:hover {
1858
+ background: var(--tnc-surface-3);
1859
+ }
1860
+
1674
1861
  }
1675
1862
  .tnc-popover-body {
1676
1863
  min-height: 0;
@@ -1683,6 +1870,8 @@
1683
1870
  .tnc-popover-body .tnc-item {
1684
1871
  position: relative;
1685
1872
  flex: none;
1873
+ height: auto;
1874
+ min-height: 40px;
1686
1875
  }
1687
1876
  .tnc-popover-title {
1688
1877
  min-width: 0;
@@ -1690,10 +1879,6 @@
1690
1879
  text-overflow: ellipsis;
1691
1880
  white-space: nowrap;
1692
1881
  }
1693
- .tnc-popover-body .tnc-item {
1694
- height: auto;
1695
- min-height: 40px;
1696
- }
1697
1882
  .tnc-popover-body .tnc-item-main {
1698
1883
  min-height: 40px;
1699
1884
  }
@@ -1706,6 +1891,144 @@
1706
1891
  outline-offset: -2px;
1707
1892
  }
1708
1893
 
1894
+ .tnc .tnc-col-actual .tnc-item-title {
1895
+ white-space: nowrap;
1896
+ overflow-wrap: normal;
1897
+ display: block;
1898
+ text-overflow: ellipsis;
1899
+ }
1900
+ .tnc .tnc-col-actual .tnc-item-main {
1901
+ min-width: 0;
1902
+ }
1903
+ .tnc .tnc-col-actual .tnc-item--timed {
1904
+ border-top: 1px solid var(--tnc-surface);
1905
+ border-bottom: 1px solid var(--tnc-surface);
1906
+ }
1907
+ .tnc .tnc-item--timed {
1908
+ box-shadow: inset 0 -1px 0 var(--tnc-surface);
1909
+ }
1910
+ .tnc .tnc-item.is-draggable {
1911
+ cursor: grab;
1912
+ }
1913
+ .tnc .tnc-item.is-dragging {
1914
+ opacity: 0.96;
1915
+ box-shadow: var(--tnc-theme-drag-lift, var(--tnc-shadow));
1916
+ outline: 1px solid var(--tnc-focus);
1917
+ outline-offset: -1px;
1918
+ }
1919
+ .tnc .tnc-item--timed.is-dragging {
1920
+ min-width: var(--tnc-drag-width);
1921
+ max-width: var(--tnc-drag-width);
1922
+ }
1923
+ .tnc .tnc-dg .tnc-item.is-dragging:not(.is-mirror) {
1924
+ opacity: var(--tnc-drag-opacity);
1925
+ box-shadow: none;
1926
+ outline: none;
1927
+ }
1928
+ .tnc .tnc-month-preview {
1929
+ position: absolute;
1930
+ pointer-events: none;
1931
+ outline: 2px dashed var(--tnc-accent);
1932
+ outline-offset: -2px;
1933
+ z-index: 10;
1934
+ }
1935
+ .tnc .tnc-item--list.is-dragging:not(.tnc-drag-preview) {
1936
+ opacity: var(--tnc-drag-opacity);
1937
+ box-shadow: none;
1938
+ }
1939
+ .tnc .tnc-item.tnc-drag-source {
1940
+ opacity: var(--tnc-drag-opacity);
1941
+ pointer-events: none;
1942
+ box-shadow: none;
1943
+ outline: none;
1944
+ }
1945
+ .tnc .tnc-item.tnc-drag-preview {
1946
+ position: absolute;
1947
+ z-index: var(--tnc-theme-drag-z, 1000);
1948
+ pointer-events: none;
1949
+ opacity: 1;
1950
+ background: var(--tnc-theme-drag-surface, var(--tnc-surface));
1951
+ border: 1px solid var(--tnc-theme-drag-border, var(--tnc-line-strong));
1952
+ box-shadow: var(--tnc-theme-drag-shadow, var(--tnc-shadow));
1953
+ outline: none;
1954
+ }
1955
+ .tnc .tnc-item.is-write-pending {
1956
+ opacity: 0.65;
1957
+ cursor: progress;
1958
+ }
1959
+ .tnc .tnc-item.is-write-failed {
1960
+ outline: 2px dashed var(--tnc-warn);
1961
+ outline-offset: -2px;
1962
+ }
1963
+ .tnc.tnc-drop-denied .tnc-item.is-dragging {
1964
+ outline: 2px dashed var(--tnc-warn);
1965
+ outline-offset: -2px;
1966
+ }
1967
+ .tnc.tnc-drop-denied,
1968
+ .tnc.tnc-drop-denied .tnc-item.is-dragging {
1969
+ cursor: not-allowed;
1970
+ }
1971
+ .tnc .tnc-item.is-selected {
1972
+ background-color: var(--tnc-selected);
1973
+ outline: 2px solid var(--tnc-accent);
1974
+ outline-offset: -2px;
1975
+ }
1976
+ .tnc :is(.tnc-item, .tnc-more, .tnc-strip-day, .tnc-btn, .tnc-list-add):focus-visible {
1977
+ outline: 2px solid var(--tnc-focus);
1978
+ outline-offset: -2px;
1979
+ }
1980
+ .tnc :is(.tnc-more, .tnc-btn, .tnc-list-add):disabled {
1981
+ opacity: var(--tnc-drag-opacity);
1982
+ cursor: not-allowed;
1983
+ }
1984
+ .tnc :is(.tnc-more, .tnc-btn, .tnc-list-add):active {
1985
+ background: var(--tnc-active);
1986
+ }
1987
+ .tnc .tnc-strip-day:active .tnc-strip-num {
1988
+ background: var(--tnc-active);
1989
+ }
1990
+ .tnc .tnc-strip-day.is-focus:active .tnc-strip-num {
1991
+ background: var(--tnc-accent);
1992
+ }
1993
+ .tnc .tnc-popover {
1994
+ background: var(--tnc-surface);
1995
+ }
1996
+ @media (hover: hover) {
1997
+ .tnc .tnc-item:not(.is-selected):not(.is-dragging):hover {
1998
+ filter: none;
1999
+ background-color: var(--tnc-hover);
2000
+ transition: background-color var(--tnc-motion);
2001
+ }
2002
+ .tnc .tnc-item--list:hover {
2003
+ box-shadow: none;
2004
+ }
2005
+ .tnc .tnc-item.is-selected:hover {
2006
+ background-color: var(--tnc-theme-selected-hover, var(--tnc-selected));
2007
+ }
2008
+ .tnc .tnc-more:hover {
2009
+ background: var(--tnc-hover);
2010
+ }
2011
+ }
2012
+ @media (hover: none) {
2013
+ .tnc .tnc-item:hover {
2014
+ filter: none;
2015
+ }
2016
+ .tnc .tnc-item--list:not(.is-selected):hover {
2017
+ background: none;
2018
+ }
2019
+ .tnc .tnc-strip-day:not(.is-focus):hover .tnc-strip-num {
2020
+ background: none;
2021
+ }
2022
+ }
2023
+ @media (prefers-reduced-motion: no-preference) {
2024
+ .tnc-item.is-write-changed {
2025
+ animation: tnc-write-settle calc(var(--tnc-motion) * 2) ease-out;
2026
+ }
2027
+ }
2028
+ @keyframes tnc-write-settle {
2029
+ from { opacity: var(--tnc-drag-opacity); }
2030
+ to { opacity: 1; }
2031
+ }
1709
2032
  @media (prefers-reduced-motion: reduce) {
1710
2033
  .tnc * {
1711
2034
  transition: none !important;