@mostrom/app-shell 0.1.1 → 0.1.3

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/src/styles.css CHANGED
@@ -1,7 +1,7 @@
1
1
  /* =============================================================================
2
2
  * Global Design System Styles
3
3
  * =============================================================================
4
- * Core styles previously in @platform/design-system, now merged into app-shell
4
+ * Core styles for @platform/app-shell
5
5
  *
6
6
  * NOTE: Font is loaded via <link> tag in AppShell component, not @import
7
7
  * NOTE: tw-animate-css is imported in the app's tailwind.css, not here
@@ -18,10 +18,6 @@
18
18
  --font-family-base: "Hanken Grotesk", -apple-system, BlinkMacSystemFont,
19
19
  "Segoe UI", sans-serif;
20
20
 
21
- /* Override Cloudscape font variables */
22
- --awsui-font-family-base: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
23
- --awsui-font-family-monospace: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", monospace;
24
-
25
21
  /* Dropdown styling */
26
22
  --dropdown-border-radius: 8px;
27
23
 
@@ -78,68 +74,11 @@ body,
78
74
  font-family: var(--font-family-base);
79
75
  }
80
76
 
81
- /* Force Hanken Grotesk on all Cloudscape components */
82
- [class*="awsui"] {
83
- font-family: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
84
- }
85
-
86
77
  /* =============================================================================
87
78
  * App Shell Styles
88
79
  * =============================================================================
89
80
  */
90
81
 
91
- /*
92
- * Force dark background on Cloudscape dropdown PORTALS only
93
- * CRITICAL: Use body > div[class*="awsui_dropdown"] to ONLY target dropdown portals
94
- * NOT body > div[class*="awsui"] which would match other portals and is too broad
95
- * This prevents styling table cells which also use "interior" class patterns
96
- */
97
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content-wrapper"],
98
- body > div[class*="awsui_dropdown"] [class*="awsui_interior"],
99
- body > div[class*="awsui_dropdown"] [class*="awsui_options-list"],
100
- body > div[class*="awsui_dropdown"] [class*="awsui_items-list"],
101
- body > div[class*="awsui_dropdown"] ul[class*="awsui"],
102
- body > div[class*="awsui_dropdown"] ul {
103
- background-color: #171717 !important;
104
- color: #f5f5f5 !important;
105
- }
106
-
107
- body > div[class*="awsui_dropdown"] li[class*="awsui"],
108
- body > div[class*="awsui_dropdown"] li,
109
- body > div[class*="awsui_dropdown"] [class*="awsui_option"],
110
- body > div[class*="awsui_dropdown"] [class*="awsui_item-element"] {
111
- background-color: transparent !important;
112
- color: #f5f5f5 !important;
113
- }
114
-
115
- body > div[class*="awsui_dropdown"] [class*="awsui_highlighted"],
116
- body > div[class*="awsui_dropdown"] li:hover,
117
- body > div[class*="awsui_dropdown"] li:focus,
118
- body > div[class*="awsui_dropdown"] [class*="awsui_option"]:hover,
119
- body > div[class*="awsui_dropdown"] [class*="awsui_item-element"]:hover {
120
- background-color: transparent !important;
121
- color: #26c6ff !important;
122
- }
123
-
124
- /* Ensure hover color applies to the text content inside dropdown items */
125
- body > div[class*="awsui_dropdown"] [class*="awsui_item-element"]:hover [class*="awsui_option-content"],
126
- body > div[class*="awsui_dropdown"] [class*="awsui_item-element"]:hover [class*="awsui_link"],
127
- body > div[class*="awsui_dropdown"] [class*="awsui_option"]:hover [class*="awsui_option-content"],
128
- body > div[class*="awsui_dropdown"] [class*="awsui_highlighted"] [class*="awsui_option-content"],
129
- body > div[class*="awsui_dropdown"] [class*="awsui_highlighted"] [class*="awsui_link"],
130
- body > div[class*="awsui_dropdown"] [aria-selected="true"] [class*="awsui_option-content"] {
131
- color: #26c6ff !important;
132
- background-color: transparent !important;
133
- }
134
-
135
- /* Override Cloudscape light mode dropdown backgrounds - scoped to dropdown portals */
136
- body > div[class*="awsui_dropdown"][class*="awsui_open"] [class*="awsui_interior"],
137
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content"],
138
- body > div[class*="awsui_dropdown"] > div,
139
- body > div[class*="awsui_dropdown"] ul {
140
- background-color: #171717 !important;
141
- }
142
-
143
82
  /* Global header - high z-index to ensure dropdowns appear above everything */
144
83
  #global-header {
145
84
  background-color: #171717;
@@ -149,19 +88,8 @@ body > div[class*="awsui_dropdown"] ul {
149
88
  overflow: visible !important;
150
89
  }
151
90
 
152
- #global-header [class*="awsui_top-navigation"],
153
- #global-header header {
154
- background-color: #171717 !important;
155
- overflow: visible !important;
156
- }
157
-
158
- #global-header [class*="awsui_utility"],
159
- #global-header [class*="awsui_utilities"] {
160
- overflow: visible !important;
161
- }
162
-
163
91
  /* =============================================================================
164
- * Custom Global Header Styles (non-Cloudscape)
92
+ * Custom Global Header Styles
165
93
  * =============================================================================
166
94
  */
167
95
 
@@ -412,65 +340,6 @@ body > div[class*="awsui_dropdown"] ul {
412
340
  background-color: #263445;
413
341
  }
414
342
 
415
- /* Force light mode background for app content area */
416
- body,
417
- #root,
418
- [class*="awsui_app-layout"],
419
- [class*="awsui_app-layout"] [class*="awsui_content"],
420
- [class*="awsui_app-layout"] [class*="awsui_content"] > * {
421
- background-color: #ffffff !important;
422
- color: #0f172a !important;
423
- }
424
-
425
- /* Panel trigger buttons in app layout (not global header) - circle shape */
426
- [class*="awsui_app-layout"] button[class*="awsui_trigger"],
427
- [class*="awsui_app-layout"] button[class*="awsui_circle"] {
428
- border-radius: 50% !important;
429
- }
430
-
431
- /* When panel is closed (no .selected class) - white background, dark icon */
432
- [class*="awsui_app-layout"] button[class*="awsui_trigger"]:not([class*="selected"]),
433
- [class*="awsui_app-layout"] button[class*="awsui_circle"]:not([class*="selected"]) {
434
- background-color: #ffffff !important;
435
- border: 1px solid #d5dbdb !important;
436
- color: #171717 !important;
437
- }
438
-
439
- /* Remove hover effects from trigger buttons */
440
- [class*="awsui_app-layout"] button[class*="awsui_trigger"]:hover:not([class*="selected"]),
441
- [class*="awsui_app-layout"] button[class*="awsui_circle"]:hover:not([class*="selected"]) {
442
- background-color: #ffffff !important;
443
- border: 1px solid #d5dbdb !important;
444
- color: #171717 !important;
445
- }
446
-
447
- [class*="awsui_app-layout"] button[class*="awsui_trigger"]:not([class*="selected"]) svg,
448
- [class*="awsui_app-layout"] button[class*="awsui_circle"]:not([class*="selected"]) svg {
449
- color: #171717 !important;
450
- }
451
-
452
- /* When panel is open (.selected class) - dark background, white icon */
453
- [class*="awsui_app-layout"] button[class*="awsui_trigger"][class*="selected"],
454
- [class*="awsui_app-layout"] button[class*="awsui_circle"][class*="selected"] {
455
- background-color: #171717 !important;
456
- border: 1px solid #171717 !important;
457
- color: #ffffff !important;
458
- }
459
-
460
- /* Remove hover effects from selected trigger buttons */
461
- [class*="awsui_app-layout"] button[class*="awsui_trigger"][class*="selected"]:hover,
462
- [class*="awsui_app-layout"] button[class*="awsui_circle"][class*="selected"]:hover {
463
- background-color: #171717 !important;
464
- border: 1px solid #171717 !important;
465
- color: #ffffff !important;
466
- }
467
-
468
- [class*="awsui_app-layout"] button[class*="awsui_trigger"][class*="selected"] svg,
469
- [class*="awsui_app-layout"] button[class*="awsui_circle"][class*="selected"] svg {
470
- color: #ffffff !important;
471
- fill: #ffffff !important;
472
- }
473
-
474
343
  /* Custom navigation trigger button with Menu icon */
475
344
  .app-shell-nav-trigger {
476
345
  display: flex;
@@ -504,54 +373,17 @@ body,
504
373
  font-weight: 400 !important;
505
374
  }
506
375
 
507
- /* Dark mode: ensure side navigation links are visible on dark background */
508
- body.awsui-dark-mode .app-shell-side-navigation a,
509
- body.awsui-dark-mode .app-shell-side-navigation button,
510
- body.awsui-dark-mode .app-shell-side-navigation [role="link"] {
511
- color: #f5f5f5 !important;
512
- }
513
-
514
- /* Keep the side navigation header/title bold */
515
- .app-shell-side-navigation [class*="awsui_header"],
516
- .app-shell-side-navigation [class*="awsui_header"] a,
517
- .app-shell-side-navigation [class*="awsui_header"] [class*="awsui_header-link"],
518
- .app-shell-side-navigation [class*="awsui_header"] [class*="awsui_header-text"] {
519
- font-weight: 600 !important;
520
- color: #171717 !important;
521
- }
522
-
523
- body.awsui-dark-mode .app-shell-side-navigation [class*="awsui_header"],
524
- body.awsui-dark-mode .app-shell-side-navigation [class*="awsui_header"] a,
525
- body.awsui-dark-mode .app-shell-side-navigation [class*="awsui_header"] [class*="awsui_header-link"],
526
- body.awsui-dark-mode .app-shell-side-navigation [class*="awsui_header"] [class*="awsui_header-text"] {
527
- color: #ffffff !important;
528
- }
529
-
530
376
  .app-shell-side-navigation a:hover,
531
377
  .app-shell-side-navigation button:hover,
532
378
  .app-shell-side-navigation [role="link"]:hover {
533
379
  color: #0972d3 !important;
534
380
  }
535
381
 
536
- .app-shell-side-navigation [aria-current="page"],
537
- .app-shell-side-navigation [class*="awsui_active"] {
382
+ .app-shell-side-navigation [aria-current="page"] {
538
383
  color: #0972d3 !important;
539
384
  font-weight: 600 !important;
540
385
  }
541
386
 
542
- body.awsui-dark-mode .app-shell-side-navigation [aria-current="page"],
543
- body.awsui-dark-mode .app-shell-side-navigation [class*="awsui_active"] {
544
- color: #26c6ff !important;
545
- font-weight: 600 !important;
546
- }
547
-
548
- .app-shell-side-navigation [class*="awsui_link-text"],
549
- .app-shell-side-navigation [class*="awsui_item-text"],
550
- .app-shell-side-navigation [class*="awsui_item"] {
551
- color: inherit !important;
552
- font-weight: inherit !important;
553
- }
554
-
555
387
  /* Search container with even spacing */
556
388
  .app-shell-search {
557
389
  display: flex;
@@ -808,7 +640,7 @@ button.app-shell-apps-button:hover .app-shell-apps-icon,
808
640
  }
809
641
 
810
642
  /* =============================================================================
811
- * Custom Global Search Styles (non-Cloudscape)
643
+ * Custom Global Search Styles
812
644
  * =============================================================================
813
645
  */
814
646
 
@@ -1072,655 +904,6 @@ button.app-shell-apps-button:hover .app-shell-apps-icon,
1072
904
  color: #f5f5f5;
1073
905
  }
1074
906
 
1075
- /* Legacy Cloudscape search styles (for backward compatibility) */
1076
- .app-shell-search-input-wrapper [class*="awsui_input"] {
1077
- background-color: #171717 !important;
1078
- border-radius: 20px !important;
1079
- }
1080
-
1081
- /* Inner elements of autosuggest dropdown - no radius (wrapper handles clipping) */
1082
- .app-shell-search-input-wrapper [class*="awsui_dropdown"],
1083
- .app-shell-search-input-wrapper [class*="awsui_content"],
1084
- [class*="awsui_autosuggest"] [class*="awsui_dropdown"],
1085
- [class*="awsui_autosuggest"] [class*="awsui_content"] {
1086
- border-radius: 0 !important;
1087
- }
1088
-
1089
- /*
1090
- * Force left alignment - override CloudScape's centered search layout.
1091
- * Scoped to the global header to avoid impacting AppLayoutToolbar internals.
1092
- */
1093
- #global-header [class*="awsui_header"] {
1094
- gap: 0 !important;
1095
- }
1096
-
1097
- /* Logo/identity area */
1098
- #global-header [class*="awsui_identity"] {
1099
- padding-inline-start: 8px !important;
1100
- padding-inline-end: 8px !important;
1101
- }
1102
-
1103
- #global-header [class*="awsui_search"],
1104
- #global-header [data-utility-special="search"] {
1105
- flex: 0 1 auto !important;
1106
- justify-content: flex-start !important;
1107
- margin-inline-start: 0 !important;
1108
- padding-inline-start: 0 !important;
1109
- margin-inline-end: auto !important;
1110
- }
1111
-
1112
- #global-header [class*="awsui_inputs"] {
1113
- justify-content: flex-start !important;
1114
- margin-inline-start: 0 !important;
1115
- }
1116
-
1117
- #global-header [class*="awsui_center"] {
1118
- flex: 0 1 auto !important;
1119
- justify-content: flex-start !important;
1120
- }
1121
-
1122
- /* Keep logo size stable to avoid layout shifts */
1123
- #global-header [class*="awsui_identity"] img {
1124
- height: 24px;
1125
- width: auto;
1126
- display: block;
1127
- }
1128
-
1129
- /*
1130
- * Remove rounded corners from ALL dropdown menus globally
1131
- * Cloudscape renders dropdowns in portals at document body level.
1132
- * Using very specific dropdown selectors to avoid affecting cards/containers.
1133
- */
1134
-
1135
- /* Dropdown containers - apply rounded corners */
1136
- [class*="awsui_dropdown-content-wrapper"] {
1137
- border-radius: var(--dropdown-border-radius) !important;
1138
- overflow: hidden !important;
1139
- }
1140
- /* Interior elements - no rounded corners (container handles it) */
1141
- [class*="awsui_dropdown-content"][class*="awsui_interior"],
1142
- [class*="awsui_list-bottom"],
1143
- [class*="awsui_open-dropdown"] {
1144
- border-radius: 0 !important;
1145
- }
1146
-
1147
- /* Dropdown list containers */
1148
- [class*="awsui_options-list"],
1149
- [class*="awsui_items-list-container"],
1150
- ul[class*="awsui_options"] {
1151
- border-radius: 0 !important;
1152
- }
1153
-
1154
- /* Individual dropdown/menu items - remove all rounded corners */
1155
- [class*="awsui_item-element"],
1156
- li[class*="awsui_option"],
1157
- [class*="awsui_highlighted"] {
1158
- border-radius: 0 !important;
1159
- }
1160
-
1161
- /* First and last items in dropdown lists */
1162
- [class*="awsui_options-list"] li:first-child,
1163
- [class*="awsui_options-list"] li:last-child,
1164
- [class*="awsui_items-list-container"] li:first-child,
1165
- [class*="awsui_items-list-container"] li:last-child {
1166
- border-radius: 0 !important;
1167
- }
1168
-
1169
- /*
1170
- * DROPDOWN BORDER RADIUS OVERRIDE - Scoped to dropdown portals only
1171
- * CRITICAL: Use body > div[class*="awsui_dropdown"] to avoid affecting tables
1172
- */
1173
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content-wrapper"],
1174
- body > div[class*="awsui_dropdown"] [class*="awsui_interior"],
1175
- body > div[class*="awsui_dropdown"][class*="awsui_open"],
1176
- body > div[class*="awsui_dropdown"] ul[class*="awsui_options-list"],
1177
- body > div[class*="awsui_dropdown"] ul[class*="awsui_items-list"],
1178
- body > div[class*="awsui_dropdown"] [class*="awsui_items-list-container"],
1179
- body > div[class*="awsui_dropdown"] li[class*="awsui_option"],
1180
- body > div[class*="awsui_dropdown"] li[class*="awsui_item-element"],
1181
- body > div[class*="awsui_dropdown"] li[class*="awsui_highlighted"],
1182
- body > div[class*="awsui_dropdown"] li,
1183
- body > div[class*="awsui_dropdown"] li:first-child,
1184
- body > div[class*="awsui_dropdown"] li:last-child {
1185
- border-radius: 0 !important;
1186
- border-top-left-radius: 0 !important;
1187
- border-top-right-radius: 0 !important;
1188
- border-bottom-left-radius: 0 !important;
1189
- border-bottom-right-radius: 0 !important;
1190
- }
1191
-
1192
- /* Global header dropdown theme - wrapper containers get rounded corners */
1193
- body .app-shell-apps-dropdown [class*="awsui_dropdown-content-wrapper"],
1194
- body .app-shell-search-autosuggest [class*="awsui_dropdown-content-wrapper"],
1195
- body .app-shell-categories-dropdown [class*="awsui_dropdown-content-wrapper"] {
1196
- background-color: #171717 !important;
1197
- color: #f5f5f5 !important;
1198
- border-radius: var(--dropdown-border-radius) !important;
1199
- overflow: hidden !important;
1200
- }
1201
-
1202
- /* Global header dropdown theme - interior elements no radius */
1203
- body .app-shell-apps-dropdown [class*="awsui_dropdown"],
1204
- body .app-shell-search-autosuggest [class*="awsui_dropdown"],
1205
- body .app-shell-apps-dropdown [class*="awsui_dropdown-content"],
1206
- body .app-shell-search-autosuggest [class*="awsui_dropdown-content"],
1207
- body .app-shell-apps-dropdown [class*="awsui_items-list-container"],
1208
- body .app-shell-search-autosuggest [class*="awsui_items-list-container"],
1209
- body .app-shell-apps-dropdown [class*="awsui_options-list"],
1210
- body .app-shell-search-autosuggest [class*="awsui_options-list"],
1211
- body .app-shell-apps-dropdown ul[class*="awsui"],
1212
- body .app-shell-search-autosuggest ul[class*="awsui"],
1213
- body .app-shell-categories-dropdown [class*="awsui_dropdown"],
1214
- body .app-shell-categories-dropdown [class*="awsui_dropdown-content"],
1215
- body .app-shell-categories-dropdown [class*="awsui_items-list-container"],
1216
- body .app-shell-categories-dropdown [class*="awsui_options-list"],
1217
- body .app-shell-categories-dropdown ul[class*="awsui"] {
1218
- background-color: #171717 !important;
1219
- color: #f5f5f5 !important;
1220
- border-radius: 0 !important;
1221
- }
1222
-
1223
- /* Force Apps dropdown to be wide enough for 4 columns */
1224
- body .app-shell-apps-dropdown [class*="awsui_dropdown"],
1225
- body .app-shell-apps-dropdown [class*="awsui_dropdown-content-wrapper"],
1226
- body .app-shell-apps-dropdown [class*="awsui_dropdown-content"],
1227
- body .app-shell-apps-dropdown [class*="awsui_items-list-container"],
1228
- body [class*="awsui_dropdown"]:has([aria-label="Apps"]),
1229
- body [class*="awsui_dropdown-content-wrapper"]:has([aria-label="Apps"]),
1230
- body [class*="awsui_dropdown-content"]:has([aria-label="Apps"]),
1231
- body [class*="awsui_items-list-container"]:has([aria-label="Apps"]) {
1232
- width: 1000px !important;
1233
- min-width: 1000px !important;
1234
- max-width: 1180px !important;
1235
- }
1236
-
1237
- /* Search results dropdown: keep dark background, text-only hover */
1238
- body .app-shell-search-autosuggest [class*="awsui_dropdown-content-wrapper"],
1239
- body .app-shell-search-autosuggest [class*="awsui_dropdown-content"],
1240
- body .app-shell-search-autosuggest [class*="awsui_interior"],
1241
- body .app-shell-search-autosuggest [class*="awsui_options-list"],
1242
- body .app-shell-search-autosuggest [class*="awsui_virtual-list"],
1243
- body .app-shell-search-autosuggest ul {
1244
- background-color: #171717 !important;
1245
- color: #f5f5f5 !important;
1246
- }
1247
-
1248
- body .app-shell-search-autosuggest li,
1249
- body .app-shell-search-autosuggest [class*="awsui_option"],
1250
- body .app-shell-search-autosuggest [class*="awsui_selectable-item"],
1251
- body .app-shell-search-autosuggest [class*="awsui_item-element"],
1252
- body .app-shell-search-autosuggest [class*="awsui_option-content"] {
1253
- background-color: transparent !important;
1254
- box-shadow: none !important;
1255
- border: none !important;
1256
- outline: none !important;
1257
- color: #f5f5f5 !important;
1258
- }
1259
-
1260
- body .app-shell-search-autosuggest li:hover,
1261
- body .app-shell-search-autosuggest [class*="awsui_option"]:hover,
1262
- body .app-shell-search-autosuggest [class*="awsui_selectable-item"]:hover,
1263
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:hover,
1264
- body .app-shell-search-autosuggest [class*="awsui_option-content"]:hover,
1265
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:focus,
1266
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:focus-visible,
1267
- body .app-shell-search-autosuggest [class*="awsui_highlighted"],
1268
- body .app-shell-search-autosuggest [aria-selected="true"] {
1269
- background-color: transparent !important;
1270
- box-shadow: none !important;
1271
- border: none !important;
1272
- outline: none !important;
1273
- color: #26c6ff !important;
1274
- }
1275
-
1276
- /* Autosuggest dropdown background - force dark theme */
1277
- [class*="awsui_autosuggest"] [class*="awsui_dropdown-content-wrapper"],
1278
- [class*="awsui_autosuggest"] [class*="awsui_dropdown-content"],
1279
- [class*="awsui_autosuggest"] [class*="awsui_interior"],
1280
- [class*="awsui_autosuggest"] [class*="awsui_options-list"],
1281
- body [class*="awsui_autosuggest"] ul {
1282
- background-color: #171717 !important;
1283
- color: #f5f5f5 !important;
1284
- }
1285
-
1286
- [class*="awsui_autosuggest"] li,
1287
- [class*="awsui_autosuggest"] [class*="awsui_option"] {
1288
- background-color: transparent !important;
1289
- color: #f5f5f5 !important;
1290
- }
1291
-
1292
- [class*="awsui_autosuggest"] [class*="awsui_highlighted"],
1293
- [class*="awsui_autosuggest"] li:hover {
1294
- background-color: transparent !important;
1295
- color: #26c6ff !important;
1296
- }
1297
-
1298
- /* Top navigation dropdowns (apps/search/settings/user) */
1299
- body .awsui-context-top-navigation [class*="awsui_dropdown-content-wrapper"] {
1300
- background-color: #171717 !important;
1301
- border: none !important;
1302
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
1303
- border-radius: var(--dropdown-border-radius) !important;
1304
- overflow: hidden !important;
1305
- padding-block: 0 !important;
1306
- }
1307
-
1308
- body .awsui-context-top-navigation [class*="awsui_dropdown-content-wrapper"]::after {
1309
- border: none !important;
1310
- border-radius: 0 !important;
1311
- }
1312
-
1313
- body .awsui-context-top-navigation [class*="awsui_options-list"],
1314
- body .awsui-context-top-navigation [class*="awsui_items-list-container"] {
1315
- background-color: #171717 !important;
1316
- color: #f5f5f5 !important;
1317
- border: none !important;
1318
- border-radius: 0 !important;
1319
- }
1320
-
1321
- /* Inner content elements - no radius (container handles clipping) */
1322
- body .awsui-context-top-navigation [class*="awsui_dropdown-content"],
1323
- body .awsui-context-top-navigation [class*="awsui_dropdown"]::after,
1324
- body .awsui-context-top-navigation [class*="awsui_dropdown-content-wrapper"]::after {
1325
- border-radius: 0 !important;
1326
- border: none !important;
1327
- box-shadow: none !important;
1328
- }
1329
-
1330
- body .awsui-context-top-navigation [class*="awsui_dropdown"] [class*="awsui_focus"],
1331
- body .awsui-context-top-navigation [class*="awsui_dropdown"] [class*="awsui_focus-ring"] {
1332
- box-shadow: none !important;
1333
- outline: none !important;
1334
- }
1335
-
1336
- body .awsui-context-top-navigation [class*="awsui_item-element"],
1337
- body .awsui-context-top-navigation [class*="awsui_option"] {
1338
- background-color: transparent !important;
1339
- border: none !important;
1340
- box-shadow: none !important;
1341
- outline: none !important;
1342
- color: #f5f5f5 !important;
1343
- }
1344
-
1345
- body .awsui-context-top-navigation [class*="awsui_item-element"]:hover,
1346
- body .awsui-context-top-navigation [class*="awsui_item-element"]:focus,
1347
- body .awsui-context-top-navigation [class*="awsui_item-element"]:focus-visible,
1348
- body .awsui-context-top-navigation [class*="awsui_highlighted"] {
1349
- background-color: transparent !important;
1350
- border: none !important;
1351
- box-shadow: none !important;
1352
- outline: none !important;
1353
- color: #26c6ff !important;
1354
- }
1355
-
1356
- /* List elements inside dropdown - no radius (container handles clipping) */
1357
- body ul[aria-label="Apps"],
1358
- body ul[aria-label="Categories"],
1359
- body ul[aria-label="Search"] {
1360
- background-color: #171717 !important;
1361
- color: #f5f5f5 !important;
1362
- border-radius: 0 !important;
1363
- }
1364
-
1365
- body .app-shell-apps-dropdown li,
1366
- body .app-shell-categories-dropdown li,
1367
- body .app-shell-search-autosuggest li,
1368
- body .app-shell-apps-dropdown [class*="awsui_item-element"],
1369
- body .app-shell-categories-dropdown [class*="awsui_item-element"],
1370
- body .app-shell-search-autosuggest [class*="awsui_item-element"] {
1371
- background-color: transparent !important;
1372
- border: none !important;
1373
- box-shadow: none !important;
1374
- outline: none !important;
1375
- border-radius: 0 !important;
1376
- color: #f5f5f5 !important;
1377
- }
1378
-
1379
- body ul[aria-label="Apps"] li,
1380
- body ul[aria-label="Categories"] li,
1381
- body ul[aria-label="Search"] li,
1382
- body ul[aria-label="Apps"] [class*="awsui_item-element"],
1383
- body ul[aria-label="Categories"] [class*="awsui_item-element"],
1384
- body ul[aria-label="Search"] [class*="awsui_item-element"] {
1385
- background-color: transparent !important;
1386
- border: none !important;
1387
- box-shadow: none !important;
1388
- outline: none !important;
1389
- border-radius: 0 !important;
1390
- color: #f5f5f5 !important;
1391
- }
1392
-
1393
- body .app-shell-apps-dropdown [class*="awsui_item-element"]:hover,
1394
- body .app-shell-categories-dropdown [class*="awsui_item-element"]:hover,
1395
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:hover,
1396
- body .app-shell-apps-dropdown [class*="awsui_item-element"]:focus,
1397
- body .app-shell-categories-dropdown [class*="awsui_item-element"]:focus,
1398
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:focus,
1399
- body .app-shell-apps-dropdown [class*="awsui_item-element"]:focus-visible,
1400
- body .app-shell-categories-dropdown [class*="awsui_item-element"]:focus-visible,
1401
- body .app-shell-search-autosuggest [class*="awsui_item-element"]:focus-visible,
1402
- body .app-shell-apps-dropdown [class*="awsui_highlighted"],
1403
- body .app-shell-categories-dropdown [class*="awsui_highlighted"],
1404
- body .app-shell-search-autosuggest [class*="awsui_highlighted"] {
1405
- background-color: transparent !important;
1406
- border: none !important;
1407
- box-shadow: none !important;
1408
- outline: none !important;
1409
- color: #26c6ff !important;
1410
- }
1411
-
1412
- body ul[aria-label="Apps"] [class*="awsui_item-element"]:hover,
1413
- body ul[aria-label="Categories"] [class*="awsui_item-element"]:hover,
1414
- body ul[aria-label="Search"] [class*="awsui_item-element"]:hover,
1415
- body ul[aria-label="Apps"] [class*="awsui_item-element"]:focus,
1416
- body ul[aria-label="Categories"] [class*="awsui_item-element"]:focus,
1417
- body ul[aria-label="Search"] [class*="awsui_item-element"]:focus,
1418
- body ul[aria-label="Apps"] [class*="awsui_item-element"]:focus-visible,
1419
- body ul[aria-label="Categories"] [class*="awsui_item-element"]:focus-visible,
1420
- body ul[aria-label="Search"] [class*="awsui_item-element"]:focus-visible,
1421
- body ul[aria-label="Apps"] [class*="awsui_highlighted"],
1422
- body ul[aria-label="Categories"] [class*="awsui_highlighted"],
1423
- body ul[aria-label="Search"] [class*="awsui_highlighted"] {
1424
- background-color: transparent !important;
1425
- border: none !important;
1426
- box-shadow: none !important;
1427
- outline: none !important;
1428
- color: #26c6ff !important;
1429
- }
1430
-
1431
- body ul[aria-label="Apps"] a:focus-visible,
1432
- body ul[aria-label="Categories"] a:focus-visible,
1433
- body ul[aria-label="Search"] a:focus-visible,
1434
- body ul[aria-label="Apps"] button:focus-visible,
1435
- body ul[aria-label="Categories"] button:focus-visible,
1436
- body ul[aria-label="Search"] button:focus-visible {
1437
- outline: none !important;
1438
- box-shadow: none !important;
1439
- }
1440
-
1441
- /* Make the "All services" dropdown wider + multi-column */
1442
- body ul[aria-label="Apps"] {
1443
- display: block !important;
1444
- column-count: 4 !important;
1445
- column-width: 220px !important;
1446
- column-gap: 20px !important;
1447
- column-fill: balance;
1448
- min-width: 960px !important;
1449
- max-width: 1180px !important;
1450
- padding-block: 16px !important;
1451
- }
1452
-
1453
- body ul[aria-label="Apps"] > li {
1454
- break-inside: avoid;
1455
- }
1456
-
1457
- body ul[aria-label="Apps"] [class*="awsui_item-element"] {
1458
- width: 100%;
1459
- }
1460
-
1461
- /* Settings and User dropdown - remove gap from header */
1462
- body ul[aria-label="Settings"],
1463
- body ul[aria-label="User menu"] {
1464
- padding: 4px 0 !important;
1465
- min-width: 140px !important;
1466
- }
1467
-
1468
- /* Categories dropdown - match standard dropdown padding */
1469
- body ul[aria-label="Categories"] {
1470
- padding: 4px 0 !important;
1471
- min-width: 220px !important;
1472
- }
1473
-
1474
- body ul[aria-label="Categories"] [class*="awsui_item-element"] {
1475
- padding: 4px 12px !important;
1476
- }
1477
-
1478
- /* Remove the gap between header and Settings/User dropdowns */
1479
- #global-header [class*="awsui_menu-dropdown"] [class*="awsui_dropdown-content-wrapper"],
1480
- body .awsui-context-top-navigation [class*="awsui_menu-dropdown"] [class*="awsui_dropdown-content-wrapper"] {
1481
- margin-top: -8px !important;
1482
- top: 100% !important;
1483
- padding-top: 0 !important;
1484
- }
1485
-
1486
- #global-header [class*="awsui_menu-dropdown"] [class*="awsui_dropdown"],
1487
- body .awsui-context-top-navigation [class*="awsui_menu-dropdown"] [class*="awsui_dropdown"] {
1488
- margin-top: -8px !important;
1489
- padding-top: 0 !important;
1490
- }
1491
-
1492
- /* Portal dropdowns for Settings/User - force flush to header with rounded corners */
1493
- body [class*="awsui_dropdown-content-wrapper"]:has(ul[aria-label="Settings"]),
1494
- body [class*="awsui_dropdown-content-wrapper"]:has(ul[aria-label="User menu"]) {
1495
- margin-top: -8px !important;
1496
- transform: translateY(-8px) !important;
1497
- border-radius: var(--dropdown-border-radius) !important;
1498
- overflow: hidden !important;
1499
- }
1500
-
1501
- /* Target portal-rendered Settings/User dropdowns and remove gap */
1502
- body > div[class*="awsui"] [class*="awsui_dropdown-content-wrapper"] {
1503
- margin-top: 0 !important;
1504
- }
1505
-
1506
- body > div[class*="awsui"][class*="awsui_dropdown"] {
1507
- margin-top: 0 !important;
1508
- padding-top: 0 !important;
1509
- }
1510
-
1511
- body ul[aria-label="Settings"] [class*="awsui_item-element"],
1512
- body ul[aria-label="User menu"] [class*="awsui_item-element"] {
1513
- padding: 4px 12px !important;
1514
- }
1515
-
1516
- /* General top navigation dropdown list padding */
1517
- body .awsui-context-top-navigation [class*="awsui_items-list-container"] ul {
1518
- padding: 4px 0 !important;
1519
- }
1520
-
1521
- body .awsui-context-top-navigation [class*="awsui_items-list-container"] [class*="awsui_item-element"] {
1522
- padding: 4px 12px !important;
1523
- }
1524
-
1525
- /*
1526
- * Comprehensive dropdown border-radius styling
1527
- * Targets: Apps dropdown, Autosuggest, ButtonDropdown, all menu types
1528
- * Uses --dropdown-border-radius variable for consistent rounded corners
1529
- */
1530
-
1531
- /* Autosuggest dropdown containers - apply rounded corners */
1532
- [class*="awsui_autosuggest"] [class*="awsui_dropdown-content-wrapper"] {
1533
- border-radius: var(--dropdown-border-radius) !important;
1534
- overflow: hidden !important;
1535
- }
1536
- [class*="awsui_autosuggest"] [class*="awsui_interior"],
1537
- [class*="awsui_autosuggest"] [class*="awsui_dropdown-content"],
1538
- [class*="awsui_autosuggest"] ul,
1539
- [class*="awsui_autosuggest"] li {
1540
- border-radius: 0 !important;
1541
- }
1542
-
1543
- /* ButtonDropdown containers (Apps button, Settings, Profile) - apply rounded corners */
1544
- [class*="awsui_button-dropdown"] [class*="awsui_dropdown-content-wrapper"] {
1545
- border-radius: var(--dropdown-border-radius) !important;
1546
- overflow: hidden !important;
1547
- }
1548
- [class*="awsui_button-dropdown"] [class*="awsui_interior"],
1549
- [class*="awsui_button-dropdown"] [class*="awsui_dropdown-content"],
1550
- [class*="awsui_button-dropdown"] ul,
1551
- [class*="awsui_button-dropdown"] li {
1552
- border-radius: 0 !important;
1553
- }
1554
-
1555
- /* Top navigation menu containers - apply rounded corners */
1556
- [class*="awsui_menu-dropdown"] [class*="awsui_dropdown-content-wrapper"] {
1557
- border-radius: var(--dropdown-border-radius) !important;
1558
- overflow: hidden !important;
1559
- }
1560
- [class*="awsui_menu-dropdown"] [class*="awsui_interior"],
1561
- [class*="awsui_menu-dropdown"] ul,
1562
- [class*="awsui_menu-dropdown"] li {
1563
- border-radius: 0 !important;
1564
- }
1565
-
1566
- /* Select component dropdown containers - apply rounded corners */
1567
- [class*="awsui_select"] [class*="awsui_dropdown-content-wrapper"],
1568
- [class*="awsui_select-dropdown"] [class*="awsui_dropdown-content-wrapper"] {
1569
- border-radius: var(--dropdown-border-radius) !important;
1570
- overflow: hidden !important;
1571
- }
1572
- [class*="awsui_select"] [class*="awsui_interior"],
1573
- [class*="awsui_select"] [class*="awsui_dropdown-content"],
1574
- [class*="awsui_select"] ul,
1575
- [class*="awsui_select"] li,
1576
- [class*="awsui_select-dropdown"] [class*="awsui_interior"],
1577
- [class*="awsui_select-dropdown"] ul,
1578
- [class*="awsui_select-dropdown"] li {
1579
- border-radius: 0 !important;
1580
- }
1581
-
1582
- /* Multiselect component dropdown containers - apply rounded corners */
1583
- [class*="awsui_multiselect"] [class*="awsui_dropdown-content-wrapper"] {
1584
- border-radius: var(--dropdown-border-radius) !important;
1585
- overflow: hidden !important;
1586
- }
1587
- [class*="awsui_multiselect"] [class*="awsui_interior"],
1588
- [class*="awsui_multiselect"] [class*="awsui_dropdown-content"],
1589
- [class*="awsui_multiselect"] ul,
1590
- [class*="awsui_multiselect"] li {
1591
- border-radius: 0 !important;
1592
- }
1593
-
1594
- /*
1595
- * DROPDOWN PORTAL STYLES - All scoped to body > div[class*="awsui_dropdown"]
1596
- * CRITICAL: Avoids affecting table cells which also use "interior" class patterns
1597
- * Uses --dropdown-border-radius for consistent rounded corners on containers
1598
- */
1599
-
1600
- /* Portal-rendered dropdown containers - apply rounded corners */
1601
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content-wrapper"],
1602
- body > div[class*="awsui_select"] [class*="awsui_dropdown-content-wrapper"],
1603
- body > div[class*="awsui_multiselect"] [class*="awsui_dropdown-content-wrapper"] {
1604
- border-radius: var(--dropdown-border-radius) !important;
1605
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
1606
- outline: none !important;
1607
- border: none !important;
1608
- overflow: hidden !important;
1609
- }
1610
-
1611
- /* Universal portal dropdown wrappers - ensure rounded corners for all Cloudscape dropdowns */
1612
- body > div[class*="awsui"][class*="dropdown"] [class*="awsui_dropdown-content-wrapper"],
1613
- body > div[class*="awsui"] > [class*="awsui_dropdown-content-wrapper"],
1614
- body > div[class*="awsui"] [class*="awsui_dropdown-content-wrapper"] {
1615
- border-radius: var(--dropdown-border-radius) !important;
1616
- overflow: hidden !important;
1617
- }
1618
-
1619
- /* Interior and list elements - no rounded corners (container handles it) */
1620
- body > div[class*="awsui_dropdown"] [class*="awsui_interior"],
1621
- body > div[class*="awsui_dropdown"] [class*="awsui_content-wrapper"],
1622
- body > div[class*="awsui_dropdown"] ul[class*="awsui"],
1623
- body > div[class*="awsui_dropdown"] li[class*="awsui"],
1624
- body > div[class*="awsui_select"] [class*="awsui_interior"],
1625
- body > div[class*="awsui_select"] ul[class*="awsui"],
1626
- body > div[class*="awsui_select"] li[class*="awsui"],
1627
- body > div[class*="awsui_multiselect"] [class*="awsui_interior"],
1628
- body > div[class*="awsui_multiselect"] ul[class*="awsui"],
1629
- body > div[class*="awsui_multiselect"] li[class*="awsui"] {
1630
- border-radius: 0 !important;
1631
- }
1632
-
1633
- /* List items inside dropdown portals only */
1634
- body > div[class*="awsui_dropdown"] [class*="awsui_list"] li,
1635
- body > div[class*="awsui_dropdown"] ul li {
1636
- border-radius: 0 !important;
1637
- }
1638
-
1639
- /* Interior wrapper inside dropdown portals */
1640
- body > div[class*="awsui_dropdown"] [class*="awsui_interior"],
1641
- body > div[class*="awsui_select"] [class*="awsui_interior"],
1642
- body > div[class*="awsui_multiselect"] [class*="awsui_interior"] {
1643
- border-radius: 0 !important;
1644
- box-shadow: none !important;
1645
- outline: none !important;
1646
- border: none !important;
1647
- }
1648
-
1649
- /* Inner elements inside dropdown portals */
1650
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content-wrapper"] > *,
1651
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content"],
1652
- body > div[class*="awsui_dropdown"] [class*="awsui_dropdown-content"] > * {
1653
- border-radius: 0 !important;
1654
- box-shadow: none !important;
1655
- outline: none !important;
1656
- border: none !important;
1657
- }
1658
-
1659
- /* Pseudo-elements inside dropdown portals */
1660
- body > div[class*="awsui_dropdown"]::before,
1661
- body > div[class*="awsui_dropdown"]::after,
1662
- body > div[class*="awsui_dropdown"] *::before,
1663
- body > div[class*="awsui_dropdown"] *::after {
1664
- border-radius: 0 !important;
1665
- box-shadow: none !important;
1666
- outline: none !important;
1667
- border: none !important;
1668
- display: none !important;
1669
- }
1670
-
1671
- /* Options list inside dropdown portals */
1672
- body > div[class*="awsui_dropdown"] [class*="awsui_optionsList"],
1673
- body > div[class*="awsui_dropdown"] [class*="awsui_options-list"],
1674
- body > div[class*="awsui_dropdown"] [class*="awsui_virtual-list"],
1675
- body > div[class*="awsui_select"] [class*="awsui_optionsList"],
1676
- body > div[class*="awsui_select"] [class*="awsui_options-list"],
1677
- body > div[class*="awsui_select"] [class*="awsui_virtual-list"],
1678
- body > div[class*="awsui_multiselect"] [class*="awsui_optionsList"],
1679
- body > div[class*="awsui_multiselect"] [class*="awsui_options-list"],
1680
- body > div[class*="awsui_multiselect"] [class*="awsui_virtual-list"] {
1681
- border-radius: 0 !important;
1682
- box-shadow: none !important;
1683
- border: none !important;
1684
- }
1685
-
1686
- /* Focus rings inside dropdown portals */
1687
- body > div[class*="awsui_dropdown"] *:focus,
1688
- body > div[class*="awsui_dropdown"] *:focus-visible,
1689
- body > div[class*="awsui_dropdown"] *:focus-within {
1690
- outline: none !important;
1691
- box-shadow: none !important;
1692
- }
1693
-
1694
- /* All element types inside dropdown portals */
1695
- body > div[class*="awsui_dropdown"] div,
1696
- body > div[class*="awsui_dropdown"] ul,
1697
- body > div[class*="awsui_dropdown"] li,
1698
- body > div[class*="awsui_dropdown"] span,
1699
- body > div[class*="awsui_dropdown"] a,
1700
- body > div[class*="awsui_dropdown"] button {
1701
- border-radius: 0 !important;
1702
- }
1703
-
1704
- /* Hover styling inside dropdown portals */
1705
- body > div[class*="awsui_dropdown"] [role="option"]:hover,
1706
- body > div[class*="awsui_dropdown"] [role="menuitem"]:hover,
1707
- body > div[class*="awsui_dropdown"] [role="menuitemcheckbox"]:hover,
1708
- body > div[class*="awsui_dropdown"] [role="menuitemradio"]:hover,
1709
- body > div[class*="awsui_dropdown"] [role="option"][aria-selected="true"],
1710
- body > div[class*="awsui_dropdown"] [role="menuitem"][aria-selected="true"] {
1711
- color: #26c6ff !important;
1712
- background-color: transparent !important;
1713
- }
1714
-
1715
- body > div[class*="awsui_dropdown"] [role="option"]:hover *,
1716
- body > div[class*="awsui_dropdown"] [role="menuitem"]:hover *,
1717
- body > div[class*="awsui_dropdown"] [role="menuitemcheckbox"]:hover *,
1718
- body > div[class*="awsui_dropdown"] [role="menuitemradio"]:hover *,
1719
- body > div[class*="awsui_dropdown"] [role="option"][aria-selected="true"] *,
1720
- body > div[class*="awsui_dropdown"] [role="menuitem"][aria-selected="true"] * {
1721
- color: #26c6ff !important;
1722
- }
1723
-
1724
907
  /* ---break---
1725
908
  */
1726
909
 
@@ -1772,6 +955,18 @@ body > div[class*="awsui_dropdown"] [role="menuitem"][aria-selected="true"] * {
1772
955
  --invert-foreground: var(--color-zinc-50);
1773
956
  }
1774
957
 
958
+ /* Dark mode: ensure side navigation links are visible on dark background */
959
+ .dark .app-shell-side-navigation a,
960
+ .dark .app-shell-side-navigation button,
961
+ .dark .app-shell-side-navigation [role="link"] {
962
+ color: #f5f5f5 !important;
963
+ }
964
+
965
+ .dark .app-shell-side-navigation [aria-current="page"] {
966
+ color: #26c6ff !important;
967
+ font-weight: 600 !important;
968
+ }
969
+
1775
970
  /* ---break---
1776
971
  */
1777
972