@metropolle/design-system 1.2025.1-2.29.949 → 1.2026.0-1.1.1728
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 +338 -123
- package/dist/react/components/react/Modal/Modal.d.ts.map +1 -1
- 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 +315 -32
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/index.js +314 -31
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/css/components.css
CHANGED
|
@@ -44,131 +44,11 @@
|
|
|
44
44
|
|
|
45
45
|
/* =========================
|
|
46
46
|
Modal Styles
|
|
47
|
+
NOTE: Modal styling is handled 100% via inline styles in Modal.tsx
|
|
48
|
+
(same approach as ProfileCard for visual consistency)
|
|
49
|
+
NO CSS classes are used for the modal card itself.
|
|
47
50
|
========================= */
|
|
48
51
|
|
|
49
|
-
/* Modal overlay styles */
|
|
50
|
-
.mds-modal-overlay,
|
|
51
|
-
.modal-overlay {
|
|
52
|
-
position: fixed !important;
|
|
53
|
-
top: 0 !important;
|
|
54
|
-
left: 0 !important;
|
|
55
|
-
right: 0 !important;
|
|
56
|
-
bottom: 0 !important;
|
|
57
|
-
background-color: transparent !important;
|
|
58
|
-
backdrop-filter: blur(4px) !important;
|
|
59
|
-
z-index: 9999 !important;
|
|
60
|
-
display: flex !important;
|
|
61
|
-
align-items: center !important;
|
|
62
|
-
justify-content: center !important;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Modal card styles - Liquid Glass Effect */
|
|
66
|
-
.mds-modal-overlay .mds-modal-card,
|
|
67
|
-
.modal-overlay .mds-modal-card {
|
|
68
|
-
background: rgba(255, 255, 255, 0.3) !important;
|
|
69
|
-
backdrop-filter: blur(20px) !important;
|
|
70
|
-
-webkit-backdrop-filter: blur(20px) !important;
|
|
71
|
-
border: 1px solid rgba(255, 255, 255, 0.4) !important;
|
|
72
|
-
box-shadow:
|
|
73
|
-
0 8px 32px rgba(0, 0, 0, 0.2) !important,
|
|
74
|
-
0 0 0 1px rgba(255, 255, 255, 0.2) !important,
|
|
75
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
|
|
76
|
-
color: var(--text-primary) !important;
|
|
77
|
-
min-width: 320px !important;
|
|
78
|
-
max-width: 600px !important;
|
|
79
|
-
width: 90vw !important;
|
|
80
|
-
border-radius: 16px !important;
|
|
81
|
-
position: relative !important;
|
|
82
|
-
overflow: hidden !important;
|
|
83
|
-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
|
84
|
-
transform: translate(0, 0) !important;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/* Inner glow effect */
|
|
88
|
-
.mds-modal-overlay .mds-modal-card::before,
|
|
89
|
-
.modal-overlay .mds-modal-card::before {
|
|
90
|
-
content: '' !important;
|
|
91
|
-
position: absolute !important;
|
|
92
|
-
top: 0 !important;
|
|
93
|
-
left: 0 !important;
|
|
94
|
-
right: 0 !important;
|
|
95
|
-
bottom: 0 !important;
|
|
96
|
-
background: linear-gradient(
|
|
97
|
-
135deg,
|
|
98
|
-
rgba(255, 255, 255, 0.1) 0%,
|
|
99
|
-
rgba(255, 255, 255, 0.05) 50%,
|
|
100
|
-
rgba(255, 255, 255, 0.02) 100%
|
|
101
|
-
) !important;
|
|
102
|
-
border-radius: 16px !important;
|
|
103
|
-
pointer-events: none !important;
|
|
104
|
-
z-index: -1 !important;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/* Border glow */
|
|
108
|
-
.mds-modal-overlay .mds-modal-card::after,
|
|
109
|
-
.modal-overlay .mds-modal-card::after {
|
|
110
|
-
content: '' !important;
|
|
111
|
-
position: absolute !important;
|
|
112
|
-
top: -1px !important;
|
|
113
|
-
left: -1px !important;
|
|
114
|
-
right: -1px !important;
|
|
115
|
-
bottom: -1px !important;
|
|
116
|
-
background: linear-gradient(
|
|
117
|
-
45deg,
|
|
118
|
-
rgba(255, 255, 255, 0.3),
|
|
119
|
-
rgba(255, 255, 255, 0.1),
|
|
120
|
-
rgba(255, 255, 255, 0.05),
|
|
121
|
-
rgba(255, 255, 255, 0.1),
|
|
122
|
-
rgba(255, 255, 255, 0.3)
|
|
123
|
-
) !important;
|
|
124
|
-
border-radius: 16px !important;
|
|
125
|
-
z-index: -2 !important;
|
|
126
|
-
opacity: 0.6 !important;
|
|
127
|
-
animation: mdsLiquidBorder 3s ease-in-out infinite !important;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
@keyframes mdsLiquidBorder {
|
|
131
|
-
0%, 100% { opacity: 0.6; transform: scale(1); }
|
|
132
|
-
50% { opacity: 0.8; transform: scale(1.02); }
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/* No hover lift or color change */
|
|
136
|
-
.mds-modal-overlay .mds-modal-card,
|
|
137
|
-
.mds-modal-overlay .mds-modal-card:hover,
|
|
138
|
-
.modal-overlay .mds-modal-card,
|
|
139
|
-
.modal-overlay .mds-modal-card:hover {
|
|
140
|
-
transform: none !important;
|
|
141
|
-
}
|
|
142
|
-
.mds-modal-overlay .mds-modal-card:hover::after,
|
|
143
|
-
.modal-overlay .mds-modal-card:hover::after {
|
|
144
|
-
opacity: 0.6 !important;
|
|
145
|
-
animation-duration: 3s !important;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/* Light theme */
|
|
149
|
-
html[data-theme="light"] .mds-modal-overlay .mds-modal-card,
|
|
150
|
-
html[data-theme="light"] .modal-overlay .mds-modal-card {
|
|
151
|
-
background: rgba(255, 255, 255, 0.35) !important;
|
|
152
|
-
border: 1px solid rgba(255, 255, 255, 0.5) !important;
|
|
153
|
-
box-shadow:
|
|
154
|
-
0 8px 32px rgba(0, 0, 0, 0.15) !important,
|
|
155
|
-
0 0 0 1px rgba(255, 255, 255, 0.3) !important,
|
|
156
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/* Dark theme */
|
|
160
|
-
html[data-theme="dark"] .mds-modal-overlay .mds-modal-card,
|
|
161
|
-
html:not([data-theme]) .mds-modal-overlay .mds-modal-card,
|
|
162
|
-
html[data-theme="dark"] .modal-overlay .mds-modal-card,
|
|
163
|
-
html:not([data-theme]) .modal-overlay .mds-modal-card {
|
|
164
|
-
background: rgba(30, 41, 59, 0.5) !important;
|
|
165
|
-
border: 1px solid rgba(255, 255, 255, 0.35) !important;
|
|
166
|
-
box-shadow:
|
|
167
|
-
0 8px 32px rgba(0, 0, 0, 0.5) !important,
|
|
168
|
-
0 0 0 1px rgba(255, 255, 255, 0.25) !important,
|
|
169
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
52
|
/* Header close button sizing + alignment */
|
|
173
53
|
.mds-modal-header > button[aria-label="Fechar"] {
|
|
174
54
|
/* Size and reset */
|
|
@@ -1041,6 +921,7 @@ select.mds-input {
|
|
|
1041
921
|
-webkit-appearance: none;
|
|
1042
922
|
-moz-appearance: none;
|
|
1043
923
|
appearance: none;
|
|
924
|
+
color-scheme: dark; /* Forces OS to render dropdown with dark theme on Edge/Chrome Windows */
|
|
1044
925
|
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");
|
|
1045
926
|
background-position: right var(--mds-spacing-md) center;
|
|
1046
927
|
background-repeat: no-repeat;
|
|
@@ -1067,6 +948,340 @@ select.mds-input option:checked {
|
|
|
1067
948
|
color: var(--mds-dashboard-control-option-color-hover) !important;
|
|
1068
949
|
}
|
|
1069
950
|
|
|
951
|
+
/* Light theme override for select.mds-input */
|
|
952
|
+
html[data-theme="light"] select.mds-input {
|
|
953
|
+
color-scheme: light;
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
/* ============================================
|
|
957
|
+
Custom Select Component (JavaScript-rendered dropdown)
|
|
958
|
+
Cross-browser compatible - works on Edge/Chrome Windows
|
|
959
|
+
============================================ */
|
|
960
|
+
|
|
961
|
+
/* Select Trigger Button */
|
|
962
|
+
.mds-select-trigger {
|
|
963
|
+
display: inline-flex;
|
|
964
|
+
align-items: center;
|
|
965
|
+
justify-content: space-between;
|
|
966
|
+
gap: 8px;
|
|
967
|
+
width: 100%;
|
|
968
|
+
min-width: 0;
|
|
969
|
+
max-width: 100%;
|
|
970
|
+
box-sizing: border-box;
|
|
971
|
+
padding: 10px 12px;
|
|
972
|
+
font-family: var(--mds-typography-fontFamily-brand, system-ui, sans-serif);
|
|
973
|
+
font-size: 0.95rem;
|
|
974
|
+
line-height: 1.5;
|
|
975
|
+
color: var(--mds-color-text-primary, #ffffff);
|
|
976
|
+
background-color: rgba(255, 255, 255, 0.08);
|
|
977
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
978
|
+
border-radius: 8px;
|
|
979
|
+
cursor: pointer;
|
|
980
|
+
transition: all 0.2s ease;
|
|
981
|
+
text-align: left;
|
|
982
|
+
outline: none;
|
|
983
|
+
overflow: hidden;
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
.mds-select-trigger:hover:not(:disabled) {
|
|
987
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
988
|
+
border-color: rgba(255, 255, 255, 0.25);
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
.mds-select-trigger:focus:not(:disabled) {
|
|
992
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
993
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
.mds-select-trigger--open {
|
|
997
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
998
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.mds-select-trigger--disabled {
|
|
1002
|
+
opacity: 0.5;
|
|
1003
|
+
cursor: not-allowed;
|
|
1004
|
+
background-color: rgba(255, 255, 255, 0.04);
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
.mds-select-trigger--loading {
|
|
1008
|
+
cursor: wait;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
.mds-select-trigger--error {
|
|
1012
|
+
border-color: var(--mds-color-error, #ef4444);
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
.mds-select-trigger--error:focus {
|
|
1016
|
+
box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25);
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
.mds-select-trigger--full-width {
|
|
1020
|
+
width: 100%;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
/* Select Trigger Value */
|
|
1024
|
+
.mds-select-trigger__value {
|
|
1025
|
+
flex: 1;
|
|
1026
|
+
overflow: hidden;
|
|
1027
|
+
text-overflow: ellipsis;
|
|
1028
|
+
white-space: nowrap;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
.mds-select-trigger__placeholder {
|
|
1032
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
/* Select Trigger Icon */
|
|
1036
|
+
.mds-select-trigger__icon {
|
|
1037
|
+
display: flex;
|
|
1038
|
+
align-items: center;
|
|
1039
|
+
justify-content: center;
|
|
1040
|
+
flex-shrink: 0;
|
|
1041
|
+
width: 20px;
|
|
1042
|
+
height: 20px;
|
|
1043
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1044
|
+
transition: transform 0.2s ease;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
.mds-select-trigger--open .mds-select-trigger__icon {
|
|
1048
|
+
transform: rotate(180deg);
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
.mds-select-chevron {
|
|
1052
|
+
width: 16px;
|
|
1053
|
+
height: 16px;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
.mds-select-spinner {
|
|
1057
|
+
width: 16px;
|
|
1058
|
+
height: 16px;
|
|
1059
|
+
animation: mds-select-spin 1s linear infinite;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
@keyframes mds-select-spin {
|
|
1063
|
+
from { transform: rotate(0deg); }
|
|
1064
|
+
to { transform: rotate(360deg); }
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/* Select Dropdown */
|
|
1068
|
+
.mds-select-dropdown {
|
|
1069
|
+
background-color: var(--mds-dashboard-control-option-bg, #2a2a2a);
|
|
1070
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
1071
|
+
border-radius: 8px;
|
|
1072
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
1073
|
+
overflow: hidden;
|
|
1074
|
+
animation: mds-select-dropdown-enter 0.15s ease-out;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
@keyframes mds-select-dropdown-enter {
|
|
1078
|
+
from {
|
|
1079
|
+
opacity: 0;
|
|
1080
|
+
transform: translateY(-4px);
|
|
1081
|
+
}
|
|
1082
|
+
to {
|
|
1083
|
+
opacity: 1;
|
|
1084
|
+
transform: translateY(0);
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
/* Select Search */
|
|
1089
|
+
.mds-select-search {
|
|
1090
|
+
position: relative;
|
|
1091
|
+
padding: 8px;
|
|
1092
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
.mds-select-search__input {
|
|
1096
|
+
width: 100%;
|
|
1097
|
+
padding: 8px 12px 8px 36px;
|
|
1098
|
+
font-family: var(--mds-typography-fontFamily-brand, system-ui, sans-serif);
|
|
1099
|
+
font-size: 0.9rem;
|
|
1100
|
+
color: var(--mds-color-text-primary, #ffffff);
|
|
1101
|
+
background-color: rgba(255, 255, 255, 0.08);
|
|
1102
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
1103
|
+
border-radius: 6px;
|
|
1104
|
+
outline: none;
|
|
1105
|
+
transition: all 0.2s ease;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
.mds-select-search__input:focus {
|
|
1109
|
+
border-color: var(--mds-color-primary, #3b82f6);
|
|
1110
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
.mds-select-search__input::-moz-placeholder {
|
|
1114
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
.mds-select-search__input::placeholder {
|
|
1118
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
.mds-select-search__icon {
|
|
1122
|
+
position: absolute;
|
|
1123
|
+
left: 20px;
|
|
1124
|
+
top: 50%;
|
|
1125
|
+
transform: translateY(-50%);
|
|
1126
|
+
width: 16px;
|
|
1127
|
+
height: 16px;
|
|
1128
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1129
|
+
pointer-events: none;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/* Select Options List */
|
|
1133
|
+
.mds-select-options {
|
|
1134
|
+
list-style: none;
|
|
1135
|
+
margin: 0;
|
|
1136
|
+
padding: 4px;
|
|
1137
|
+
overflow-y: auto;
|
|
1138
|
+
max-height: inherit;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
/* Select Option */
|
|
1142
|
+
.mds-select-option {
|
|
1143
|
+
display: flex;
|
|
1144
|
+
align-items: center;
|
|
1145
|
+
justify-content: space-between;
|
|
1146
|
+
gap: 8px;
|
|
1147
|
+
padding: 10px 12px;
|
|
1148
|
+
font-size: 0.95rem;
|
|
1149
|
+
color: var(--mds-dashboard-control-option-color, #ffffff);
|
|
1150
|
+
background-color: transparent;
|
|
1151
|
+
border-radius: 6px;
|
|
1152
|
+
cursor: pointer;
|
|
1153
|
+
transition: background-color 0.15s ease;
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
.mds-select-option:hover,
|
|
1157
|
+
.mds-select-option--highlighted {
|
|
1158
|
+
background-color: var(--mds-dashboard-control-option-bg-hover, #505050);
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
.mds-select-option--selected {
|
|
1162
|
+
color: var(--mds-color-primary, #3b82f6);
|
|
1163
|
+
font-weight: 500;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
.mds-select-option--disabled {
|
|
1167
|
+
opacity: 0.5;
|
|
1168
|
+
cursor: not-allowed;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
.mds-select-option--disabled:hover {
|
|
1172
|
+
background-color: transparent;
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
.mds-select-option--empty {
|
|
1176
|
+
color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.5));
|
|
1177
|
+
font-style: italic;
|
|
1178
|
+
cursor: default;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.mds-select-option--empty:hover {
|
|
1182
|
+
background-color: transparent;
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
.mds-select-option__label {
|
|
1186
|
+
flex: 1;
|
|
1187
|
+
overflow: hidden;
|
|
1188
|
+
text-overflow: ellipsis;
|
|
1189
|
+
white-space: nowrap;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.mds-select-option__check {
|
|
1193
|
+
flex-shrink: 0;
|
|
1194
|
+
width: 16px;
|
|
1195
|
+
height: 16px;
|
|
1196
|
+
color: var(--mds-color-primary, #3b82f6);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/* Select Size Variants */
|
|
1200
|
+
.mds-select--sm .mds-select-trigger {
|
|
1201
|
+
padding: 6px 10px;
|
|
1202
|
+
font-size: 0.85rem;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
.mds-select--sm .mds-select-option {
|
|
1206
|
+
padding: 6px 10px;
|
|
1207
|
+
font-size: 0.85rem;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
.mds-select--lg .mds-select-trigger {
|
|
1211
|
+
padding: 14px 16px;
|
|
1212
|
+
font-size: 1.05rem;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
.mds-select--lg .mds-select-option {
|
|
1216
|
+
padding: 12px 16px;
|
|
1217
|
+
font-size: 1.05rem;
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
/* Light Theme Overrides */
|
|
1221
|
+
html[data-theme="light"] .mds-select-trigger {
|
|
1222
|
+
color: var(--mds-color-text-primary, #1a1a1a);
|
|
1223
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
1224
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
html[data-theme="light"] .mds-select-trigger:hover:not(:disabled) {
|
|
1228
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
1229
|
+
border-color: rgba(0, 0, 0, 0.25);
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
html[data-theme="light"] .mds-select-trigger__placeholder {
|
|
1233
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
html[data-theme="light"] .mds-select-trigger__icon {
|
|
1237
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
html[data-theme="light"] .mds-select-dropdown {
|
|
1241
|
+
background-color: var(--mds-dashboard-control-option-bg, #ffffff);
|
|
1242
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1243
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
html[data-theme="light"] .mds-select-search {
|
|
1247
|
+
border-bottom-color: rgba(0, 0, 0, 0.1);
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
html[data-theme="light"] .mds-select-search__input {
|
|
1251
|
+
color: var(--mds-color-text-primary, #1a1a1a);
|
|
1252
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
1253
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
html[data-theme="light"] .mds-select-search__input:focus {
|
|
1257
|
+
background-color: rgba(0, 0, 0, 0.02);
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
html[data-theme="light"] .mds-select-search__input::-moz-placeholder {
|
|
1261
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
html[data-theme="light"] .mds-select-search__input::placeholder {
|
|
1265
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
html[data-theme="light"] .mds-select-search__icon {
|
|
1269
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
html[data-theme="light"] .mds-select-option {
|
|
1273
|
+
color: var(--mds-dashboard-control-option-color, #1a1a1a);
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
html[data-theme="light"] .mds-select-option:hover,
|
|
1277
|
+
html[data-theme="light"] .mds-select-option--highlighted {
|
|
1278
|
+
background-color: var(--mds-dashboard-control-option-bg-hover, #f0f7ff);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
html[data-theme="light"] .mds-select-option--empty {
|
|
1282
|
+
color: var(--mds-color-text-secondary, rgba(0, 0, 0, 0.5));
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1070
1285
|
/* Label styles */
|
|
1071
1286
|
.mds-label {
|
|
1072
1287
|
display: block;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/Modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/Modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAsDD,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,OAAO,EACP,cAAqB,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACN,EAAE,UAAU,4BA2FZ;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -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';
|