@rinzai/zen 0.8.6 → 0.10.0

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.
Files changed (168) hide show
  1. package/dist/animated-number/index.d.ts +6 -2
  2. package/dist/animated-number/index.d.ts.map +1 -1
  3. package/dist/animated-number/index.js +69 -17
  4. package/dist/breadcrumbs/index.d.ts +15 -0
  5. package/dist/breadcrumbs/index.d.ts.map +1 -0
  6. package/dist/breadcrumbs/index.js +39 -0
  7. package/dist/calendar-heatmap/index.d.ts +25 -0
  8. package/dist/calendar-heatmap/index.d.ts.map +1 -0
  9. package/dist/calendar-heatmap/index.js +48 -0
  10. package/dist/card/index.d.ts +3 -1
  11. package/dist/card/index.d.ts.map +1 -1
  12. package/dist/card/index.js +3 -2
  13. package/dist/chart/allocation.d.ts +30 -0
  14. package/dist/chart/allocation.d.ts.map +1 -0
  15. package/dist/chart/allocation.js +69 -0
  16. package/dist/chart/donut.d.ts.map +1 -1
  17. package/dist/chart/donut.js +72 -70
  18. package/dist/chart/index.d.ts +1 -0
  19. package/dist/chart/index.d.ts.map +1 -1
  20. package/dist/chart/index.js +182 -178
  21. package/dist/code-block/index.d.ts +1 -1
  22. package/dist/code-block/index.d.ts.map +1 -1
  23. package/dist/code-block/index.js +31 -22
  24. package/dist/code-input/index.d.ts +20 -0
  25. package/dist/code-input/index.d.ts.map +1 -0
  26. package/dist/code-input/index.js +44 -0
  27. package/dist/collapse/index.d.ts +3 -2
  28. package/dist/collapse/index.d.ts.map +1 -1
  29. package/dist/collapse/index.js +1 -1
  30. package/dist/command-palette/index.d.ts +37 -0
  31. package/dist/command-palette/index.d.ts.map +1 -0
  32. package/dist/command-palette/index.js +120 -0
  33. package/dist/date-picker/index.d.ts +10 -2
  34. package/dist/date-picker/index.d.ts.map +1 -1
  35. package/dist/date-picker/index.js +43 -21
  36. package/dist/dialog/index.d.ts +13 -3
  37. package/dist/dialog/index.d.ts.map +1 -1
  38. package/dist/dialog/index.js +84 -44
  39. package/dist/editable-cell/index.d.ts +2 -1
  40. package/dist/editable-cell/index.d.ts.map +1 -1
  41. package/dist/editable-cell/index.js +24 -17
  42. package/dist/empty-state/index.d.ts +14 -0
  43. package/dist/empty-state/index.d.ts.map +1 -0
  44. package/dist/empty-state/index.js +31 -0
  45. package/dist/file-drop/index.d.ts +18 -0
  46. package/dist/file-drop/index.d.ts.map +1 -0
  47. package/dist/file-drop/index.js +49 -0
  48. package/dist/filter-bar/index.d.ts +21 -0
  49. package/dist/filter-bar/index.d.ts.map +1 -0
  50. package/dist/filter-bar/index.js +90 -0
  51. package/dist/icon-picker/index.d.ts +38 -0
  52. package/dist/icon-picker/index.d.ts.map +1 -0
  53. package/dist/icon-picker/index.js +112 -0
  54. package/dist/icons/arrow-left.js +23 -0
  55. package/dist/icons/micro/arrow-trending-down.d.ts +3 -0
  56. package/dist/icons/micro/arrow-trending-down.d.ts.map +1 -0
  57. package/dist/icons/micro/arrow-trending-down.js +21 -0
  58. package/dist/icons/micro/arrow-trending-up.d.ts +3 -0
  59. package/dist/icons/micro/arrow-trending-up.d.ts.map +1 -0
  60. package/dist/icons/micro/arrow-trending-up.js +21 -0
  61. package/dist/index.d.ts +30 -6
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/kbd/index.d.ts +4 -0
  64. package/dist/kbd/index.d.ts.map +1 -0
  65. package/dist/kbd/index.js +12 -0
  66. package/dist/keypad/index.d.ts +20 -0
  67. package/dist/keypad/index.d.ts.map +1 -0
  68. package/dist/keypad/index.js +42 -0
  69. package/dist/lib.js +92 -65
  70. package/dist/load-more/index.d.ts +19 -0
  71. package/dist/load-more/index.d.ts.map +1 -0
  72. package/dist/load-more/index.js +37 -0
  73. package/dist/menu/index.d.ts +22 -3
  74. package/dist/menu/index.d.ts.map +1 -1
  75. package/dist/menu/index.js +132 -45
  76. package/dist/meter/index.d.ts +3 -1
  77. package/dist/meter/index.d.ts.map +1 -1
  78. package/dist/meter/index.js +19 -14
  79. package/dist/money-input/index.d.ts +3 -3
  80. package/dist/page-transition/index.d.ts +10 -0
  81. package/dist/page-transition/index.d.ts.map +1 -0
  82. package/dist/page-transition/index.js +16 -0
  83. package/dist/pagination/index.d.ts +26 -0
  84. package/dist/pagination/index.d.ts.map +1 -0
  85. package/dist/pagination/index.js +62 -0
  86. package/dist/progress-ring/index.d.ts +4 -1
  87. package/dist/progress-ring/index.d.ts.map +1 -1
  88. package/dist/progress-ring/index.js +47 -38
  89. package/dist/range-slider/index.d.ts +26 -0
  90. package/dist/range-slider/index.d.ts.map +1 -0
  91. package/dist/range-slider/index.js +44 -0
  92. package/dist/repeat-picker/index.d.ts +22 -0
  93. package/dist/repeat-picker/index.d.ts.map +1 -0
  94. package/dist/repeat-picker/index.js +115 -0
  95. package/dist/skeleton/index.d.ts +12 -2
  96. package/dist/skeleton/index.d.ts.map +1 -1
  97. package/dist/skeleton/index.js +11 -5
  98. package/dist/slider/index.d.ts +2 -0
  99. package/dist/slider/index.d.ts.map +1 -1
  100. package/dist/slider/index.js +19 -18
  101. package/dist/sortable/index.d.ts +33 -0
  102. package/dist/sortable/index.d.ts.map +1 -0
  103. package/dist/sortable/index.js +147 -0
  104. package/dist/sparkline/index.d.ts +15 -0
  105. package/dist/sparkline/index.d.ts.map +1 -0
  106. package/dist/sparkline/index.js +56 -0
  107. package/dist/stepper/index.d.ts +19 -0
  108. package/dist/stepper/index.d.ts.map +1 -0
  109. package/dist/stepper/index.js +53 -0
  110. package/dist/table/index.d.ts +11 -2
  111. package/dist/table/index.d.ts.map +1 -1
  112. package/dist/table/index.js +117 -53
  113. package/dist/table/selection.d.ts +55 -0
  114. package/dist/table/selection.d.ts.map +1 -0
  115. package/dist/table/selection.js +83 -0
  116. package/dist/table/swipe.d.ts +18 -0
  117. package/dist/table/swipe.d.ts.map +1 -0
  118. package/dist/table/swipe.js +53 -0
  119. package/dist/table-of-contents/index.d.ts +1 -0
  120. package/dist/table-of-contents/index.d.ts.map +1 -1
  121. package/dist/table-of-contents/index.js +25 -23
  122. package/dist/tabs/index.d.ts.map +1 -1
  123. package/dist/tabs/index.js +101 -51
  124. package/dist/tag-input/index.d.ts +19 -0
  125. package/dist/tag-input/index.d.ts.map +1 -0
  126. package/dist/tag-input/index.js +61 -0
  127. package/dist/theme-toggle/index.js +6 -6
  128. package/dist/theme.css +340 -8
  129. package/dist/timeline/index.d.ts +18 -0
  130. package/dist/timeline/index.d.ts.map +1 -0
  131. package/dist/timeline/index.js +45 -0
  132. package/dist/toast/index.js +25 -25
  133. package/dist/toggle/index.d.ts.map +1 -1
  134. package/dist/toggle/index.js +1 -1
  135. package/dist/tree/index.d.ts.map +1 -1
  136. package/dist/tree/index.js +68 -67
  137. package/dist/trend/index.d.ts +19 -0
  138. package/dist/trend/index.d.ts.map +1 -0
  139. package/dist/trend/index.js +27 -0
  140. package/dist/utils/date.d.ts +34 -0
  141. package/dist/utils/date.d.ts.map +1 -1
  142. package/dist/utils/date.js +45 -12
  143. package/dist/utils/indicator.d.ts.map +1 -1
  144. package/dist/utils/indicator.js +1 -1
  145. package/dist/utils/money.d.ts +3 -1
  146. package/dist/utils/money.d.ts.map +1 -1
  147. package/dist/utils/money.js +24 -1
  148. package/dist/utils/motion.d.ts +3 -0
  149. package/dist/utils/motion.d.ts.map +1 -0
  150. package/dist/utils/motion.js +7 -0
  151. package/dist/utils/repeat.d.ts +17 -0
  152. package/dist/utils/repeat.d.ts.map +1 -0
  153. package/dist/utils/repeat.js +38 -0
  154. package/dist/utils/section-link.d.ts +9 -0
  155. package/dist/utils/section-link.d.ts.map +1 -0
  156. package/dist/utils/section-link.js +10 -0
  157. package/dist/utils/swipe.d.ts +29 -0
  158. package/dist/utils/swipe.d.ts.map +1 -0
  159. package/dist/utils/swipe.js +85 -0
  160. package/dist/utils/theme-wave.d.ts.map +1 -1
  161. package/dist/utils/theme-wave.js +72 -71
  162. package/dist/utils/useAnchoredPopup.d.ts.map +1 -1
  163. package/dist/utils/useAnchoredPopup.js +3 -4
  164. package/dist/utils/useSeen.d.ts +4 -0
  165. package/dist/utils/useSeen.d.ts.map +1 -0
  166. package/dist/utils/useSeen.js +17 -0
  167. package/dist/zen.css +1 -1
  168. package/package.json +3 -1
package/dist/theme.css CHANGED
@@ -224,6 +224,25 @@
224
224
  * surface's own `!` background (a Dialog's) is: an unlayered !important rule
225
225
  * loses to a layered one.
226
226
  */
227
+ /*
228
+ * On touch screens, a small control's hit area grows to at least 44px (centred on
229
+ * it), while it looks the same. For controls that aren't positioned themselves.
230
+ */
231
+ @utility touch-target {
232
+ @media (pointer: coarse) {
233
+ position: relative;
234
+ &::after {
235
+ content: '';
236
+ position: absolute;
237
+ top: 50%;
238
+ left: 50%;
239
+ translate: -50% -50%;
240
+ width: max(100%, 44px);
241
+ height: max(100%, 44px);
242
+ }
243
+ }
244
+ }
245
+
227
246
  @utility glass-blur {
228
247
  @apply backdrop-blur-[18px] backdrop-saturate-140;
229
248
  /*
@@ -383,6 +402,53 @@ html[data-zen-graphics='lite'] .zen__table-container[data-under-bottom] .zen__st
383
402
  --sh-comment: oklch(var(--muted-foreground));
384
403
  }
385
404
 
405
+ /*
406
+ * Code wider than its block fades out at the edge it carries on past. The mask is
407
+ * only in the keyframes: code that fits has no scroll timeline, so no mask at all.
408
+ */
409
+ @property --zen-code-l {
410
+ syntax: '<length>';
411
+ inherits: false;
412
+ initial-value: 0px;
413
+ }
414
+ @property --zen-code-r {
415
+ syntax: '<length>';
416
+ inherits: false;
417
+ initial-value: 0px;
418
+ }
419
+ @keyframes zen-code-fade {
420
+ 0% {
421
+ --zen-code-l: 0px;
422
+ --zen-code-r: 2rem;
423
+ }
424
+ 5% {
425
+ --zen-code-l: 2rem;
426
+ }
427
+ 95% {
428
+ --zen-code-r: 2rem;
429
+ }
430
+ 100% {
431
+ --zen-code-l: 2rem;
432
+ --zen-code-r: 0px;
433
+ }
434
+ 0%,
435
+ 100% {
436
+ mask-image: linear-gradient(
437
+ to right,
438
+ transparent,
439
+ #000 var(--zen-code-l),
440
+ #000 calc(100% - var(--zen-code-r)),
441
+ transparent
442
+ );
443
+ }
444
+ }
445
+ @supports (animation-timeline: scroll()) {
446
+ .zen__code-block pre {
447
+ animation: zen-code-fade linear both;
448
+ animation-timeline: scroll(self inline);
449
+ }
450
+ }
451
+
386
452
  /* ───────────────────────── Backdrop: contours / dots + light ───────────────────────── */
387
453
 
388
454
  .zen-backdrop {
@@ -891,16 +957,23 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
891
957
  * otherwise be repainted when the animation ends, its icons snapping a pixel
892
958
  * away from the text.
893
959
  */
894
- .zen__popover,
960
+ .zen__popover {
961
+ will-change: opacity;
962
+ }
895
963
  .zen__dialog {
896
964
  will-change: scale;
897
965
  }
966
+ /* The gap animates, not scale (which reads as resizing), so a popup flipped above slides the right way. */
898
967
  .zen__popover {
968
+ margin-block: calc(var(--zen-anchor-offset, 4) * 1px);
899
969
  transition:
900
970
  opacity 150ms,
901
- scale 150ms,
902
- overlay 150ms allow-discrete,
903
- display 150ms allow-discrete;
971
+ margin-block 180ms var(--ease-out-soft),
972
+ overlay 180ms allow-discrete,
973
+ display 180ms allow-discrete;
974
+ }
975
+ .zen__popover:not(:popover-open) {
976
+ margin-block: calc((var(--zen-anchor-offset, 4) - 6) * 1px);
904
977
  }
905
978
  .zen__dialog {
906
979
  /*
@@ -922,7 +995,9 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
922
995
  overlay 150ms allow-discrete,
923
996
  display 150ms allow-discrete;
924
997
  }
925
- .zen__popover:not(:popover-open),
998
+ .zen__popover:not(:popover-open) {
999
+ opacity: 0;
1000
+ }
926
1001
  .zen__dialog:not([open]) {
927
1002
  opacity: 0;
928
1003
  scale: 0.95;
@@ -930,6 +1005,13 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
930
1005
  .zen__dialog:not([open])::backdrop {
931
1006
  opacity: 0;
932
1007
  }
1008
+ /* A dialog opened from a button grows out of it, and shrinks back into it (useModal sets the origin). */
1009
+ .zen__dialog[data-zen-from] {
1010
+ transition-duration: 280ms;
1011
+ }
1012
+ .zen__dialog[data-zen-from]:not([open]) {
1013
+ scale: 0.4;
1014
+ }
933
1015
  /* Sheets slide from their edge instead of scaling up. */
934
1016
  .zen__dialog[data-side] {
935
1017
  transition:
@@ -953,8 +1035,23 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
953
1035
  .zen__dialog[data-side='left']:not([open]) {
954
1036
  translate: -100% 0;
955
1037
  }
1038
+ /* A sheet being swiped back to its edge (useSheetSwipe): it follows the finger, and the scrim fades with it. */
1039
+ .zen__dialog[data-side][open] {
1040
+ translate: var(--zen-swipe, 0 0);
1041
+ }
1042
+ .zen__dialog[data-side][open]::backdrop {
1043
+ opacity: calc(1 - var(--zen-swipe-progress, 0));
1044
+ }
1045
+ .zen__dialog[data-swiping],
1046
+ .zen__dialog[data-swiping]::backdrop {
1047
+ transition: none;
1048
+ user-select: none;
1049
+ }
956
1050
  @starting-style {
957
- .zen__popover:popover-open,
1051
+ .zen__popover:popover-open {
1052
+ opacity: 0;
1053
+ margin-block: calc((var(--zen-anchor-offset, 4) - 6) * 1px);
1054
+ }
958
1055
  .zen__dialog[open] {
959
1056
  opacity: 0;
960
1057
  scale: 0.95;
@@ -962,9 +1059,15 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
962
1059
  .zen__dialog[open]::backdrop {
963
1060
  opacity: 0;
964
1061
  }
1062
+ .zen__dialog[data-zen-from][open] {
1063
+ scale: 0.4;
1064
+ }
965
1065
  .zen__dialog[data-side][open] {
966
1066
  scale: none;
967
1067
  }
1068
+ .zen__dialog[data-side][open]::backdrop {
1069
+ opacity: 0;
1070
+ }
968
1071
  .zen__dialog[data-side='bottom'][open] {
969
1072
  translate: 0 100%;
970
1073
  }
@@ -1062,6 +1165,47 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
1062
1165
  .rise > *:nth-child(n + 5) {
1063
1166
  animation-delay: 200ms;
1064
1167
  }
1168
+ /* A list's rows (a .rise-list's children, e.g. a TableBody's) enter the same way, in quicker steps, as they first show. */
1169
+ .rise-list > * {
1170
+ animation: zen-rise 0.45s var(--ease-out-soft) backwards;
1171
+ }
1172
+ .rise-list > *:nth-child(2) {
1173
+ animation-delay: 35ms;
1174
+ }
1175
+ .rise-list > *:nth-child(3) {
1176
+ animation-delay: 70ms;
1177
+ }
1178
+ .rise-list > *:nth-child(4) {
1179
+ animation-delay: 105ms;
1180
+ }
1181
+ .rise-list > *:nth-child(5) {
1182
+ animation-delay: 140ms;
1183
+ }
1184
+ .rise-list > *:nth-child(6) {
1185
+ animation-delay: 175ms;
1186
+ }
1187
+ .rise-list > *:nth-child(7) {
1188
+ animation-delay: 210ms;
1189
+ }
1190
+ .rise-list > *:nth-child(8) {
1191
+ animation-delay: 245ms;
1192
+ }
1193
+ .rise-list > *:nth-child(9) {
1194
+ animation-delay: 280ms;
1195
+ }
1196
+ .rise-list > *:nth-child(10) {
1197
+ animation-delay: 315ms;
1198
+ }
1199
+ .rise-list > *:nth-child(11) {
1200
+ animation-delay: 350ms;
1201
+ }
1202
+ .rise-list > *:nth-child(12) {
1203
+ animation-delay: 385ms;
1204
+ }
1205
+ /* Past the first screenful, rows (often added later, e.g. by LoadMore) just appear. */
1206
+ .rise-list > *:nth-child(n + 13) {
1207
+ animation: none;
1208
+ }
1065
1209
 
1066
1210
  /*
1067
1211
  * Loading placeholders: a soft light sweeping across. The light is a layer
@@ -1096,6 +1240,135 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
1096
1240
  }
1097
1241
  }
1098
1242
 
1243
+ /*
1244
+ * Morphs: a card opening into its page. Give the pair the view-transition class
1245
+ * zen-morph (React: <ViewTransition name=… share="zen-morph">). The box moves and
1246
+ * resizes; what's in it keeps its size, clipped to the box, so text never stretches.
1247
+ */
1248
+ ::view-transition-group(*.zen-morph) {
1249
+ animation-duration: 0.42s;
1250
+ animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
1251
+ }
1252
+ ::view-transition-image-pair(*.zen-morph) {
1253
+ overflow: clip;
1254
+ border-radius: var(--radius-xl);
1255
+ }
1256
+ ::view-transition-old(*.zen-morph),
1257
+ ::view-transition-new(*.zen-morph) {
1258
+ height: 100%;
1259
+ object-fit: none;
1260
+ object-position: top left;
1261
+ }
1262
+
1263
+ /* Pages: the old one fades out as the new one rises in (PageTransition). */
1264
+ ::view-transition-group(zen-page) {
1265
+ animation-duration: 0.34s;
1266
+ animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
1267
+ }
1268
+ ::view-transition-old(zen-page) {
1269
+ animation: zen-page-out 0.16s ease-in both;
1270
+ }
1271
+ ::view-transition-new(zen-page) {
1272
+ animation: zen-page-in 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) 0.06s both;
1273
+ }
1274
+ @keyframes zen-page-out {
1275
+ to {
1276
+ opacity: 0;
1277
+ translate: 0 -6px;
1278
+ }
1279
+ }
1280
+ @keyframes zen-page-in {
1281
+ from {
1282
+ opacity: 0;
1283
+ translate: 0 12px;
1284
+ }
1285
+ }
1286
+ @media (prefers-reduced-motion: reduce) {
1287
+ ::view-transition-group(zen-page),
1288
+ ::view-transition-old(zen-page),
1289
+ ::view-transition-new(zen-page) {
1290
+ animation: none;
1291
+ }
1292
+ }
1293
+ html.reduce-motion::view-transition-group(zen-page),
1294
+ html.reduce-motion::view-transition-old(zen-page),
1295
+ html.reduce-motion::view-transition-new(zen-page) {
1296
+ animation: none;
1297
+ }
1298
+
1299
+ /* The selection bar rises into view when the first row is selected. */
1300
+ .zen__selection-bar {
1301
+ animation: zen-bar-in 0.3s var(--ease-out-soft) both;
1302
+ }
1303
+ @keyframes zen-bar-in {
1304
+ from {
1305
+ opacity: 0;
1306
+ translate: 0 16px;
1307
+ }
1308
+ }
1309
+
1310
+ /* Content arriving where its placeholder was. */
1311
+ .zen__reveal {
1312
+ animation: zen-reveal 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) both;
1313
+ }
1314
+ @keyframes zen-reveal {
1315
+ from {
1316
+ opacity: 0;
1317
+ translate: 0 4px;
1318
+ }
1319
+ }
1320
+
1321
+ /* A progress ring reaching its goal: a ring of glow goes out from the arc as it closes. */
1322
+ .zen__ring-burst {
1323
+ animation: zen-ring-burst 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both;
1324
+ box-shadow: 0 0 18px oklch(var(--glow) / calc(0.6 * var(--glow-k)));
1325
+ }
1326
+ @keyframes zen-ring-burst {
1327
+ from {
1328
+ opacity: 0.9;
1329
+ scale: 1;
1330
+ }
1331
+ to {
1332
+ opacity: 0;
1333
+ scale: 1.45;
1334
+ }
1335
+ }
1336
+
1337
+ /* A value just changed by an edit. */
1338
+ .zen__editable-cell[data-changed] {
1339
+ animation: zen-cell-changed 1s cubic-bezier(0.2, 0.8, 0.2, 1);
1340
+ }
1341
+ @keyframes zen-cell-changed {
1342
+ from {
1343
+ background-color: oklch(var(--primary) / 0.22);
1344
+ box-shadow: 0 0 14px oklch(var(--glow) / calc(0.45 * var(--glow-k)));
1345
+ }
1346
+ }
1347
+
1348
+ /* A swiped row moves aside for the actions behind it, and settles when let go. */
1349
+ .zen__swipe-row {
1350
+ translate: calc(-1 * var(--zen-row-swipe, 0px)) 0;
1351
+ transition: translate 0.3s var(--ease-out-soft);
1352
+ }
1353
+ .zen__swipe-row:dir(rtl) {
1354
+ translate: var(--zen-row-swipe, 0px) 0;
1355
+ }
1356
+ .zen__swipe-actions {
1357
+ transition: width 0.3s var(--ease-out-soft);
1358
+ }
1359
+ .zen__swipe-row[data-swiping],
1360
+ .zen__swipe-row[data-swiping] > .zen__swipe-actions {
1361
+ transition: none;
1362
+ }
1363
+
1364
+ /* While an item is dragged, the others glide out of its way (not when the list is reordered after). */
1365
+ .zen__sortable[data-sorting] > .zen__sortable-item:not([data-dragging]) {
1366
+ transition:
1367
+ translate 0.2s var(--ease-out-soft),
1368
+ box-shadow 0.2s,
1369
+ scale 0.2s;
1370
+ }
1371
+
1099
1372
  /* Time left before a toast goes away. */
1100
1373
  .zen__toast-timer {
1101
1374
  animation: zen-toast-timer linear forwards;
@@ -1116,6 +1389,40 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
1116
1389
  }
1117
1390
  }
1118
1391
 
1392
+ /* A tag added to a TagInput pops in. */
1393
+ .zen__tag {
1394
+ animation: zen-pop 0.3s var(--ease-out-soft) backwards;
1395
+ }
1396
+
1397
+ @keyframes zen-fade-in {
1398
+ from {
1399
+ opacity: 0;
1400
+ }
1401
+ }
1402
+ @keyframes zen-chip-in {
1403
+ from {
1404
+ opacity: 0;
1405
+ scale: 0.92;
1406
+ translate: 0 3px;
1407
+ }
1408
+ }
1409
+ .zen__filter-chip {
1410
+ animation: zen-chip-in 0.28s var(--ease-out-soft) backwards;
1411
+ }
1412
+ .zen__filter-clear {
1413
+ animation: zen-fade-in 0.2s ease-out backwards;
1414
+ }
1415
+
1416
+ /* CodeInput's caret, in the box typing goes into. */
1417
+ .zen__code-caret {
1418
+ animation: zen-caret 1s steps(1) infinite;
1419
+ }
1420
+ @keyframes zen-caret {
1421
+ 50% {
1422
+ opacity: 0;
1423
+ }
1424
+ }
1425
+
1119
1426
  /* Charts: lines draw themselves in, bars grow from the baseline, fills and donut segments fade up. */
1120
1427
  .zen__chart-draw {
1121
1428
  stroke-dasharray: 1;
@@ -1150,6 +1457,29 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
1150
1457
  opacity: 0;
1151
1458
  }
1152
1459
  }
1460
+ /* Held at their start until the chart is first on screen, so they're seen. */
1461
+ /*
1462
+ * A sparkline is revealed from the left instead: its stroke doesn't scale with the
1463
+ * stretched drawing (non-scaling-stroke), and Chrome then measures a dash in screen
1464
+ * pixels, not along the path, breaking the line up. Its points only go rightwards,
1465
+ * so the reveal draws it just the same.
1466
+ */
1467
+ .zen__sparkline-draw,
1468
+ .zen__chart-sweep {
1469
+ animation: zen-sparkline-draw 0.9s cubic-bezier(0.3, 0.7, 0.2, 1) both;
1470
+ }
1471
+ @keyframes zen-sparkline-draw {
1472
+ from {
1473
+ clip-path: inset(0 100% 0 0);
1474
+ }
1475
+ to {
1476
+ clip-path: inset(0);
1477
+ }
1478
+ }
1479
+ [data-zen-unseen] :is(.zen__chart-draw, .zen__sparkline-draw, .zen__chart-sweep, .zen__chart-grow, .zen__chart-fade),
1480
+ [data-zen-unseen]:is(.zen__chart-draw, .zen__sparkline-draw, .zen__chart-sweep, .zen__chart-grow, .zen__chart-fade) {
1481
+ animation-play-state: paused;
1482
+ }
1153
1483
 
1154
1484
  /*
1155
1485
  * Reduced motion: the OS setting, or opt in with html.reduce-motion. It reaches
@@ -1162,7 +1492,8 @@ html.zen-theme-closing::view-transition-old(zen-theme-area) {
1162
1492
  [class*='zen__'],
1163
1493
  [class*='zen__']::before,
1164
1494
  [class*='zen__']::backdrop,
1165
- .rise > * {
1495
+ .rise > *,
1496
+ .rise-list > * {
1166
1497
  animation-duration: 0.01ms !important;
1167
1498
  animation-iteration-count: 1 !important;
1168
1499
  transition-duration: 0.01ms !important;
@@ -1173,7 +1504,8 @@ html.reduce-motion .zen-backdrop *::before,
1173
1504
  html.reduce-motion [class*='zen__'],
1174
1505
  html.reduce-motion [class*='zen__']::before,
1175
1506
  html.reduce-motion [class*='zen__']::backdrop,
1176
- html.reduce-motion .rise > * {
1507
+ html.reduce-motion .rise > *,
1508
+ html.reduce-motion .rise-list > * {
1177
1509
  animation-duration: 0.01ms !important;
1178
1510
  animation-iteration-count: 1 !important;
1179
1511
  transition-duration: 0.01ms !important;
@@ -0,0 +1,18 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ /** Events in order, each on a dot joined by a line: an activity feed, a history. */
3
+ export default function Timeline({ className, ...rest }: ComponentProps<'ol'>): import('react').JSX.Element;
4
+ /**
5
+ * One event: its title, when (`time`), and anything more as children. `icon`
6
+ * replaces the dot; `active` lights it in the accent, e.g. what's happening now.
7
+ */
8
+ export declare function TimelineItem({ title, time, icon, active, className, children, ...rest }: TimelineItemProps): import('react').JSX.Element;
9
+ export interface TimelineItemProps extends Omit<ComponentProps<'li'>, 'title'> {
10
+ title: ReactNode;
11
+ /** When it happened, e.g. a <time> or "2 hours ago". */
12
+ time?: ReactNode;
13
+ /** An icon in place of the dot. */
14
+ icon?: ReactNode;
15
+ /** Lit in the accent: the current or latest event. */
16
+ active?: boolean;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/timeline/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,oFAAoF;AACpF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,+BAE5E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,iBAAiB,+BA8B1G;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAC1E,KAAK,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mCAAmC;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { cx as e } from "../utils/cx.js";
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ //#region packages/timeline/index.tsx
5
+ function r({ className: n, ...r }) {
6
+ return /* @__PURE__ */ t("ol", {
7
+ className: e("zen__timeline flex flex-col", n),
8
+ ...r
9
+ });
10
+ }
11
+ function i({ title: r, time: i, icon: a, active: o, className: s, children: c, ...l }) {
12
+ return /* @__PURE__ */ n("li", {
13
+ className: e("group/timeline relative flex gap-3 pb-6 last:pb-0", s),
14
+ ...l,
15
+ children: [
16
+ /* @__PURE__ */ t("span", {
17
+ "aria-hidden": !0,
18
+ className: "bg-tint/10 absolute top-7 bottom-1 left-[11px] w-px group-last/timeline:hidden"
19
+ }),
20
+ /* @__PURE__ */ t("span", {
21
+ "aria-hidden": !0,
22
+ className: e("relative mt-0.5 grid size-6 shrink-0 place-items-center rounded-full [&_svg]:size-3.5", a ? "bg-tint/[0.06] text-muted-foreground shadow-[inset_0_0_0_1px_oklch(var(--tint)/0.1)]" : "after:bg-tint/30 after:size-2 after:rounded-full", o && "bg-primary/15 text-primary shadow-[inset_0_0_0_1px_oklch(var(--primary)/0.35),0_0_16px_-2px_oklch(var(--glow)/calc(0.7*var(--glow-k)))] after:bg-primary"),
23
+ children: a
24
+ }),
25
+ /* @__PURE__ */ n("div", {
26
+ className: "flex min-w-0 flex-1 flex-col gap-1",
27
+ children: [/* @__PURE__ */ n("div", {
28
+ className: "flex flex-wrap items-baseline justify-between gap-x-3",
29
+ children: [/* @__PURE__ */ t("span", {
30
+ className: "text-foreground text-sm font-medium",
31
+ children: r
32
+ }), i && /* @__PURE__ */ t("span", {
33
+ className: "text-muted-foreground text-xs tabular-nums",
34
+ children: i
35
+ })]
36
+ }), c && /* @__PURE__ */ t("div", {
37
+ className: "text-muted-foreground text-sm leading-6",
38
+ children: c
39
+ })]
40
+ })
41
+ ]
42
+ });
43
+ }
44
+ //#endregion
45
+ export { i as TimelineItem, r as default };
@@ -4,13 +4,13 @@ import { useGraphicsMode as t } from "../utils/graphics.js";
4
4
  import { AlertIcon as n, CheckIcon as r, InfoIcon as i } from "../utils/status-icons.js";
5
5
  import a from "../icons/micro/x-mark.js";
6
6
  import { createContext as o, useCallback as s, useContext as c, useEffect as l, useRef as u, useState as d } from "react";
7
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
8
- import { createPortal as h } from "react-dom";
7
+ import { createPortal as f } from "react-dom";
8
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
9
9
  //#region packages/toast/index.tsx
10
10
  var g = 5e3, _ = 3, v = 300, y = 14, b = .05, x = 10, S = 60, C = .45, w = o(null), T = o(null);
11
11
  function E({ children: n, offset: r, viewportClassName: i }) {
12
12
  t();
13
- let [a, o] = d([]), c = u(0), f = u(/* @__PURE__ */ new Map()), S = u(/* @__PURE__ */ new Set()), [C, E] = d([]), [D, k] = d(!1);
13
+ let [a, o] = d([]), c = u(0), p = u(/* @__PURE__ */ new Map()), S = u(/* @__PURE__ */ new Set()), [C, E] = d([]), [D, k] = d(!1);
14
14
  l(() => k(!0), []);
15
15
  let A = s((e) => (E((t) => [...t, e]), () => E((t) => t.filter((t) => t !== e))), []), M = C.at(-1) ?? (D ? document.body : null), [N, P] = d({}), F = s((e, t) => P((n) => n[e] === t ? n : {
16
16
  ...n,
@@ -32,7 +32,7 @@ function E({ children: n, offset: r, viewportClassName: i }) {
32
32
  o((t) => {
33
33
  let n = t.filter((t) => t.id !== e);
34
34
  return n.length || L(!1), n;
35
- }), P(({ [e]: t, ...n }) => n), f.current.delete(e), S.current.delete(e);
35
+ }), P(({ [e]: t, ...n }) => n), p.current.delete(e), S.current.delete(e);
36
36
  }, v);
37
37
  }, []), U = s((e, { description: t, tone: n = "info", action: r, timeout: i } = {}) => {
38
38
  let a = c.current++, s = {
@@ -55,12 +55,12 @@ function E({ children: n, offset: r, viewportClassName: i }) {
55
55
  height: !G && n > 0 ? q : void 0
56
56
  };
57
57
  };
58
- return /* @__PURE__ */ m(w.Provider, {
58
+ return /* @__PURE__ */ h(w.Provider, {
59
59
  value: U,
60
- children: [/* @__PURE__ */ p(T.Provider, {
60
+ children: [/* @__PURE__ */ m(T.Provider, {
61
61
  value: A,
62
62
  children: n
63
- }), M && h(/* @__PURE__ */ p("section", {
63
+ }), M && f(/* @__PURE__ */ m("section", {
64
64
  ref: V,
65
65
  popover: "manual",
66
66
  tabIndex: -1,
@@ -77,14 +77,14 @@ function E({ children: n, offset: r, viewportClassName: i }) {
77
77
  height: Y,
78
78
  ...r && { "--zen-toast-offset": r }
79
79
  },
80
- children: a.map((e, t) => /* @__PURE__ */ p(j, {
80
+ children: a.map((e, t) => /* @__PURE__ */ m(j, {
81
81
  toast: e,
82
82
  layout: X(e),
83
83
  z: t + 1,
84
84
  paused: G,
85
85
  onDismiss: H,
86
86
  onHeight: F,
87
- clocks: f.current,
87
+ clocks: p.current,
88
88
  entered: S.current
89
89
  }, e.id))
90
90
  }), M)]
@@ -134,11 +134,11 @@ var A = {
134
134
  glow: "shadow-[var(--toast-shadow)]"
135
135
  }
136
136
  };
137
- function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, clocks: c, entered: h }) {
138
- let g = A[t.tone] ?? A.info, _ = g.icon, v = u(null), y = u(null), [b] = d(() => !h.has(t.id));
137
+ function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, clocks: c, entered: f }) {
138
+ let g = A[t.tone] ?? A.info, _ = g.icon, v = u(null), y = u(null), [b] = d(() => !f.has(t.id));
139
139
  l(() => {
140
- v.current?.isConnected && h.add(t.id);
141
- }, [h, t.id]);
140
+ v.current?.isConnected && f.add(t.id);
141
+ }, [f, t.id]);
142
142
  let [x, w] = d(!1);
143
143
  l(() => {
144
144
  if (!b) return;
@@ -186,7 +186,7 @@ function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, cl
186
186
  let n = D.current;
187
187
  n && (D.current = null, delete e.currentTarget.dataset.swiping, n.dx > S || n.dx > 0 && n.speed > C ? o(t.id, "swipe") : e.currentTarget.style.setProperty("--zen-swipe", "0px"));
188
188
  };
189
- return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("div", {
189
+ return /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ h("div", {
190
190
  ref: v,
191
191
  role: t.tone === "error" ? "alert" : "status",
192
192
  "aria-live": "off",
@@ -203,27 +203,27 @@ function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, cl
203
203
  height: n.height,
204
204
  transform: `translateX(var(--zen-swipe, 0px)) translateY(${n.y}px) scale(${n.scale})`
205
205
  },
206
- children: [/* @__PURE__ */ m("div", {
206
+ children: [/* @__PURE__ */ h("div", {
207
207
  ref: y,
208
208
  className: "flex items-start gap-3 p-3.5 pr-10 transition-opacity duration-300 group-data-behind:opacity-0",
209
209
  children: [
210
- /* @__PURE__ */ p("span", {
210
+ /* @__PURE__ */ m("span", {
211
211
  className: e("mt-0.5 grid size-8 shrink-0 place-items-center rounded-full", g.badge),
212
212
  "aria-hidden": !0,
213
- children: /* @__PURE__ */ p(_, { className: "size-4" })
213
+ children: /* @__PURE__ */ m(_, { className: "size-4" })
214
214
  }),
215
- /* @__PURE__ */ m("div", {
215
+ /* @__PURE__ */ h("div", {
216
216
  className: "flex min-w-0 flex-1 flex-col gap-0.5 pt-0.5",
217
217
  children: [
218
- /* @__PURE__ */ p("div", {
218
+ /* @__PURE__ */ m("div", {
219
219
  className: "text-sm font-semibold",
220
220
  children: t.title
221
221
  }),
222
- t.description && /* @__PURE__ */ p("div", {
222
+ t.description && /* @__PURE__ */ m("div", {
223
223
  className: "text-muted-foreground text-sm leading-5",
224
224
  children: t.description
225
225
  }),
226
- t.action && /* @__PURE__ */ p("button", {
226
+ t.action && /* @__PURE__ */ m("button", {
227
227
  type: "button",
228
228
  onClick: () => {
229
229
  t.action?.onClick(), o(t.id);
@@ -233,15 +233,15 @@ function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, cl
233
233
  })
234
234
  ]
235
235
  }),
236
- /* @__PURE__ */ p("button", {
236
+ /* @__PURE__ */ m("button", {
237
237
  type: "button",
238
238
  "aria-label": "Dismiss",
239
239
  onClick: () => o(t.id),
240
240
  className: "text-muted-foreground hover:bg-tint/[0.07] hover:text-foreground focus-visible:ring-ring/50 absolute top-2.5 right-2.5 grid size-7 cursor-pointer place-items-center rounded-lg outline-hidden transition-colors focus-visible:ring-2",
241
- children: /* @__PURE__ */ p(a, { className: "size-3.5" })
241
+ children: /* @__PURE__ */ m(a, { className: "size-3.5" })
242
242
  })
243
243
  ]
244
- }), t.timeout > 0 && /* @__PURE__ */ p("span", {
244
+ }), t.timeout > 0 && /* @__PURE__ */ m("span", {
245
245
  "aria-hidden": !0,
246
246
  className: e("zen__toast-timer absolute bottom-0 left-0 h-0.5 w-full origin-left opacity-60 transition-opacity group-data-behind:opacity-0", g.bar),
247
247
  style: {
@@ -250,7 +250,7 @@ function j({ toast: t, layout: n, z: r, paused: i, onDismiss: o, onHeight: s, cl
250
250
  animationPlayState: i ? "paused" : void 0
251
251
  }
252
252
  })]
253
- }), /* @__PURE__ */ p("span", {
253
+ }), /* @__PURE__ */ m("span", {
254
254
  className: "sr-only",
255
255
  "aria-live": t.tone === "error" ? "assertive" : "polite",
256
256
  "aria-atomic": "true",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/toggle/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW,+BAwChD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/toggle/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW,+BAyChD"}
@@ -4,7 +4,7 @@ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
4
  //#region packages/toggle/index.tsx
5
5
  function r(r) {
6
6
  let { className: i, onChange: a, onKeyDown: o, disabled: s, ...c } = r;
7
- return /* @__PURE__ */ n("label", {
7
+ return /* @__PURE__ */ n("span", {
8
8
  className: e("zen__toggle bg-tint/[0.06] relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-[color:oklch(var(--tint)/var(--zen-control-edge))] p-0.5", "has-focus-visible:ring-glow/50 transition-[background-color,box-shadow,border-color] duration-300 has-focus-visible:ring-2", "has-checked:border-glow/60 has-checked:bg-glow/40 has-checked:shadow-[0_0_18px_-2px_oklch(var(--glow)/calc(0.8*var(--glow-k)))]", "has-disabled:cursor-not-allowed has-disabled:opacity-50", i),
9
9
  children: [/* @__PURE__ */ t("input", {
10
10
  type: "checkbox",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/tree/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/tree/index.tsx"],"names":[],"mappings":"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"}