simple-table-core 3.8.6 → 3.8.7

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.
Files changed (40) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/src/core/SimpleTableVanilla.d.ts +11 -0
  3. package/dist/cjs/src/core/api/TableAPIImpl.d.ts +2 -0
  4. package/dist/cjs/src/core/rendering/RenderOrchestrator.d.ts +2 -0
  5. package/dist/cjs/src/core/rendering/TableRenderer.d.ts +2 -0
  6. package/dist/cjs/src/types/TableAPI.d.ts +6 -1
  7. package/dist/cjs/src/types/Theme.d.ts +1 -1
  8. package/dist/cjs/src/utils/charts/createBarChart.d.ts +5 -0
  9. package/dist/cjs/src/utils/charts/createLineAreaChart.d.ts +8 -0
  10. package/dist/cjs/src/utils/headerWidthUtils.d.ts +6 -0
  11. package/dist/cjs/stories/examples/music/MusicExample.d.ts +1 -1
  12. package/dist/cjs/stories/tests/32-ThemesTests.stories.d.ts +1 -17
  13. package/dist/cjs/stories/tests/46-AutoSizeColumnsTests.stories.d.ts +53 -0
  14. package/dist/cjs/styles.css +1 -1
  15. package/dist/index.es.js +1 -1
  16. package/dist/src/core/SimpleTableVanilla.d.ts +11 -0
  17. package/dist/src/core/api/TableAPIImpl.d.ts +2 -0
  18. package/dist/src/core/rendering/RenderOrchestrator.d.ts +2 -0
  19. package/dist/src/core/rendering/TableRenderer.d.ts +2 -0
  20. package/dist/src/types/TableAPI.d.ts +6 -1
  21. package/dist/src/types/Theme.d.ts +1 -1
  22. package/dist/src/utils/charts/createBarChart.d.ts +5 -0
  23. package/dist/src/utils/charts/createLineAreaChart.d.ts +8 -0
  24. package/dist/src/utils/headerWidthUtils.d.ts +6 -0
  25. package/dist/stories/examples/music/MusicExample.d.ts +1 -1
  26. package/dist/stories/tests/32-ThemesTests.stories.d.ts +1 -17
  27. package/dist/stories/tests/46-AutoSizeColumnsTests.stories.d.ts +53 -0
  28. package/dist/styles.css +1 -1
  29. package/package.json +1 -1
  30. package/src/styles/all-themes.css +0 -4
  31. package/src/styles/base.css +35 -70
  32. package/src/styles/themes/dark.css +7 -5
  33. package/src/styles/themes/light.css +4 -2
  34. package/src/styles/themes/modern-dark.css +7 -146
  35. package/src/styles/themes/modern-light.css +11 -138
  36. package/src/styles/themes/neutral.css +6 -4
  37. package/src/styles/themes/theme-custom.css +6 -253
  38. package/src/styles/themes/frost.css +0 -116
  39. package/src/styles/themes/sky.css +0 -115
  40. package/src/styles/themes/violet.css +0 -116
@@ -61,42 +61,10 @@
61
61
  --st-neutral-800: #262626;
62
62
  --st-neutral-900: #171717;
63
63
 
64
- /* Stone colors - used in violet theme */
65
- --st-stone-100: #f5f5f4;
66
- --st-stone-200: #e7e5e4;
67
- --st-stone-300: #d6d3d1;
68
- --st-stone-400: #a8a29e;
69
- --st-stone-500: #78716c;
70
- --st-stone-700: #44403c;
71
-
72
64
  /* Red colors - used for warnings/errors */
73
65
  --st-red-300: #fca5a5;
74
66
  --st-red-400: #f87171;
75
67
 
76
- /* Orange colors - used in sky theme warnings */
77
- --st-orange-400: #fb923c;
78
-
79
- /* Amber colors - used in violet theme */
80
- --st-amber-50: #fffbeb;
81
- --st-amber-100: #fef3c7;
82
- --st-amber-200: #fde68a;
83
-
84
- /* Emerald colors - used for charts */
85
- --st-emerald-400: #34d399;
86
- --st-emerald-500: #10b981;
87
- --st-emerald-600: #059669;
88
-
89
- /* Teal colors - used for charts */
90
- --st-teal-400: #2dd4bf;
91
- --st-teal-500: #14b8a6;
92
- --st-teal-600: #0d9488;
93
-
94
- /* Sky colors - used in sky theme */
95
- --st-sky-100: #e0f2fe;
96
- --st-sky-200: #bae6fd;
97
- --st-sky-300: #7dd3fc;
98
- --st-sky-400: #38bdf8;
99
-
100
68
  /* Blue colors - used across multiple themes */
101
69
  --st-blue-50: #eff6ff;
102
70
  --st-blue-100: #dbeafe;
@@ -108,15 +76,6 @@
108
76
  --st-blue-800: #1e40af;
109
77
  --st-blue-900: #1e3a8a;
110
78
  --st-blue-950: #172554;
111
-
112
- /* Violet colors - used in violet theme */
113
- --st-violet-50: #f5f3ff;
114
- --st-violet-100: #ede9fe;
115
- --st-violet-200: #ddd6fe;
116
- --st-violet-400: #a78bfa;
117
- --st-violet-500: #8b5cf6;
118
- --st-violet-600: #7c3aed;
119
- --st-violet-800: #5b21b6;
120
79
  }
121
80
 
122
81
  .simple-table-root * {
@@ -124,7 +83,6 @@
124
83
  /* Scrollbar thumb color */
125
84
  scrollbar-color: var(--st-scrollbar-thumb-color) var(--st-scrollbar-bg-color);
126
85
  scrollbar-width: var(--st-scrollbar-width);
127
- scrollbar-thumb-border-radius: var(--st-scrollbar-thumb-border-radius);
128
86
  font-family: inherit;
129
87
  }
130
88
 
@@ -364,7 +322,7 @@ input {
364
322
  align-items: center;
365
323
  justify-content: center;
366
324
  padding: 48px 24px;
367
- color: var(--st-header-text-color);
325
+ color: var(--st-header-icon-color);
368
326
  opacity: 0.6;
369
327
  font-size: 0.9em;
370
328
  }
@@ -460,6 +418,7 @@ input {
460
418
 
461
419
  .st-cell-content {
462
420
  display: flex;
421
+ font-size: 14px;
463
422
  }
464
423
 
465
424
  .st-row.odd .st-cell-content {
@@ -503,7 +462,8 @@ input {
503
462
  .st-header-cell {
504
463
  top: 0;
505
464
  background-color: var(--st-header-background-color);
506
- font-weight: var(--st-font-weight-bold);
465
+ font-weight: 500;
466
+ font-size: 14px;
507
467
 
508
468
  display: flex;
509
469
  align-items: center;
@@ -973,10 +933,10 @@ input {
973
933
  align-items: center;
974
934
  min-height: var(--st-footer-height, 49px);
975
935
  background-color: var(--st-footer-background-color);
976
- padding: var(--st-spacing-medium);
936
+ padding: 12px 16px;
977
937
  border-top: var(--st-border-width) solid var(--st-border-color);
978
938
  flex-shrink: 0;
979
- gap: var(--st-spacing-medium);
939
+ gap: 12px;
980
940
  }
981
941
 
982
942
  .simple-table-root.st-footer-position-top .st-footer {
@@ -991,8 +951,8 @@ input {
991
951
  }
992
952
 
993
953
  .st-footer-results-text {
994
- color: var(--st-cell-color);
995
- font-size: 0.9em;
954
+ color: var(--st-footer-text-color, var(--st-cell-color));
955
+ font-size: 14px;
996
956
  white-space: nowrap;
997
957
  }
998
958
 
@@ -1000,13 +960,18 @@ input {
1000
960
  display: flex;
1001
961
  align-items: center;
1002
962
  flex-shrink: 0;
963
+ gap: 2px;
964
+ flex-wrap: nowrap;
965
+ overflow: hidden;
1003
966
  }
1004
967
 
1005
968
  .st-next-prev-btn {
1006
969
  display: flex;
1007
970
  align-items: center;
1008
971
  justify-content: center;
1009
- padding: var(--st-spacing-small);
972
+ padding: 6px 8px;
973
+ margin-left: 4px;
974
+ flex-shrink: 0;
1010
975
  cursor: pointer;
1011
976
  background-color: transparent;
1012
977
  border: none;
@@ -1031,13 +996,16 @@ input {
1031
996
  }
1032
997
 
1033
998
  .st-page-btn {
1034
- margin-right: var(--st-spacing-small);
1035
- padding: var(--st-spacing-small);
999
+ padding: 6px 8px;
1000
+ min-width: 36px;
1001
+ flex-shrink: 0;
1036
1002
  cursor: pointer;
1037
1003
  background-color: transparent;
1038
1004
  color: var(--st-page-btn-color);
1039
1005
  border: none;
1040
1006
  border-radius: var(--st-border-radius);
1007
+ font-size: 13px;
1008
+ font-weight: 500;
1041
1009
  transition: background-color var(--st-transition-duration) var(--st-transition-ease);
1042
1010
  display: inline-flex;
1043
1011
  align-items: center;
@@ -1055,7 +1023,8 @@ input {
1055
1023
 
1056
1024
  .st-page-btn.active {
1057
1025
  background-color: var(--st-button-active-background-color);
1058
- color: white;
1026
+ color: var(--st-header-selected-label-color, var(--st-white));
1027
+ font-weight: 600;
1059
1028
  }
1060
1029
 
1061
1030
  /* Set by createTableFooter when page controls exceed MAX_COMPACT_VISIBLE_PAGE_BUTTONS */
@@ -1067,10 +1036,9 @@ input {
1067
1036
  display: inline-flex;
1068
1037
  align-items: center;
1069
1038
  justify-content: center;
1070
- padding: var(--st-spacing-small);
1071
- margin: 0 var(--st-spacing-small);
1072
- color: var(--st-cell-color);
1073
- font-weight: bold;
1039
+ padding: 0 4px;
1040
+ color: var(--st-next-prev-btn-color);
1041
+ font-weight: 400;
1074
1042
  }
1075
1043
 
1076
1044
  .editable-cell-input {
@@ -1078,7 +1046,7 @@ input {
1078
1046
  top: 0;
1079
1047
  left: 0;
1080
1048
  border: var(--st-border-width) solid var(--st-border-color);
1081
- box-shadow: var(--st-edit-cell-shadow-color);
1049
+ box-shadow: var(--st-edit-cell-shadow);
1082
1050
  z-index: 1;
1083
1051
  outline: none;
1084
1052
  height: 100%;
@@ -1203,7 +1171,7 @@ input {
1203
1171
  }
1204
1172
 
1205
1173
  .st-column-editor-reset-btn:hover {
1206
- background-color: var(--st-hover-background-color);
1174
+ background-color: var(--st-button-hover-background-color);
1207
1175
  }
1208
1176
 
1209
1177
  .st-column-pin-btn {
@@ -1411,9 +1379,9 @@ input {
1411
1379
  justify-content: center;
1412
1380
  min-width: 16px;
1413
1381
  min-height: 16px;
1414
- border: var(--st-border-width) solid var(--st-checkbox-border-color);
1382
+ border: 1.5px solid var(--st-checkbox-border-color);
1415
1383
  border-radius: var(--st-border-radius);
1416
- background-color: white;
1384
+ background-color: var(--st-checkbox-background-color, var(--st-white));
1417
1385
  transition:
1418
1386
  background-color var(--st-transition-duration) var(--st-transition-ease),
1419
1387
  border-color var(--st-transition-duration) var(--st-transition-ease);
@@ -1456,7 +1424,7 @@ input {
1456
1424
  align-items: center;
1457
1425
  border-bottom: var(--st-border-width) solid var(--st-border-color);
1458
1426
  color: var(--st-cell-color);
1459
- font-weight: var(--st-font-weight-bold);
1427
+ font-weight: 500;
1460
1428
  transition: background-color var(--st-transition-duration) var(--st-transition-ease);
1461
1429
  }
1462
1430
 
@@ -1480,7 +1448,7 @@ input {
1480
1448
  }
1481
1449
 
1482
1450
  .st-group-name {
1483
- font-weight: var(--st-font-weight-bold);
1451
+ font-weight: 600;
1484
1452
  }
1485
1453
 
1486
1454
  .st-group-count {
@@ -2193,7 +2161,7 @@ input {
2193
2161
  color: var(--st-tooltip-text-color);
2194
2162
  padding: var(--st-tooltip-padding);
2195
2163
  border-radius: var(--st-tooltip-border-radius);
2196
- font-size: 0.8em;
2164
+ font-size: var(--st-tooltip-font-size, 12px);
2197
2165
  line-height: 1.4;
2198
2166
  max-width: 300px;
2199
2167
  word-wrap: break-word;
@@ -2244,13 +2212,10 @@ input {
2244
2212
  /* Chart Styles */
2245
2213
  /* ========================================== */
2246
2214
 
2247
- /* Crisp, pixel-perfect chart rendering */
2215
+ /* Charts render in pixel space (viewBox matches rendered size), so default
2216
+ anti-aliased rendering stays crisp; avoid crispEdges which jags rounded
2217
+ corners and diagonal lines. */
2248
2218
  .st-line-area-chart,
2249
2219
  .st-bar-chart {
2250
- image-rendering: -webkit-optimize-contrast;
2251
- image-rendering: crisp-edges;
2252
- }
2253
-
2254
- .st-bar-chart rect {
2255
- shape-rendering: crispEdges;
2220
+ overflow: visible;
2256
2221
  }
@@ -12,17 +12,18 @@
12
12
  --st-scrollbar-bg-color: var(--st-gray-900);
13
13
  --st-scrollbar-thumb-color: var(--st-gray-600);
14
14
  --st-scrollbar-width: thin;
15
- --st-scrollbar-thumb-border-radius: 4px;
16
15
 
17
16
  /* Base/Structural colors */
18
17
  --st-border-color: var(--st-gray-700);
18
+ --st-body-background-color: var(--st-gray-900);
19
19
  --st-footer-background-color: var(--st-gray-900);
20
+ --st-footer-text-color: var(--st-gray-300);
20
21
  --st-last-group-row-separator-border-color: var(--st-gray-500);
21
22
 
22
23
  /* Row colors */
23
24
  --st-odd-row-background-color: var(--st-gray-800);
24
25
  --st-even-row-background-color: var(--st-gray-900);
25
- --st-hover-row-background-color: var(--st-gray-600);
26
+ --st-hover-row-background-color: var(--st-gray-700);
26
27
  --st-selected-row-background-color: var(--st-blue-950);
27
28
 
28
29
  /* Column colors */
@@ -70,6 +71,7 @@
70
71
  --st-page-btn-hover-background-color: var(--st-gray-600);
71
72
 
72
73
  /* Checkbox colors */
74
+ --st-checkbox-background-color: var(--st-gray-800);
73
75
  --st-checkbox-checked-background-color: var(--st-blue-500);
74
76
  --st-checkbox-checked-border-color: var(--st-blue-500);
75
77
  --st-checkbox-border-color: var(--st-gray-600);
@@ -86,7 +88,7 @@
86
88
  --st-filter-button-disabled-text-color: var(--st-gray-500);
87
89
 
88
90
  /* Flash/Animation colors */
89
- --st-cell-flash-color: var(--st-gray-500);
91
+ --st-cell-flash-color: var(--st-gray-600);
90
92
  --st-copy-flash-color: var(--st-blue-500);
91
93
  --st-warning-flash-color: var(--st-red-400);
92
94
 
@@ -94,8 +96,8 @@
94
96
  --st-tooltip-background-color: var(--st-gray-100);
95
97
  --st-tooltip-text-color: var(--st-gray-900);
96
98
  --st-tooltip-border-radius: 6px;
97
- --st-tooltip-padding: 8px 12px;
98
- --st-tooltip-font-size: 13px;
99
+ --st-tooltip-padding: 6px 10px;
100
+ --st-tooltip-font-size: 12px;
99
101
  --st-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
100
102
 
101
103
  /* Header selection colors */
@@ -15,7 +15,9 @@
15
15
 
16
16
  /* Base/Structural colors */
17
17
  --st-border-color: var(--st-slate-300);
18
+ --st-body-background-color: var(--st-white);
18
19
  --st-footer-background-color: var(--st-slate-50);
20
+ --st-footer-text-color: var(--st-slate-600);
19
21
  --st-last-group-row-separator-border-color: var(--st-slate-400);
20
22
 
21
23
  /* Row colors */
@@ -93,8 +95,8 @@
93
95
  --st-tooltip-background-color: var(--st-slate-900);
94
96
  --st-tooltip-text-color: var(--st-white);
95
97
  --st-tooltip-border-radius: 6px;
96
- --st-tooltip-padding: 8px 12px;
97
- --st-tooltip-font-size: 13px;
98
+ --st-tooltip-padding: 6px 10px;
99
+ --st-tooltip-font-size: 12px;
98
100
  --st-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
99
101
 
100
102
  /* Header selection colors */
@@ -11,6 +11,9 @@
11
11
  * - Lightweight visual hierarchy
12
12
  *
13
13
  * Inspired by: GitHub dark mode, VS Code, and modern dark UIs
14
+ *
15
+ * All structural rules (footer, pagination, typography) live in base.css and
16
+ * are driven by these tokens, so this theme is a pure token set.
14
17
  */
15
18
  .theme-modern-dark {
16
19
  /* Layout/Structure variables - Tighter, more compact */
@@ -29,12 +32,12 @@
29
32
  /* Base/Structural colors - Subtle dark borders */
30
33
  --st-border-color: #374151;
31
34
  --st-footer-background-color: #1f2937;
35
+ --st-footer-text-color: #d1d5db;
32
36
  --st-last-group-row-separator-border-color: #4b5563;
33
37
 
34
- /* Row colors - Dark background; when useOddEvenRowBackground is on, even
35
- * rows lift slightly to keep the table readable on a dark canvas. */
38
+ /* Row colors - Dark background, hover instead of stripes */
36
39
  --st-odd-row-background-color: #1f2937;
37
- --st-even-row-background-color: #232f3f;
40
+ --st-even-row-background-color: #1f2937;
38
41
  --st-hover-row-background-color: #374151;
39
42
  --st-selected-row-background-color: #1e3a5f;
40
43
 
@@ -83,6 +86,7 @@
83
86
  --st-page-btn-hover-background-color: #374151;
84
87
 
85
88
  /* Checkbox colors */
89
+ --st-checkbox-background-color: #1f2937;
86
90
  --st-checkbox-checked-background-color: #3b82f6;
87
91
  --st-checkbox-checked-border-color: #3b82f6;
88
92
  --st-checkbox-border-color: #4b5563;
@@ -129,146 +133,3 @@
129
133
  /* Body background for state rows */
130
134
  --st-body-background-color: #1f2937;
131
135
  }
132
-
133
- /* Modern Dark theme specific overrides for even cleaner look */
134
- .theme-modern-dark .st-wrapper {
135
- border: 1px solid #374151;
136
- }
137
-
138
- /* Subtle header border */
139
- .theme-modern-dark .st-header-pinned-left,
140
- .theme-modern-dark .st-header-main,
141
- .theme-modern-dark .st-header-pinned-right {
142
- border-bottom: 1px solid #374151;
143
- }
144
-
145
- /* Remove heavy borders on pinned sections */
146
- .theme-modern-dark .st-header-pinned-left,
147
- .theme-modern-dark .st-body-pinned-left {
148
- border-right: 1px solid #374151;
149
- }
150
-
151
- .theme-modern-dark .st-header-pinned-right,
152
- .theme-modern-dark .st-body-pinned-right {
153
- border-left: 1px solid #374151;
154
- }
155
-
156
- /* Cleaner row separators */
157
- .theme-modern-dark .st-row-separator {
158
- background-color: #374151;
159
- }
160
-
161
- /* Lighter header cell styling */
162
- .theme-modern-dark .st-header-cell {
163
- font-weight: 500;
164
- font-size: 14px;
165
- color: #d1d5db;
166
- }
167
-
168
- /* Cleaner cell text */
169
- .theme-modern-dark .st-cell-content {
170
- font-size: 14px;
171
- color: #f3f4f6;
172
- }
173
-
174
- /* Subtle hover effect */
175
- .theme-modern-dark .st-row.hovered {
176
- transition: background-color 0.15s ease;
177
- }
178
-
179
- /* Modern footer styling */
180
- .theme-modern-dark .st-footer {
181
- border-top: 1px solid #374151;
182
- background-color: #1f2937;
183
- padding: 12px 16px;
184
- gap: 12px;
185
- }
186
-
187
- /* Footer text color */
188
- .theme-modern-dark .st-footer-results-text {
189
- color: #d1d5db;
190
- font-size: 14px;
191
- }
192
-
193
- /* Footer pagination container - hide extra buttons on smaller screens */
194
- .theme-modern-dark .st-footer-pagination {
195
- gap: 2px;
196
- flex-wrap: nowrap;
197
- overflow: hidden;
198
- }
199
-
200
- /* Pagination ellipsis */
201
- .theme-modern-dark .st-page-ellipsis {
202
- color: #9ca3af;
203
- font-weight: 400;
204
- padding: 0 4px;
205
- }
206
-
207
- /* Cleaner pagination buttons - more compact */
208
- .theme-modern-dark .st-page-btn {
209
- border-radius: 4px;
210
- font-size: 13px;
211
- font-weight: 500;
212
- color: #d1d5db;
213
- padding: 6px 8px;
214
- min-width: 36px;
215
- transition: all 0.15s ease;
216
- margin-right: 0;
217
- flex-shrink: 0;
218
- }
219
-
220
- .theme-modern-dark .st-page-btn:hover {
221
- background-color: #374151;
222
- }
223
-
224
- .theme-modern-dark .st-page-btn.active {
225
- background-color: #3b82f6;
226
- color: white;
227
- font-weight: 600;
228
- }
229
-
230
- /* Next/Prev buttons */
231
- .theme-modern-dark .st-next-prev-btn {
232
- padding: 6px 8px;
233
- border-radius: 4px;
234
- transition: all 0.15s ease;
235
- margin-left: 4px;
236
- flex-shrink: 0;
237
- }
238
-
239
- .theme-modern-dark .st-next-prev-btn:not(.disabled):hover {
240
- background-color: #374151;
241
- }
242
-
243
- .theme-modern-dark .st-next-prev-btn.disabled > * {
244
- fill: #4b5563;
245
- }
246
-
247
- /* Modern scrollbar */
248
- .theme-modern-dark .st-horizontal-scrollbar-container {
249
- border-top: 1px solid #374151;
250
- background-color: #111827;
251
- }
252
-
253
- /* Cleaner group headers */
254
- .theme-modern-dark .st-group-header {
255
- border-bottom: 1px solid #374151;
256
- font-weight: 500;
257
- }
258
-
259
- /* Modern checkbox styling */
260
- .theme-modern-dark .st-checkbox-custom {
261
- border-radius: 4px;
262
- border: 1.5px solid #4b5563;
263
- background-color: #1f2937;
264
- }
265
-
266
- .theme-modern-dark .st-checkbox-custom.st-checked {
267
- background-color: #3b82f6;
268
- border-color: #3b82f6;
269
- }
270
-
271
- /* Empty state styling */
272
- .theme-modern-dark .st-empty-state {
273
- color: #9ca3af;
274
- }
@@ -11,8 +11,14 @@
11
11
  * - Lightweight visual hierarchy
12
12
  *
13
13
  * Inspired by: Tailwind UI, Shadcn UI, and modern SaaS dashboards
14
+ *
15
+ * `.theme-custom` shares these tokens: it is the baseline for the theme
16
+ * builder (`theme="custom"`), which overrides individual tokens inline.
17
+ * All structural rules (footer, pagination, typography) live in base.css
18
+ * and are driven by these tokens, so themes are pure token sets.
14
19
  */
15
- .theme-modern-light {
20
+ .theme-modern-light,
21
+ .theme-custom {
16
22
  /* Layout/Structure variables - Tighter, more compact */
17
23
  --st-border-radius: 4px;
18
24
  --st-cell-padding: 12px;
@@ -29,12 +35,12 @@
29
35
  /* Base/Structural colors - Visible but still light (gray-200) */
30
36
  --st-border-color: #e5e7eb;
31
37
  --st-footer-background-color: var(--st-white);
38
+ --st-footer-text-color: #6b7280;
32
39
  --st-last-group-row-separator-border-color: #e5e7eb;
33
40
 
34
- /* Row colors - Clean white background; when useOddEvenRowBackground is on,
35
- * even rows pick up a very subtle off-white band for readable striping. */
41
+ /* Row colors - Clean white background, hover instead of stripes */
36
42
  --st-odd-row-background-color: var(--st-white);
37
- --st-even-row-background-color: #fafafa;
43
+ --st-even-row-background-color: var(--st-white);
38
44
  --st-hover-row-background-color: #f3f4f6;
39
45
  --st-selected-row-background-color: #eff6ff;
40
46
 
@@ -79,7 +85,7 @@
79
85
  --st-button-active-background-color: #3b82f6;
80
86
  --st-next-prev-btn-color: #6b7280;
81
87
  --st-next-prev-btn-disabled-color: #d1d5db;
82
- --st-page-btn-color: #6b7280;
88
+ --st-page-btn-color: #374151;
83
89
  --st-page-btn-hover-background-color: #f3f4f6;
84
90
 
85
91
  /* Checkbox colors */
@@ -129,136 +135,3 @@
129
135
  /* Body background for state rows */
130
136
  --st-body-background-color: var(--st-white);
131
137
  }
132
-
133
- /* Modern Light theme specific overrides for even cleaner look */
134
- .theme-modern-light .st-wrapper {
135
- border: 1px solid var(--st-border-color);
136
- }
137
-
138
- /* Subtle header border */
139
- .theme-modern-light .st-header-pinned-left,
140
- .theme-modern-light .st-header-main,
141
- .theme-modern-light .st-header-pinned-right {
142
- border-bottom: 1px solid var(--st-border-color);
143
- }
144
-
145
- /* Remove heavy borders on pinned sections */
146
- .theme-modern-light .st-header-pinned-left,
147
- .theme-modern-light .st-body-pinned-left {
148
- border-right: 1px solid var(--st-border-color);
149
- }
150
-
151
- .theme-modern-light .st-header-pinned-right,
152
- .theme-modern-light .st-body-pinned-right {
153
- border-left: 1px solid var(--st-border-color);
154
- }
155
-
156
- /* Row separators — match grid lines for readable horizontal breaks */
157
- .theme-modern-light .st-row-separator {
158
- background-color: var(--st-border-color);
159
- }
160
-
161
- /* Lighter header cell styling */
162
- .theme-modern-light .st-header-cell {
163
- font-weight: 500;
164
- font-size: 14px;
165
- color: #6b7280;
166
- }
167
-
168
- /* Cleaner cell text */
169
- .theme-modern-light .st-cell-content {
170
- font-size: 14px;
171
- color: #111827;
172
- }
173
-
174
- /* Subtle hover effect */
175
- .theme-modern-light .st-row.hovered {
176
- transition: background-color 0.15s ease;
177
- }
178
-
179
- /* Modern footer styling */
180
- .theme-modern-light .st-footer {
181
- border-top: 1px solid var(--st-border-color);
182
- background-color: var(--st-white);
183
- padding: 12px 16px;
184
- gap: 12px;
185
- }
186
-
187
- /* Footer text styling */
188
- .theme-modern-light .st-footer-results-text {
189
- color: #6b7280;
190
- font-size: 14px;
191
- }
192
-
193
- /* Footer pagination container - hide extra buttons on smaller screens */
194
- .theme-modern-light .st-footer-pagination {
195
- gap: 2px;
196
- flex-wrap: nowrap;
197
- overflow: hidden;
198
- }
199
-
200
- /* Pagination ellipsis */
201
- .theme-modern-light .st-page-ellipsis {
202
- color: #9ca3af;
203
- font-weight: 400;
204
- padding: 0 4px;
205
- }
206
-
207
- /* Cleaner pagination buttons - more compact */
208
- .theme-modern-light .st-page-btn {
209
- border-radius: 4px;
210
- font-size: 13px;
211
- font-weight: 500;
212
- color: #374151;
213
- padding: 6px 8px;
214
- min-width: 36px;
215
- transition: all 0.15s ease;
216
- margin-right: 0;
217
- flex-shrink: 0;
218
- }
219
-
220
- .theme-modern-light .st-page-btn:hover {
221
- background-color: #f3f4f6;
222
- }
223
-
224
- .theme-modern-light .st-page-btn.active {
225
- background-color: #3b82f6;
226
- color: white;
227
- font-weight: 600;
228
- }
229
-
230
- /* Next/Prev buttons */
231
- .theme-modern-light .st-next-prev-btn {
232
- padding: 6px 8px;
233
- border-radius: 4px;
234
- transition: all 0.15s ease;
235
- margin-left: 4px;
236
- flex-shrink: 0;
237
- }
238
-
239
- .theme-modern-light .st-next-prev-btn:not(.disabled):hover {
240
- background-color: #f3f4f6;
241
- }
242
-
243
- /* Modern scrollbar */
244
- .theme-modern-light .st-horizontal-scrollbar-container {
245
- border-top: 1px solid var(--st-border-color);
246
- background-color: #fafafa;
247
- }
248
-
249
- /* Cleaner group headers */
250
- .theme-modern-light .st-group-header {
251
- border-bottom: 1px solid var(--st-border-color);
252
- font-weight: 500;
253
- }
254
-
255
- /* Modern checkbox styling */
256
- .theme-modern-light .st-checkbox-custom {
257
- border-radius: 4px;
258
- border: 1.5px solid #d1d5db;
259
- }
260
-
261
- .theme-modern-light .st-checkbox-custom.st-checked {
262
- background-color: #3b82f6;
263
- border-color: #3b82f6;
264
- }
@@ -12,18 +12,20 @@
12
12
  --st-scrollbar-bg-color: var(--st-neutral-100);
13
13
  --st-scrollbar-thumb-color: var(--st-neutral-400);
14
14
  --st-scrollbar-width: thin;
15
- --st-scrollbar-thumb-border-radius: 4px;
16
15
 
17
16
  /* Base/Structural colors */
18
17
  --st-border-color: var(--st-neutral-300);
18
+ --st-body-background-color: var(--st-neutral-50);
19
19
  --st-footer-background-color: var(--st-neutral-50);
20
+ --st-footer-text-color: var(--st-neutral-600);
20
21
  --st-last-group-row-separator-border-color: var(--st-neutral-400);
21
22
 
22
23
  /* Row colors */
23
24
  --st-odd-row-background-color: var(--st-neutral-50);
24
25
  --st-even-row-background-color: var(--st-neutral-100);
25
26
  --st-hover-row-background-color: var(--st-neutral-200);
26
- --st-selected-row-background-color: var(--st-neutral-200);
27
+ /* One step darker than hover so a selected row stays visible while hovering */
28
+ --st-selected-row-background-color: var(--st-neutral-300);
27
29
 
28
30
  /* Column colors */
29
31
  --st-odd-column-background-color: var(--st-neutral-50);
@@ -94,8 +96,8 @@
94
96
  --st-tooltip-background-color: var(--st-neutral-800);
95
97
  --st-tooltip-text-color: var(--st-white);
96
98
  --st-tooltip-border-radius: 6px;
97
- --st-tooltip-padding: 8px 12px;
98
- --st-tooltip-font-size: 13px;
99
+ --st-tooltip-padding: 6px 10px;
100
+ --st-tooltip-font-size: 12px;
99
101
  --st-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
100
102
 
101
103
  /* Header selection colors */