@typlog/ui 0.12.0 → 0.12.2

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/components.css CHANGED
@@ -4,17 +4,21 @@
4
4
  z-index: 0;
5
5
  }
6
6
 
7
+ @layer components {
7
8
  .ui-Avatar {
8
- display: inline-flex;
9
- align-items: center;
10
- justify-content: center;
11
- vertical-align: middle;
12
- -webkit-user-select: none;
13
- -moz-user-select: none;
14
- user-select: none;
15
- width: var(--avatar-size);
16
- height: var(--avatar-size);
17
- flex-shrink: 0;
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ vertical-align: middle;
13
+ -webkit-user-select: none;
14
+ -moz-user-select: none;
15
+ user-select: none;
16
+ width: var(--avatar-size);
17
+ height: var(--avatar-size);
18
+ flex-shrink: 0;
19
+ border-radius: var(--avatar-border-radius);
20
+ letter-spacing: var(--avatar-letter-spacing);
21
+ }
18
22
  }
19
23
  .ui-Avatar > img {
20
24
  width: 100%;
@@ -49,8 +53,8 @@
49
53
  --avatar-fallback-two-letters-font-size: var(--font-size-1);
50
54
  --avatar-ring-width: 1px;
51
55
  --avatar-ring-offset: 1px;
52
- border-radius: max(var(--radius-2), var(--radius-full));
53
- letter-spacing: var(--letter-spacing-1);
56
+ --avatar-border-radius: max(var(--radius-2), var(--radius-full));
57
+ --avatar-letter-spacing: var(--letter-spacing-1);
54
58
  }
55
59
  .ui-Avatar:where(.r-size-2) {
56
60
  --avatar-size: var(--space-6);
@@ -58,8 +62,8 @@
58
62
  --avatar-fallback-two-letters-font-size: var(--font-size-2);
59
63
  --avatar-ring-width: 2px;
60
64
  --avatar-ring-offset: 2px;
61
- border-radius: max(var(--radius-2), var(--radius-full));
62
- letter-spacing: var(--letter-spacing-2);
65
+ --avatar-border-radius: max(var(--radius-2), var(--radius-full));
66
+ --avatar-letter-spacing: var(--letter-spacing-2);
63
67
  }
64
68
  .ui-Avatar:where(.r-size-3) {
65
69
  --avatar-size: var(--space-7);
@@ -67,8 +71,8 @@
67
71
  --avatar-fallback-two-letters-font-size: var(--font-size-3);
68
72
  --avatar-ring-width: 2px;
69
73
  --avatar-ring-offset: 2px;
70
- border-radius: max(var(--radius-3), var(--radius-full));
71
- letter-spacing: var(--letter-spacing-3);
74
+ --avatar-border-radius: max(var(--radius-3), var(--radius-full));
75
+ --avatar-letter-spacing: var(--letter-spacing-3);
72
76
  }
73
77
  .ui-Avatar:where(.r-size-4) {
74
78
  --avatar-size: var(--space-8);
@@ -76,48 +80,48 @@
76
80
  --avatar-fallback-two-letters-font-size: var(--font-size-4);
77
81
  --avatar-ring-width: 2px;
78
82
  --avatar-ring-offset: 2px;
79
- border-radius: max(var(--radius-3), var(--radius-full));
80
- letter-spacing: var(--letter-spacing-4);
83
+ --avatar-border-radius: max(var(--radius-3), var(--radius-full));
84
+ --avatar-letter-spacing: var(--letter-spacing-4);
81
85
  }
82
86
  .ui-Avatar:where(.r-size-5) {
83
87
  --avatar-size: var(--space-9);
84
88
  --avatar-fallback-one-letter-font-size: var(--font-size-6);
85
89
  --avatar-ring-width: 3px;
86
90
  --avatar-ring-offset: 2px;
87
- border-radius: max(var(--radius-4), var(--radius-full));
88
- letter-spacing: var(--letter-spacing-6);
91
+ --avatar-border-radius: max(var(--radius-4), var(--radius-full));
92
+ --avatar-letter-spacing: var(--letter-spacing-6);
89
93
  }
90
94
  .ui-Avatar:where(.r-size-6) {
91
95
  --avatar-size: 80px;
92
96
  --avatar-fallback-one-letter-font-size: var(--font-size-7);
93
97
  --avatar-ring-width: 3px;
94
98
  --avatar-ring-offset: 3px;
95
- border-radius: max(var(--radius-5), var(--radius-full));
96
- letter-spacing: var(--letter-spacing-7);
99
+ --avatar-border-radius: max(var(--radius-5), var(--radius-full));
100
+ --avatar-letter-spacing: var(--letter-spacing-7);
97
101
  }
98
102
  .ui-Avatar:where(.r-size-7) {
99
103
  --avatar-size: 96px;
100
104
  --avatar-fallback-one-letter-font-size: var(--font-size-7);
101
105
  --avatar-ring-width: 3px;
102
106
  --avatar-ring-offset: 3px;
103
- border-radius: max(var(--radius-5), var(--radius-full));
104
- letter-spacing: var(--letter-spacing-7);
107
+ --avatar-border-radius: max(var(--radius-5), var(--radius-full));
108
+ --avatar-letter-spacing: var(--letter-spacing-7);
105
109
  }
106
110
  .ui-Avatar:where(.r-size-8) {
107
111
  --avatar-size: 128px;
108
112
  --avatar-fallback-one-letter-font-size: var(--font-size-8);
109
113
  --avatar-ring-width: 4px;
110
114
  --avatar-ring-offset: 3px;
111
- border-radius: max(var(--radius-6), var(--radius-full));
112
- letter-spacing: var(--letter-spacing-8);
115
+ --avatar-border-radius: max(var(--radius-6), var(--radius-full));
116
+ --avatar-letter-spacing: var(--letter-spacing-8);
113
117
  }
114
118
  .ui-Avatar:where(.r-size-9) {
115
119
  --avatar-size: 160px;
116
120
  --avatar-fallback-one-letter-font-size: var(--font-size-9);
117
121
  --avatar-ring-width: 4px;
118
122
  --avatar-ring-offset: 4px;
119
- border-radius: max(var(--radius-6), var(--radius-full));
120
- letter-spacing: var(--letter-spacing-9);
123
+ --avatar-border-radius: max(var(--radius-6), var(--radius-full));
124
+ --avatar-letter-spacing: var(--letter-spacing-9);
121
125
  }
122
126
  .ui-Avatar:where(.r-variant-ring) {
123
127
  outline-color: var(--accent-9);
@@ -521,6 +525,12 @@
521
525
  padding: 0;
522
526
  }
523
527
 
528
+ .ui-Button.ui-CloseButton {
529
+ height: var(--button-height);
530
+ width: var(--button-height);
531
+ padding: 0;
532
+ }
533
+
524
534
  .ui-root {
525
535
  --scrollarea-scrollbar-horizontal-margin-top: var(--space-1);
526
536
  --scrollarea-scrollbar-horizontal-margin-bottom: var(--space-1);
@@ -668,24 +678,31 @@
668
678
  box-sizing: border-box;
669
679
  padding-top: var(--space-6);
670
680
  }
681
+ @layer components {
671
682
  .ui-DialogPopup {
672
- width: 100%;
673
- max-height: calc(100vh - var(--space-6) * 2);
674
- position: relative;
675
- box-sizing: border-box;
676
- overflow: auto;
677
- text-align: left;
678
- box-sizing: border-box;
679
- background-color: var(--color-panel-solid);
680
- outline: none;
681
- border-top-left-radius: var(--dialog-popup-radius);
682
- border-top-right-radius: var(--dialog-popup-radius);
683
- max-width: var(--dialog-popup-max-width);
684
- max-height: var(--dialog-popup-max-height);
685
- padding: var(--dialog-popup-padding);
683
+ width: 100%;
684
+ max-height: calc(100vh - var(--space-6) * 2);
685
+ position: relative;
686
+ box-sizing: border-box;
687
+ overflow: auto;
688
+ text-align: left;
689
+ box-sizing: border-box;
690
+ background-color: var(--color-panel-solid);
691
+ outline: none;
692
+ border-top-left-radius: var(--dialog-popup-radius);
693
+ border-top-right-radius: var(--dialog-popup-radius);
694
+ max-width: var(--dialog-popup-max-width);
695
+ max-height: var(--dialog-popup-max-height);
696
+ padding: var(--dialog-popup-padding);
697
+ }
698
+ :where(.ui-DialogPopup) .ui-CloseButton {
699
+ position: absolute;
700
+ top: calc(var(--dialog-popup-padding) / 2);
701
+ right: calc(var(--dialog-popup-padding) / 2);
702
+ }
686
703
  }
687
704
  .ui-DialogPopup:where(.r-size-1) {
688
- --dialog-popup-padding: var(--space-3);
705
+ --dialog-popup-padding: var(--space-4);
689
706
  --dialog-popup-radius: var(--radius-4);
690
707
  --dialog-popup-max-width: 450px;
691
708
  --dialog-popup-max-height: calc(100vh - 100px);
@@ -703,7 +720,7 @@
703
720
  --dialog-popup-max-height: calc(100vh - 100px);
704
721
  }
705
722
  .ui-DialogPopup:where(.r-size-4) {
706
- --dialog-popup-padding: var(--space-6);
723
+ --dialog-popup-padding: var(--space-5);
707
724
  --dialog-popup-radius: var(--radius-5);
708
725
  --dialog-popup-max-width: 1200px;
709
726
  --dialog-popup-max-height: calc(100vh - 100px);
@@ -714,11 +731,6 @@
714
731
  --dialog-popup-max-width: none;
715
732
  --dialog-popup-max-height: calc(100vh - 64px);
716
733
  }
717
-
718
- /* special handle for tailwindcss p-0, when css priority doesn't work */
719
- .ui-DialogPopup:where(.p-0) {
720
- --dialog-popup-padding: 0;
721
- }
722
734
  @media (min-width: 450px) {
723
735
  .ui-DialogContainer {
724
736
  justify-content: center;
@@ -726,10 +738,12 @@
726
738
  padding-left: var(--space-4);
727
739
  padding-right: var(--space-4);
728
740
  }
741
+ @layer components {
729
742
  .ui-DialogPopup {
730
- box-shadow: var(--shadow-6);
731
- border-bottom-left-radius: var(--dialog-popup-radius);
732
- border-bottom-right-radius: var(--dialog-popup-radius);
743
+ box-shadow: var(--shadow-6);
744
+ border-bottom-left-radius: var(--dialog-popup-radius);
745
+ border-bottom-right-radius: var(--dialog-popup-radius);
746
+ }
733
747
  }
734
748
  }
735
749
  @media (prefers-reduced-motion: no-preference) {
@@ -829,7 +843,6 @@ to {
829
843
  box-sizing: border-box;
830
844
  overflow: hidden;
831
845
  border-radius: var(--menu-content-border-radius);
832
-
833
846
  box-shadow: var(--shadow-5);
834
847
  background-color: var(--color-panel-solid);
835
848
  }
@@ -932,17 +945,19 @@ to {
932
945
  background-color: var(--gray-a6);
933
946
  }
934
947
 
948
+ @layer components {
935
949
  .ui-PopoverPopup {
936
- background-color: var(--color-panel-solid);
937
- box-shadow: var(--shadow-5);
938
- min-width: var(--reka-popover-trigger-width);
939
- max-width: var(--reka-popover-content-available-width);
940
- outline: 0;
941
- overflow: auto;
942
- position: relative;
943
- box-sizing: border-box;
944
- transform-origin: var(--reka-popover-content-transform-origin);
945
- padding: var(--popover-popup-padding);
950
+ background-color: var(--color-panel-solid);
951
+ box-shadow: var(--shadow-5);
952
+ min-width: var(--reka-popover-trigger-width);
953
+ max-width: var(--reka-popover-content-available-width);
954
+ outline: 0;
955
+ overflow: auto;
956
+ position: relative;
957
+ box-sizing: border-box;
958
+ transform-origin: var(--reka-popover-content-transform-origin);
959
+ padding: var(--popover-popup-padding);
960
+ }
946
961
  }
947
962
  .ui-PopoverPopup:where(.r-size-1) {
948
963
  border-radius: var(--radius-4);
@@ -952,9 +967,6 @@ to {
952
967
  border-radius: var(--radius-5);
953
968
  --popover-popup-padding: var(--space-4);
954
969
  }
955
- .ui-PopoverPopup:where(.p-0) {
956
- --popover-popup-padding: 0;
957
- }
958
970
 
959
971
  .ui-root {
960
972
  --switch-disabled-blend-mode: multiply;
@@ -2858,12 +2870,14 @@ to {
2858
2870
  --radio-size: calc(var(--space-4) * 1.25);
2859
2871
  }
2860
2872
 
2873
+ @layer components {
2861
2874
  .ui-RadioGroupItem {
2862
- display: inline-flex;
2863
- align-items: center;
2864
- gap: .5em;
2865
- width: -moz-fit-content;
2866
- width: fit-content;
2875
+ display: inline-flex;
2876
+ align-items: center;
2877
+ gap: .5em;
2878
+ width: -moz-fit-content;
2879
+ width: fit-content;
2880
+ }
2867
2881
  }
2868
2882
 
2869
2883
  .ui-RadioCardsRoot:where(.r-size-1) {
@@ -2878,19 +2892,21 @@ to {
2878
2892
  --card-padding: var(--space-5);
2879
2893
  --card-border-radius: max(var(--radius-5), var(--radius-full));
2880
2894
  }
2895
+ @layer components {
2881
2896
  .ui-BaseCard {
2882
- display: block;
2883
- position: relative;
2884
- overflow: hidden;
2885
- font-style: normal;
2886
- text-align: start;
2887
- box-sizing: border-box;
2888
- border-radius: var(--card-border-radius);
2889
- padding: var(--card-padding);
2890
- border-color: var(--card-border-color, var(--gray-a5));
2891
- border-width: var(--card-border-width, 1px);
2892
- border-style: solid;
2893
- width: 100%;
2897
+ display: block;
2898
+ position: relative;
2899
+ overflow: hidden;
2900
+ font-style: normal;
2901
+ text-align: start;
2902
+ box-sizing: border-box;
2903
+ border-radius: var(--card-border-radius);
2904
+ padding: var(--card-padding);
2905
+ border-color: var(--card-border-color, var(--gray-a5));
2906
+ border-width: var(--card-border-width, 1px);
2907
+ border-style: solid;
2908
+ width: 100%;
2909
+ }
2894
2910
  }
2895
2911
  .ui-BaseCard:where(:-moz-any-link, button, label):where(:hover) {
2896
2912
  --card-border-color: var(--gray-a7);
@@ -2907,11 +2923,6 @@ to {
2907
2923
  box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
2908
2924
  }
2909
2925
 
2910
- /** special enhancement for tailwindcss */
2911
- .ui-BaseCard:where(.p-0) {
2912
- --card-padding: 0;
2913
- }
2914
-
2915
2926
  .ui-RadioCardsItem {
2916
2927
  height: 100%;
2917
2928
  }
@@ -2920,15 +2931,17 @@ to {
2920
2931
  box-shadow: 0 0 0 1px var(--accent-10);
2921
2932
  }
2922
2933
 
2934
+ @layer components {
2923
2935
  .ui-RadioTabsRoot {
2924
- display: inline-flex;
2925
- width: -moz-fit-content;
2926
- width: fit-content;
2927
- align-items: center;
2928
- box-sizing: border-box;
2929
- padding: var(--radio-tabs-list-padding);
2930
- border-radius: var(--radio-tabs-list-radius);
2931
- font-size: var(--radio-tabs-font-size);
2936
+ display: inline-flex;
2937
+ width: -moz-fit-content;
2938
+ width: fit-content;
2939
+ align-items: center;
2940
+ box-sizing: border-box;
2941
+ padding: var(--radio-tabs-list-padding);
2942
+ border-radius: var(--radio-tabs-list-radius);
2943
+ font-size: var(--radio-tabs-font-size);
2944
+ }
2932
2945
  }
2933
2946
  .ui-RadioTabsRoot:where(.r-size-1) {
2934
2947
  --radio-tabs-font-size: var(--font-size-1);
@@ -2992,68 +3005,87 @@ to {
2992
3005
  }
2993
3006
  }
2994
3007
 
2995
- .ui-TabList {
2996
- justify-content: flex-start;
2997
- position: relative;
2998
- overflow-x: auto;
2999
- white-space: nowrap;
3000
- font-style: normal;
3001
- scrollbar-width: none;
3002
- }
3003
3008
  .ui-TabList::-webkit-scrollbar {
3004
3009
  display: none;
3005
3010
  }
3006
3011
  .ui-TabList:where(.r-size-1) {
3007
- font-size: var(--font-size-1);
3008
- line-height: var(--line-height-1);
3009
- letter-spacing: var(--letter-spacing-1);
3012
+ --tab-font-size: var(--font-size-1);
3013
+ --tab-line-height: var(--line-height-1);
3014
+ --tab-letter-spacing: var(--letter-spacing-1);
3010
3015
  --tab-height: var(--space-6);
3011
3016
  --tab-padding-x: var(--space-1);
3012
3017
  --tab-radius: max(var(--radius-2), var(--radius-full));
3013
- --tab-item-radius: var(--radius-1);
3018
+ --tab-item-radius: max(var(--radius-1), var(--radius-full));
3014
3019
  --tab-inner-padding-x: var(--space-1);
3015
3020
  --tab-inner-height: var(--space-5);
3016
3021
  }
3017
3022
  .ui-TabList:where(.r-size-2) {
3018
- font-size: var(--font-size-2);
3019
- line-height: var(--line-height-2);
3020
- letter-spacing: var(--letter-spacing-2);
3023
+ --tab-font-size: var(--font-size-2);
3024
+ --tab-line-height: var(--line-height-2);
3025
+ --tab-letter-spacing: var(--letter-spacing-2);
3021
3026
  --tab-height: var(--space-7);
3022
3027
  --tab-padding-x: var(--space-2);
3023
3028
  --tab-radius: max(var(--radius-3), var(--radius-full));
3024
- --tab-item-radius: var(--radius-2);
3029
+ --tab-item-radius: max(var(--radius-2), var(--radius-full));
3025
3030
  --tab-inner-padding-x: var(--space-2);
3026
3031
  --tab-inner-height: calc(var(--space-6) - var(--space-1));
3027
3032
  }
3028
- .ui-TabsIndicator {
3029
- position: absolute;
3030
- left: 0;
3031
- transition-property: width, transform;
3032
- transform: translateX(var(--reka-tabs-indicator-position));
3033
- width: var(--reka-tabs-indicator-size);
3033
+ .ui-TabList:where(.r-variant-surface.r-size-1),
3034
+ .ui-TabList:where(.r-variant-soft.r-size-1) {
3035
+ --tab-inner-padding-x: calc(var(--space-2) / 4 * 3);
3034
3036
  }
3035
-
3036
- /** classic & surface */
3037
+ @layer components {
3038
+ .ui-TabList {
3039
+ justify-content: flex-start;
3040
+ position: relative;
3041
+ overflow-x: auto;
3042
+ white-space: nowrap;
3043
+ font-style: normal;
3044
+ scrollbar-width: none;
3045
+ font-size: var(--tab-font-size);
3046
+ line-height: var(--tab-line-height);
3047
+ letter-spacing: var(--tab-letter-spacing);
3048
+ }
3049
+
3050
+ /** classic & surface */
3037
3051
  .ui-TabList:where(.r-variant-surface, .r-variant-classic) {
3038
- position: relative;
3039
- display: inline-flex;
3040
- width: -moz-fit-content;
3041
- width: fit-content;
3042
- align-items: center;
3043
- justify-content: center;
3044
- vertical-align: top;
3045
- flex-shrink: 0;
3046
- border-radius: var(--tab-radius);
3052
+ position: relative;
3053
+ display: inline-flex;
3054
+ width: -moz-fit-content;
3055
+ width: fit-content;
3056
+ align-items: center;
3057
+ justify-content: center;
3058
+ vertical-align: top;
3059
+ flex-shrink: 0;
3060
+ border-radius: var(--tab-radius);
3047
3061
  }
3048
3062
  .ui-TabList:where(.r-variant-classic) {
3049
- background-color: var(--accent-a3);
3050
- padding-left: var(--tab-padding-x);
3051
- padding-right: var(--tab-padding-x);
3063
+ background-color: var(--accent-a3);
3064
+ padding-left: var(--tab-padding-x);
3065
+ padding-right: var(--tab-padding-x);
3052
3066
  }
3053
3067
  .ui-TabList:where(.r-variant-surface) {
3054
- --tab-item-radius: 0;
3055
- --tab-inner-height: var(--tab-height);
3056
- box-shadow: inset 0 0 0 1px var(--gray-a6);
3068
+ --tab-item-radius: 0;
3069
+ --tab-inner-height: var(--tab-height);
3070
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
3071
+ }
3072
+
3073
+ /** soft & outline */
3074
+ .ui-TabList:where(.r-variant-outline, .r-variant-soft) {
3075
+ display: flex;
3076
+ box-shadow: inset 0 -1px 0 0 var(--gray-a5);
3077
+ }
3078
+ .ui-TabList:where(.r-variant-soft) {
3079
+ padding-left: var(--tab-padding-x);
3080
+ padding-right: var(--tab-padding-x);
3081
+ }
3082
+ }
3083
+ .ui-TabsIndicator {
3084
+ position: absolute;
3085
+ left: 0;
3086
+ transition-property: width, transform;
3087
+ transform: translateX(var(--reka-tabs-indicator-position));
3088
+ width: var(--reka-tabs-indicator-size);
3057
3089
  }
3058
3090
  .ui-TabList:where(.r-variant-surface) :where(.ui-TabsIndicator) {
3059
3091
  top: 0;
@@ -3073,20 +3105,6 @@ to {
3073
3105
  border-radius: var(--tab-item-radius);
3074
3106
  transition-duration: 100ms;
3075
3107
  }
3076
- .ui-TabList:where(.r-variant-surface.r-size-1),
3077
- .ui-TabList:where(.r-variant-soft.r-size-1) {
3078
- --tab-inner-padding-x: calc(var(--space-2) / 4 * 3);
3079
- }
3080
-
3081
- /** soft & outline */
3082
- .ui-TabList:where(.r-variant-outline, .r-variant-soft) {
3083
- display: flex;
3084
- box-shadow: inset 0 -1px 0 0 var(--gray-a5);
3085
- }
3086
- .ui-TabList:where(.r-variant-soft) {
3087
- padding-left: var(--tab-padding-x);
3088
- padding-right: var(--tab-padding-x);
3089
- }
3090
3108
  .ui-TabList:where(.r-variant-soft) :where(.ui-TabsIndicator) {
3091
3109
  top: calc((var(--tab-height) - var(--tab-inner-height)) / 2);
3092
3110
  height: var(--tab-inner-height);
@@ -3338,22 +3356,24 @@ to {
3338
3356
  height: 0;
3339
3357
  }
3340
3358
 
3359
+ @layer components {
3341
3360
  .ui-AccordionTrigger {
3342
- display: flex;
3343
- align-items: center;
3344
- justify-content: space-between;
3345
- text-align: initial;
3346
- width: 100%;
3347
- cursor: pointer;
3348
- -webkit-user-select: none;
3349
- -moz-user-select: none;
3350
- user-select: none;
3351
- font-size: var(--accordion-trigger-font-size);
3352
- padding-top: var(--accordion-padding);
3353
- padding-bottom: var(--accordion-padding);
3354
- font-weight: var(--font-weight-medium);
3355
- gap: var(--accordion-trigger-gap);
3356
- --accordion-indicator-icon-size: var(--accordion-trigger-font-size);
3361
+ display: flex;
3362
+ align-items: center;
3363
+ justify-content: space-between;
3364
+ text-align: initial;
3365
+ width: 100%;
3366
+ cursor: pointer;
3367
+ -webkit-user-select: none;
3368
+ -moz-user-select: none;
3369
+ user-select: none;
3370
+ font-size: var(--accordion-trigger-font-size);
3371
+ padding-top: var(--accordion-padding);
3372
+ padding-bottom: var(--accordion-padding);
3373
+ font-weight: var(--font-weight-medium);
3374
+ gap: var(--accordion-trigger-gap);
3375
+ --accordion-indicator-icon-size: var(--accordion-trigger-font-size);
3376
+ }
3357
3377
  }
3358
3378
  .ui-AccordionTrigger:hover {
3359
3379
  text-decoration: underline;
@@ -3366,25 +3386,25 @@ to {
3366
3386
  --collapsible-font-size: var(--font-size-2);
3367
3387
  --collapsible-trigger-gap: calc(var(--space-1) / 2);
3368
3388
  --collapsible-indicator-icon-size: var(--font-size-2);
3369
- --collapsible-padding-y: var(--space-1);
3370
- --collapsible-padding-x: var(--space-2);
3389
+ --collapsible-padding-y: var(--space-2);
3390
+ --collapsible-padding-x: var(--space-3);
3371
3391
  --collapsible-radius: max(var(--radius-1), var(--radius-full))
3372
3392
  }
3373
3393
  .ui-CollapsibleRoot:where(.r-size-2) {
3374
3394
  --collapsible-font-size: var(--font-size-3);
3375
3395
  --collapsible-trigger-gap: var(--space-1);
3376
3396
  --collapsible-indicator-icon-size: var(--font-size-3);
3377
- --collapsible-padding-y: var(--space-2);
3378
- --collapsible-padding-x: var(--space-3);
3397
+ --collapsible-padding-y: var(--space-3);
3398
+ --collapsible-padding-x: var(--space-4);
3379
3399
  --collapsible-radius: max(var(--radius-2), var(--radius-full))
3380
3400
  }
3381
3401
  .ui-CollapsibleRoot:where(.r-size-3) {
3382
- --collapsible-font-size: var(--font-size-5);
3402
+ --collapsible-font-size: var(--font-size-4);
3383
3403
  --collapsible-trigger-gap: calc(var(--space-2) * 3 / 4);
3384
3404
  --collapsible-indicator-icon-size: var(--font-size-5);
3385
- --collapsible-padding-y: var(--space-2);
3405
+ --collapsible-padding-y: var(--space-3);
3386
3406
  --collapsible-padding-x: var(--space-4);
3387
- --collapsible-radius: max(var(--radius-3), var(--radius-full))
3407
+ --collapsible-radius: max(var(--radius-4), var(--radius-full))
3388
3408
  }
3389
3409
  .ui-CollapsibleRoot:where(.r-size-4) {
3390
3410
  --collapsible-font-size: var(--font-size-7);
@@ -3394,13 +3414,23 @@ to {
3394
3414
  --collapsible-padding-x: var(--space-5);
3395
3415
  --collapsible-radius: max(var(--radius-4), var(--radius-full))
3396
3416
  }
3417
+ .ui-CollapsibleRoot:where(.r-variant-soft, .r-variant-surface) {
3418
+ --collapsible-trigger-background-color: var(--accent-a2);
3419
+ --collapsible-trigger-hover-background-color: var(--accent-a3);
3420
+ --collapsible-trigger-open-background-color: var(--accent-a3);
3421
+ --collapsible-trigger-open-text-color: var(--accent-a11);
3422
+
3423
+ border-radius: var(--collapsible-radius);
3424
+ }
3397
3425
  .ui-CollapsibleRoot:where(.r-variant-surface) {
3398
3426
  box-shadow: inset 0 0 0 1px var(--gray-a4);
3399
- border-radius: var(--collapsible-radius);
3400
3427
  }
3401
3428
  .ui-CollapsibleRoot:where(.r-variant-surface):where([data-state="open"]) {
3402
3429
  box-shadow: inset 0 0 0 1px var(--gray-a5);
3403
3430
  }
3431
+ .ui-CollapsibleRoot:where(.r-variant-soft, .r-variant-surface):where([data-accent-color="gray"]) {
3432
+ --collapsible-trigger-open-text-color: var(--accent-12);
3433
+ }
3404
3434
 
3405
3435
  .ui-CollapsibleIndicator {
3406
3436
  display: inline-flex;
@@ -3430,41 +3460,39 @@ to {
3430
3460
  text-align: initial;
3431
3461
  }
3432
3462
  :where(.ui-CollapsibleRoot:not(.r-variant-ghost)) .ui-CollapsibleTrigger {
3463
+ background-color: var(--collapsible-trigger-background-color);
3433
3464
  padding-block: var(--collapsible-padding-y);
3434
3465
  padding-inline: var(--collapsible-padding-x);
3435
3466
  width: 100%;
3436
- }
3437
- :where(.ui-CollapsibleRoot.r-variant-soft) .ui-CollapsibleTrigger {
3438
- background: var(--accent-a2);
3439
3467
  border-radius: var(--collapsible-radius);
3468
+ transition: border-radius 0.2s ease;
3440
3469
  }
3441
- :where(.ui-CollapsibleRoot.r-variant-surface) .ui-CollapsibleTrigger {
3442
- border-top-left-radius: var(--collapsible-radius);
3443
- border-top-right-radius: var(--collapsible-radius);
3444
- background: var(--accent-a2);
3470
+ :where(.ui-CollapsibleRoot:not(.r-variant-ghost)) .ui-CollapsibleTrigger:where(:hover) {
3471
+ background-color: var(--collapsible-trigger-hover-background-color);
3445
3472
  }
3446
- :where(.ui-CollapsibleRoot.r-variant-soft) .ui-CollapsibleTrigger:where(:hover) {
3447
- background: var(--accent-a3);
3448
- }
3449
- :where(.ui-CollapsibleRoot.r-variant-surface) .ui-CollapsibleTrigger:where([data-state="open"]),
3450
- :where(.ui-CollapsibleRoot.r-variant-soft) .ui-CollapsibleTrigger:where([data-state="open"]) {
3451
- background: var(--accent-a3);
3452
- color: var(--accent-a11);
3473
+ :where(.ui-CollapsibleRoot:not(.r-variant-ghost)) .ui-CollapsibleTrigger:where([data-state="open"]) {
3474
+ background-color: var(--collapsible-trigger-open-background-color);
3475
+ color: var(--collapsible-trigger-open-text-color);
3476
+ border-radius: var(--collapsible-radius) var(--collapsible-radius) 0 0;
3453
3477
  }
3454
3478
 
3455
3479
  @keyframes collapsible-down {
3456
3480
  from {
3457
3481
  height: 0;
3482
+ opacity: 1;
3458
3483
  }
3459
3484
  to {
3460
3485
  height: var(--reka-collapsible-content-height);
3486
+ opacity: 1;
3461
3487
  }
3462
3488
  }
3463
3489
  @keyframes collapsible-up {
3464
3490
  from {
3491
+ opacity: 1;
3465
3492
  height: var(--reka-collapsible-content-height);
3466
3493
  }
3467
3494
  to {
3495
+ opacity: 0;
3468
3496
  height: 0;
3469
3497
  }
3470
3498
  }
@@ -3478,7 +3506,10 @@ to {
3478
3506
  animation: collapsible-down 0.2s ease-out;
3479
3507
  }
3480
3508
  .ui-CollapsibleContent:where([data-state="closed"]) {
3481
- animation: collapsible-up 0.2s ease-out;
3509
+ animation: collapsible-up 0.2s ease-in;
3510
+ }
3511
+ :where(.ui-CollapsibleRoot.r-variant-soft) .ui-CollapsibleContent {
3512
+ background-color: var(--accent-a2);
3482
3513
  }
3483
3514
  :where(.ui-CollapsibleRoot:not(.r-variant-ghost)) .ui-CollapsibleContent {
3484
3515
  padding-inline: var(--collapsible-padding-x);
@@ -3594,9 +3625,20 @@ to {
3594
3625
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s;
3595
3626
  --toast-collapse-scale: calc(max(0, 1 - (var(--toast-index) * 0.06)));
3596
3627
  }
3628
+ .ui-ToastItem::after {
3629
+ content: "";
3630
+ position: absolute;
3631
+ left: 0px;
3632
+ height: calc(var(--toast-gap) + 1px);
3633
+ bottom: 100%;
3634
+ width: 100%;
3635
+ }
3597
3636
  .ui-ToastItem:where([data-swipe="move"]) {
3598
3637
  transition: none;
3599
3638
  }
3639
+ .ui-ToastItem:where([data-visible="false"]) {
3640
+ display: none;
3641
+ }
3600
3642
  :where(.ui-ToastViewport[data-x-position="left"]) .ui-ToastItem {
3601
3643
  left: 0;
3602
3644
  }
@@ -3638,6 +3680,7 @@ to {
3638
3680
  .ui-ToastItem:where([data-swipe-direction="bottom"]) {
3639
3681
  --toast-item-swipe-to-y: calc(100% + var(--toast-y-position))
3640
3682
  }
3683
+ .ui-ToastItem:where([data-state="closed"]),
3641
3684
  .ui-ToastItem:where([data-swipe="closed"]) {
3642
3685
  animation: ui-fade-out 100ms ease-in;
3643
3686
  }