@metropolle/design-system 1.2025.1-2.14.2035 → 1.2025.1-2.29.1129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/components.css +366 -0
- package/dist/react/components/react/Select/Select.d.ts +61 -10
- package/dist/react/components/react/Select/Select.d.ts.map +1 -1
- package/dist/react/components/react/index.d.ts +1 -1
- package/dist/react/components/react/index.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.esm.js +235 -16
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/index.js +234 -15
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/css/components.css
CHANGED
|
@@ -1036,6 +1036,372 @@ html body div.mds-dropdown select.mds-select-themed {
|
|
|
1036
1036
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239CA3AF' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
|
|
1037
1037
|
}
|
|
1038
1038
|
|
|
1039
|
+
/* Select dropdown option styles for .mds-input - fixes Edge/Windows dropdown visibility */
|
|
1040
|
+
select.mds-input {
|
|
1041
|
+
-webkit-appearance: none;
|
|
1042
|
+
-moz-appearance: none;
|
|
1043
|
+
appearance: none;
|
|
1044
|
+
color-scheme: dark; /* Forces OS to render dropdown with dark theme on Edge/Chrome Windows */
|
|
1045
|
+
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23374151' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
|
|
1046
|
+
background-position: right var(--mds-spacing-md) center;
|
|
1047
|
+
background-repeat: no-repeat;
|
|
1048
|
+
background-size: 16px;
|
|
1049
|
+
padding-right: calc(var(--mds-spacing-md) + 24px);
|
|
1050
|
+
cursor: pointer;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
select.mds-input:disabled {
|
|
1054
|
+
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239CA3AF' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
|
|
1055
|
+
cursor: not-allowed;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
select.mds-input option {
|
|
1059
|
+
background-color: var(--mds-dashboard-control-option-bg) !important;
|
|
1060
|
+
color: var(--mds-dashboard-control-option-color) !important;
|
|
1061
|
+
padding: var(--mds-spacing-xs) var(--mds-spacing-sm) !important;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
select.mds-input option:hover,
|
|
1065
|
+
select.mds-input option:focus,
|
|
1066
|
+
select.mds-input option:checked {
|
|
1067
|
+
background-color: var(--mds-dashboard-control-option-bg-hover) !important;
|
|
1068
|
+
color: var(--mds-dashboard-control-option-color-hover) !important;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
/* Light theme override for select.mds-input */
|
|
1072
|
+
html[data-theme="light"] select.mds-input {
|
|
1073
|
+
color-scheme: light;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
/* ============================================
|
|
1077
|
+
Custom Select Component (JavaScript-rendered dropdown)
|
|
1078
|
+
Cross-browser compatible - works on Edge/Chrome Windows
|
|
1079
|
+
============================================ */
|
|
1080
|
+
|
|
1081
|
+
/* Select Trigger Button */
|
|
1082
|
+
.mds-select-trigger {
|
|
1083
|
+
display: inline-flex;
|
|
1084
|
+
align-items: center;
|
|
1085
|
+
justify-content: space-between;
|
|
1086
|
+
gap: 8px;
|
|
1087
|
+
width: 100%;
|
|
1088
|
+
min-width: 0;
|
|
1089
|
+
max-width: 100%;
|
|
1090
|
+
box-sizing: border-box;
|
|
1091
|
+
padding: 10px 12px;
|
|
1092
|
+
font-family: var(--mds-typography-fontFamily-brand, system-ui, sans-serif);
|
|
1093
|
+
font-size: 0.95rem;
|
|
1094
|
+
line-height: 1.5;
|
|
1095
|
+
color: var(--mds-color-text-primary, #ffffff);
|
|
1096
|
+
background-color: rgba(255, 255, 255, 0.08);
|
|
1097
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
1098
|
+
border-radius: 8px;
|
|
1099
|
+
cursor: pointer;
|
|
1100
|
+
transition: all 0.2s ease;
|
|
1101
|
+
text-align: left;
|
|
1102
|
+
outline: none;
|
|
1103
|
+
overflow: hidden;
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
.mds-select-trigger:hover:not(:disabled) {
|
|
1107
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
1108
|
+
border-color: rgba(255, 255, 255, 0.25);
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
.mds-select-trigger:focus:not(:disabled) {
|
|
1112
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
1113
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
.mds-select-trigger--open {
|
|
1117
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
1118
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
.mds-select-trigger--disabled {
|
|
1122
|
+
opacity: 0.5;
|
|
1123
|
+
cursor: not-allowed;
|
|
1124
|
+
background-color: rgba(255, 255, 255, 0.04);
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
.mds-select-trigger--loading {
|
|
1128
|
+
cursor: wait;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
.mds-select-trigger--error {
|
|
1132
|
+
border-color: var(--mds-color-error, #ef4444);
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
.mds-select-trigger--error:focus {
|
|
1136
|
+
box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25);
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
.mds-select-trigger--full-width {
|
|
1140
|
+
width: 100%;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
/* Select Trigger Value */
|
|
1144
|
+
.mds-select-trigger__value {
|
|
1145
|
+
flex: 1;
|
|
1146
|
+
overflow: hidden;
|
|
1147
|
+
text-overflow: ellipsis;
|
|
1148
|
+
white-space: nowrap;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
.mds-select-trigger__placeholder {
|
|
1152
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
/* Select Trigger Icon */
|
|
1156
|
+
.mds-select-trigger__icon {
|
|
1157
|
+
display: flex;
|
|
1158
|
+
align-items: center;
|
|
1159
|
+
justify-content: center;
|
|
1160
|
+
flex-shrink: 0;
|
|
1161
|
+
width: 20px;
|
|
1162
|
+
height: 20px;
|
|
1163
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1164
|
+
transition: transform 0.2s ease;
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
.mds-select-trigger--open .mds-select-trigger__icon {
|
|
1168
|
+
transform: rotate(180deg);
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
.mds-select-chevron {
|
|
1172
|
+
width: 16px;
|
|
1173
|
+
height: 16px;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
.mds-select-spinner {
|
|
1177
|
+
width: 16px;
|
|
1178
|
+
height: 16px;
|
|
1179
|
+
animation: mds-select-spin 1s linear infinite;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
@keyframes mds-select-spin {
|
|
1183
|
+
from { transform: rotate(0deg); }
|
|
1184
|
+
to { transform: rotate(360deg); }
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
/* Select Dropdown */
|
|
1188
|
+
.mds-select-dropdown {
|
|
1189
|
+
background-color: var(--mds-dashboard-control-option-bg, #2a2a2a);
|
|
1190
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
1191
|
+
border-radius: 8px;
|
|
1192
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
1193
|
+
overflow: hidden;
|
|
1194
|
+
animation: mds-select-dropdown-enter 0.15s ease-out;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
@keyframes mds-select-dropdown-enter {
|
|
1198
|
+
from {
|
|
1199
|
+
opacity: 0;
|
|
1200
|
+
transform: translateY(-4px);
|
|
1201
|
+
}
|
|
1202
|
+
to {
|
|
1203
|
+
opacity: 1;
|
|
1204
|
+
transform: translateY(0);
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
/* Select Search */
|
|
1209
|
+
.mds-select-search {
|
|
1210
|
+
position: relative;
|
|
1211
|
+
padding: 8px;
|
|
1212
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
.mds-select-search__input {
|
|
1216
|
+
width: 100%;
|
|
1217
|
+
padding: 8px 12px 8px 36px;
|
|
1218
|
+
font-family: var(--mds-typography-fontFamily-brand, system-ui, sans-serif);
|
|
1219
|
+
font-size: 0.9rem;
|
|
1220
|
+
color: var(--mds-color-text-primary, #ffffff);
|
|
1221
|
+
background-color: rgba(255, 255, 255, 0.08);
|
|
1222
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
1223
|
+
border-radius: 6px;
|
|
1224
|
+
outline: none;
|
|
1225
|
+
transition: all 0.2s ease;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
.mds-select-search__input:focus {
|
|
1229
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
1230
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
.mds-select-search__input::-moz-placeholder {
|
|
1234
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
.mds-select-search__input::placeholder {
|
|
1238
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
.mds-select-search__icon {
|
|
1242
|
+
position: absolute;
|
|
1243
|
+
left: 20px;
|
|
1244
|
+
top: 50%;
|
|
1245
|
+
transform: translateY(-50%);
|
|
1246
|
+
width: 16px;
|
|
1247
|
+
height: 16px;
|
|
1248
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1249
|
+
pointer-events: none;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
/* Select Options List */
|
|
1253
|
+
.mds-select-options {
|
|
1254
|
+
list-style: none;
|
|
1255
|
+
margin: 0;
|
|
1256
|
+
padding: 4px;
|
|
1257
|
+
overflow-y: auto;
|
|
1258
|
+
max-height: inherit;
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
/* Select Option */
|
|
1262
|
+
.mds-select-option {
|
|
1263
|
+
display: flex;
|
|
1264
|
+
align-items: center;
|
|
1265
|
+
justify-content: space-between;
|
|
1266
|
+
gap: 8px;
|
|
1267
|
+
padding: 10px 12px;
|
|
1268
|
+
font-size: 0.95rem;
|
|
1269
|
+
color: var(--mds-dashboard-control-option-color, #ffffff);
|
|
1270
|
+
background-color: transparent;
|
|
1271
|
+
border-radius: 6px;
|
|
1272
|
+
cursor: pointer;
|
|
1273
|
+
transition: background-color 0.15s ease;
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
.mds-select-option:hover,
|
|
1277
|
+
.mds-select-option--highlighted {
|
|
1278
|
+
background-color: var(--mds-dashboard-control-option-bg-hover, #505050);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
.mds-select-option--selected {
|
|
1282
|
+
color: var(--mds-color-primary, #3b82f6);
|
|
1283
|
+
font-weight: 500;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
.mds-select-option--disabled {
|
|
1287
|
+
opacity: 0.5;
|
|
1288
|
+
cursor: not-allowed;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.mds-select-option--disabled:hover {
|
|
1292
|
+
background-color: transparent;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
.mds-select-option--empty {
|
|
1296
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1297
|
+
font-style: italic;
|
|
1298
|
+
cursor: default;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
.mds-select-option--empty:hover {
|
|
1302
|
+
background-color: transparent;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
.mds-select-option__label {
|
|
1306
|
+
flex: 1;
|
|
1307
|
+
overflow: hidden;
|
|
1308
|
+
text-overflow: ellipsis;
|
|
1309
|
+
white-space: nowrap;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
.mds-select-option__check {
|
|
1313
|
+
flex-shrink: 0;
|
|
1314
|
+
width: 16px;
|
|
1315
|
+
height: 16px;
|
|
1316
|
+
color: var(--mds-color-primary, #3b82f6);
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
/* Select Size Variants */
|
|
1320
|
+
.mds-select--sm .mds-select-trigger {
|
|
1321
|
+
padding: 6px 10px;
|
|
1322
|
+
font-size: 0.85rem;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
.mds-select--sm .mds-select-option {
|
|
1326
|
+
padding: 6px 10px;
|
|
1327
|
+
font-size: 0.85rem;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
.mds-select--lg .mds-select-trigger {
|
|
1331
|
+
padding: 14px 16px;
|
|
1332
|
+
font-size: 1.05rem;
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
.mds-select--lg .mds-select-option {
|
|
1336
|
+
padding: 12px 16px;
|
|
1337
|
+
font-size: 1.05rem;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
/* Light Theme Overrides */
|
|
1341
|
+
html[data-theme="light"] .mds-select-trigger {
|
|
1342
|
+
color: var(--mds-color-text-primary, #1a1a1a);
|
|
1343
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
1344
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
html[data-theme="light"] .mds-select-trigger:hover:not(:disabled) {
|
|
1348
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
1349
|
+
border-color: rgba(0, 0, 0, 0.25);
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
html[data-theme="light"] .mds-select-trigger__placeholder {
|
|
1353
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
html[data-theme="light"] .mds-select-trigger__icon {
|
|
1357
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
html[data-theme="light"] .mds-select-dropdown {
|
|
1361
|
+
background-color: var(--mds-dashboard-control-option-bg, #ffffff);
|
|
1362
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1363
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
html[data-theme="light"] .mds-select-search {
|
|
1367
|
+
border-bottom-color: rgba(0, 0, 0, 0.1);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
html[data-theme="light"] .mds-select-search__input {
|
|
1371
|
+
color: var(--mds-color-text-primary, #1a1a1a);
|
|
1372
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
1373
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
html[data-theme="light"] .mds-select-search__input:focus {
|
|
1377
|
+
background-color: rgba(0, 0, 0, 0.02);
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
html[data-theme="light"] .mds-select-search__input::-moz-placeholder {
|
|
1381
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
html[data-theme="light"] .mds-select-search__input::placeholder {
|
|
1385
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
html[data-theme="light"] .mds-select-search__icon {
|
|
1389
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
html[data-theme="light"] .mds-select-option {
|
|
1393
|
+
color: var(--mds-dashboard-control-option-color, #1a1a1a);
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
html[data-theme="light"] .mds-select-option:hover,
|
|
1397
|
+
html[data-theme="light"] .mds-select-option--highlighted {
|
|
1398
|
+
background-color: var(--mds-dashboard-control-option-bg-hover, #f0f7ff);
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
html[data-theme="light"] .mds-select-option--empty {
|
|
1402
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1039
1405
|
/* Label styles */
|
|
1040
1406
|
.mds-label {
|
|
1041
1407
|
display: block;
|
|
@@ -1,20 +1,71 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export interface SelectOption {
|
|
3
|
-
label
|
|
3
|
+
/** Display label (must be string for serialization safety) */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Option value */
|
|
4
6
|
value: string;
|
|
7
|
+
/** Disable this option */
|
|
8
|
+
disabled?: boolean;
|
|
5
9
|
}
|
|
6
|
-
export interface SelectProps
|
|
7
|
-
options
|
|
10
|
+
export interface SelectProps {
|
|
11
|
+
/** Array of options to display */
|
|
12
|
+
options: SelectOption[];
|
|
13
|
+
/** Currently selected value */
|
|
14
|
+
value?: string;
|
|
15
|
+
/** Callback when value changes */
|
|
16
|
+
onChange?: (value: string) => void;
|
|
17
|
+
/** Placeholder text when no value selected */
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
/** Visual variant */
|
|
8
20
|
variant?: 'base' | 'themed' | 'dashboard';
|
|
9
|
-
|
|
21
|
+
/** Size variant */
|
|
22
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
|
+
/** Disable the select */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Show loading state */
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
/** Error state */
|
|
28
|
+
error?: boolean;
|
|
29
|
+
/** Additional class for the trigger button */
|
|
30
|
+
className?: string;
|
|
31
|
+
/** Additional class for the dropdown container */
|
|
32
|
+
dropdownClassName?: string;
|
|
33
|
+
/** ID for the select (for labels) */
|
|
34
|
+
id?: string;
|
|
35
|
+
/** Name attribute for form submission */
|
|
36
|
+
name?: string;
|
|
37
|
+
/** ARIA label */
|
|
38
|
+
'aria-label'?: string;
|
|
39
|
+
/** Full width mode */
|
|
40
|
+
fullWidth?: boolean;
|
|
41
|
+
/** Enable search/filter functionality */
|
|
42
|
+
searchable?: boolean;
|
|
43
|
+
/** Search placeholder */
|
|
44
|
+
searchPlaceholder?: string;
|
|
45
|
+
/** Max height of dropdown in pixels */
|
|
46
|
+
maxHeight?: number;
|
|
47
|
+
/** Z-index for dropdown (default: 1050) */
|
|
48
|
+
zIndex?: number;
|
|
10
49
|
}
|
|
11
50
|
/**
|
|
12
51
|
* Select Component (Design System)
|
|
13
52
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
53
|
+
* Custom dropdown select that renders consistently across all browsers.
|
|
54
|
+
* Unlike native <select>, this component renders the dropdown via JavaScript,
|
|
55
|
+
* ensuring proper theming support on Edge/Chrome Windows.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <Select
|
|
60
|
+
* options={[
|
|
61
|
+
* { label: 'Option 1', value: '1' },
|
|
62
|
+
* { label: 'Option 2', value: '2' },
|
|
63
|
+
* ]}
|
|
64
|
+
* value={selectedValue}
|
|
65
|
+
* onChange={setSelectedValue}
|
|
66
|
+
* placeholder="Select an option..."
|
|
67
|
+
* />
|
|
68
|
+
* ```
|
|
18
69
|
*/
|
|
19
|
-
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<
|
|
70
|
+
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
20
71
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Select/Select.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAI7F,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,uFAoXjB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { GlassCard, type GlassCardProps } from './GlassCard';
|
|
2
2
|
export { Typography, BrandLogo, type TypographyProps, type BrandLogoProps } from './Typography';
|
|
3
3
|
export { Button, type ButtonProps } from './Button';
|
|
4
|
-
export { Select, type SelectProps } from './Select';
|
|
4
|
+
export { Select, type SelectProps, type SelectOption } from './Select';
|
|
5
5
|
export { ThemeToggle, type ThemeToggleProps } from './ThemeToggle';
|
|
6
6
|
export { DataTable, CellRenderers, ActionIcons, getTableConfig, type DataTableProps, type TableColumn, type TableAction } from './DataTable';
|
|
7
7
|
export { cn } from '../../utils/cn';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { GlassCard, type GlassCardProps } from './GlassCard';
|
|
2
2
|
export { Typography, BrandLogo, type TypographyProps, type BrandLogoProps } from './Typography';
|
|
3
3
|
export { Button, type ButtonProps } from './Button';
|
|
4
|
-
export { Select, type SelectProps } from './Select';
|
|
4
|
+
export { Select, type SelectProps, type SelectOption } from './Select';
|
|
5
5
|
export { ThemeToggle, type ThemeToggleProps } from './ThemeToggle';
|
|
6
6
|
export { DataTable, CellRenderers, ActionIcons, getTableConfig, type DataTableProps, type TableColumn, type TableAction } from './DataTable';
|
|
7
7
|
export { cn } from '../../utils/cn';
|