@carbon/styles 1.113.0 → 1.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/css/styles.css +2167 -536
  2. package/css/styles.min.css +1 -1
  3. package/index.scss +2 -1
  4. package/package.json +9 -9
  5. package/scss/__tests__/__snapshots__/border-radius-test.js.snap +24 -0
  6. package/scss/__tests__/__snapshots__/colors-test.js.snap +1 -1
  7. package/scss/__tests__/__snapshots__/config-test.js.snap +1 -1
  8. package/scss/__tests__/__snapshots__/spacing-test.js.snap +1 -1
  9. package/scss/__tests__/__snapshots__/type-test.js.snap +1 -1
  10. package/scss/__tests__/border-radius-test.js +31 -0
  11. package/scss/_border-radius.scss +10 -0
  12. package/scss/components/EditInPlace/_edit-in-place.scss +188 -0
  13. package/scss/components/EditInPlace/_index.scss +11 -0
  14. package/scss/components/FullPageError/_full-page-error.scss +91 -0
  15. package/scss/components/FullPageError/_index.scss +11 -0
  16. package/scss/components/InterstitialScreen/_index.scss +11 -0
  17. package/scss/components/InterstitialScreen/_interstitial-screen.scss +181 -0
  18. package/scss/components/OptionsTile/_index.scss +11 -0
  19. package/scss/components/OptionsTile/_options-tile.scss +240 -0
  20. package/scss/components/__tests__/button-test.js +27 -0
  21. package/scss/components/__tests__/data-table-test.js +43 -1
  22. package/scss/components/__tests__/file-uploader.js +30 -0
  23. package/scss/components/__tests__/overflow-menu-test.js +40 -1
  24. package/scss/components/__tests__/structured-list-test.js +38 -1
  25. package/scss/components/__tests__/tag-test.js +1 -2
  26. package/scss/components/__tests__/text-input-test.js +1 -1
  27. package/scss/components/__tests__/treeview-test.js +60 -1
  28. package/scss/components/_index.scss +9 -1
  29. package/scss/components/big-number/_big-number.scss +164 -0
  30. package/scss/components/big-number/_index.scss +11 -0
  31. package/scss/components/button/_button.scss +0 -1
  32. package/scss/components/card/_card.scss +37 -12
  33. package/scss/components/coachmark/_coachmark-beacon.scss +159 -0
  34. package/scss/components/coachmark/_coachmark-tagline.scss +142 -0
  35. package/scss/components/coachmark/_coachmark.scss +56 -0
  36. package/scss/components/coachmark/_index.scss +17 -0
  37. package/scss/components/data-table/_data-table.scss +140 -110
  38. package/scss/components/data-table/expandable/_data-table-expandable.scss +86 -59
  39. package/scss/components/data-table/skeleton/_data-table-skeleton.scss +10 -8
  40. package/scss/components/date-picker/_date-picker-next.scss +20 -20
  41. package/scss/components/date-picker/_date-picker.scss +5 -3
  42. package/scss/components/date-picker/_flatpickr.scss +46 -28
  43. package/scss/components/file-uploader/_file-uploader.scss +23 -10
  44. package/scss/components/loading/_loading.scss +2 -1
  45. package/scss/components/overflow-menu/_overflow-menu.scss +12 -6
  46. package/scss/components/pagination/_pagination.scss +12 -0
  47. package/scss/components/pagination-nav/_pagination-nav.scss +5 -3
  48. package/scss/components/scroll-gradient/_index.scss +11 -0
  49. package/scss/components/scroll-gradient/_scroll-gradient.scss +107 -0
  50. package/scss/components/slider/_slider.scss +38 -15
  51. package/scss/components/structured-list/_structured-list.scss +27 -20
  52. package/scss/components/tabs/_tabs.scss +11 -0
  53. package/scss/components/tag/_mixins.scss +9 -5
  54. package/scss/components/tag/_tag.scss +44 -26
  55. package/scss/components/text-input/_text-input.scss +11 -7
  56. package/scss/components/treeview/_treeview.scss +52 -33
  57. package/scss/components/ui-shell/side-nav/_side-nav.scss +58 -42
  58. package/scss/components/ui-shell/switcher/_switcher.scss +7 -5
  59. package/scss/components/user-avatar/_index.scss +11 -0
  60. package/scss/components/user-avatar/_user-avatar.scss +160 -0
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2025
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -154,30 +154,32 @@
154
154
  transition: background-color $duration-fast-01 motion(entrance, productive);
155
155
  }
156
156
 
157
- .#{$prefix}--data-table tbody tr:not([data-child-row]):hover,
158
- .#{$prefix}--data-table tbody tr[data-child-row]:hover > td {
159
- background-color: $layer-hover;
160
- }
157
+ @media (any-hover: hover) {
158
+ .#{$prefix}--data-table tbody tr:not([data-child-row]):hover,
159
+ .#{$prefix}--data-table tbody tr[data-child-row]:hover > td {
160
+ background-color: $layer-hover;
161
+ }
161
162
 
162
- .#{$prefix}--data-table tbody tr:hover td,
163
- .#{$prefix}--data-table tbody tr:hover th {
164
- border-block-end: 1px solid $layer-hover;
165
- border-block-start: 1px solid $layer-hover;
166
- color: $text-primary;
167
- }
163
+ .#{$prefix}--data-table tbody tr:hover td,
164
+ .#{$prefix}--data-table tbody tr:hover th {
165
+ border-block-end: 1px solid $layer-hover;
166
+ border-block-start: 1px solid $layer-hover;
167
+ color: $text-primary;
168
+ }
168
169
 
169
- .#{$prefix}--data-table
170
- tr:hover
171
- .#{$prefix}--link:not(.#{$prefix}--popover-container .#{$prefix}--link) {
172
- color: $link-secondary;
173
- }
170
+ .#{$prefix}--data-table
171
+ tr:hover
172
+ .#{$prefix}--link:not(.#{$prefix}--popover-container .#{$prefix}--link) {
173
+ color: $link-secondary;
174
+ }
174
175
 
175
- .#{$prefix}--data-table
176
- tr:hover
177
- .#{$prefix}--link--disabled:not(
178
- .#{$prefix}--popover-container .#{$prefix}--link
179
- ) {
180
- color: $text-disabled;
176
+ .#{$prefix}--data-table
177
+ tr:hover
178
+ .#{$prefix}--link--disabled:not(
179
+ .#{$prefix}--popover-container .#{$prefix}--link
180
+ ) {
181
+ color: $text-disabled;
182
+ }
181
183
  }
182
184
 
183
185
  .#{$prefix}--data-table th,
@@ -336,15 +338,20 @@
336
338
  .#{$prefix}--data-table
337
339
  td.#{$prefix}--table-column-menu
338
340
  .#{$prefix}--overflow-menu:focus
339
- .#{$prefix}--overflow-menu__icon,
340
- .#{$prefix}--data-table
341
- tr:hover
342
- td.#{$prefix}--table-column-menu
343
- .#{$prefix}--overflow-menu
344
341
  .#{$prefix}--overflow-menu__icon {
345
342
  opacity: 1;
346
343
  }
347
344
 
345
+ @media (any-hover: hover) {
346
+ .#{$prefix}--data-table
347
+ tr:hover
348
+ td.#{$prefix}--table-column-menu
349
+ .#{$prefix}--overflow-menu
350
+ .#{$prefix}--overflow-menu__icon {
351
+ opacity: 1;
352
+ }
353
+ }
354
+
348
355
  .#{$prefix}--table-row--menu-option
349
356
  .#{$prefix}--overflow-menu-options__btn
350
357
  .#{$prefix}--overflow-menu-options__option-content
@@ -419,20 +426,22 @@
419
426
  background-color: $layer-accent;
420
427
  }
421
428
 
422
- .#{$prefix}--data-table--zebra
423
- tbody
424
- tr:not(.#{$prefix}--parent-row):hover
425
- td {
426
- border-block-end: 1px solid $layer-hover;
427
- border-block-start: 1px solid $layer-hover;
428
- }
429
+ @media (any-hover: hover) {
430
+ .#{$prefix}--data-table--zebra
431
+ tbody
432
+ tr:not(.#{$prefix}--parent-row):hover
433
+ td {
434
+ border-block-end: 1px solid $layer-hover;
435
+ border-block-start: 1px solid $layer-hover;
436
+ }
429
437
 
430
- .#{$prefix}--data-table--zebra
431
- tbody
432
- tr:not(.#{$prefix}--parent-row):not(
433
- .#{$prefix}--data-table--selected
434
- ):hover {
435
- background-color: $layer-hover;
438
+ .#{$prefix}--data-table--zebra
439
+ tbody
440
+ tr:not(.#{$prefix}--parent-row):not(
441
+ .#{$prefix}--data-table--selected
442
+ ):hover {
443
+ background-color: $layer-hover;
444
+ }
436
445
  }
437
446
 
438
447
  //----------------------------------------------------------------------------
@@ -578,29 +587,31 @@
578
587
  border-block-end: 1px solid $layer-active;
579
588
  }
580
589
 
581
- .#{$prefix}--data-table--zebra
582
- tbody
583
- tr:nth-child(even).#{$prefix}--data-table--selected:hover
584
- td {
585
- border-block-end: 1px solid $data-table-column-hover;
586
- }
590
+ @media (any-hover: hover) {
591
+ .#{$prefix}--data-table--zebra
592
+ tbody
593
+ tr:nth-child(even).#{$prefix}--data-table--selected:hover
594
+ td {
595
+ border-block-end: 1px solid $data-table-column-hover;
596
+ }
587
597
 
588
- // hover + zebra select - even child
589
- .#{$prefix}--data-table--zebra
590
- tbody
591
- tr:nth-child(odd).#{$prefix}--data-table--selected:hover
592
- td,
593
- .#{$prefix}--data-table tbody .#{$prefix}--data-table--selected:hover td {
594
- border-block-end: 1px solid $data-table-column-hover;
595
- border-block-start: 1px solid $data-table-column-hover;
596
- color: $text-primary;
597
- }
598
+ // hover + zebra select - even child
599
+ .#{$prefix}--data-table--zebra
600
+ tbody
601
+ tr:nth-child(odd).#{$prefix}--data-table--selected:hover
602
+ td,
603
+ .#{$prefix}--data-table tbody .#{$prefix}--data-table--selected:hover td {
604
+ border-block-end: 1px solid $data-table-column-hover;
605
+ border-block-start: 1px solid $data-table-column-hover;
606
+ color: $text-primary;
607
+ }
598
608
 
599
- .#{$prefix}--data-table--zebra
600
- tbody
601
- tr:nth-child(odd).#{$prefix}--data-table--selected:hover,
602
- .#{$prefix}--data-table tbody .#{$prefix}--data-table--selected:hover {
603
- background-color: $data-table-column-hover;
609
+ .#{$prefix}--data-table--zebra
610
+ tbody
611
+ tr:nth-child(odd).#{$prefix}--data-table--selected:hover,
612
+ .#{$prefix}--data-table tbody .#{$prefix}--data-table--selected:hover {
613
+ background-color: $data-table-column-hover;
614
+ }
604
615
  }
605
616
 
606
617
  // selected overflow menu
@@ -770,6 +781,8 @@
770
781
 
771
782
  .#{$prefix}--data-table--sticky-header {
772
783
  display: block;
784
+ inline-size: fit-content;
785
+ min-inline-size: 100%;
773
786
  overflow-y: scroll;
774
787
 
775
788
  thead,
@@ -783,10 +796,8 @@
783
796
  thead {
784
797
  position: sticky;
785
798
  z-index: 1;
786
- overflow: scroll;
787
799
  inline-size: 100%;
788
800
  inset-block-start: 0;
789
- // Hides ie scrollbar
790
801
  -ms-overflow-style: none;
791
802
  will-change: transform;
792
803
  }
@@ -797,9 +808,7 @@
797
808
 
798
809
  tbody {
799
810
  flex-direction: column;
800
- // Hides ie scrollbar
801
811
  -ms-overflow-style: none;
802
- overflow-x: scroll;
803
812
  will-change: transform;
804
813
  }
805
814
 
@@ -835,10 +844,12 @@
835
844
 
836
845
  // Taken from L125 _data-table-expandable
837
846
  // Used to hide white line when parent row is hovered when child is expanded
838
- tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
839
- + tr[data-child-row]
840
- td {
841
- border-block-start: 1px solid $layer-hover;
847
+ @media (any-hover: hover) {
848
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
849
+ + tr[data-child-row]
850
+ td {
851
+ border-block-start: 1px solid $layer-hover;
852
+ }
842
853
  }
843
854
 
844
855
  tr.#{$prefix}--expandable-row:last-of-type {
@@ -1013,32 +1024,11 @@
1013
1024
  }
1014
1025
 
1015
1026
  // Remove table cell backgrounds that are overriding gradient background on row
1016
- .#{$prefix}--data-table
1017
- tbody
1018
- tr.#{$prefix}--data-table--ai-label-row:hover
1019
- td,
1020
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row:hover
1021
- + .#{$prefix}--expandable-row[data-child-row]
1022
- td,
1023
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row--hover
1024
- + .#{$prefix}--expandable-row[data-child-row]:hover
1025
- > td,
1026
1027
  tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row--hover
1027
1028
  > td,
1028
1029
  tr.#{$prefix}--data-table--selected.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row
1029
1030
  + tr.#{$prefix}--expandable-row[data-child-row]
1030
1031
  > td,
1031
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1032
- td,
1033
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1034
- td:first-of-type,
1035
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected:not(
1036
- .#{$prefix}--expandable-row
1037
- ):hover
1038
- > td,
1039
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1040
- + tr[data-child-row]
1041
- > td,
1042
1032
  tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
1043
1033
  > td,
1044
1034
  tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
@@ -1046,11 +1036,32 @@
1046
1036
  background-color: transparent;
1047
1037
  }
1048
1038
 
1049
- .#{$prefix}--data-table tbody tr.#{$prefix}--data-table--ai-label-row:hover,
1050
- tr.#{$prefix}--data-table--ai-label-row:hover
1051
- + .#{$prefix}--expandable-row[data-child-row],
1052
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row--hover
1053
- + .#{$prefix}--expandable-row[data-child-row]:hover,
1039
+ @media (any-hover: hover) {
1040
+ .#{$prefix}--data-table
1041
+ tbody
1042
+ tr.#{$prefix}--data-table--ai-label-row:hover
1043
+ td,
1044
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row:hover
1045
+ + .#{$prefix}--expandable-row[data-child-row]
1046
+ td,
1047
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row--hover
1048
+ + .#{$prefix}--expandable-row[data-child-row]:hover
1049
+ > td,
1050
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1051
+ td,
1052
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1053
+ td:first-of-type,
1054
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected:not(
1055
+ .#{$prefix}--expandable-row
1056
+ ):hover
1057
+ > td,
1058
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1059
+ + tr[data-child-row]
1060
+ > td {
1061
+ background-color: transparent;
1062
+ }
1063
+ }
1064
+
1054
1065
  tr.#{$prefix}--expandable-row--hover.#{$prefix}--data-table--ai-label-row,
1055
1066
  tr.#{$prefix}--data-table--selected.#{$prefix}--parent-row.#{$prefix}--expandable-row--hover.#{$prefix}--data-table--ai-label-row {
1056
1067
  @include ai-table-gradient('hover');
@@ -1058,6 +1069,18 @@
1058
1069
  background-attachment: fixed;
1059
1070
  }
1060
1071
 
1072
+ @media (any-hover: hover) {
1073
+ .#{$prefix}--data-table tbody tr.#{$prefix}--data-table--ai-label-row:hover,
1074
+ tr.#{$prefix}--data-table--ai-label-row:hover
1075
+ + .#{$prefix}--expandable-row[data-child-row],
1076
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row--hover
1077
+ + .#{$prefix}--expandable-row[data-child-row]:hover {
1078
+ @include ai-table-gradient('hover');
1079
+
1080
+ background-attachment: fixed;
1081
+ }
1082
+ }
1083
+
1061
1084
  tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--data-table--slug-row,
1062
1085
  .#{$prefix}--data-table--selected.#{$prefix}--data-table--slug-row,
1063
1086
  tr.#{$prefix}--data-table--selected.#{$prefix}--data-table--slug-row
@@ -1071,17 +1094,22 @@
1071
1094
  background-attachment: fixed;
1072
1095
  }
1073
1096
 
1074
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--data-table--selected td,
1075
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--data-table--selected:hover
1076
- td,
1077
- tbody tr.#{$prefix}--data-table--ai-label-row:hover td,
1078
- tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1079
- td:not(.#{$prefix}--table-expand):not(
1080
- .#{$prefix}--table-column-checkbox
1081
- ):not(.#{$prefix}--table-column-slug) {
1097
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--data-table--selected td {
1082
1098
  border-block-end-color: $border-subtle;
1083
1099
  }
1084
1100
 
1101
+ @media (any-hover: hover) {
1102
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--data-table--selected:hover
1103
+ td,
1104
+ tbody tr.#{$prefix}--data-table--ai-label-row:hover td,
1105
+ tr.#{$prefix}--data-table--ai-label-row.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
1106
+ td:not(.#{$prefix}--table-expand):not(
1107
+ .#{$prefix}--table-column-checkbox
1108
+ ):not(.#{$prefix}--table-column-slug) {
1109
+ border-block-end-color: $border-subtle;
1110
+ }
1111
+ }
1112
+
1085
1113
  tr.#{$prefix}--expandable-row.#{$prefix}--data-table--selected.#{$prefix}--data-table--slug-row[data-parent-row]
1086
1114
  > td:not(.#{$prefix}--table-expand):not(
1087
1115
  .#{$prefix}--table-column-checkbox
@@ -1093,13 +1121,15 @@
1093
1121
  border-block-end: 1px solid $layer-selected;
1094
1122
  }
1095
1123
 
1096
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--slug-row.#{$prefix}--expandable-row:hover
1097
- td:first-of-type,
1098
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row:hover
1099
- td:first-of-type,
1100
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--decoratorß-row.#{$prefix}--expandable-row:hover
1101
- td:first-of-type {
1102
- border-block-end: 1px solid transparent;
1124
+ @media (any-hover: hover) {
1125
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--slug-row.#{$prefix}--expandable-row:hover
1126
+ td:first-of-type,
1127
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--ai-label-row.#{$prefix}--expandable-row:hover
1128
+ td:first-of-type,
1129
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--decoratorß-row.#{$prefix}--expandable-row:hover
1130
+ td:first-of-type {
1131
+ border-block-end: 1px solid transparent;
1132
+ }
1103
1133
  }
1104
1134
 
1105
1135
  .#{$prefix}--data-table
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -139,33 +139,38 @@
139
139
  border-color $duration-fast-01 motion(standard, productive);
140
140
  }
141
141
 
142
- // hovering on collapsed parent
143
- tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row):first-of-type:hover
144
- td {
145
- border-block-end: 1px solid $border-subtle;
146
- border-block-start: 1px solid $border-subtle;
147
- }
148
-
149
- // hovering on expanded parent
150
- tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover td {
151
- background-color: $layer-hover;
152
- border-block-end: 1px solid $border-subtle;
153
- border-block-start: 1px solid $border-subtle;
154
- color: $text-primary;
155
- }
156
-
157
- tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover td:first-of-type {
158
- // First td doesn't have a visible border
159
- border-block-end: 1px solid $layer-hover;
160
- }
161
-
162
- // Child row when hovering on expanded parent
163
- tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
164
- + tr[data-child-row]
165
- td {
166
- background-color: $layer-hover;
167
- border-block-end: 1px solid $border-subtle;
168
- color: $text-primary;
142
+ @media (any-hover: hover) {
143
+ // hovering on collapsed parent
144
+ tr.#{$prefix}--parent-row:not(
145
+ .#{$prefix}--expandable-row
146
+ ):first-of-type:hover
147
+ td {
148
+ border-block-end: 1px solid $border-subtle;
149
+ border-block-start: 1px solid $border-subtle;
150
+ }
151
+
152
+ // hovering on expanded parent
153
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover td {
154
+ background-color: $layer-hover;
155
+ border-block-end: 1px solid $border-subtle;
156
+ border-block-start: 1px solid $border-subtle;
157
+ color: $text-primary;
158
+ }
159
+
160
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
161
+ td:first-of-type {
162
+ // First td doesn't have a visible border
163
+ border-block-end: 1px solid $layer-hover;
164
+ }
165
+
166
+ // Child row when hovering on expanded parent
167
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
168
+ + tr[data-child-row]
169
+ td {
170
+ background-color: $layer-hover;
171
+ border-block-end: 1px solid $border-subtle;
172
+ color: $text-primary;
173
+ }
169
174
  }
170
175
 
171
176
  //hovering on expanded child row
@@ -336,16 +341,18 @@
336
341
  border-top $duration-fast-01 motion(standard, productive);
337
342
  }
338
343
 
339
- .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:hover td,
340
- .#{$prefix}--data-table--zebra
341
- tbody
342
- tr[data-parent-row]:hover
343
- + tr[data-child-row]
344
- td,
345
- .#{$prefix}--data-table--zebra tbody tr[data-child-row]:hover td {
346
- background-color: $layer-hover;
347
- border-block-end: 1px solid $layer-hover;
348
- border-block-start: 1px solid $layer-hover;
344
+ @media (any-hover: hover) {
345
+ .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:hover td,
346
+ .#{$prefix}--data-table--zebra
347
+ tbody
348
+ tr[data-parent-row]:hover
349
+ + tr[data-child-row]
350
+ td,
351
+ .#{$prefix}--data-table--zebra tbody tr[data-child-row]:hover td {
352
+ background-color: $layer-hover;
353
+ border-block-end: 1px solid $layer-hover;
354
+ border-block-start: 1px solid $layer-hover;
355
+ }
349
356
  }
350
357
 
351
358
  .#{$prefix}--data-table--zebra
@@ -381,15 +388,17 @@
381
388
  box-shadow: 0 1px $border-subtle;
382
389
  }
383
390
 
384
- // Parent collapsed hover
385
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected:not(
386
- .#{$prefix}--expandable-row
387
- ):hover
388
- td {
389
- background-color: $layer-selected-hover;
390
- border-block-end: 1px solid $border-subtle;
391
- border-block-start: 1px solid $layer-selected-hover;
392
- box-shadow: 0 1px $layer-selected-hover;
391
+ @media (any-hover: hover) {
392
+ // Parent collapsed hover
393
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected:not(
394
+ .#{$prefix}--expandable-row
395
+ ):hover
396
+ td {
397
+ background-color: $layer-selected-hover;
398
+ border-block-end: 1px solid $border-subtle;
399
+ border-block-start: 1px solid $layer-selected-hover;
400
+ box-shadow: 0 1px $layer-selected-hover;
401
+ }
393
402
  }
394
403
 
395
404
  // Parent expanded
@@ -402,11 +411,6 @@
402
411
  box-shadow: 0 1px $layer-selected;
403
412
  }
404
413
 
405
- // Parent expanded hover
406
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
407
- td,
408
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
409
- td:first-of-type,
410
414
  tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
411
415
  td,
412
416
  tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
@@ -417,6 +421,19 @@
417
421
  box-shadow: 0 1px $layer-selected-hover;
418
422
  }
419
423
 
424
+ @media (any-hover: hover) {
425
+ // Parent expanded hover
426
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
427
+ td,
428
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
429
+ td:first-of-type {
430
+ background-color: $layer-selected-hover;
431
+ border-block-end: 1px solid transparent;
432
+ border-block-start: 1px solid $layer-selected-hover;
433
+ box-shadow: 0 1px $layer-selected-hover;
434
+ }
435
+ }
436
+
420
437
  // Child row expanded
421
438
  tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row
422
439
  + tr[data-child-row]
@@ -435,16 +452,21 @@
435
452
  padding-block-end: convert.to-rem(24px);
436
453
  }
437
454
 
438
- // Child row expanded hover
439
- tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
440
- + tr[data-child-row]
441
- td,
442
455
  tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
443
456
  + tr[data-child-row]
444
457
  td {
445
458
  background-color: $layer-selected;
446
459
  }
447
460
 
461
+ @media (any-hover: hover) {
462
+ // Child row expanded hover
463
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
464
+ + tr[data-child-row]
465
+ td {
466
+ background-color: $layer-selected;
467
+ }
468
+ }
469
+
448
470
  // Slug styles
449
471
  .#{$prefix}--parent-row .#{$prefix}--table-column-slug,
450
472
  .#{$prefix}--parent-row
@@ -471,12 +493,17 @@
471
493
  }
472
494
 
473
495
  .#{$prefix}--data-table--slug-row td,
474
- .#{$prefix}--data-table tr.#{$prefix}--data-table--slug-row:hover td,
475
- .#{$prefix}--data-table--ai-label-row td,
476
- .#{$prefix}--data-table tr.#{$prefix}--data-table--ai-label-row:hover td {
496
+ .#{$prefix}--data-table--ai-label-row td {
477
497
  border-block-start: 1px solid transparent;
478
498
  }
479
499
 
500
+ @media (any-hover: hover) {
501
+ .#{$prefix}--data-table tr.#{$prefix}--data-table--slug-row:hover td,
502
+ .#{$prefix}--data-table tr.#{$prefix}--data-table--ai-label-row:hover td {
503
+ border-block-start: 1px solid transparent;
504
+ }
505
+ }
506
+
480
507
  // Windows HCM fix
481
508
  .#{$prefix}--table-expand__button:focus .#{$prefix}--table-expand__svg {
482
509
  @include high-contrast-mode('focus');
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -30,14 +30,16 @@
30
30
  inline-size: convert.to-rem(64px);
31
31
  }
32
32
 
33
- .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td {
34
- border-color: $border-subtle;
35
- background: transparent;
36
- }
33
+ @media (any-hover: hover) {
34
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td {
35
+ border-color: $border-subtle;
36
+ background: transparent;
37
+ }
37
38
 
38
- .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:first-of-type,
39
- .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:last-of-type {
40
- border-color: $border-subtle;
39
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:first-of-type,
40
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:last-of-type {
41
+ border-color: $border-subtle;
42
+ }
41
43
  }
42
44
 
43
45
  .#{$prefix}--data-table.#{$prefix}--skeleton .#{$prefix}--table-sort {
@@ -27,6 +27,26 @@
27
27
  /// @access public
28
28
  /// @group date-picker
29
29
 
30
+ @position-try --bottom-left {
31
+ inset-area: block-end span-inline-start;
32
+ margin-block-start: $spacing-02;
33
+ }
34
+
35
+ @position-try --top-left {
36
+ inset-area: block-start span-inline-start;
37
+ margin-block-end: $spacing-02;
38
+ }
39
+
40
+ @position-try --bottom-right {
41
+ inset-area: block-end span-inline-end;
42
+ margin-block-start: $spacing-02;
43
+ }
44
+
45
+ @position-try --top-right {
46
+ inset-area: block-start span-inline-end;
47
+ margin-block-end: $spacing-02;
48
+ }
49
+
30
50
  @mixin date-picker-next-rules {
31
51
  // Input wrapper needs relative positioning for icon placement
32
52
  .#{$prefix}--date-picker-input__wrapper {
@@ -97,26 +117,6 @@
97
117
 
98
118
  // Handle viewport overflow
99
119
  position-try-options: --bottom-left, --top-left, --bottom-right, --top-right;
100
-
101
- @position-try --bottom-left {
102
- inset-area: block-end span-inline-start;
103
- margin-block-start: $spacing-02;
104
- }
105
-
106
- @position-try --top-left {
107
- inset-area: block-start span-inline-start;
108
- margin-block-end: $spacing-02;
109
- }
110
-
111
- @position-try --bottom-right {
112
- inset-area: block-end span-inline-end;
113
- margin-block-start: $spacing-02;
114
- }
115
-
116
- @position-try --top-right {
117
- inset-area: block-start span-inline-end;
118
- margin-block-end: $spacing-02;
119
- }
120
120
  }
121
121
 
122
122
  .#{$prefix}--date-picker__calendar.open {
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -122,8 +122,10 @@
122
122
  color: $text-disabled;
123
123
  }
124
124
 
125
- &:disabled:hover {
126
- border-block-end: 1px solid transparent;
125
+ @media (any-hover: hover) {
126
+ &:disabled:hover {
127
+ border-block-end: 1px solid transparent;
128
+ }
127
129
  }
128
130
 
129
131
  &::placeholder {