@slexkit/theme-shadcn 0.2.0 → 0.3.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/style.css CHANGED
@@ -870,370 +870,370 @@ color-scheme: dark;
870
870
 
871
871
  /* layout.css */
872
872
 
873
- .slexkit-root {
874
- --font-sans:
875
- "Geist", "Geist Sans", "Noto Sans SC", "Noto Sans", ui-sans-serif, system-ui, -apple-system,
876
- BlinkMacSystemFont, "Segoe UI", sans-serif;
877
- --font-mono:
878
- "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code",
879
- Consolas, monospace;
880
- font-family: var(
881
- --font-sans,
882
- "Geist",
883
- "Geist Sans",
884
- "Noto Sans SC",
885
- "Noto Sans",
886
- ui-sans-serif,
887
- system-ui,
888
- -apple-system,
889
- BlinkMacSystemFont,
890
- "Segoe UI",
891
- sans-serif
892
- );
893
- color: var(--foreground);
894
- background: transparent;
895
- line-height: 1.5;
896
- -webkit-font-smoothing: antialiased;
897
- -moz-osx-font-smoothing: grayscale;
898
- }
899
-
900
- .slexkit-root,
901
- .slexkit-root *,
902
- .slexkit-root *::before,
903
- .slexkit-root *::after {
904
- box-sizing: border-box;
905
- }
906
-
907
- body[data-mobile-nav-open] {
908
- overflow: hidden;
909
- overscroll-behavior: contain;
910
- }
911
-
912
- #mobileNav {
913
- --mobile-nav-backdrop-opacity: 0;
914
- --mobile-nav-panel-translate: -100%;
915
- pointer-events: none;
916
- }
917
-
918
- #mobileNav[data-open="true"] {
919
- --mobile-nav-backdrop-opacity: 1;
920
- --mobile-nav-panel-translate: 0px;
921
- pointer-events: auto;
922
- }
923
-
924
- #mobileNav [data-mobile-nav-backdrop] {
925
- opacity: var(--mobile-nav-backdrop-opacity);
926
- touch-action: pan-y;
927
- transition: opacity 180ms ease;
928
- }
929
-
930
- #mobileNav [data-mobile-nav-panel] {
931
- transform: translateX(var(--mobile-nav-panel-translate));
932
- touch-action: pan-y;
933
- transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
934
- will-change: transform;
935
- }
936
-
937
- #mobileNav[data-dragging="true"] [data-mobile-nav-backdrop],
938
- #mobileNav[data-dragging="true"] [data-mobile-nav-panel] {
939
- transition: none;
940
- }
941
-
942
- @media (prefers-reduced-motion: reduce) {
943
- #mobileNav [data-mobile-nav-backdrop],
944
- #mobileNav [data-mobile-nav-panel] {
945
- transition: none;
946
- }
947
- }
948
-
949
- .slexkit-for-wrapper {
950
- display: contents;
951
- }
952
-
953
- .slexkit-source-toolbar {
954
- display: flex;
955
- align-items: center;
956
- justify-content: flex-end;
957
- gap: 0.5rem;
958
- margin: 0.5rem 0;
959
- }
960
-
961
- .slexkit-source-button {
962
- display: inline-flex;
963
- align-items: center;
964
- justify-content: center;
965
- min-height: 28px;
966
- padding: 0 0.625rem;
967
- border: 1px solid var(--border);
968
- border-radius: calc(var(--radius) - 2px);
969
- background: var(--secondary);
970
- color: var(--secondary-foreground);
971
- font-family: inherit;
972
- font-size: 0.75rem;
973
- font-weight: 500;
974
- cursor: pointer;
975
- transition:
976
- background 150ms ease,
977
- color 150ms ease,
978
- border-color 150ms ease;
979
- }
980
-
981
- .slexkit-source-button:hover {
982
- background: var(--accent);
983
- color: var(--accent-foreground);
984
- border-color: var(--border);
985
- }
986
-
987
- .slexkit-source-button:focus-visible {
988
- outline: 2px solid var(--ring);
989
- outline-offset: 2px;
990
- }
991
-
992
- .slexkit-preview {
993
- width: 100%;
994
- }
995
-
996
- .slex-layout {
997
- display: grid;
998
- width: 100%;
999
- min-width: 0;
1000
- gap: 1rem;
1001
- }
1002
-
1003
- .slex-layout > .slex-row {
1004
- justify-content: space-between;
1005
- align-items: center;
1006
- }
1007
-
1008
- .slex-layout .slex-text {
1009
- color: var(--foreground);
1010
- }
1011
-
1012
- .slex-layout .slex-text--muted {
1013
- color: var(--muted-foreground);
1014
- }
1015
-
1016
- .slex-card {
1017
- display: flex;
1018
- flex-direction: column;
1019
- width: 100%;
1020
- max-width: none;
1021
- min-width: 0;
1022
- background: var(--card);
1023
- color: var(--card-foreground);
1024
- border: 1px solid var(--border);
1025
- border-radius: calc(var(--radius) + 4px);
1026
- padding: 1.25rem;
1027
- box-shadow: var(--shadow-sm);
1028
- transition:
1029
- box-shadow 150ms ease,
1030
- border-color 150ms ease;
1031
- }
1032
-
1033
- .slex-card:hover {
1034
- border-color: var(--border);
1035
- box-shadow: var(--shadow-md);
1036
- }
1037
-
873
+ .slexkit-root {
874
+ --font-sans:
875
+ "Geist", "Geist Sans", "Noto Sans SC", "Noto Sans", ui-sans-serif, system-ui, -apple-system,
876
+ BlinkMacSystemFont, "Segoe UI", sans-serif;
877
+ --font-mono:
878
+ "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code",
879
+ Consolas, monospace;
880
+ font-family: var(
881
+ --font-sans,
882
+ "Geist",
883
+ "Geist Sans",
884
+ "Noto Sans SC",
885
+ "Noto Sans",
886
+ ui-sans-serif,
887
+ system-ui,
888
+ -apple-system,
889
+ BlinkMacSystemFont,
890
+ "Segoe UI",
891
+ sans-serif
892
+ );
893
+ color: var(--foreground);
894
+ background: transparent;
895
+ line-height: 1.5;
896
+ -webkit-font-smoothing: antialiased;
897
+ -moz-osx-font-smoothing: grayscale;
898
+ }
899
+
900
+ .slexkit-root,
901
+ .slexkit-root *,
902
+ .slexkit-root *::before,
903
+ .slexkit-root *::after {
904
+ box-sizing: border-box;
905
+ }
906
+
907
+ body[data-mobile-nav-open] {
908
+ overflow: hidden;
909
+ overscroll-behavior: contain;
910
+ }
911
+
912
+ #mobileNav {
913
+ --mobile-nav-backdrop-opacity: 0;
914
+ --mobile-nav-panel-translate: -100%;
915
+ pointer-events: none;
916
+ }
917
+
918
+ #mobileNav[data-open="true"] {
919
+ --mobile-nav-backdrop-opacity: 1;
920
+ --mobile-nav-panel-translate: 0px;
921
+ pointer-events: auto;
922
+ }
923
+
924
+ #mobileNav [data-mobile-nav-backdrop] {
925
+ opacity: var(--mobile-nav-backdrop-opacity);
926
+ touch-action: pan-y;
927
+ transition: opacity 180ms ease;
928
+ }
929
+
930
+ #mobileNav [data-mobile-nav-panel] {
931
+ transform: translateX(var(--mobile-nav-panel-translate));
932
+ touch-action: pan-y;
933
+ transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
934
+ will-change: transform;
935
+ }
936
+
937
+ #mobileNav[data-dragging="true"] [data-mobile-nav-backdrop],
938
+ #mobileNav[data-dragging="true"] [data-mobile-nav-panel] {
939
+ transition: none;
940
+ }
941
+
942
+ @media (prefers-reduced-motion: reduce) {
943
+ #mobileNav [data-mobile-nav-backdrop],
944
+ #mobileNav [data-mobile-nav-panel] {
945
+ transition: none;
946
+ }
947
+ }
948
+
949
+ .slexkit-for-wrapper {
950
+ display: contents;
951
+ }
952
+
953
+ .slexkit-source-toolbar {
954
+ display: flex;
955
+ align-items: center;
956
+ justify-content: flex-end;
957
+ gap: 0.5rem;
958
+ margin: 0.5rem 0;
959
+ }
960
+
961
+ .slexkit-source-button {
962
+ display: inline-flex;
963
+ align-items: center;
964
+ justify-content: center;
965
+ min-height: 28px;
966
+ padding: 0 0.625rem;
967
+ border: 1px solid var(--border);
968
+ border-radius: calc(var(--radius) - 2px);
969
+ background: var(--secondary);
970
+ color: var(--secondary-foreground);
971
+ font-family: inherit;
972
+ font-size: 0.75rem;
973
+ font-weight: 500;
974
+ cursor: pointer;
975
+ transition:
976
+ background 150ms ease,
977
+ color 150ms ease,
978
+ border-color 150ms ease;
979
+ }
980
+
981
+ .slexkit-source-button:hover {
982
+ background: var(--accent);
983
+ color: var(--accent-foreground);
984
+ border-color: var(--border);
985
+ }
986
+
987
+ .slexkit-source-button:focus-visible {
988
+ outline: 2px solid var(--ring);
989
+ outline-offset: 2px;
990
+ }
991
+
992
+ .slexkit-preview {
993
+ width: 100%;
994
+ }
995
+
996
+ .slex-layout {
997
+ display: grid;
998
+ width: 100%;
999
+ min-width: 0;
1000
+ gap: 1rem;
1001
+ }
1002
+
1003
+ .slex-layout > .slex-row {
1004
+ justify-content: space-between;
1005
+ align-items: center;
1006
+ }
1007
+
1008
+ .slex-layout .slex-text {
1009
+ color: var(--foreground);
1010
+ }
1011
+
1012
+ .slex-layout .slex-text--muted {
1013
+ color: var(--muted-foreground);
1014
+ }
1015
+
1016
+ .slex-card {
1017
+ display: flex;
1018
+ flex-direction: column;
1019
+ width: 100%;
1020
+ max-width: none;
1021
+ min-width: 0;
1022
+ background: var(--card);
1023
+ color: var(--card-foreground);
1024
+ border: 1px solid var(--border);
1025
+ border-radius: calc(var(--radius) + 4px);
1026
+ padding: 1.25rem;
1027
+ box-shadow: var(--shadow-sm);
1028
+ transition:
1029
+ box-shadow 150ms ease,
1030
+ border-color 150ms ease;
1031
+ }
1032
+
1033
+ .slex-card:hover {
1034
+ border-color: var(--border);
1035
+ box-shadow: var(--shadow-md);
1036
+ }
1037
+
1038
1038
  .slex-card-title {
1039
1039
  display: inline-flex;
1040
1040
  align-items: center;
1041
1041
  gap: 0.5rem;
1042
1042
  margin: 0 0 1rem;
1043
- padding-bottom: 0.75rem;
1044
- border-bottom: 1px solid var(--border);
1045
- color: var(--card-foreground);
1046
- font-size: 1.125rem;
1047
- font-weight: 600;
1048
- line-height: 1.25;
1049
- }
1050
-
1051
- .slex-card-body {
1052
- display: flex;
1053
- width: 100%;
1054
- min-width: 0;
1055
- flex-direction: column;
1056
- gap: 1rem;
1057
- }
1058
-
1059
- .slex-column {
1060
- display: flex;
1061
- min-width: 0;
1062
- flex-direction: column;
1063
- gap: 1rem;
1064
- }
1065
-
1066
- .slex-row {
1067
- display: flex;
1068
- flex-direction: row;
1069
- gap: 1rem;
1070
- align-items: center;
1071
- flex-wrap: wrap;
1072
- }
1073
-
1074
- .slex-row > * {
1075
- min-width: 0;
1076
- }
1077
-
1078
- .slex-row--balanced-tiles {
1079
- --slex-balanced-tile-width: 136px;
1080
- display: grid;
1081
- width: 100%;
1082
- grid-template-columns: repeat(var(--slex-balanced-tracks, var(--slex-balanced-cols)), minmax(0, 1fr));
1083
- justify-content: stretch;
1084
- align-items: stretch;
1085
- }
1086
-
1087
- .slex-row--balanced-tiles > :is(.slex-stat, .slex-card) {
1088
- width: 100%;
1089
- }
1090
-
1091
- .slex-grid {
1092
- display: grid;
1093
- width: 100%;
1094
- min-width: 0;
1095
- gap: 1rem;
1096
- }
1097
-
1098
- .slex-grid {
1099
- grid-template-columns: 1fr;
1100
- }
1101
- .slex-grid[data-cols="1"] {
1102
- grid-template-columns: 1fr;
1103
- }
1104
- .slex-grid[data-cols="2"] {
1105
- grid-template-columns: repeat(2, 1fr);
1106
- }
1107
- .slex-grid[data-cols="3"] {
1108
- grid-template-columns: repeat(3, 1fr);
1109
- }
1110
- .slex-grid[data-cols="4"] {
1111
- grid-template-columns: repeat(4, 1fr);
1112
- }
1113
- .slex-grid[data-cols="5"] {
1114
- grid-template-columns: repeat(5, 1fr);
1115
- }
1116
- .slex-grid[data-cols="6"] {
1117
- grid-template-columns: repeat(6, 1fr);
1118
- }
1119
- .slex-grid[data-cols="12"] {
1120
- grid-template-columns: repeat(12, 1fr);
1121
- }
1122
-
1123
- @media (min-width: 640px) {
1124
- .slex-grid[data-cols-sm="1"] {
1125
- grid-template-columns: 1fr;
1126
- }
1127
- .slex-grid[data-cols-sm="2"] {
1128
- grid-template-columns: repeat(2, 1fr);
1129
- }
1130
- .slex-grid[data-cols-sm="3"] {
1131
- grid-template-columns: repeat(3, 1fr);
1132
- }
1133
- .slex-grid[data-cols-sm="4"] {
1134
- grid-template-columns: repeat(4, 1fr);
1135
- }
1136
- .slex-grid[data-cols-sm="5"] {
1137
- grid-template-columns: repeat(5, 1fr);
1138
- }
1139
- .slex-grid[data-cols-sm="6"] {
1140
- grid-template-columns: repeat(6, 1fr);
1141
- }
1142
- .slex-grid[data-cols-sm="12"] {
1143
- grid-template-columns: repeat(12, 1fr);
1144
- }
1145
- }
1146
-
1147
- @media (min-width: 768px) {
1148
- .slex-grid[data-cols-md="1"] {
1149
- grid-template-columns: 1fr;
1150
- }
1151
- .slex-grid[data-cols-md="2"] {
1152
- grid-template-columns: repeat(2, 1fr);
1153
- }
1154
- .slex-grid[data-cols-md="3"] {
1155
- grid-template-columns: repeat(3, 1fr);
1156
- }
1157
- .slex-grid[data-cols-md="4"] {
1158
- grid-template-columns: repeat(4, 1fr);
1159
- }
1160
- .slex-grid[data-cols-md="5"] {
1161
- grid-template-columns: repeat(5, 1fr);
1162
- }
1163
- .slex-grid[data-cols-md="6"] {
1164
- grid-template-columns: repeat(6, 1fr);
1165
- }
1166
- .slex-grid[data-cols-md="12"] {
1167
- grid-template-columns: repeat(12, 1fr);
1168
- }
1169
- }
1170
-
1171
- @media (min-width: 1024px) {
1172
- .slex-grid[data-cols-lg="1"] {
1173
- grid-template-columns: 1fr;
1174
- }
1175
- .slex-grid[data-cols-lg="2"] {
1176
- grid-template-columns: repeat(2, 1fr);
1177
- }
1178
- .slex-grid[data-cols-lg="3"] {
1179
- grid-template-columns: repeat(3, 1fr);
1180
- }
1181
- .slex-grid[data-cols-lg="4"] {
1182
- grid-template-columns: repeat(4, 1fr);
1183
- }
1184
- .slex-grid[data-cols-lg="5"] {
1185
- grid-template-columns: repeat(5, 1fr);
1186
- }
1187
- .slex-grid[data-cols-lg="6"] {
1188
- grid-template-columns: repeat(6, 1fr);
1189
- }
1190
- .slex-grid[data-cols-lg="12"] {
1191
- grid-template-columns: repeat(12, 1fr);
1192
- }
1193
- }
1194
-
1195
- @media (min-width: 1280px) {
1196
- .slex-grid[data-cols-xl="1"] {
1197
- grid-template-columns: 1fr;
1198
- }
1199
- .slex-grid[data-cols-xl="2"] {
1200
- grid-template-columns: repeat(2, 1fr);
1201
- }
1202
- .slex-grid[data-cols-xl="3"] {
1203
- grid-template-columns: repeat(3, 1fr);
1204
- }
1205
- .slex-grid[data-cols-xl="4"] {
1206
- grid-template-columns: repeat(4, 1fr);
1207
- }
1208
- .slex-grid[data-cols-xl="5"] {
1209
- grid-template-columns: repeat(5, 1fr);
1210
- }
1211
- .slex-grid[data-cols-xl="6"] {
1212
- grid-template-columns: repeat(6, 1fr);
1213
- }
1214
- .slex-grid[data-cols-xl="12"] {
1215
- grid-template-columns: repeat(12, 1fr);
1216
- }
1217
- }
1218
-
1219
- @media (max-width: 639px) {
1220
- .slex-card {
1221
- padding: 1rem;
1222
- }
1223
-
1224
- .slex-row {
1225
- align-items: stretch;
1226
- }
1227
-
1228
- .slex-grid[data-cols],
1229
- .slex-grid[data-cols="2"],
1230
- .slex-grid[data-cols="3"],
1231
- .slex-grid[data-cols="4"],
1232
- .slex-grid[data-cols="5"],
1233
- .slex-grid[data-cols="6"],
1234
- .slex-grid[data-cols="12"] {
1235
- grid-template-columns: 1fr;
1236
- }
1043
+ padding-bottom: 0.75rem;
1044
+ border-bottom: 1px solid var(--border);
1045
+ color: var(--card-foreground);
1046
+ font-size: 1.125rem;
1047
+ font-weight: 600;
1048
+ line-height: 1.25;
1049
+ }
1050
+
1051
+ .slex-card-body {
1052
+ display: flex;
1053
+ width: 100%;
1054
+ min-width: 0;
1055
+ flex-direction: column;
1056
+ gap: 1rem;
1057
+ }
1058
+
1059
+ .slex-column {
1060
+ display: flex;
1061
+ min-width: 0;
1062
+ flex-direction: column;
1063
+ gap: 1rem;
1064
+ }
1065
+
1066
+ .slex-row {
1067
+ display: flex;
1068
+ flex-direction: row;
1069
+ gap: 1rem;
1070
+ align-items: center;
1071
+ flex-wrap: wrap;
1072
+ }
1073
+
1074
+ .slex-row > * {
1075
+ min-width: 0;
1076
+ }
1077
+
1078
+ .slex-row--balanced-tiles {
1079
+ --slex-balanced-tile-width: 136px;
1080
+ display: grid;
1081
+ width: 100%;
1082
+ grid-template-columns: repeat(var(--slex-balanced-tracks, var(--slex-balanced-cols)), minmax(0, 1fr));
1083
+ justify-content: stretch;
1084
+ align-items: stretch;
1085
+ }
1086
+
1087
+ .slex-row--balanced-tiles > :is(.slex-stat, .slex-card) {
1088
+ width: 100%;
1089
+ }
1090
+
1091
+ .slex-grid {
1092
+ display: grid;
1093
+ width: 100%;
1094
+ min-width: 0;
1095
+ gap: 1rem;
1096
+ }
1097
+
1098
+ .slex-grid {
1099
+ grid-template-columns: 1fr;
1100
+ }
1101
+ .slex-grid[data-cols="1"] {
1102
+ grid-template-columns: 1fr;
1103
+ }
1104
+ .slex-grid[data-cols="2"] {
1105
+ grid-template-columns: repeat(2, 1fr);
1106
+ }
1107
+ .slex-grid[data-cols="3"] {
1108
+ grid-template-columns: repeat(3, 1fr);
1109
+ }
1110
+ .slex-grid[data-cols="4"] {
1111
+ grid-template-columns: repeat(4, 1fr);
1112
+ }
1113
+ .slex-grid[data-cols="5"] {
1114
+ grid-template-columns: repeat(5, 1fr);
1115
+ }
1116
+ .slex-grid[data-cols="6"] {
1117
+ grid-template-columns: repeat(6, 1fr);
1118
+ }
1119
+ .slex-grid[data-cols="12"] {
1120
+ grid-template-columns: repeat(12, 1fr);
1121
+ }
1122
+
1123
+ @media (min-width: 640px) {
1124
+ .slex-grid[data-cols-sm="1"] {
1125
+ grid-template-columns: 1fr;
1126
+ }
1127
+ .slex-grid[data-cols-sm="2"] {
1128
+ grid-template-columns: repeat(2, 1fr);
1129
+ }
1130
+ .slex-grid[data-cols-sm="3"] {
1131
+ grid-template-columns: repeat(3, 1fr);
1132
+ }
1133
+ .slex-grid[data-cols-sm="4"] {
1134
+ grid-template-columns: repeat(4, 1fr);
1135
+ }
1136
+ .slex-grid[data-cols-sm="5"] {
1137
+ grid-template-columns: repeat(5, 1fr);
1138
+ }
1139
+ .slex-grid[data-cols-sm="6"] {
1140
+ grid-template-columns: repeat(6, 1fr);
1141
+ }
1142
+ .slex-grid[data-cols-sm="12"] {
1143
+ grid-template-columns: repeat(12, 1fr);
1144
+ }
1145
+ }
1146
+
1147
+ @media (min-width: 768px) {
1148
+ .slex-grid[data-cols-md="1"] {
1149
+ grid-template-columns: 1fr;
1150
+ }
1151
+ .slex-grid[data-cols-md="2"] {
1152
+ grid-template-columns: repeat(2, 1fr);
1153
+ }
1154
+ .slex-grid[data-cols-md="3"] {
1155
+ grid-template-columns: repeat(3, 1fr);
1156
+ }
1157
+ .slex-grid[data-cols-md="4"] {
1158
+ grid-template-columns: repeat(4, 1fr);
1159
+ }
1160
+ .slex-grid[data-cols-md="5"] {
1161
+ grid-template-columns: repeat(5, 1fr);
1162
+ }
1163
+ .slex-grid[data-cols-md="6"] {
1164
+ grid-template-columns: repeat(6, 1fr);
1165
+ }
1166
+ .slex-grid[data-cols-md="12"] {
1167
+ grid-template-columns: repeat(12, 1fr);
1168
+ }
1169
+ }
1170
+
1171
+ @media (min-width: 1024px) {
1172
+ .slex-grid[data-cols-lg="1"] {
1173
+ grid-template-columns: 1fr;
1174
+ }
1175
+ .slex-grid[data-cols-lg="2"] {
1176
+ grid-template-columns: repeat(2, 1fr);
1177
+ }
1178
+ .slex-grid[data-cols-lg="3"] {
1179
+ grid-template-columns: repeat(3, 1fr);
1180
+ }
1181
+ .slex-grid[data-cols-lg="4"] {
1182
+ grid-template-columns: repeat(4, 1fr);
1183
+ }
1184
+ .slex-grid[data-cols-lg="5"] {
1185
+ grid-template-columns: repeat(5, 1fr);
1186
+ }
1187
+ .slex-grid[data-cols-lg="6"] {
1188
+ grid-template-columns: repeat(6, 1fr);
1189
+ }
1190
+ .slex-grid[data-cols-lg="12"] {
1191
+ grid-template-columns: repeat(12, 1fr);
1192
+ }
1193
+ }
1194
+
1195
+ @media (min-width: 1280px) {
1196
+ .slex-grid[data-cols-xl="1"] {
1197
+ grid-template-columns: 1fr;
1198
+ }
1199
+ .slex-grid[data-cols-xl="2"] {
1200
+ grid-template-columns: repeat(2, 1fr);
1201
+ }
1202
+ .slex-grid[data-cols-xl="3"] {
1203
+ grid-template-columns: repeat(3, 1fr);
1204
+ }
1205
+ .slex-grid[data-cols-xl="4"] {
1206
+ grid-template-columns: repeat(4, 1fr);
1207
+ }
1208
+ .slex-grid[data-cols-xl="5"] {
1209
+ grid-template-columns: repeat(5, 1fr);
1210
+ }
1211
+ .slex-grid[data-cols-xl="6"] {
1212
+ grid-template-columns: repeat(6, 1fr);
1213
+ }
1214
+ .slex-grid[data-cols-xl="12"] {
1215
+ grid-template-columns: repeat(12, 1fr);
1216
+ }
1217
+ }
1218
+
1219
+ @media (max-width: 639px) {
1220
+ .slex-card {
1221
+ padding: 1rem;
1222
+ }
1223
+
1224
+ .slex-row {
1225
+ align-items: stretch;
1226
+ }
1227
+
1228
+ .slex-grid[data-cols],
1229
+ .slex-grid[data-cols="2"],
1230
+ .slex-grid[data-cols="3"],
1231
+ .slex-grid[data-cols="4"],
1232
+ .slex-grid[data-cols="5"],
1233
+ .slex-grid[data-cols="6"],
1234
+ .slex-grid[data-cols="12"] {
1235
+ grid-template-columns: 1fr;
1236
+ }
1237
1237
  }
1238
1238
 
1239
1239
  /* theme.css */
@@ -2546,22 +2546,22 @@ body[data-mobile-nav-open] {
2546
2546
 
2547
2547
  /* content.css */
2548
2548
 
2549
- .slex-section-header {
2550
- display: flex;
2551
- flex-direction: column;
2552
- gap: 0.5rem;
2553
- min-width: 0;
2554
- }
2555
-
2556
- .slex-section-eyebrow {
2557
- color: var(--muted-foreground);
2558
- font-size: 0.75rem;
2559
- font-weight: 600;
2560
- line-height: 1.25;
2561
- letter-spacing: 0;
2562
- text-transform: uppercase;
2563
- }
2564
-
2549
+ .slex-section-header {
2550
+ display: flex;
2551
+ flex-direction: column;
2552
+ gap: 0.5rem;
2553
+ min-width: 0;
2554
+ }
2555
+
2556
+ .slex-section-eyebrow {
2557
+ color: var(--muted-foreground);
2558
+ font-size: 0.75rem;
2559
+ font-weight: 600;
2560
+ line-height: 1.25;
2561
+ letter-spacing: 0;
2562
+ text-transform: uppercase;
2563
+ }
2564
+
2565
2565
  .slex-section-title {
2566
2566
  display: inline-flex;
2567
2567
  align-items: center;
@@ -2569,173 +2569,196 @@ body[data-mobile-nav-open] {
2569
2569
  margin: 0;
2570
2570
  color: var(--foreground);
2571
2571
  font-weight: 700;
2572
- line-height: 1.15;
2573
- letter-spacing: 0;
2574
- overflow-wrap: anywhere;
2575
- font-size: 1.5rem;
2576
- }
2577
-
2578
- .slex-section-subtitle {
2579
- margin: 0;
2580
- color: var(--muted-foreground);
2581
- font-size: 0.9375rem;
2582
- line-height: 1.7;
2583
- overflow-wrap: anywhere;
2584
- }
2585
-
2572
+ line-height: 1.15;
2573
+ letter-spacing: 0;
2574
+ overflow-wrap: anywhere;
2575
+ font-size: 1.5rem;
2576
+ }
2577
+
2578
+ .slex-section-subtitle {
2579
+ margin: 0;
2580
+ color: var(--muted-foreground);
2581
+ font-size: 0.9375rem;
2582
+ line-height: 1.7;
2583
+ overflow-wrap: anywhere;
2584
+ }
2585
+
2586
2586
  .slex-link {
2587
2587
  display: inline-flex;
2588
2588
  width: fit-content;
2589
2589
  align-items: center;
2590
2590
  gap: 0.375rem;
2591
2591
  color: var(--primary);
2592
- font-size: 0.875rem;
2593
- font-weight: 500;
2594
- text-decoration: none;
2595
- transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
2596
- }
2597
-
2598
- .slex-link:hover {
2599
- color: color-mix(in oklab, var(--primary) 82%, var(--muted-foreground));
2600
- }
2601
-
2602
- .slex-link:focus-visible {
2603
- outline: none;
2604
- box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 24%, transparent);
2605
- }
2606
-
2607
- .slex-link[data-variant="muted"] {
2608
- color: var(--muted-foreground);
2609
- }
2610
-
2611
- .slex-link[data-variant="button"] {
2612
- min-height: 2.25rem;
2613
- justify-content: center;
2614
- border: 1px solid var(--input);
2615
- border-radius: calc(var(--radius) - 2px);
2616
- background: var(--background);
2617
- padding: 0 0.75rem;
2618
- color: var(--foreground);
2619
- box-shadow: var(--shadow-sm);
2620
- }
2621
-
2622
- .slex-link[data-variant="button"]:hover {
2623
- background: var(--accent);
2624
- color: var(--accent-foreground);
2625
- }
2626
-
2627
- .slex-badge {
2628
- display: inline-flex;
2629
- width: fit-content;
2630
- min-height: 1.5rem;
2631
- align-items: center;
2632
- gap: 0.25rem;
2633
- border: 1px solid color-mix(in oklab, var(--border) 88%, transparent);
2634
- border-radius: calc(var(--radius) - 2px);
2635
- background: var(--secondary);
2636
- color: var(--secondary-foreground);
2637
- padding: 0.125rem 0.625rem;
2638
- font-size: 0.75rem;
2639
- font-weight: 600;
2640
- line-height: 1.25;
2641
- box-shadow: none;
2642
- transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
2592
+ font-size: 0.875rem;
2593
+ font-weight: 500;
2594
+ text-decoration: none;
2595
+ transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
2643
2596
  }
2644
2597
 
2645
- .slex-badge-label {
2646
- min-width: 0;
2598
+ .slex-link:hover {
2599
+ color: color-mix(in oklab, var(--primary) 82%, var(--muted-foreground));
2647
2600
  }
2648
-
2649
- .slex-badge[data-tone="neutral"],
2650
- .slex-badge[data-tone="muted"] {
2651
- border-color: color-mix(in oklab, var(--muted-foreground) 18%, var(--border));
2652
- background: color-mix(in oklab, var(--muted-foreground) 8%, var(--background));
2653
- color: var(--muted-foreground);
2654
- }
2655
-
2656
- .slex-badge[data-tone="primary"] {
2657
- border-color: color-mix(in oklab, var(--primary) 22%, var(--border));
2658
- background: color-mix(in oklab, var(--primary) 8%, var(--background));
2659
- color: color-mix(in oklab, var(--primary) 88%, var(--foreground));
2660
- }
2661
-
2662
- .slex-badge[data-tone="info"] {
2663
- border-color: color-mix(in oklab, var(--info) 24%, var(--border));
2664
- background: color-mix(in oklab, var(--info) 10%, var(--background));
2665
- color: color-mix(in oklab, var(--info) 86%, var(--foreground));
2666
- }
2667
-
2668
- .slex-badge[data-tone="success"] {
2669
- border-color: color-mix(in oklab, var(--success) 24%, var(--border));
2670
- background: color-mix(in oklab, var(--success) 10%, var(--background));
2671
- color: color-mix(in oklab, var(--success) 86%, var(--foreground));
2672
- }
2673
-
2674
- .slex-badge[data-tone="warning"] {
2675
- border-color: color-mix(in oklab, var(--warning) 26%, var(--border));
2676
- background: color-mix(in oklab, var(--warning) 12%, var(--background));
2677
- color: color-mix(in oklab, var(--warning) 82%, var(--foreground));
2678
- }
2679
-
2680
- .slex-badge[data-tone="danger"],
2681
- .slex-badge[data-tone="error"],
2682
- .slex-badge[data-tone="destructive"] {
2683
- border-color: color-mix(in oklab, var(--destructive) 24%, var(--border));
2684
- background: color-mix(in oklab, var(--destructive) 10%, var(--background));
2685
- color: color-mix(in oklab, var(--destructive) 86%, var(--foreground));
2686
- }
2687
-
2688
- .slex-divider {
2689
- width: 100%;
2690
- height: 0;
2691
- border: 0;
2692
- border-top: 1px solid var(--border);
2693
- margin: 1rem 0;
2694
- }
2695
-
2696
- .slex-divider--labeled {
2697
- display: flex;
2698
- height: auto;
2699
- align-items: center;
2700
- gap: 0.75rem;
2701
- border: 0;
2702
- }
2703
-
2704
- .slex-divider--labeled::before,
2705
- .slex-divider--labeled::after {
2706
- content: "";
2707
- flex: 1 1 0;
2708
- border-top: 1px solid var(--border);
2709
- }
2710
-
2711
- .slex-divider-label {
2712
- display: inline-flex;
2713
- align-items: center;
2714
- gap: 0.375rem;
2715
- min-width: 0;
2601
+
2602
+ .slex-link:focus-visible {
2603
+ outline: none;
2604
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 24%, transparent);
2605
+ }
2606
+
2607
+ .slex-link[data-variant="muted"] {
2716
2608
  color: var(--muted-foreground);
2717
- font-size: 0.75rem;
2718
- font-weight: 500;
2719
- }
2720
-
2721
- .slex-callout {
2722
- display: grid;
2723
- grid-template-columns: 0.25rem minmax(0, 1fr);
2724
- align-items: stretch;
2725
- gap: 0.75rem;
2726
- width: 100%;
2727
- min-height: 4rem;
2728
- border: 1px solid var(--border);
2729
- border-radius: var(--radius);
2730
- background: transparent;
2731
- color: var(--foreground);
2732
- padding: 0.875rem 1rem;
2733
- box-shadow: var(--shadow-sm);
2734
- transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
2735
2609
  }
2736
2610
 
2737
- .slex-callout:hover {
2738
- border-color: color-mix(in oklab, var(--primary) 20%, var(--border));
2611
+ .slex-link[data-variant="button"] {
2612
+ min-height: 2.25rem;
2613
+ justify-content: center;
2614
+ border: 1px solid var(--input);
2615
+ border-radius: calc(var(--radius) - 2px);
2616
+ background: var(--background);
2617
+ padding: 0 0.75rem;
2618
+ color: var(--foreground);
2619
+ box-shadow: var(--shadow-sm);
2620
+ }
2621
+
2622
+ .slex-link[data-variant="button"]:hover {
2623
+ background: var(--accent);
2624
+ color: var(--accent-foreground);
2625
+ }
2626
+
2627
+ .slex-badge {
2628
+ display: inline-flex;
2629
+ width: fit-content;
2630
+ min-height: 1.5rem;
2631
+ align-items: center;
2632
+ align-self: start;
2633
+ gap: 0.25rem;
2634
+ border: 1px solid color-mix(in oklab, var(--border) 88%, transparent);
2635
+ border-radius: calc(var(--radius) - 2px);
2636
+ background: var(--secondary);
2637
+ color: var(--secondary-foreground);
2638
+ padding: 0.125rem 0.625rem;
2639
+ font-size: 0.75rem;
2640
+ font-weight: 600;
2641
+ line-height: 1.25;
2642
+ box-shadow: none;
2643
+ transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
2644
+ }
2645
+
2646
+ .slex-badge-label {
2647
+ min-width: 0;
2648
+ }
2649
+
2650
+ .slex-badge[data-tone="neutral"],
2651
+ .slex-badge[data-tone="muted"] {
2652
+ border-color: color-mix(in oklab, var(--muted-foreground) 18%, var(--border));
2653
+ background: color-mix(in oklab, var(--muted-foreground) 8%, var(--background));
2654
+ color: var(--muted-foreground);
2655
+ }
2656
+
2657
+ .slex-badge[data-tone="primary"] {
2658
+ border-color: color-mix(in oklab, var(--primary) 22%, var(--border));
2659
+ background: color-mix(in oklab, var(--primary) 8%, var(--background));
2660
+ color: color-mix(in oklab, var(--primary) 88%, var(--foreground));
2661
+ }
2662
+
2663
+ .slex-badge[data-tone="info"] {
2664
+ border-color: color-mix(in oklab, var(--info) 24%, var(--border));
2665
+ background: color-mix(in oklab, var(--info) 10%, var(--background));
2666
+ color: color-mix(in oklab, var(--info) 86%, var(--foreground));
2667
+ }
2668
+
2669
+ .slex-badge[data-tone="success"] {
2670
+ border-color: color-mix(in oklab, var(--success) 24%, var(--border));
2671
+ background: color-mix(in oklab, var(--success) 10%, var(--background));
2672
+ color: color-mix(in oklab, var(--success) 86%, var(--foreground));
2673
+ }
2674
+
2675
+ .slex-badge[data-tone="warning"] {
2676
+ border-color: color-mix(in oklab, var(--warning) 26%, var(--border));
2677
+ background: color-mix(in oklab, var(--warning) 12%, var(--background));
2678
+ color: color-mix(in oklab, var(--warning) 82%, var(--foreground));
2679
+ }
2680
+
2681
+ .slex-badge[data-tone="danger"],
2682
+ .slex-badge[data-tone="error"],
2683
+ .slex-badge[data-tone="destructive"] {
2684
+ border-color: color-mix(in oklab, var(--destructive) 24%, var(--border));
2685
+ background: color-mix(in oklab, var(--destructive) 10%, var(--background));
2686
+ color: color-mix(in oklab, var(--destructive) 86%, var(--foreground));
2687
+ }
2688
+
2689
+ .slex-divider {
2690
+ width: 100%;
2691
+ height: 0;
2692
+ border: 0;
2693
+ border-top: 1px solid var(--border);
2694
+ margin: 1rem 0;
2695
+ }
2696
+
2697
+ .slex-divider--labeled {
2698
+ display: flex;
2699
+ height: auto;
2700
+ align-items: center;
2701
+ gap: 0.75rem;
2702
+ border: 0;
2703
+ }
2704
+
2705
+ .slex-divider--labeled::before,
2706
+ .slex-divider--labeled::after {
2707
+ content: "";
2708
+ flex: 1 1 0;
2709
+ border-top: 1px solid var(--border);
2710
+ }
2711
+
2712
+ .slex-divider-label {
2713
+ display: inline-flex;
2714
+ align-items: center;
2715
+ gap: 0.375rem;
2716
+ min-width: 0;
2717
+ color: var(--muted-foreground);
2718
+ font-size: 0.75rem;
2719
+ font-weight: 500;
2720
+ }
2721
+
2722
+ .slex-formula {
2723
+ box-sizing: border-box;
2724
+ width: 100%;
2725
+ max-width: 100%;
2726
+ overflow-x: auto;
2727
+ color: var(--foreground);
2728
+ }
2729
+
2730
+ .slex-formula[data-display="block"] {
2731
+ display: block;
2732
+ margin: 0.25rem 0;
2733
+ }
2734
+
2735
+ .slex-formula[data-display="inline"] {
2736
+ display: inline-block;
2737
+ width: fit-content;
2738
+ max-width: 100%;
2739
+ vertical-align: middle;
2740
+ }
2741
+
2742
+ .slex-callout {
2743
+ box-sizing: border-box;
2744
+ display: grid;
2745
+ grid-template-columns: 0.25rem minmax(0, 1fr);
2746
+ align-items: stretch;
2747
+ gap: 0.75rem;
2748
+ width: 100%;
2749
+ max-width: none;
2750
+ min-height: 4rem;
2751
+ border: 1px solid var(--border);
2752
+ border-radius: var(--radius);
2753
+ background: transparent;
2754
+ color: var(--foreground);
2755
+ padding: 0.875rem 1rem;
2756
+ box-shadow: var(--shadow-sm);
2757
+ transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
2758
+ }
2759
+
2760
+ .slex-callout:hover {
2761
+ border-color: color-mix(in oklab, var(--primary) 20%, var(--border));
2739
2762
  box-shadow: var(--shadow-md);
2740
2763
  transform: translateY(-1px);
2741
2764
  }
@@ -2814,7 +2837,7 @@ body[data-mobile-nav-open] {
2814
2837
  .slex-callout-body:empty {
2815
2838
  display: none;
2816
2839
  }
2817
-
2840
+
2818
2841
  .slex-code-block {
2819
2842
  --slex-code-keyword: color-mix(in oklab, var(--info) 78%, var(--foreground));
2820
2843
  --slex-code-string: color-mix(in oklab, var(--success) 78%, var(--foreground));
@@ -2825,19 +2848,19 @@ body[data-mobile-nav-open] {
2825
2848
  border: 1px solid var(--border);
2826
2849
  border-radius: var(--radius);
2827
2850
  background: var(--muted);
2828
- color: var(--foreground);
2829
- }
2830
-
2851
+ color: var(--foreground);
2852
+ }
2853
+
2831
2854
  .slex-code-block-header {
2832
- display: flex;
2833
- align-items: center;
2834
- justify-content: space-between;
2835
- gap: 1rem;
2836
- border-bottom: 1px solid var(--border);
2837
- padding: 0.5rem 0.75rem;
2838
- color: var(--muted-foreground);
2839
- font-size: 0.75rem;
2840
- font-weight: 600;
2855
+ display: flex;
2856
+ align-items: center;
2857
+ justify-content: space-between;
2858
+ gap: 1rem;
2859
+ border-bottom: 1px solid var(--border);
2860
+ padding: 0.5rem 0.75rem;
2861
+ color: var(--muted-foreground);
2862
+ font-size: 0.75rem;
2863
+ font-weight: 600;
2841
2864
  }
2842
2865
 
2843
2866
  .slex-code-block-title {
@@ -2846,12 +2869,12 @@ body[data-mobile-nav-open] {
2846
2869
  gap: 0.375rem;
2847
2870
  min-width: 0;
2848
2871
  }
2849
-
2850
- .slex-code-block-language {
2851
- color: var(--muted-foreground);
2852
- font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
2853
- }
2854
-
2872
+
2873
+ .slex-code-block-language {
2874
+ color: var(--muted-foreground);
2875
+ font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
2876
+ }
2877
+
2855
2878
  .slex-code-block .slex-code-block-pre {
2856
2879
  overflow: auto;
2857
2880
  margin: 0;
@@ -2864,7 +2887,7 @@ body[data-mobile-nav-open] {
2864
2887
  font-size: 0.8125rem;
2865
2888
  line-height: 1.65;
2866
2889
  }
2867
-
2890
+
2868
2891
  .slex-code-block code {
2869
2892
  white-space: pre;
2870
2893
  }
@@ -2927,552 +2950,555 @@ body[data-mobile-nav-open] {
2927
2950
  }
2928
2951
 
2929
2952
  .slex-table-wrap {
2930
- width: 100%;
2931
- overflow-x: auto;
2932
- border: 1px solid var(--border);
2933
- border-radius: var(--radius);
2934
- background: var(--card);
2935
- }
2936
-
2937
- .slex-table {
2938
- width: 100%;
2939
- min-width: 100%;
2940
- border-collapse: collapse;
2941
- color: var(--foreground);
2942
- font-size: 0.875rem;
2943
- }
2944
-
2945
- .slex-table th,
2946
- .slex-table td {
2947
- border-bottom: 1px solid var(--border);
2948
- padding: 0.625rem 0.75rem;
2949
- text-align: left;
2950
- vertical-align: top;
2951
- }
2952
-
2953
- .slex-table th {
2954
- background: var(--muted);
2955
- color: var(--muted-foreground);
2956
- font-size: 0.75rem;
2957
- font-weight: 650;
2958
- }
2959
-
2960
- .slex-table-column-label {
2961
- display: inline-flex;
2962
- align-items: center;
2963
- gap: 0.375rem;
2964
- min-width: 0;
2965
- }
2966
-
2967
- .slex-table tr:last-child td {
2968
- border-bottom: 0;
2969
- }
2970
-
2971
- .slex-section {
2972
- display: grid;
2973
- gap: 1rem;
2974
- min-width: 0;
2975
- scroll-margin-top: 5rem;
2976
- }
2977
-
2978
- .slex-section-body {
2979
- display: grid;
2980
- gap: 1rem;
2981
- min-width: 0;
2982
- }
2983
-
2984
- .slex-section-action {
2985
- display: inline-flex;
2986
- width: fit-content;
2987
- min-height: 2.25rem;
2988
- align-items: center;
2989
- justify-content: center;
2990
- border: 1px solid var(--input);
2991
- border-radius: calc(var(--radius) - 2px);
2992
- background: var(--background);
2993
- color: var(--foreground);
2994
- padding: 0 0.75rem;
2995
- font-size: 0.875rem;
2996
- font-weight: 600;
2997
- text-decoration: none;
2998
- box-shadow: var(--shadow-sm);
2999
- transition: background 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
3000
- }
3001
-
3002
- .slex-section-action:hover {
3003
- background: var(--accent);
3004
- color: var(--accent-foreground);
3005
- }
3006
-
3007
- .slex-section-action:focus-visible {
3008
- outline: 2px solid var(--ring);
3009
- outline-offset: 2px;
3010
- }
3011
-
3012
- .slexkit-secure-error {
3013
- margin-top: 0.75rem;
3014
- white-space: pre-wrap;
3015
- border: 1px solid color-mix(in srgb, var(--destructive, #dc2626) 35%, transparent);
3016
- border-radius: 0.5rem;
3017
- background: color-mix(in srgb, var(--destructive, #dc2626) 8%, transparent);
3018
- color: var(--destructive, #b91c1c);
3019
- font-size: 0.875rem;
3020
- line-height: 1.5;
3021
- padding: 0.75rem;
3022
- }
3023
-
3024
- /* components/button.css */
3025
-
3026
- .slex-button {
3027
- display: inline-flex;
3028
- align-items: center;
3029
- justify-content: center;
3030
- gap: 0.5rem;
3031
- max-width: 100%;
3032
- min-width: 0;
3033
- padding: 0.5rem 1rem;
3034
- border: 1px solid transparent;
3035
- border-radius: var(--radius);
3036
- font-family: inherit;
3037
- font-size: 0.875rem;
3038
- font-weight: 500;
3039
- line-height: 1.25;
3040
- white-space: nowrap;
3041
- text-overflow: ellipsis;
3042
- overflow: hidden;
3043
- cursor: pointer;
3044
- user-select: none;
3045
- transition:
3046
- background 150ms ease,
3047
- border-color 150ms ease,
3048
- color 150ms ease,
3049
- box-shadow 150ms ease,
3050
- transform 150ms ease;
3051
- }
3052
-
3053
- .slex-button--primary {
3054
- background: var(--primary);
3055
- color: var(--primary-foreground);
3056
- border-color: var(--primary);
3057
- }
3058
-
3059
- .slex-button--primary:hover:not(:disabled):not(.slex-button--disabled) {
3060
- background: color-mix(in oklab, var(--primary) 90%, transparent);
3061
- border-color: color-mix(in oklab, var(--primary) 90%, transparent);
3062
- color: var(--primary-foreground);
3063
- transform: translateY(-1px);
3064
- box-shadow: var(--shadow-md);
3065
- }
3066
-
3067
- .slex-button--secondary {
3068
- background: var(--secondary);
3069
- color: var(--secondary-foreground);
3070
- border-color: var(--border);
3071
- }
3072
-
3073
- .slex-button--secondary:hover:not(:disabled):not(.slex-button--disabled) {
3074
- background: var(--accent);
3075
- color: var(--accent-foreground);
3076
- border-color: var(--border);
3077
- }
3078
-
3079
- .slex-button--danger {
3080
- background: var(--destructive);
3081
- color: var(--destructive-foreground);
3082
- border-color: var(--destructive);
3083
- }
3084
-
3085
- .slex-button--danger:hover:not(:disabled):not(.slex-button--disabled) {
3086
- background: color-mix(in oklab, var(--destructive) 90%, transparent);
3087
- border-color: color-mix(in oklab, var(--destructive) 90%, transparent);
3088
- }
3089
-
3090
- .slex-button--ghost {
3091
- background: transparent;
3092
- color: var(--muted-foreground);
3093
- border-color: transparent;
3094
- }
3095
-
3096
- .slex-button--ghost:hover:not(:disabled):not(.slex-button--disabled) {
3097
- background: var(--accent);
3098
- color: var(--accent-foreground);
3099
- }
3100
-
3101
- .slex-button:disabled,
3102
- .slex-button[disabled],
3103
- .slex-button--disabled {
3104
- opacity: 0.5;
3105
- cursor: not-allowed;
3106
- pointer-events: none;
3107
- transform: none;
3108
- box-shadow: none;
3109
- }
3110
-
3111
- .slex-button:active:not(:disabled):not(.slex-button--disabled) {
3112
- transform: translateY(0);
3113
- box-shadow: var(--shadow-sm);
3114
- }
3115
-
3116
- .slex-button:focus-visible {
3117
- outline: 2px solid var(--ring);
3118
- outline-offset: 2px;
3119
- }
3120
-
3121
- .slex-button--icon {
3122
- width: var(--slex-control-height, 2.25rem);
3123
- min-height: var(--slex-control-height, 2.25rem);
3124
- padding-inline: 0;
3125
- }
3126
-
3127
- .slex-button-icon {
3128
- display: inline-flex;
3129
- width: 1.125rem;
3130
- height: 1.125rem;
3131
- color: currentColor;
2953
+ width: 100%;
2954
+ overflow-x: auto;
2955
+ border: 1px solid var(--border);
2956
+ border-radius: var(--radius);
2957
+ background: var(--card);
3132
2958
  }
3133
2959
 
3134
- .slex-button-icon svg {
3135
- display: block;
2960
+ .slex-table {
3136
2961
  width: 100%;
3137
- height: 100%;
3138
- fill: currentColor;
2962
+ min-width: 100%;
2963
+ border-collapse: collapse;
2964
+ color: var(--foreground);
2965
+ font-size: 0.875rem;
3139
2966
  }
3140
2967
 
3141
- /* components/submit.css */
3142
-
3143
- .slex-submit-bar {
3144
- display: flex;
3145
- align-items: center;
3146
- justify-content: flex-end;
3147
- gap: 0.75rem;
3148
- flex-wrap: wrap;
3149
- padding-top: 0.75rem;
3150
- border-top: 1px solid var(--border);
2968
+ .slex-table th,
2969
+ .slex-table td {
2970
+ border-bottom: 1px solid var(--border);
2971
+ padding: 0.625rem 0.75rem;
2972
+ text-align: left;
2973
+ vertical-align: top;
3151
2974
  }
3152
2975
 
3153
- /* components/slider.css */
3154
-
3155
- .slex-slider-container,
3156
- .slex-slider-field {
3157
- display: flex;
3158
- flex-direction: column;
3159
- gap: 0.5rem;
3160
- width: 100%;
3161
- }
3162
-
3163
- .slex-slider-field {
3164
- padding: 0.25rem 0;
3165
- }
3166
-
3167
- .slex-slider-label {
3168
- display: flex;
3169
- align-items: center;
3170
- justify-content: space-between;
3171
- color: var(--muted-foreground);
3172
- font-size: 0.875rem;
3173
- font-weight: 500;
3174
- }
3175
-
3176
- .slex-slider-value {
3177
- padding: 0.125rem 0.5rem;
3178
- border: 1px solid var(--border);
3179
- border-radius: calc(var(--radius) - 2px);
3180
- background: var(--secondary);
3181
- color: var(--secondary-foreground);
3182
- font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
3183
- font-size: 0.875rem;
3184
- font-weight: 600;
3185
- }
3186
-
3187
- .slex-slider {
3188
- box-sizing: border-box;
3189
- width: 100%;
3190
- height: 0.5rem;
3191
- border-radius: 999px;
3192
- -webkit-appearance: none;
3193
- appearance: none;
3194
- background: linear-gradient(
3195
- to right,
3196
- var(--primary) 0%,
3197
- var(--primary) var(--slex-slider-progress, 0%),
3198
- var(--secondary) var(--slex-slider-progress, 0%),
3199
- var(--secondary) 100%
3200
- );
3201
- accent-color: var(--primary);
3202
- cursor: pointer;
3203
- transition: box-shadow 150ms ease, filter 150ms ease;
3204
- }
3205
-
3206
- .slex-slider:hover {
3207
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
3208
- }
3209
-
3210
- .slex-slider:active {
3211
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3212
- }
3213
-
3214
- .slex-slider:focus-visible {
3215
- outline: 2px solid var(--ring);
3216
- outline-offset: 4px;
3217
- }
3218
-
3219
- .slex-slider::-webkit-slider-thumb {
3220
- width: 1rem;
3221
- height: 1rem;
3222
- border: 2px solid var(--primary);
3223
- border-radius: 999px;
3224
- background: var(--background) !important;
3225
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
3226
- -webkit-appearance: none;
3227
- appearance: none;
3228
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
3229
- }
3230
-
3231
- .slex-slider::-moz-range-thumb {
3232
- width: 1rem;
3233
- height: 1rem;
3234
- border: 2px solid var(--primary);
3235
- border-radius: 999px;
3236
- background: var(--background) !important;
3237
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
3238
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
3239
- }
3240
-
3241
- .slex-slider:hover::-webkit-slider-thumb {
3242
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3243
- transform: scale(1.06);
3244
- }
3245
-
3246
- .slex-slider:hover::-moz-range-thumb {
3247
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3248
- transform: scale(1.06);
3249
- }
3250
-
3251
- .slex-slider:active::-webkit-slider-thumb {
3252
- box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
3253
- transform: scale(1.12);
3254
- }
3255
-
3256
- .slex-slider:active::-moz-range-thumb {
3257
- box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
3258
- transform: scale(1.12);
3259
- }
3260
-
3261
- .slex-slider::-moz-range-track {
3262
- height: 0.5rem;
3263
- border: 0;
3264
- border-radius: 999px;
3265
- background: var(--secondary);
3266
- }
3267
-
3268
- .slex-slider::-moz-range-progress {
3269
- height: 0.5rem;
3270
- border-radius: 999px;
3271
- background: var(--primary);
2976
+ .slex-table th {
2977
+ background: var(--muted);
2978
+ color: var(--muted-foreground);
2979
+ font-size: 0.75rem;
2980
+ font-weight: 650;
3272
2981
  }
3273
2982
 
3274
- .slex-slider-label-text {
2983
+ .slex-table-column-label {
3275
2984
  display: inline-flex;
3276
- min-width: 0;
3277
2985
  align-items: center;
3278
2986
  gap: 0.375rem;
2987
+ min-width: 0;
3279
2988
  }
3280
2989
 
3281
- /* components/switch.css */
2990
+ .slex-table tr:last-child td {
2991
+ border-bottom: 0;
2992
+ }
3282
2993
 
3283
- .slex-switch {
3284
- display: inline-flex;
3285
- align-items: center;
3286
- gap: 0.5rem;
3287
- cursor: pointer;
3288
- }
3289
-
3290
- .slex-switch-event-layer {
3291
- display: inline-flex;
3292
- }
3293
-
3294
- .slex-choice-event-layer {
3295
- display: inline-flex;
3296
- }
3297
-
3298
- .slex-switch-label {
3299
- display: inline-flex;
3300
- align-items: center;
3301
- gap: 0.375rem;
2994
+ .slex-section {
2995
+ display: grid;
2996
+ gap: 1rem;
3302
2997
  min-width: 0;
3303
- color: var(--foreground);
3304
- font-size: 0.8125rem;
3305
- font-weight: 500;
3306
- }
3307
-
3308
- .slex-switch-input {
3309
- position: absolute;
3310
- width: 1px;
3311
- height: 1px;
3312
- padding: 0;
3313
- margin: -1px;
3314
- overflow: hidden;
3315
- clip: rect(0, 0, 0, 0);
3316
- white-space: nowrap;
3317
- border: 0;
3318
- }
3319
-
3320
- .slex-switch-control {
3321
- box-sizing: border-box;
3322
- position: relative;
3323
- display: inline-flex;
3324
- align-items: center;
3325
- flex: 0 0 auto;
3326
- width: 2.75rem;
3327
- height: 1.5rem;
3328
- margin-inline-end: 0;
3329
- padding: 0;
3330
- border: 2px solid transparent;
3331
- border-radius: 9999px;
3332
- background: var(--input);
3333
- transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
3334
- }
3335
-
3336
- .slex-switch-control::after {
3337
- content: "";
3338
- display: block;
3339
- width: 1.25rem;
3340
- height: 1.25rem;
3341
- border: 0;
3342
- border-radius: 9999px;
3343
- background: var(--background);
3344
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 12%, transparent);
3345
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
3346
- transform: translateX(0);
3347
- will-change: transform;
3348
- }
3349
-
3350
- .slex-switch:hover .slex-switch-control {
3351
- border-color: color-mix(in oklab, var(--primary) 42%, var(--input));
3352
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
3353
- }
3354
-
3355
- .slex-switch:hover .slex-switch-control::after {
3356
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 10%, transparent);
3357
- }
3358
-
3359
- .slex-switch:active .slex-switch-control::after {
3360
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 16%, transparent);
3361
- }
3362
-
3363
- .slex-switch-input:checked + .slex-switch-control {
3364
- border-color: var(--primary);
3365
- background: var(--primary);
3366
- }
3367
-
3368
- .slex-switch:hover .slex-switch-input:checked + .slex-switch-control {
3369
- background: color-mix(in oklab, var(--primary) 88%, var(--background));
3370
- }
3371
-
3372
- .slex-switch-input:checked + .slex-switch-control::after {
3373
- background: var(--background);
3374
- transform: translateX(1.25rem);
3375
- }
3376
-
3377
- .slexkit-root[dir="rtl"] .slex-switch-input:checked + .slex-switch-control::after {
3378
- transform: translateX(-1.25rem);
3379
- }
3380
-
3381
- .slex-switch-input:focus-visible + .slex-switch-control {
3382
- box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 18%, transparent);
3383
- }
3384
-
3385
- .slex-switch-input:disabled + .slex-switch-control {
3386
- opacity: 0.55;
3387
- }
3388
-
3389
- .slex-switch:has(.slex-switch-input:disabled) {
3390
- cursor: not-allowed;
3391
- }
3392
-
3393
- .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control,
3394
- .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control::after {
3395
- box-shadow: none;
2998
+ scroll-margin-top: 5rem;
3396
2999
  }
3397
3000
 
3398
- /* components/text-input.css */
3399
-
3400
- .slex-input-field {
3401
- box-sizing: border-box;
3402
- display: flex;
3403
- flex-direction: column;
3404
- gap: 0.375rem;
3405
- width: 100%;
3001
+ .slex-section-body {
3002
+ display: grid;
3003
+ gap: 1rem;
3406
3004
  min-width: 0;
3407
3005
  }
3408
3006
 
3409
- .slex-input-label {
3007
+ .slex-section-action {
3410
3008
  display: inline-flex;
3411
- align-items: center;
3412
- gap: 0.25rem;
3413
3009
  width: fit-content;
3010
+ min-height: 2.25rem;
3011
+ align-items: center;
3012
+ justify-content: center;
3013
+ border: 1px solid var(--input);
3014
+ border-radius: calc(var(--radius) - 2px);
3015
+ background: var(--background);
3414
3016
  color: var(--foreground);
3415
- font-size: 0.8125rem;
3017
+ padding: 0 0.75rem;
3018
+ font-size: 0.875rem;
3416
3019
  font-weight: 600;
3417
- line-height: 1.25;
3020
+ text-decoration: none;
3021
+ box-shadow: var(--shadow-sm);
3022
+ transition: background 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
3418
3023
  }
3419
3024
 
3420
- .slex-input-field[data-required="true"] .slex-input-label::after {
3421
- content: "*";
3422
- color: var(--destructive);
3423
- font-weight: 700;
3025
+ .slex-section-action:hover {
3026
+ background: var(--accent);
3027
+ color: var(--accent-foreground);
3424
3028
  }
3425
3029
 
3426
- .slex-input-control {
3427
- display: flex;
3428
- align-items: stretch;
3429
- width: 100%;
3430
- min-width: 0;
3030
+ .slex-section-action:focus-visible {
3031
+ outline: 2px solid var(--ring);
3032
+ outline-offset: 2px;
3431
3033
  }
3432
3034
 
3433
- .slex-input {
3434
- box-sizing: border-box;
3435
- display: inline-flex;
3436
- align-items: center;
3437
- flex: 1 1 auto;
3438
- min-width: 0;
3439
- width: 100%;
3440
- padding: 0.5rem 0.75rem;
3441
- border: 1px solid var(--input);
3442
- border-radius: var(--radius);
3443
- background: var(--background);
3444
- color: var(--foreground);
3445
- font-family: inherit;
3035
+ .slexkit-secure-error {
3036
+ margin-top: 0.75rem;
3037
+ white-space: pre-wrap;
3038
+ border: 1px solid color-mix(in srgb, var(--destructive, #dc2626) 35%, transparent);
3039
+ border-radius: 0.5rem;
3040
+ background: color-mix(in srgb, var(--destructive, #dc2626) 8%, transparent);
3041
+ color: var(--destructive, #b91c1c);
3446
3042
  font-size: 0.875rem;
3447
3043
  line-height: 1.5;
3448
- outline: none;
3449
- transition: border-color 150ms ease, box-shadow 150ms ease;
3044
+ padding: 0.75rem;
3450
3045
  }
3451
3046
 
3452
- .slex-input-control[data-has-unit="true"] .slex-input,
3453
- .slex-input-control[data-has-controls="true"] .slex-input {
3454
- border-top-right-radius: 0;
3455
- border-bottom-right-radius: 0;
3456
- }
3047
+ /* components/button.css */
3457
3048
 
3458
- .slex-input-unit {
3459
- box-sizing: border-box;
3049
+ .slex-button {
3460
3050
  display: inline-flex;
3461
3051
  align-items: center;
3462
3052
  justify-content: center;
3463
- min-height: 2.5625rem;
3464
- padding: 0.5rem 0.75rem;
3465
- border: 1px solid var(--input);
3466
- border-left: 0;
3467
- border-radius: 0 var(--radius) var(--radius) 0;
3468
- background: var(--muted);
3469
- color: var(--muted-foreground);
3053
+ gap: 0.5rem;
3054
+ max-width: 100%;
3055
+ min-width: 0;
3056
+ padding: 0.5rem 1rem;
3057
+ border: 1px solid transparent;
3058
+ border-radius: var(--radius);
3059
+ font-family: inherit;
3470
3060
  font-size: 0.875rem;
3471
- font-weight: 600;
3472
- line-height: 1.5;
3061
+ font-weight: 500;
3062
+ line-height: 1.25;
3473
3063
  white-space: nowrap;
3474
- transition: border-color 150ms ease, box-shadow 150ms ease;
3475
- }
3064
+ text-overflow: ellipsis;
3065
+ overflow: hidden;
3066
+ cursor: pointer;
3067
+ user-select: none;
3068
+ transition:
3069
+ background 150ms ease,
3070
+ border-color 150ms ease,
3071
+ color 150ms ease,
3072
+ box-shadow 150ms ease,
3073
+ transform 150ms ease;
3074
+ }
3075
+
3076
+ .slex-button--primary {
3077
+ background: var(--primary);
3078
+ color: var(--primary-foreground);
3079
+ border-color: var(--primary);
3080
+ }
3081
+
3082
+ .slex-button--primary:hover:not(:disabled):not(.slex-button--disabled) {
3083
+ background: color-mix(in oklab, var(--primary) 90%, transparent);
3084
+ border-color: color-mix(in oklab, var(--primary) 90%, transparent);
3085
+ color: var(--primary-foreground);
3086
+ transform: translateY(-1px);
3087
+ box-shadow: var(--shadow-md);
3088
+ }
3089
+
3090
+ .slex-button--secondary {
3091
+ background: var(--secondary);
3092
+ color: var(--secondary-foreground);
3093
+ border-color: var(--border);
3094
+ }
3095
+
3096
+ .slex-button--secondary:hover:not(:disabled):not(.slex-button--disabled) {
3097
+ background: var(--accent);
3098
+ color: var(--accent-foreground);
3099
+ border-color: var(--border);
3100
+ }
3101
+
3102
+ .slex-button--danger {
3103
+ background: var(--destructive);
3104
+ color: var(--destructive-foreground);
3105
+ border-color: var(--destructive);
3106
+ }
3107
+
3108
+ .slex-button--danger:hover:not(:disabled):not(.slex-button--disabled) {
3109
+ background: color-mix(in oklab, var(--destructive) 90%, transparent);
3110
+ border-color: color-mix(in oklab, var(--destructive) 90%, transparent);
3111
+ }
3112
+
3113
+ .slex-button--ghost {
3114
+ background: transparent;
3115
+ color: var(--muted-foreground);
3116
+ border-color: transparent;
3117
+ }
3118
+
3119
+ .slex-button--ghost:hover:not(:disabled):not(.slex-button--disabled) {
3120
+ background: var(--accent);
3121
+ color: var(--accent-foreground);
3122
+ }
3123
+
3124
+ .slex-button:disabled,
3125
+ .slex-button[disabled],
3126
+ .slex-button--disabled {
3127
+ opacity: 0.5;
3128
+ cursor: not-allowed;
3129
+ pointer-events: none;
3130
+ transform: none;
3131
+ box-shadow: none;
3132
+ }
3133
+
3134
+ .slex-button:active:not(:disabled):not(.slex-button--disabled) {
3135
+ transform: translateY(0);
3136
+ box-shadow: var(--shadow-sm);
3137
+ }
3138
+
3139
+ .slex-button:focus-visible {
3140
+ outline: 2px solid var(--ring);
3141
+ outline-offset: 2px;
3142
+ }
3143
+
3144
+ .slex-button--icon {
3145
+ width: var(--slex-control-height, 2.25rem);
3146
+ min-height: var(--slex-control-height, 2.25rem);
3147
+ padding-inline: 0;
3148
+ }
3149
+
3150
+ .slex-button-icon {
3151
+ display: inline-flex;
3152
+ width: 1.125rem;
3153
+ height: 1.125rem;
3154
+ color: currentColor;
3155
+ }
3156
+
3157
+ .slex-button-icon svg {
3158
+ display: block;
3159
+ width: 100%;
3160
+ height: 100%;
3161
+ fill: currentColor;
3162
+ }
3163
+
3164
+ /* components/submit.css */
3165
+
3166
+ .slex-submit-bar {
3167
+ display: flex;
3168
+ align-items: center;
3169
+ justify-content: flex-end;
3170
+ gap: 0.75rem;
3171
+ flex-wrap: wrap;
3172
+ padding-top: 0.75rem;
3173
+ border-top: 1px solid var(--border);
3174
+ }
3175
+
3176
+ /* components/slider.css */
3177
+
3178
+ .slex-slider-container,
3179
+ .slex-slider-field {
3180
+ display: flex;
3181
+ flex-direction: column;
3182
+ gap: 0.5rem;
3183
+ width: 100%;
3184
+ }
3185
+
3186
+ .slex-slider-field {
3187
+ padding: 0.25rem 0;
3188
+ }
3189
+
3190
+ .slex-slider-label {
3191
+ display: flex;
3192
+ align-items: center;
3193
+ justify-content: space-between;
3194
+ color: var(--muted-foreground);
3195
+ font-size: 0.875rem;
3196
+ font-weight: 500;
3197
+ }
3198
+
3199
+ .slex-slider-value {
3200
+ padding: 0.125rem 0.5rem;
3201
+ border: 1px solid var(--border);
3202
+ border-radius: calc(var(--radius) - 2px);
3203
+ background: var(--secondary);
3204
+ color: var(--secondary-foreground);
3205
+ font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
3206
+ font-size: 0.875rem;
3207
+ font-weight: 600;
3208
+ }
3209
+
3210
+ .slex-slider {
3211
+ box-sizing: border-box;
3212
+ width: 100%;
3213
+ height: 0.5rem;
3214
+ border-radius: 999px;
3215
+ -webkit-appearance: none;
3216
+ appearance: none;
3217
+ background: linear-gradient(
3218
+ to right,
3219
+ var(--primary) 0%,
3220
+ var(--primary) var(--slex-slider-progress, 0%),
3221
+ var(--secondary) var(--slex-slider-progress, 0%),
3222
+ var(--secondary) 100%
3223
+ );
3224
+ accent-color: var(--primary);
3225
+ cursor: pointer;
3226
+ transition: box-shadow 150ms ease, filter 150ms ease;
3227
+ }
3228
+
3229
+ .slex-slider:hover {
3230
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
3231
+ }
3232
+
3233
+ .slex-slider:active {
3234
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3235
+ }
3236
+
3237
+ .slex-slider:focus-visible {
3238
+ outline: 2px solid var(--ring);
3239
+ outline-offset: 4px;
3240
+ }
3241
+
3242
+ .slex-slider::-webkit-slider-thumb {
3243
+ width: 1rem;
3244
+ height: 1rem;
3245
+ border: 2px solid var(--primary);
3246
+ border-radius: 999px;
3247
+ background: var(--background) !important;
3248
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
3249
+ -webkit-appearance: none;
3250
+ appearance: none;
3251
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
3252
+ }
3253
+
3254
+ .slex-slider::-moz-range-thumb {
3255
+ width: 1rem;
3256
+ height: 1rem;
3257
+ border: 2px solid var(--primary);
3258
+ border-radius: 999px;
3259
+ background: var(--background) !important;
3260
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
3261
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
3262
+ }
3263
+
3264
+ .slex-slider:hover::-webkit-slider-thumb {
3265
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3266
+ transform: scale(1.06);
3267
+ }
3268
+
3269
+ .slex-slider:hover::-moz-range-thumb {
3270
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
3271
+ transform: scale(1.06);
3272
+ }
3273
+
3274
+ .slex-slider:active::-webkit-slider-thumb {
3275
+ box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
3276
+ transform: scale(1.12);
3277
+ }
3278
+
3279
+ .slex-slider:active::-moz-range-thumb {
3280
+ box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
3281
+ transform: scale(1.12);
3282
+ }
3283
+
3284
+ .slex-slider::-moz-range-track {
3285
+ height: 0.5rem;
3286
+ border: 0;
3287
+ border-radius: 999px;
3288
+ background: var(--secondary);
3289
+ }
3290
+
3291
+ .slex-slider::-moz-range-progress {
3292
+ height: 0.5rem;
3293
+ border-radius: 999px;
3294
+ background: var(--primary);
3295
+ }
3296
+
3297
+ .slex-slider-label-text {
3298
+ display: inline-flex;
3299
+ min-width: 0;
3300
+ align-items: center;
3301
+ gap: 0.375rem;
3302
+ }
3303
+
3304
+ /* components/switch.css */
3305
+
3306
+ .slex-switch {
3307
+ display: inline-flex;
3308
+ align-items: center;
3309
+ gap: 0.5rem;
3310
+ cursor: pointer;
3311
+ }
3312
+
3313
+ .slex-switch-event-layer {
3314
+ display: inline-flex;
3315
+ }
3316
+
3317
+ .slex-choice-event-layer {
3318
+ display: inline-flex;
3319
+ }
3320
+
3321
+ .slex-switch-label {
3322
+ display: inline-flex;
3323
+ align-items: center;
3324
+ gap: 0.375rem;
3325
+ min-width: 0;
3326
+ color: var(--foreground);
3327
+ font-size: 0.8125rem;
3328
+ font-weight: 500;
3329
+ }
3330
+
3331
+ .slex-switch-input {
3332
+ position: absolute;
3333
+ width: 1px;
3334
+ height: 1px;
3335
+ padding: 0;
3336
+ margin: -1px;
3337
+ overflow: hidden;
3338
+ clip: rect(0, 0, 0, 0);
3339
+ white-space: nowrap;
3340
+ border: 0;
3341
+ }
3342
+
3343
+ .slex-switch-control {
3344
+ box-sizing: border-box;
3345
+ position: relative;
3346
+ display: inline-flex;
3347
+ align-items: center;
3348
+ flex: 0 0 auto;
3349
+ width: 2.75rem;
3350
+ height: 1.5rem;
3351
+ margin-inline-end: 0;
3352
+ padding: 0;
3353
+ border: 2px solid transparent;
3354
+ border-radius: 9999px;
3355
+ background: var(--input);
3356
+ transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
3357
+ }
3358
+
3359
+ .slex-switch-control::after {
3360
+ content: "";
3361
+ display: block;
3362
+ width: 1.25rem;
3363
+ height: 1.25rem;
3364
+ border: 0;
3365
+ border-radius: 9999px;
3366
+ background: var(--background);
3367
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 12%, transparent);
3368
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
3369
+ transform: translateX(0);
3370
+ will-change: transform;
3371
+ }
3372
+
3373
+ .slex-switch:hover .slex-switch-control {
3374
+ border-color: color-mix(in oklab, var(--primary) 42%, var(--input));
3375
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
3376
+ }
3377
+
3378
+ .slex-switch:hover .slex-switch-control::after {
3379
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 10%, transparent);
3380
+ }
3381
+
3382
+ .slex-switch:active .slex-switch-control::after {
3383
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 16%, transparent);
3384
+ }
3385
+
3386
+ .slex-switch-input:checked + .slex-switch-control {
3387
+ border-color: var(--primary);
3388
+ background: var(--primary);
3389
+ }
3390
+
3391
+ .slex-switch:hover .slex-switch-input:checked + .slex-switch-control {
3392
+ background: color-mix(in oklab, var(--primary) 88%, var(--background));
3393
+ }
3394
+
3395
+ .slex-switch-input:checked + .slex-switch-control::after {
3396
+ background: var(--background);
3397
+ transform: translateX(1.25rem);
3398
+ }
3399
+
3400
+ .slexkit-root[dir="rtl"] .slex-switch-input:checked + .slex-switch-control::after {
3401
+ transform: translateX(-1.25rem);
3402
+ }
3403
+
3404
+ .slex-switch-input:focus-visible + .slex-switch-control {
3405
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 18%, transparent);
3406
+ }
3407
+
3408
+ .slex-switch-input:disabled + .slex-switch-control {
3409
+ opacity: 0.55;
3410
+ }
3411
+
3412
+ .slex-switch:has(.slex-switch-input:disabled) {
3413
+ cursor: not-allowed;
3414
+ }
3415
+
3416
+ .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control,
3417
+ .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control::after {
3418
+ box-shadow: none;
3419
+ }
3420
+
3421
+ /* components/text-input.css */
3422
+
3423
+ .slex-input-field {
3424
+ box-sizing: border-box;
3425
+ display: flex;
3426
+ flex-direction: column;
3427
+ gap: 0.375rem;
3428
+ width: 100%;
3429
+ min-width: 0;
3430
+ }
3431
+
3432
+ .slex-input-label {
3433
+ display: inline-flex;
3434
+ align-items: center;
3435
+ gap: 0.25rem;
3436
+ width: fit-content;
3437
+ color: var(--foreground);
3438
+ font-size: 0.8125rem;
3439
+ font-weight: 600;
3440
+ line-height: 1.25;
3441
+ }
3442
+
3443
+ .slex-input-field[data-required="true"] .slex-input-label::after {
3444
+ content: "*";
3445
+ color: var(--destructive);
3446
+ font-weight: 700;
3447
+ }
3448
+
3449
+ .slex-input-control {
3450
+ position: relative;
3451
+ display: flex;
3452
+ align-items: stretch;
3453
+ width: 100%;
3454
+ min-width: 0;
3455
+ border-radius: var(--radius);
3456
+ transition: box-shadow 150ms ease;
3457
+ }
3458
+
3459
+ .slex-input {
3460
+ box-sizing: border-box;
3461
+ display: inline-flex;
3462
+ align-items: center;
3463
+ flex: 1 1 auto;
3464
+ min-width: 0;
3465
+ width: 100%;
3466
+ padding: 0.5rem 0.75rem;
3467
+ border: 1px solid var(--input);
3468
+ border-radius: var(--radius);
3469
+ background: var(--background);
3470
+ color: var(--foreground);
3471
+ font-family: inherit;
3472
+ font-size: 0.875rem;
3473
+ line-height: 1.5;
3474
+ outline: none;
3475
+ transition: border-color 150ms ease, box-shadow 150ms ease;
3476
+ }
3477
+
3478
+ .slex-input-control[data-has-unit="true"] .slex-input,
3479
+ .slex-input-control[data-has-controls="true"] .slex-input {
3480
+ border-top-right-radius: 0;
3481
+ border-bottom-right-radius: 0;
3482
+ }
3483
+
3484
+ .slex-input-unit {
3485
+ box-sizing: border-box;
3486
+ display: inline-flex;
3487
+ align-items: center;
3488
+ justify-content: center;
3489
+ min-height: 2.5625rem;
3490
+ padding: 0.5rem 0.75rem;
3491
+ border: 1px solid var(--input);
3492
+ border-left: 0;
3493
+ border-radius: 0 var(--radius) var(--radius) 0;
3494
+ background: var(--muted);
3495
+ color: var(--muted-foreground);
3496
+ font-size: 0.875rem;
3497
+ font-weight: 600;
3498
+ line-height: 1.5;
3499
+ white-space: nowrap;
3500
+ transition: border-color 150ms ease, box-shadow 150ms ease;
3501
+ }
3476
3502
 
3477
3503
  .slex-input-control[data-has-controls="true"] .slex-input-unit {
3478
3504
  border-radius: 0;
@@ -3481,11 +3507,11 @@ body[data-mobile-nav-open] {
3481
3507
  .slex-input-controls {
3482
3508
  box-sizing: border-box;
3483
3509
  display: inline-grid;
3484
- grid-template-columns: repeat(2, minmax(0, 1fr));
3510
+ grid-template-rows: repeat(2, minmax(0, 1fr));
3485
3511
  align-items: stretch;
3486
3512
  flex: 0 0 auto;
3487
- width: 3.75rem;
3488
- min-width: 3.75rem;
3513
+ width: 1.875rem;
3514
+ min-width: 1.875rem;
3489
3515
  min-height: 2.5625rem;
3490
3516
  overflow: hidden;
3491
3517
  border: 1px solid var(--input);
@@ -3502,15 +3528,15 @@ body[data-mobile-nav-open] {
3502
3528
  justify-content: center;
3503
3529
  width: 100%;
3504
3530
  min-width: 0;
3505
- min-height: 100%;
3531
+ min-height: 0;
3506
3532
  padding: 0;
3507
3533
  border: 0;
3508
- border-left: 1px solid var(--input);
3534
+ border-top: 1px solid var(--input);
3509
3535
  border-radius: 0;
3510
3536
  background: transparent;
3511
3537
  color: var(--foreground);
3512
3538
  font: inherit;
3513
- font-size: 0.875rem;
3539
+ font-size: 0.75rem;
3514
3540
  font-weight: 600;
3515
3541
  line-height: 1;
3516
3542
  cursor: pointer;
@@ -3518,7 +3544,7 @@ body[data-mobile-nav-open] {
3518
3544
  }
3519
3545
 
3520
3546
  .slex-input-step:first-child {
3521
- border-left: 0;
3547
+ border-top: 0;
3522
3548
  }
3523
3549
 
3524
3550
  .slex-input-step:last-child {
@@ -3531,9 +3557,9 @@ body[data-mobile-nav-open] {
3531
3557
 
3532
3558
  .slex-input-step:focus-visible {
3533
3559
  z-index: 1;
3534
- border-color: var(--ring);
3535
3560
  outline: none;
3536
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 16%, transparent);
3561
+ background: color-mix(in oklab, var(--muted) 58%, var(--background));
3562
+ box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--ring) 34%, transparent);
3537
3563
  }
3538
3564
 
3539
3565
  .slex-input-step:disabled {
@@ -3547,7 +3573,7 @@ body[data-mobile-nav-open] {
3547
3573
 
3548
3574
  .slex-input:focus {
3549
3575
  border-color: var(--ring);
3550
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 16%, transparent);
3576
+ box-shadow: none;
3551
3577
  }
3552
3578
 
3553
3579
  .slex-input[type="number"] {
@@ -3571,21 +3597,21 @@ body[data-mobile-nav-open] {
3571
3597
 
3572
3598
  .slex-input-field[data-invalid="true"] .slex-input:focus {
3573
3599
  border-color: var(--destructive);
3574
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--destructive) 18%, transparent);
3600
+ box-shadow: none;
3575
3601
  }
3576
3602
 
3577
- .slex-input-control:focus-within .slex-input-unit {
3578
- border-color: var(--ring);
3603
+ .slex-input-control:focus-within {
3579
3604
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 16%, transparent);
3580
3605
  }
3581
3606
 
3582
- .slex-input-control:focus-within .slex-input-step {
3607
+ .slex-input-control:focus-within .slex-input,
3608
+ .slex-input-control:focus-within .slex-input-unit,
3609
+ .slex-input-control:focus-within .slex-input-controls {
3583
3610
  border-color: var(--ring);
3584
3611
  }
3585
3612
 
3586
- .slex-input-control:focus-within .slex-input-controls {
3613
+ .slex-input-control:focus-within .slex-input-step {
3587
3614
  border-color: var(--ring);
3588
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 16%, transparent);
3589
3615
  }
3590
3616
 
3591
3617
  .slex-input-field[data-invalid="true"] .slex-input-unit {
@@ -3601,20 +3627,17 @@ body[data-mobile-nav-open] {
3601
3627
  border-color: color-mix(in oklab, var(--destructive) 72%, var(--input));
3602
3628
  }
3603
3629
 
3604
- .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input-unit {
3605
- border-color: var(--destructive);
3630
+ .slex-input-field[data-invalid="true"] .slex-input-control:focus-within {
3606
3631
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--destructive) 18%, transparent);
3607
3632
  }
3608
3633
 
3634
+ .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input,
3635
+ .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input-unit,
3636
+ .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input-controls,
3609
3637
  .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input-step {
3610
3638
  border-color: var(--destructive);
3611
3639
  }
3612
3640
 
3613
- .slex-input-field[data-invalid="true"] .slex-input-control:focus-within .slex-input-controls {
3614
- border-color: var(--destructive);
3615
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--destructive) 18%, transparent);
3616
- }
3617
-
3618
3641
  .slex-input[disabled] {
3619
3642
  opacity: 0.5;
3620
3643
  cursor: not-allowed;
@@ -3636,142 +3659,142 @@ body[data-mobile-nav-open] {
3636
3659
  line-height: 1.35;
3637
3660
  }
3638
3661
 
3639
- .slex-input-error {
3640
- color: var(--destructive);
3641
- font-size: 0.75rem;
3642
- font-weight: 500;
3643
- line-height: 1.35;
3662
+ .slex-input-error {
3663
+ color: var(--destructive);
3664
+ font-size: 0.75rem;
3665
+ font-weight: 500;
3666
+ line-height: 1.35;
3667
+ }
3668
+
3669
+ /* components/select.css */
3670
+
3671
+ .slex-select {
3672
+ position: relative;
3673
+ display: flex;
3674
+ width: 100%;
3675
+ min-width: 0;
3676
+ flex-direction: column;
3677
+ gap: 0.5rem;
3678
+ }
3679
+
3680
+ .slex-select-label {
3681
+ display: inline-flex;
3682
+ align-items: center;
3683
+ gap: 0.375rem;
3684
+ min-width: 0;
3685
+ color: var(--foreground);
3686
+ font-size: 0.875rem;
3687
+ font-weight: 500;
3688
+ line-height: 1;
3689
+ }
3690
+
3691
+ .slex-select-control {
3692
+ width: 100%;
3693
+ min-width: 0;
3694
+ }
3695
+
3696
+ .slex-select .slex-select-trigger {
3697
+ box-sizing: border-box;
3698
+ display: flex;
3699
+ align-items: center;
3700
+ justify-content: space-between;
3701
+ gap: 0.75rem;
3702
+ width: 100%;
3703
+ min-width: 0;
3704
+ min-height: 2.5rem;
3705
+ margin: 0;
3706
+ padding: 0.5rem 1rem;
3707
+ border: 1px solid var(--input);
3708
+ border-radius: var(--radius);
3709
+ background: var(--background);
3710
+ color: var(--foreground);
3711
+ font: inherit;
3712
+ font-size: 0.875rem;
3713
+ line-height: 1.25rem;
3714
+ outline: none;
3715
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 8%, transparent);
3716
+ cursor: pointer;
3717
+ transition:
3718
+ border-color 150ms ease,
3719
+ background-color 150ms ease,
3720
+ box-shadow 150ms ease,
3721
+ color 150ms ease;
3722
+ appearance: none;
3723
+ text-align: left;
3724
+ }
3725
+
3726
+ .slex-select .slex-select-trigger:hover:not(:disabled) {
3727
+ background: color-mix(in oklab, var(--accent) 34%, var(--background));
3644
3728
  }
3645
3729
 
3646
- /* components/select.css */
3730
+ .slex-select .slex-select-trigger:focus-visible {
3731
+ border-color: var(--ring);
3732
+ box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 20%, transparent);
3733
+ }
3734
+
3735
+ .slex-select .slex-select-trigger:disabled {
3736
+ cursor: not-allowed;
3737
+ opacity: 0.5;
3738
+ }
3647
3739
 
3648
- .slex-select {
3649
- position: relative;
3650
- display: flex;
3651
- width: 100%;
3652
- min-width: 0;
3653
- flex-direction: column;
3654
- gap: 0.5rem;
3655
- }
3656
-
3657
- .slex-select-label {
3658
- display: inline-flex;
3659
- align-items: center;
3660
- gap: 0.375rem;
3661
- min-width: 0;
3662
- color: var(--foreground);
3663
- font-size: 0.875rem;
3664
- font-weight: 500;
3665
- line-height: 1;
3666
- }
3667
-
3668
- .slex-select-control {
3669
- width: 100%;
3670
- min-width: 0;
3671
- }
3672
-
3673
- .slex-select .slex-select-trigger {
3674
- box-sizing: border-box;
3675
- display: flex;
3676
- align-items: center;
3677
- justify-content: space-between;
3678
- gap: 0.75rem;
3679
- width: 100%;
3680
- min-width: 0;
3681
- min-height: 2.5rem;
3682
- margin: 0;
3683
- padding: 0.5rem 1rem;
3684
- border: 1px solid var(--input);
3685
- border-radius: var(--radius);
3686
- background: var(--background);
3687
- color: var(--foreground);
3688
- font: inherit;
3689
- font-size: 0.875rem;
3690
- line-height: 1.25rem;
3691
- outline: none;
3692
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 8%, transparent);
3693
- cursor: pointer;
3694
- transition:
3695
- border-color 150ms ease,
3696
- background-color 150ms ease,
3697
- box-shadow 150ms ease,
3698
- color 150ms ease;
3699
- appearance: none;
3700
- text-align: left;
3701
- }
3702
-
3703
- .slex-select .slex-select-trigger:hover:not(:disabled) {
3704
- background: color-mix(in oklab, var(--accent) 34%, var(--background));
3705
- }
3706
-
3707
- .slex-select .slex-select-trigger:focus-visible {
3708
- border-color: var(--ring);
3709
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 20%, transparent);
3710
- }
3711
-
3712
- .slex-select .slex-select-trigger:disabled {
3713
- cursor: not-allowed;
3714
- opacity: 0.5;
3715
- }
3716
-
3717
3740
  .slex-select-value {
3718
3741
  display: inline-flex;
3719
3742
  align-items: center;
3720
3743
  gap: 0.375rem;
3721
3744
  min-width: 0;
3722
3745
  overflow: hidden;
3723
- text-overflow: ellipsis;
3724
- white-space: nowrap;
3725
- }
3726
-
3727
- .slex-select-value[data-placeholder] {
3728
- color: var(--muted-foreground);
3729
- }
3730
-
3731
- .slex-select-icon {
3732
- position: relative;
3733
- flex: 0 0 auto;
3734
- width: 0.75rem;
3735
- height: 0.75rem;
3736
- opacity: 0.72;
3737
- }
3738
-
3739
- .slex-select-icon::before {
3740
- position: absolute;
3741
- top: 0.2rem;
3742
- left: 0.125rem;
3743
- width: 0.45rem;
3744
- height: 0.45rem;
3745
- border-right: 1.5px solid currentColor;
3746
- border-bottom: 1.5px solid currentColor;
3747
- content: "";
3748
- transform: rotate(45deg);
3749
- }
3750
-
3751
- .slex-select-native {
3752
- position: absolute;
3753
- width: 1px;
3754
- height: 1px;
3755
- margin: -1px;
3756
- padding: 0;
3757
- border: 0;
3758
- overflow: hidden;
3759
- clip: rect(0 0 0 0);
3760
- clip-path: inset(50%);
3761
- white-space: nowrap;
3762
- }
3763
-
3764
- .slex-select-menu {
3765
- position: absolute;
3766
- z-index: 40;
3767
- top: calc(100% + 0.375rem);
3768
- left: 0;
3769
- right: 0;
3770
- width: 100%;
3771
- max-height: 14rem;
3772
- margin: 0;
3773
- padding: 0.25rem;
3774
- overflow-y: auto;
3746
+ text-overflow: ellipsis;
3747
+ white-space: nowrap;
3748
+ }
3749
+
3750
+ .slex-select-value[data-placeholder] {
3751
+ color: var(--muted-foreground);
3752
+ }
3753
+
3754
+ .slex-select-icon {
3755
+ position: relative;
3756
+ flex: 0 0 auto;
3757
+ width: 0.75rem;
3758
+ height: 0.75rem;
3759
+ opacity: 0.72;
3760
+ }
3761
+
3762
+ .slex-select-icon::before {
3763
+ position: absolute;
3764
+ top: 0.2rem;
3765
+ left: 0.125rem;
3766
+ width: 0.45rem;
3767
+ height: 0.45rem;
3768
+ border-right: 1.5px solid currentColor;
3769
+ border-bottom: 1.5px solid currentColor;
3770
+ content: "";
3771
+ transform: rotate(45deg);
3772
+ }
3773
+
3774
+ .slex-select-native {
3775
+ position: absolute;
3776
+ width: 1px;
3777
+ height: 1px;
3778
+ margin: -1px;
3779
+ padding: 0;
3780
+ border: 0;
3781
+ overflow: hidden;
3782
+ clip: rect(0 0 0 0);
3783
+ clip-path: inset(50%);
3784
+ white-space: nowrap;
3785
+ }
3786
+
3787
+ .slex-select-menu {
3788
+ position: absolute;
3789
+ z-index: 40;
3790
+ top: calc(100% + 0.375rem);
3791
+ left: 0;
3792
+ right: 0;
3793
+ width: 100%;
3794
+ max-height: 14rem;
3795
+ margin: 0;
3796
+ padding: 0.25rem;
3797
+ overflow-y: auto;
3775
3798
  border: 1px solid color-mix(in oklab, var(--border) 82%, transparent);
3776
3799
  border-radius: var(--radius);
3777
3800
  background: var(--popover, var(--background));
@@ -3783,23 +3806,23 @@ body[data-mobile-nav-open] {
3783
3806
  );
3784
3807
  list-style: none;
3785
3808
  }
3786
-
3787
- .slexkit-root .slex-select-menu {
3788
- margin: 0;
3789
- padding: 0.25rem;
3790
- list-style: none;
3791
- }
3792
-
3809
+
3810
+ .slexkit-root .slex-select-menu {
3811
+ margin: 0;
3812
+ padding: 0.25rem;
3813
+ list-style: none;
3814
+ }
3815
+
3793
3816
  .slexkit-root .slex-select-menu li {
3794
3817
  margin: 0;
3795
3818
  list-style: none;
3796
3819
  }
3797
-
3798
- .slex-select-option {
3799
- display: flex;
3800
- align-items: center;
3801
- justify-content: space-between;
3802
- gap: 0.75rem;
3820
+
3821
+ .slex-select-option {
3822
+ display: flex;
3823
+ align-items: center;
3824
+ justify-content: space-between;
3825
+ gap: 0.75rem;
3803
3826
  min-height: 2rem;
3804
3827
  padding: 0.5rem 0.75rem;
3805
3828
  border-radius: calc(var(--radius) - 2px);
@@ -3807,9 +3830,9 @@ body[data-mobile-nav-open] {
3807
3830
  font-size: 0.875rem;
3808
3831
  line-height: 1.25rem;
3809
3832
  cursor: pointer;
3810
- user-select: none;
3811
- }
3812
-
3833
+ user-select: none;
3834
+ }
3835
+
3813
3836
  .slex-select-option:hover:not([data-disabled]),
3814
3837
  .slex-select-option--active:not([data-disabled]) {
3815
3838
  background: var(--accent);
@@ -3820,27 +3843,27 @@ body[data-mobile-nav-open] {
3820
3843
  background: transparent;
3821
3844
  color: var(--popover-foreground, var(--foreground));
3822
3845
  }
3823
-
3824
- .slex-select-option--selected {
3825
- font-weight: 500;
3826
- }
3827
-
3828
- .slex-select-option[data-disabled] {
3829
- color: var(--muted-foreground);
3830
- cursor: not-allowed;
3831
- opacity: 0.52;
3832
- }
3833
-
3846
+
3847
+ .slex-select-option--selected {
3848
+ font-weight: 500;
3849
+ }
3850
+
3851
+ .slex-select-option[data-disabled] {
3852
+ color: var(--muted-foreground);
3853
+ cursor: not-allowed;
3854
+ opacity: 0.52;
3855
+ }
3856
+
3834
3857
  .slex-select-option-label {
3835
3858
  display: inline-flex;
3836
3859
  align-items: center;
3837
3860
  gap: 0.375rem;
3838
3861
  min-width: 0;
3839
- overflow: hidden;
3840
- text-overflow: ellipsis;
3841
- white-space: nowrap;
3842
- }
3843
-
3862
+ overflow: hidden;
3863
+ text-overflow: ellipsis;
3864
+ white-space: nowrap;
3865
+ }
3866
+
3844
3867
  .slex-select-check {
3845
3868
  position: relative;
3846
3869
  flex: 0 0 auto;
@@ -3860,35 +3883,35 @@ body[data-mobile-nav-open] {
3860
3883
  content: "";
3861
3884
  transform: rotate(-45deg);
3862
3885
  }
3863
-
3864
- .slex-select[data-variant="toolbar"] {
3865
- height: 100%;
3866
- gap: 0;
3867
- }
3868
-
3869
- .slex-select[data-variant="toolbar"] .slex-select-trigger {
3870
- height: var(--slex-control-height, 2.25rem);
3871
- min-height: 0;
3872
- border-width: 0 1px 0 0;
3873
- border-color: color-mix(in oklab, var(--border) 58%, transparent);
3874
- border-radius: 0;
3875
- background: transparent;
3876
- padding: 0 0.75rem 0 0.875rem;
3877
- font-size: 0.8125rem;
3878
- line-height: 1;
3879
- box-shadow: none;
3880
- }
3881
-
3882
- .slex-select[data-variant="toolbar"] .slex-select-trigger:hover:not(:disabled) {
3883
- background: color-mix(in oklab, var(--muted) 36%, var(--background));
3884
- }
3885
-
3886
- .slex-select[data-variant="toolbar"] .slex-select-menu {
3887
- top: calc(100% + 0.25rem);
3888
- left: 0;
3889
- right: auto;
3890
- width: 100%;
3891
- min-width: 100%;
3886
+
3887
+ .slex-select[data-variant="toolbar"] {
3888
+ height: 100%;
3889
+ gap: 0;
3890
+ }
3891
+
3892
+ .slex-select[data-variant="toolbar"] .slex-select-trigger {
3893
+ height: var(--slex-control-height, 2.25rem);
3894
+ min-height: 0;
3895
+ border-width: 0 1px 0 0;
3896
+ border-color: color-mix(in oklab, var(--border) 58%, transparent);
3897
+ border-radius: 0;
3898
+ background: transparent;
3899
+ padding: 0 0.75rem 0 0.875rem;
3900
+ font-size: 0.8125rem;
3901
+ line-height: 1;
3902
+ box-shadow: none;
3903
+ }
3904
+
3905
+ .slex-select[data-variant="toolbar"] .slex-select-trigger:hover:not(:disabled) {
3906
+ background: color-mix(in oklab, var(--muted) 36%, var(--background));
3907
+ }
3908
+
3909
+ .slex-select[data-variant="toolbar"] .slex-select-menu {
3910
+ top: calc(100% + 0.25rem);
3911
+ left: 0;
3912
+ right: auto;
3913
+ width: 100%;
3914
+ min-width: 100%;
3892
3915
  border-color: color-mix(in oklab, var(--border) 76%, transparent);
3893
3916
  border-radius: calc(var(--radius) - 2px);
3894
3917
  padding: 0.25rem;
@@ -3898,9 +3921,9 @@ body[data-mobile-nav-open] {
3898
3921
  0 1px 3px rgb(0 0 0 / 0.06)
3899
3922
  );
3900
3923
  }
3901
-
3902
- .slex-select[data-variant="toolbar"] .slex-select-option {
3903
- height: 1.875rem;
3924
+
3925
+ .slex-select[data-variant="toolbar"] .slex-select-option {
3926
+ height: 1.875rem;
3904
3927
  border-radius: calc(var(--radius) - 4px);
3905
3928
  font-size: 0.8125rem;
3906
3929
  padding-inline: 0.75rem;
@@ -3908,46 +3931,46 @@ body[data-mobile-nav-open] {
3908
3931
 
3909
3932
  /* components/tabs.css */
3910
3933
 
3911
- .slex-tabs {
3912
- display: flex;
3913
- flex-direction: column;
3914
- width: 100%;
3915
- }
3916
-
3917
- .slex-tabs[data-orientation="vertical"] {
3918
- flex-direction: row;
3919
- }
3920
-
3934
+ .slex-tabs {
3935
+ display: flex;
3936
+ flex-direction: column;
3937
+ width: 100%;
3938
+ }
3939
+
3940
+ .slex-tabs[data-orientation="vertical"] {
3941
+ flex-direction: row;
3942
+ }
3943
+
3921
3944
  .slex-tabs-list {
3922
3945
  --slex-tabs-indicator-inline-inset: 12px;
3923
3946
  --slex-tabs-indicator-block-inset: 8px;
3924
3947
  position: relative;
3925
3948
  display: flex;
3926
- gap: 0;
3927
- margin: 0;
3928
- padding: 0;
3929
- list-style: none;
3930
- overflow: hidden;
3931
- border-bottom: 1px solid var(--border);
3932
- }
3933
-
3934
- .slexkit-root .slex-tabs-list {
3935
- display: flex;
3936
- gap: 0;
3937
- margin: 0;
3938
- padding: 0;
3939
- list-style: none;
3940
- }
3941
-
3942
- .slexkit-root .slex-tabs-list li {
3943
- margin: 0;
3944
- padding: 0;
3945
- color: inherit;
3946
- font: inherit;
3947
- line-height: inherit;
3948
- list-style: none;
3949
- }
3950
-
3949
+ gap: 0;
3950
+ margin: 0;
3951
+ padding: 0;
3952
+ list-style: none;
3953
+ overflow: hidden;
3954
+ border-bottom: 1px solid var(--border);
3955
+ }
3956
+
3957
+ .slexkit-root .slex-tabs-list {
3958
+ display: flex;
3959
+ gap: 0;
3960
+ margin: 0;
3961
+ padding: 0;
3962
+ list-style: none;
3963
+ }
3964
+
3965
+ .slexkit-root .slex-tabs-list li {
3966
+ margin: 0;
3967
+ padding: 0;
3968
+ color: inherit;
3969
+ font: inherit;
3970
+ line-height: inherit;
3971
+ list-style: none;
3972
+ }
3973
+
3951
3974
  .slex-tabs-selected-indicator {
3952
3975
  position: absolute;
3953
3976
  z-index: 20;
@@ -3973,25 +3996,25 @@ body[data-mobile-nav-open] {
3973
3996
  .slex-tabs[data-orientation="vertical"] .slex-tabs-list {
3974
3997
  flex-direction: column;
3975
3998
  border-right: 1px solid var(--border);
3976
- border-bottom: none;
3977
- }
3978
-
3979
- .slex-tabs-trigger {
3980
- position: relative;
3981
- padding: 0.5rem 1rem;
3982
- border: none;
3983
- border-radius: 0;
3984
- background: transparent;
3985
- color: var(--muted-foreground);
3986
- font-family: inherit;
3987
- font-size: 0.875rem;
3988
- font-weight: 500;
3989
- white-space: nowrap;
3999
+ border-bottom: none;
4000
+ }
4001
+
4002
+ .slex-tabs-trigger {
4003
+ position: relative;
4004
+ padding: 0.5rem 1rem;
4005
+ border: none;
4006
+ border-radius: 0;
4007
+ background: transparent;
4008
+ color: var(--muted-foreground);
4009
+ font-family: inherit;
4010
+ font-size: 0.875rem;
4011
+ font-weight: 500;
4012
+ white-space: nowrap;
3990
4013
  cursor: pointer;
3991
4014
  outline: none;
3992
4015
  user-select: none;
3993
4016
  }
3994
-
4017
+
3995
4018
  .slex-tabs-trigger--icon {
3996
4019
  display: inline-grid;
3997
4020
  width: var(--slex-control-height, 2.25rem);
@@ -4033,17 +4056,17 @@ body[data-mobile-nav-open] {
4033
4056
  .slex-tabs-trigger.slex-tabs-trigger--selected:hover:not([data-disabled]) {
4034
4057
  color: var(--primary);
4035
4058
  }
4036
-
4037
- .slex-tabs-trigger[data-disabled] {
4038
- opacity: 0.4;
4039
- cursor: not-allowed;
4040
- }
4041
-
4042
- .slex-tabs-trigger:focus-visible {
4043
- outline: 2px solid var(--ring);
4044
- outline-offset: -2px;
4045
- }
4046
-
4059
+
4060
+ .slex-tabs-trigger[data-disabled] {
4061
+ opacity: 0.4;
4062
+ cursor: not-allowed;
4063
+ }
4064
+
4065
+ .slex-tabs-trigger:focus-visible {
4066
+ outline: 2px solid var(--ring);
4067
+ outline-offset: -2px;
4068
+ }
4069
+
4047
4070
  .slex-tabs-content {
4048
4071
  margin-top: 0.75rem !important;
4049
4072
  border-radius: 0 !important;
@@ -4065,56 +4088,56 @@ body[data-mobile-nav-open] {
4065
4088
  }
4066
4089
 
4067
4090
  @keyframes slex-tabs-content-in {
4068
- from {
4069
- opacity: 0;
4070
- transform: translateY(2px);
4071
- }
4072
- to {
4073
- opacity: 1;
4074
- transform: translateY(0);
4075
- }
4076
- }
4077
-
4078
- .slex-tabs-content[hidden] {
4079
- display: none;
4080
- }
4081
-
4082
- @media (max-width: 640px) {
4083
- .slex-tabs-list {
4084
- overflow-x: auto;
4085
- scrollbar-width: none;
4086
- }
4087
-
4088
- .slex-tabs-list::-webkit-scrollbar {
4089
- display: none;
4090
- }
4091
-
4092
- .slex-tabs[data-orientation="vertical"] {
4093
- flex-direction: column;
4094
- }
4095
-
4096
- .slex-tabs[data-orientation="vertical"] .slex-tabs-list {
4097
- flex-direction: row;
4098
- border-right: 0;
4099
- border-bottom: 1px solid var(--border);
4100
- }
4101
-
4091
+ from {
4092
+ opacity: 0;
4093
+ transform: translateY(2px);
4094
+ }
4095
+ to {
4096
+ opacity: 1;
4097
+ transform: translateY(0);
4098
+ }
4099
+ }
4100
+
4101
+ .slex-tabs-content[hidden] {
4102
+ display: none;
4103
+ }
4104
+
4105
+ @media (max-width: 640px) {
4106
+ .slex-tabs-list {
4107
+ overflow-x: auto;
4108
+ scrollbar-width: none;
4109
+ }
4110
+
4111
+ .slex-tabs-list::-webkit-scrollbar {
4112
+ display: none;
4113
+ }
4114
+
4115
+ .slex-tabs[data-orientation="vertical"] {
4116
+ flex-direction: column;
4117
+ }
4118
+
4119
+ .slex-tabs[data-orientation="vertical"] .slex-tabs-list {
4120
+ flex-direction: row;
4121
+ border-right: 0;
4122
+ border-bottom: 1px solid var(--border);
4123
+ }
4124
+
4102
4125
  }
4103
4126
 
4104
4127
  /* components/choice.css */
4105
4128
 
4106
- .slex-checkbox-field,
4107
- .slex-radio-field {
4108
- display: inline-flex;
4109
- align-items: center;
4110
- gap: 0.5rem;
4111
- color: var(--foreground);
4112
- font-size: 0.875rem;
4113
- cursor: pointer;
4114
- user-select: none;
4115
- transition: color 150ms ease, opacity 150ms ease;
4116
- }
4117
-
4129
+ .slex-checkbox-field,
4130
+ .slex-radio-field {
4131
+ display: inline-flex;
4132
+ align-items: center;
4133
+ gap: 0.5rem;
4134
+ color: var(--foreground);
4135
+ font-size: 0.875rem;
4136
+ cursor: pointer;
4137
+ user-select: none;
4138
+ transition: color 150ms ease, opacity 150ms ease;
4139
+ }
4140
+
4118
4141
  .slex-checkbox-label,
4119
4142
  .slex-radio-label {
4120
4143
  display: inline-flex;
@@ -4122,151 +4145,151 @@ body[data-mobile-nav-open] {
4122
4145
  gap: 0.375rem;
4123
4146
  min-width: 0;
4124
4147
  color: var(--foreground);
4125
- line-height: 1.35;
4126
- transition: color 150ms ease;
4127
- }
4128
-
4129
- .slex-checkbox,
4130
- .slex-radio {
4131
- box-sizing: border-box;
4132
- position: relative;
4133
- display: inline-grid;
4134
- place-items: center;
4135
- flex: 0 0 auto;
4136
- width: 1rem;
4137
- height: 1rem;
4138
- margin: 0;
4139
- border: 1.5px solid var(--input);
4140
- color: var(--primary);
4141
- accent-color: var(--primary);
4142
- background: var(--background);
4143
- cursor: pointer;
4144
- appearance: none;
4145
- -webkit-appearance: none;
4146
- transition:
4147
- background-color 150ms ease,
4148
- border-color 150ms ease,
4149
- box-shadow 150ms ease,
4150
- transform 120ms ease;
4151
- }
4152
-
4153
- .slex-checkbox {
4154
- border-radius: calc(var(--radius) - 4px);
4155
- }
4156
-
4157
- .slex-radio {
4158
- border-radius: 999px;
4159
- }
4160
-
4161
- .slex-checkbox::after,
4162
- .slex-radio::after {
4163
- content: "";
4164
- display: block;
4165
- opacity: 0;
4166
- transform: scale(0.5);
4167
- transition: opacity 120ms ease, transform 140ms ease;
4168
- }
4169
-
4170
- .slex-checkbox::after {
4171
- width: 0.55rem;
4172
- height: 0.34rem;
4173
- border: solid var(--primary-foreground);
4174
- border-width: 0 0 2px 2px;
4175
- transform: translateY(-0.08rem) rotate(-45deg) scale(0.5);
4176
- }
4177
-
4178
- .slex-radio::after {
4179
- width: 0.45rem;
4180
- height: 0.45rem;
4181
- border-radius: 999px;
4182
- background: var(--primary-foreground);
4183
- }
4184
-
4185
- .slex-checkbox-field:hover .slex-checkbox:not(:disabled),
4186
- .slex-radio-field:hover .slex-radio:not(:disabled) {
4187
- border-color: color-mix(in oklab, var(--primary) 48%, var(--input));
4188
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
4189
- }
4190
-
4191
- .slex-checkbox-field:active .slex-checkbox:not(:disabled),
4192
- .slex-radio-field:active .slex-radio:not(:disabled) {
4193
- transform: scale(0.92);
4194
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
4195
- }
4196
-
4197
- .slex-checkbox:checked,
4198
- .slex-radio:checked {
4199
- border-color: var(--primary);
4200
- background: var(--primary);
4201
- }
4202
-
4203
- .slex-checkbox:checked::after,
4204
- .slex-radio:checked::after {
4205
- opacity: 1;
4206
- }
4207
-
4208
- .slex-checkbox:checked::after {
4209
- transform: translateY(-0.08rem) rotate(-45deg) scale(1);
4210
- }
4211
-
4212
- .slex-radio:checked::after {
4213
- transform: scale(1);
4214
- }
4215
-
4216
- .slex-checkbox-field:hover .slex-checkbox-label,
4217
- .slex-radio-field:hover .slex-radio-label {
4218
- color: var(--foreground);
4219
- }
4220
-
4221
- .slex-checkbox:focus-visible,
4222
- .slex-radio:focus-visible {
4223
- outline: 2px solid var(--ring);
4224
- outline-offset: 2px;
4225
- }
4226
-
4227
- .slex-radio-group {
4228
- display: flex;
4229
- flex-direction: column;
4230
- gap: 0.625rem;
4231
- }
4232
-
4148
+ line-height: 1.35;
4149
+ transition: color 150ms ease;
4150
+ }
4151
+
4152
+ .slex-checkbox,
4153
+ .slex-radio {
4154
+ box-sizing: border-box;
4155
+ position: relative;
4156
+ display: inline-grid;
4157
+ place-items: center;
4158
+ flex: 0 0 auto;
4159
+ width: 1rem;
4160
+ height: 1rem;
4161
+ margin: 0;
4162
+ border: 1.5px solid var(--input);
4163
+ color: var(--primary);
4164
+ accent-color: var(--primary);
4165
+ background: var(--background);
4166
+ cursor: pointer;
4167
+ appearance: none;
4168
+ -webkit-appearance: none;
4169
+ transition:
4170
+ background-color 150ms ease,
4171
+ border-color 150ms ease,
4172
+ box-shadow 150ms ease,
4173
+ transform 120ms ease;
4174
+ }
4175
+
4176
+ .slex-checkbox {
4177
+ border-radius: calc(var(--radius) - 4px);
4178
+ }
4179
+
4180
+ .slex-radio {
4181
+ border-radius: 999px;
4182
+ }
4183
+
4184
+ .slex-checkbox::after,
4185
+ .slex-radio::after {
4186
+ content: "";
4187
+ display: block;
4188
+ opacity: 0;
4189
+ transform: scale(0.5);
4190
+ transition: opacity 120ms ease, transform 140ms ease;
4191
+ }
4192
+
4193
+ .slex-checkbox::after {
4194
+ width: 0.55rem;
4195
+ height: 0.34rem;
4196
+ border: solid var(--primary-foreground);
4197
+ border-width: 0 0 2px 2px;
4198
+ transform: translateY(-0.08rem) rotate(-45deg) scale(0.5);
4199
+ }
4200
+
4201
+ .slex-radio::after {
4202
+ width: 0.45rem;
4203
+ height: 0.45rem;
4204
+ border-radius: 999px;
4205
+ background: var(--primary-foreground);
4206
+ }
4207
+
4208
+ .slex-checkbox-field:hover .slex-checkbox:not(:disabled),
4209
+ .slex-radio-field:hover .slex-radio:not(:disabled) {
4210
+ border-color: color-mix(in oklab, var(--primary) 48%, var(--input));
4211
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
4212
+ }
4213
+
4214
+ .slex-checkbox-field:active .slex-checkbox:not(:disabled),
4215
+ .slex-radio-field:active .slex-radio:not(:disabled) {
4216
+ transform: scale(0.92);
4217
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
4218
+ }
4219
+
4220
+ .slex-checkbox:checked,
4221
+ .slex-radio:checked {
4222
+ border-color: var(--primary);
4223
+ background: var(--primary);
4224
+ }
4225
+
4226
+ .slex-checkbox:checked::after,
4227
+ .slex-radio:checked::after {
4228
+ opacity: 1;
4229
+ }
4230
+
4231
+ .slex-checkbox:checked::after {
4232
+ transform: translateY(-0.08rem) rotate(-45deg) scale(1);
4233
+ }
4234
+
4235
+ .slex-radio:checked::after {
4236
+ transform: scale(1);
4237
+ }
4238
+
4239
+ .slex-checkbox-field:hover .slex-checkbox-label,
4240
+ .slex-radio-field:hover .slex-radio-label {
4241
+ color: var(--foreground);
4242
+ }
4243
+
4244
+ .slex-checkbox:focus-visible,
4245
+ .slex-radio:focus-visible {
4246
+ outline: 2px solid var(--ring);
4247
+ outline-offset: 2px;
4248
+ }
4249
+
4250
+ .slex-radio-group {
4251
+ display: flex;
4252
+ flex-direction: column;
4253
+ gap: 0.625rem;
4254
+ }
4255
+
4233
4256
  .slex-radio-group-label {
4234
4257
  display: inline-flex;
4235
4258
  align-items: center;
4236
4259
  gap: 0.375rem;
4237
4260
  min-width: 0;
4238
4261
  color: var(--foreground);
4239
- font-size: 0.875rem;
4240
- font-weight: 500;
4241
- }
4242
-
4243
- .slex-radio-group-list {
4244
- display: flex;
4245
- flex-direction: column;
4246
- gap: 0.5rem;
4247
- }
4248
-
4249
- .slex-radio-group[data-orientation="horizontal"] .slex-radio-group-list {
4250
- flex-direction: row;
4251
- flex-wrap: wrap;
4252
- }
4253
-
4254
- .slex-checkbox:disabled,
4255
- .slex-radio:disabled {
4256
- cursor: not-allowed;
4257
- opacity: 0.5;
4258
- box-shadow: none;
4259
- transform: none;
4260
- }
4261
-
4262
- .slex-checkbox-field:has(.slex-checkbox:disabled),
4263
- .slex-radio-field:has(.slex-radio:disabled) {
4264
- cursor: not-allowed;
4265
- opacity: 0.65;
4266
- }
4267
-
4268
- .slex-radio-indicator {
4269
- display: none;
4262
+ font-size: 0.875rem;
4263
+ font-weight: 500;
4264
+ }
4265
+
4266
+ .slex-radio-group-list {
4267
+ display: flex;
4268
+ flex-direction: column;
4269
+ gap: 0.5rem;
4270
+ }
4271
+
4272
+ .slex-radio-group[data-orientation="horizontal"] .slex-radio-group-list {
4273
+ flex-direction: row;
4274
+ flex-wrap: wrap;
4275
+ }
4276
+
4277
+ .slex-checkbox:disabled,
4278
+ .slex-radio:disabled {
4279
+ cursor: not-allowed;
4280
+ opacity: 0.5;
4281
+ box-shadow: none;
4282
+ transform: none;
4283
+ }
4284
+
4285
+ .slex-checkbox-field:has(.slex-checkbox:disabled),
4286
+ .slex-radio-field:has(.slex-radio:disabled) {
4287
+ cursor: not-allowed;
4288
+ opacity: 0.65;
4289
+ }
4290
+
4291
+ .slex-radio-indicator {
4292
+ display: none;
4270
4293
  }
4271
4294
 
4272
4295
  /* disclosure.css */