@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.
- package/dist/animated-number/index.d.ts +6 -2
- package/dist/animated-number/index.d.ts.map +1 -1
- package/dist/animated-number/index.js +69 -17
- package/dist/breadcrumbs/index.d.ts +15 -0
- package/dist/breadcrumbs/index.d.ts.map +1 -0
- package/dist/breadcrumbs/index.js +39 -0
- package/dist/calendar-heatmap/index.d.ts +25 -0
- package/dist/calendar-heatmap/index.d.ts.map +1 -0
- package/dist/calendar-heatmap/index.js +48 -0
- package/dist/card/index.d.ts +3 -1
- package/dist/card/index.d.ts.map +1 -1
- package/dist/card/index.js +3 -2
- package/dist/chart/allocation.d.ts +30 -0
- package/dist/chart/allocation.d.ts.map +1 -0
- package/dist/chart/allocation.js +69 -0
- package/dist/chart/donut.d.ts.map +1 -1
- package/dist/chart/donut.js +72 -70
- package/dist/chart/index.d.ts +1 -0
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.js +182 -178
- package/dist/code-block/index.d.ts +1 -1
- package/dist/code-block/index.d.ts.map +1 -1
- package/dist/code-block/index.js +31 -22
- package/dist/code-input/index.d.ts +20 -0
- package/dist/code-input/index.d.ts.map +1 -0
- package/dist/code-input/index.js +44 -0
- package/dist/collapse/index.d.ts +3 -2
- package/dist/collapse/index.d.ts.map +1 -1
- package/dist/collapse/index.js +1 -1
- package/dist/command-palette/index.d.ts +37 -0
- package/dist/command-palette/index.d.ts.map +1 -0
- package/dist/command-palette/index.js +120 -0
- package/dist/date-picker/index.d.ts +10 -2
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +43 -21
- package/dist/dialog/index.d.ts +13 -3
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +84 -44
- package/dist/editable-cell/index.d.ts +2 -1
- package/dist/editable-cell/index.d.ts.map +1 -1
- package/dist/editable-cell/index.js +24 -17
- package/dist/empty-state/index.d.ts +14 -0
- package/dist/empty-state/index.d.ts.map +1 -0
- package/dist/empty-state/index.js +31 -0
- package/dist/file-drop/index.d.ts +18 -0
- package/dist/file-drop/index.d.ts.map +1 -0
- package/dist/file-drop/index.js +49 -0
- package/dist/filter-bar/index.d.ts +21 -0
- package/dist/filter-bar/index.d.ts.map +1 -0
- package/dist/filter-bar/index.js +90 -0
- package/dist/icon-picker/index.d.ts +38 -0
- package/dist/icon-picker/index.d.ts.map +1 -0
- package/dist/icon-picker/index.js +112 -0
- package/dist/icons/arrow-left.js +23 -0
- package/dist/icons/micro/arrow-trending-down.d.ts +3 -0
- package/dist/icons/micro/arrow-trending-down.d.ts.map +1 -0
- package/dist/icons/micro/arrow-trending-down.js +21 -0
- package/dist/icons/micro/arrow-trending-up.d.ts +3 -0
- package/dist/icons/micro/arrow-trending-up.d.ts.map +1 -0
- package/dist/icons/micro/arrow-trending-up.js +21 -0
- package/dist/index.d.ts +30 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/kbd/index.d.ts +4 -0
- package/dist/kbd/index.d.ts.map +1 -0
- package/dist/kbd/index.js +12 -0
- package/dist/keypad/index.d.ts +20 -0
- package/dist/keypad/index.d.ts.map +1 -0
- package/dist/keypad/index.js +42 -0
- package/dist/lib.js +92 -65
- package/dist/load-more/index.d.ts +19 -0
- package/dist/load-more/index.d.ts.map +1 -0
- package/dist/load-more/index.js +37 -0
- package/dist/menu/index.d.ts +22 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/index.js +132 -45
- package/dist/meter/index.d.ts +3 -1
- package/dist/meter/index.d.ts.map +1 -1
- package/dist/meter/index.js +19 -14
- package/dist/money-input/index.d.ts +3 -3
- package/dist/page-transition/index.d.ts +10 -0
- package/dist/page-transition/index.d.ts.map +1 -0
- package/dist/page-transition/index.js +16 -0
- package/dist/pagination/index.d.ts +26 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +62 -0
- package/dist/progress-ring/index.d.ts +4 -1
- package/dist/progress-ring/index.d.ts.map +1 -1
- package/dist/progress-ring/index.js +47 -38
- package/dist/range-slider/index.d.ts +26 -0
- package/dist/range-slider/index.d.ts.map +1 -0
- package/dist/range-slider/index.js +44 -0
- package/dist/repeat-picker/index.d.ts +22 -0
- package/dist/repeat-picker/index.d.ts.map +1 -0
- package/dist/repeat-picker/index.js +115 -0
- package/dist/skeleton/index.d.ts +12 -2
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +11 -5
- package/dist/slider/index.d.ts +2 -0
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +19 -18
- package/dist/sortable/index.d.ts +33 -0
- package/dist/sortable/index.d.ts.map +1 -0
- package/dist/sortable/index.js +147 -0
- package/dist/sparkline/index.d.ts +15 -0
- package/dist/sparkline/index.d.ts.map +1 -0
- package/dist/sparkline/index.js +56 -0
- package/dist/stepper/index.d.ts +19 -0
- package/dist/stepper/index.d.ts.map +1 -0
- package/dist/stepper/index.js +53 -0
- package/dist/table/index.d.ts +11 -2
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +117 -53
- package/dist/table/selection.d.ts +55 -0
- package/dist/table/selection.d.ts.map +1 -0
- package/dist/table/selection.js +83 -0
- package/dist/table/swipe.d.ts +18 -0
- package/dist/table/swipe.d.ts.map +1 -0
- package/dist/table/swipe.js +53 -0
- package/dist/table-of-contents/index.d.ts +1 -0
- package/dist/table-of-contents/index.d.ts.map +1 -1
- package/dist/table-of-contents/index.js +25 -23
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +101 -51
- package/dist/tag-input/index.d.ts +19 -0
- package/dist/tag-input/index.d.ts.map +1 -0
- package/dist/tag-input/index.js +61 -0
- package/dist/theme-toggle/index.js +6 -6
- package/dist/theme.css +340 -8
- package/dist/timeline/index.d.ts +18 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +45 -0
- package/dist/toast/index.js +25 -25
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toggle/index.js +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +68 -67
- package/dist/trend/index.d.ts +19 -0
- package/dist/trend/index.d.ts.map +1 -0
- package/dist/trend/index.js +27 -0
- package/dist/utils/date.d.ts +34 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +45 -12
- package/dist/utils/indicator.d.ts.map +1 -1
- package/dist/utils/indicator.js +1 -1
- package/dist/utils/money.d.ts +3 -1
- package/dist/utils/money.d.ts.map +1 -1
- package/dist/utils/money.js +24 -1
- package/dist/utils/motion.d.ts +3 -0
- package/dist/utils/motion.d.ts.map +1 -0
- package/dist/utils/motion.js +7 -0
- package/dist/utils/repeat.d.ts +17 -0
- package/dist/utils/repeat.d.ts.map +1 -0
- package/dist/utils/repeat.js +38 -0
- package/dist/utils/section-link.d.ts +9 -0
- package/dist/utils/section-link.d.ts.map +1 -0
- package/dist/utils/section-link.js +10 -0
- package/dist/utils/swipe.d.ts +29 -0
- package/dist/utils/swipe.d.ts.map +1 -0
- package/dist/utils/swipe.js +85 -0
- package/dist/utils/theme-wave.d.ts.map +1 -1
- package/dist/utils/theme-wave.js +72 -71
- package/dist/utils/useAnchoredPopup.d.ts.map +1 -1
- package/dist/utils/useAnchoredPopup.js +3 -4
- package/dist/utils/useSeen.d.ts +4 -0
- package/dist/utils/useSeen.d.ts.map +1 -0
- package/dist/utils/useSeen.js +17 -0
- package/dist/zen.css +1 -1
- 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
|
-
|
|
902
|
-
overlay
|
|
903
|
-
display
|
|
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 };
|
package/dist/toast/index.js
CHANGED
|
@@ -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 {
|
|
8
|
-
import {
|
|
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),
|
|
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),
|
|
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__ */
|
|
58
|
+
return /* @__PURE__ */ h(w.Provider, {
|
|
59
59
|
value: U,
|
|
60
|
-
children: [/* @__PURE__ */
|
|
60
|
+
children: [/* @__PURE__ */ m(T.Provider, {
|
|
61
61
|
value: A,
|
|
62
62
|
children: n
|
|
63
|
-
}), M &&
|
|
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__ */
|
|
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:
|
|
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:
|
|
138
|
-
let g = A[t.tone] ?? A.info, _ = g.icon, v = u(null), y = u(null), [b] = d(() => !
|
|
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 &&
|
|
141
|
-
}, [
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
213
|
+
children: /* @__PURE__ */ m(_, { className: "size-4" })
|
|
214
214
|
}),
|
|
215
|
-
/* @__PURE__ */
|
|
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__ */
|
|
218
|
+
/* @__PURE__ */ m("div", {
|
|
219
219
|
className: "text-sm font-semibold",
|
|
220
220
|
children: t.title
|
|
221
221
|
}),
|
|
222
|
-
t.description && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
241
|
+
children: /* @__PURE__ */ m(a, { className: "size-3.5" })
|
|
242
242
|
})
|
|
243
243
|
]
|
|
244
|
-
}), t.timeout > 0 && /* @__PURE__ */
|
|
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__ */
|
|
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,+
|
|
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"}
|
package/dist/toggle/index.js
CHANGED
|
@@ -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("
|
|
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",
|
package/dist/tree/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/tree/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAY,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/tree/index.tsx"],"names":[],"mappings":"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"}
|