@patternfly/patternfly 6.3.0-prerelease.38 → 6.3.0-prerelease.39

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.
@@ -14,8 +14,6 @@
14
14
  --pf-v6-c-table__tbody--cell--PaddingBlockStart: var(--pf-v6-c-table--cell--Padding--base);
15
15
  --pf-v6-c-table__tbody--cell--PaddingBlockEnd: var(--pf-v6-c-table--cell--Padding--base);
16
16
  --pf-v6-c-table__tbody--cell--FontSize: var(--pf-t--global--font--size--body--default);
17
- --pf-v6-c-table__tbody--BorderBlockEndWidth: var(--pf-t--global--border--width--divider--default);
18
- --pf-v6-c-table__tbody--BorderBlockEndColor: var(--pf-t--global--border--color--default);
19
17
  --pf-v6-c-table__tr--BorderBlockEndWidth: var(--pf-t--global--border--width--divider--default);
20
18
  --pf-v6-c-table__tr--BorderBlockEndColor: var(--pf-t--global--border--color--default);
21
19
  --pf-v6-c-table--cell--Padding--base: var(--pf-t--global--spacer--md);
@@ -208,7 +206,7 @@
208
206
  --pf-v6-c-table__sticky-column--BackgroundColor: var(--pf-v6-c-table--m-striped__tr--BackgroundColor);
209
207
  background: var(--pf-v6-c-table--m-striped__tr--BackgroundColor);
210
208
  }
211
- .pf-v6-c-table tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row:where(:nth-child(n+2))).pf-m-ghost-row {
209
+ .pf-v6-c-table tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row).pf-m-ghost-row {
212
210
  background-color: var(--pf-v6-c-table__tr--m-ghost-row--BackgroundColor);
213
211
  opacity: var(--pf-v6-c-table__tr--m-ghost-row--Opacity);
214
212
  }
@@ -408,7 +406,7 @@
408
406
  background-color: var(--pf-v6-c-table__tbody--m-selected--BackgroundColor);
409
407
  outline-offset: var(--pf-v6-c-table__tbody--m-selected--OutlineOffset);
410
408
  }
411
- .pf-v6-c-table tbody:where(.pf-v6-c-table__tbody).pf-m-selected .pf-v6-c-table__tr.pf-m-expanded:not(.pf-v6-c-table__expandable-row:where(:nth-child(n+2))) {
409
+ .pf-v6-c-table tbody:where(.pf-v6-c-table__tbody).pf-m-selected .pf-v6-c-table__tr.pf-m-expanded:not(.pf-v6-c-table__expandable-row) {
412
410
  border: none;
413
411
  }
414
412
  .pf-v6-c-table.pf-m-drag-over {
@@ -424,7 +422,10 @@
424
422
  .pf-v6-c-table .pf-v6-c-button .pf-v6-c-table__sort-indicator {
425
423
  --pf-v6-c-table__sort-indicator--MarginInlineStart: 0;
426
424
  }
427
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) {
425
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody.pf-m-expanded > .pf-v6-c-table__control-row {
426
+ border-block-end: 0;
427
+ }
428
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row {
428
429
  display: var(--pf-v6-c-table__expandable-row--Display, revert);
429
430
  visibility: hidden;
430
431
  opacity: var(--pf-v6-c-table__expandable-row--Opacity);
@@ -434,33 +435,36 @@
434
435
  transition-property: opacity, translate, visibility, background-color;
435
436
  translate: 0 var(--pf-v6-c-table__expandable-row--TranslateY);
436
437
  }
437
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2))[hidden] {
438
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row[hidden] {
438
439
  display: var(--pf-v6-c-table__expandable-row--Display, revert);
439
440
  }
440
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)).pf-m-expanded {
441
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row.pf-m-expanded {
441
442
  visibility: visible;
442
443
  opacity: var(--pf-v6-c-table__tbody--m-expanded__expandable-row--Opacity);
443
444
  transition-delay: 0s;
444
445
  transition-duration: var(--pf-v6-c-table__expandable-row--TransitionDuration--expand--fade), var(--pf-v6-c-table__expandable-row--TransitionDuration--expand--slide), 0s, 0s;
445
446
  translate: 0 var(--pf-v6-c-table__tbody--m-expanded__expandable-row--TranslateY);
446
447
  }
447
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)).pf-m-expanded > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
448
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row.pf-m-expanded > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
448
449
  max-height: 99999px;
449
450
  }
450
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)):not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) {
451
- --pf-v6-c-table--cell--responsive--label: none;
452
- }
453
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)):not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th),
454
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)):not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
451
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th),
452
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
455
453
  padding: 0;
456
454
  overflow: hidden;
457
455
  transition-delay: var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade);
458
456
  transition-property: padding, max-height, overflow;
459
457
  }
460
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:where(:nth-child(n+2)):not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
458
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row:not(.pf-m-expanded) > :is(.pf-v6-c-table__td, .pf-v6-c-table__th) > .pf-v6-c-table__expandable-row-content {
461
459
  max-height: 0;
462
460
  }
463
- .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__control-row.pf-m-no-animate-expand ~ .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) {
461
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__control-row ~ .pf-v6-c-table__expandable-row.pf-m-expanded > :is(.pf-v6-c-table__th, .pf-v6-c-table__td):not(.pf-m-no-padding) {
462
+ padding-block-start: var(--pf-v6-c-table--cell--PaddingBlockStart);
463
+ }
464
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__tr:has(~ .pf-v6-c-table__expandable-row) {
465
+ border-block-end: 0;
466
+ }
467
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__control-row.pf-m-no-animate-expand ~ .pf-v6-c-table__expandable-row {
464
468
  --pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade: 0s;
465
469
  --pf-v6-c-table__expandable-row--TransitionDuration--collapse--slide: 0s;
466
470
  --pf-v6-c-table__expandable-row--TransitionDuration--expand--fade: 0s;
@@ -767,7 +771,46 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
767
771
  pointer-events: none;
768
772
  }
769
773
 
770
- .pf-v6-c-table__tr:has(~ .pf-v6-c-table__expandable-row.pf-m-expanded) {
774
+ .pf-v6-c-table__expandable-row {
775
+ position: relative;
776
+ border-block-end: 0 solid transparent;
777
+ }
778
+ :not(.pf-v6-c-table__control-row) ~ .pf-v6-c-table__expandable-row > .pf-v6-c-table__th,
779
+ :not(.pf-v6-c-table__control-row) ~ .pf-v6-c-table__expandable-row > .pf-v6-c-table__td {
780
+ padding-block-start: 0;
781
+ }
782
+
783
+ .pf-v6-c-table__expandable-row td:where(.pf-v6-c-table__td).pf-m-no-padding,
784
+ .pf-v6-c-table__expandable-row th:where(.pf-v6-c-table__th).pf-m-no-padding {
785
+ padding-block-start: 0;
786
+ padding-block-end: 0;
787
+ padding-inline-start: 0;
788
+ padding-inline-end: 0;
789
+ }
790
+ .pf-v6-c-table__expandable-row td:where(.pf-v6-c-table__td).pf-m-no-padding .pf-v6-c-table__expandable-row-content,
791
+ .pf-v6-c-table__expandable-row th:where(.pf-v6-c-table__th).pf-m-no-padding .pf-v6-c-table__expandable-row-content {
792
+ padding: 0;
793
+ border-radius: 0;
794
+ }
795
+ .pf-v6-c-table__expandable-row .pf-v6-c-table__expandable-row-content {
796
+ padding-block-start: var(--pf-v6-c-table__expandable-row-content--PaddingBlockStart);
797
+ padding-block-end: var(--pf-v6-c-table__expandable-row-content--PaddingBlockEnd);
798
+ padding-inline-start: var(--pf-v6-c-table__expandable-row-content--PaddingInlineStart);
799
+ padding-inline-end: var(--pf-v6-c-table__expandable-row-content--PaddingInlineEnd);
800
+ background-color: var(--pf-v6-c-table__expandable-row-content--BackgroundColor);
801
+ border-radius: var(--pf-v6-c-table__expandable-row-content--BorderRadius);
802
+ }
803
+ .pf-v6-c-table__expandable-row .pf-v6-c-table__expandable-row-content.pf-m-no-background {
804
+ background-color: transparent;
805
+ }
806
+ .pf-v6-c-table__expandable-row.pf-m-expanded {
807
+ border-block-end-color: var(--pf-v6-c-table__expandable-row--m-expanded--BorderBlockEndColor);
808
+ border-block-end-width: var(--pf-v6-c-table--border-width--base);
809
+ }
810
+ .pf-v6-c-table__expandable-row:not(.pf-m-expanded) {
811
+ display: none;
812
+ }
813
+ .pf-v6-c-table__expandable-row tr:last-child {
771
814
  border-block-end: 0;
772
815
  }
773
816
 
@@ -775,7 +818,7 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
775
818
  --pf-v6-c-table--cell--PaddingBlockStart: var(--pf-v6-c-table--m-compact--cell--PaddingBlockStart);
776
819
  --pf-v6-c-table--cell--PaddingBlockEnd: var(--pf-v6-c-table--m-compact--cell--PaddingBlockEnd);
777
820
  }
778
- .pf-v6-c-table.pf-m-compact tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row:where(:nth-child(n+2))) {
821
+ .pf-v6-c-table.pf-m-compact tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row) {
779
822
  --pf-v6-c-table--cell--PaddingBlockStart: var(--pf-v6-c-table--m-compact--cell--PaddingBlockStart);
780
823
  --pf-v6-c-table--cell--PaddingBlockEnd: var(--pf-v6-c-table--m-compact--cell--PaddingBlockEnd);
781
824
  }
@@ -819,15 +862,20 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
819
862
  background-color: var(--pf-v6-c-table--compound-expansion--m-expanded--BackgroundColor);
820
863
  }
821
864
 
822
- .pf-v6-c-table__tr.pf-m-expanded:has(~ .pf-v6-c-table__expandable-row) {
865
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tr.pf-m-expanded {
823
866
  border-block-end: 0;
824
867
  }
825
-
826
- .pf-v6-c-table__tbody.pf-m-expanded, .pf-v6-c-table__tbody:has(> .pf-v6-c-table__expandable-row.pf-m-expanded) {
827
- border-block-end: var(--pf-v6-c-table__tbody--BorderBlockEndWidth) solid var(--pf-v6-c-table__tbody--BorderBlockEndColor);
868
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tbody {
869
+ border-block-end: var(--pf-v6-c-table__tr--BorderBlockEndWidth) solid var(--pf-v6-c-table__tr--BorderBlockEndColor);
870
+ }
871
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tbody.pf-m-expanded {
872
+ border-block-end: var(--pf-v6-c-table__tr--BorderBlockEndWidth) solid var(--pf-v6-c-table__tr--BorderBlockEndColor);
828
873
  }
829
- .pf-v6-c-table__tbody.pf-m-expanded .pf-v6-c-table__control-row {
874
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tbody.pf-m-expanded .pf-v6-c-table__control-row {
830
875
  background-color: var(--pf-v6-c-table__control-row--BackgroundColor);
876
+ border-block-end: var(--pf-v6-c-table__control-row--BorderBlockEndWidth) solid var(--pf-v6-c-table__control-row__tbody--BorderBlockEndColor);
877
+ }
878
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tbody.pf-m-expanded .pf-v6-c-table__control-row.pf-m-expanded {
831
879
  border-block-end: 0;
832
880
  }
833
881
 
@@ -841,52 +889,6 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
841
889
  border-block-end: var(--pf-v6-c-table--border-width--base) solid var(--pf-v6-c-table--BorderColor);
842
890
  }
843
891
 
844
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) {
845
- position: relative;
846
- border-block-end: 0 solid transparent;
847
- }
848
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) > .pf-v6-c-table__th,
849
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) > .pf-v6-c-table__td {
850
- padding-block-start: 0;
851
- }
852
- .pf-v6-c-table__control-row ~ .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) > .pf-v6-c-table__th,
853
- .pf-v6-c-table__control-row ~ .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) > .pf-v6-c-table__td {
854
- padding-block-start: var(--pf-v6-c-table--cell--PaddingBlockStart);
855
- }
856
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__td.pf-m-no-padding,
857
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__th.pf-m-no-padding {
858
- padding-block-start: 0;
859
- padding-block-end: 0;
860
- padding-inline-start: 0;
861
- padding-inline-end: 0;
862
- }
863
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__td.pf-m-no-padding .pf-v6-c-table__expandable-row-content,
864
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__th.pf-m-no-padding .pf-v6-c-table__expandable-row-content {
865
- padding: 0;
866
- border-radius: 0;
867
- }
868
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__expandable-row-content {
869
- padding-block-start: var(--pf-v6-c-table__expandable-row-content--PaddingBlockStart);
870
- padding-block-end: var(--pf-v6-c-table__expandable-row-content--PaddingBlockEnd);
871
- padding-inline-start: var(--pf-v6-c-table__expandable-row-content--PaddingInlineStart);
872
- padding-inline-end: var(--pf-v6-c-table__expandable-row-content--PaddingInlineEnd);
873
- background-color: var(--pf-v6-c-table__expandable-row-content--BackgroundColor);
874
- border-radius: var(--pf-v6-c-table__expandable-row-content--BorderRadius);
875
- }
876
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) .pf-v6-c-table__expandable-row-content.pf-m-no-background {
877
- background-color: transparent;
878
- }
879
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)).pf-m-expanded {
880
- border-block-end-color: var(--pf-v6-c-table__expandable-row--m-expanded--BorderBlockEndColor);
881
- border-block-end-width: var(--pf-v6-c-table--border-width--base);
882
- }
883
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)):not(.pf-m-expanded) {
884
- display: none;
885
- }
886
- .pf-v6-c-table__expandable-row:where(:nth-child(n+2)) tr:last-child {
887
- border-block-end: 0;
888
- }
889
-
890
892
  .pf-v6-c-table__icon-inline {
891
893
  display: flex;
892
894
  align-items: center;
@@ -27,8 +27,6 @@
27
27
  --#{$table}__tbody--cell--PaddingBlockStart: var(--#{$table}--cell--Padding--base);
28
28
  --#{$table}__tbody--cell--PaddingBlockEnd: var(--#{$table}--cell--Padding--base);
29
29
  --#{$table}__tbody--cell--FontSize: var(--pf-t--global--font--size--body--default); // set this explicitly for input heights to calc properly
30
- --#{$table}__tbody--BorderBlockEndWidth: var(--pf-t--global--border--width--divider--default);
31
- --#{$table}__tbody--BorderBlockEndColor: var(--pf-t--global--border--color--default);
32
30
 
33
31
  // * Table tr
34
32
  --#{$table}__tr--BorderBlockEndWidth: var(--pf-t--global--border--width--divider--default);
@@ -333,7 +331,7 @@
333
331
 
334
332
  // Standard table row (non-expandable)
335
333
  // exclude expandable rows
336
- tr:where(.#{$table}__tr):not(.#{$table}__expandable-row:where(:nth-child(n+2))) {
334
+ tr:where(.#{$table}__tr):not(.#{$table}__expandable-row) {
337
335
  // stylelint-disable-next-line
338
336
  &.pf-m-ghost-row {
339
337
  background-color: var(--#{$table}__tr--m-ghost-row--BackgroundColor);
@@ -571,7 +569,7 @@
571
569
  background-color: var(--#{$table}__tbody--m-selected--BackgroundColor);
572
570
  outline-offset: var(--#{$table}__tbody--m-selected--OutlineOffset);
573
571
 
574
- .#{$table}__tr.pf-m-expanded:not(.#{$table}__expandable-row:where(:nth-child(n+2))) {
572
+ .#{$table}__tr.pf-m-expanded:not(.#{$table}__expandable-row) {
575
573
  border: none;
576
574
  }
577
575
  }
@@ -598,7 +596,13 @@
598
596
  // stylelint-disable max-nesting-depth, selector-max-class
599
597
  &.pf-m-animate-expand {
600
598
  > .#{$table}__tbody {
601
- > .#{$table}__expandable-row:where(:nth-child(n+2)) {
599
+ &.pf-m-expanded {
600
+ > .#{$table}__control-row {
601
+ border-block-end: 0;
602
+ }
603
+ }
604
+
605
+ > .#{$table}__expandable-row {
602
606
  display: var(--#{$table}__expandable-row--Display, revert);
603
607
  visibility: hidden;
604
608
  opacity: var(--#{$table}__expandable-row--Opacity);
@@ -628,8 +632,6 @@
628
632
 
629
633
  &:not(.pf-m-expanded) {
630
634
  > :is(.#{$table}__td, .#{$table}__th) {
631
- --#{$table}--cell--responsive--label: none;
632
-
633
635
  &,
634
636
  > .#{$table}__expandable-row-content {
635
637
  padding: 0;
@@ -645,7 +647,18 @@
645
647
  }
646
648
  }
647
649
 
648
- > .#{$table}__control-row.pf-m-no-animate-expand ~ .#{$table}__expandable-row:where(:nth-child(n+2)) {
650
+ // Add padding back to compound expandable
651
+ > .#{$table}__control-row ~ .#{$table}__expandable-row.pf-m-expanded {
652
+ > :is(.#{$table}__th, .#{$table}__td):not(.pf-m-no-padding) {
653
+ padding-block-start: var(--#{$table}--cell--PaddingBlockStart);
654
+ }
655
+ }
656
+
657
+ > .#{$table}__tr:has(~ .#{$table}__expandable-row) {
658
+ border-block-end: 0;
659
+ }
660
+
661
+ > .#{$table}__control-row.pf-m-no-animate-expand ~ .#{$table}__expandable-row {
649
662
  --#{$table}__expandable-row--TransitionDuration--collapse--fade: 0s;
650
663
  --#{$table}__expandable-row--TransitionDuration--collapse--slide: 0s;
651
664
  --#{$table}__expandable-row--TransitionDuration--expand--fade: 0s;
@@ -653,7 +666,7 @@
653
666
  }
654
667
  }
655
668
  }
656
- // stylelint-enable max-nesting-depth, selector-max-class
669
+ // stylelint-enable
657
670
  }
658
671
 
659
672
  // - Table truncate - Table wrap - Table nowrap - Table fit content - Table wrap - Table break word
@@ -1041,8 +1054,61 @@
1041
1054
  pointer-events: none;
1042
1055
  }
1043
1056
 
1044
- .#{$table}__tr:has(~ .#{$table}__expandable-row.pf-m-expanded) {
1045
- border-block-end: 0;
1057
+ // - Table expandable row
1058
+ .#{$table}__expandable-row {
1059
+ position: relative;
1060
+ border-block-end: 0 solid transparent;
1061
+
1062
+ @at-root :not(.#{$table}__control-row) ~ .#{$table}__expandable-row {
1063
+ > .#{$table}__th,
1064
+ > .#{$table}__td {
1065
+ padding-block-start: 0;
1066
+ }
1067
+ }
1068
+
1069
+ td:where(.#{$table}__td),
1070
+ th:where(.#{$table}__th) {
1071
+ &.pf-m-no-padding {
1072
+ padding-block-start: 0;
1073
+ padding-block-end: 0;
1074
+ padding-inline-start: 0;
1075
+ padding-inline-end: 0;
1076
+
1077
+ .#{$table}__expandable-row-content {
1078
+ padding: 0;
1079
+ border-radius: 0;
1080
+ }
1081
+ }
1082
+ }
1083
+
1084
+ // - Table expandable row content
1085
+ .#{$table}__expandable-row-content {
1086
+ padding-block-start: var(--#{$table}__expandable-row-content--PaddingBlockStart);
1087
+ padding-block-end: var(--#{$table}__expandable-row-content--PaddingBlockEnd);
1088
+ padding-inline-start: var(--#{$table}__expandable-row-content--PaddingInlineStart);
1089
+ padding-inline-end: var(--#{$table}__expandable-row-content--PaddingInlineEnd);
1090
+ background-color: var(--#{$table}__expandable-row-content--BackgroundColor);
1091
+ border-radius: var(--#{$table}__expandable-row-content--BorderRadius);
1092
+
1093
+ &.pf-m-no-background {
1094
+ background-color: transparent;
1095
+ }
1096
+ }
1097
+
1098
+ // - Table expandable row content expanded
1099
+ &.pf-m-expanded {
1100
+ border-block-end-color: var(--#{$table}__expandable-row--m-expanded--BorderBlockEndColor);
1101
+ border-block-end-width: var(--#{$table}--border-width--base);
1102
+ }
1103
+
1104
+ &:not(.pf-m-expanded) {
1105
+ display: none;
1106
+ }
1107
+
1108
+ // - Table expandable row tr last-child
1109
+ tr:last-child {
1110
+ border-block-end: 0;
1111
+ }
1046
1112
  }
1047
1113
 
1048
1114
  // - Table compact
@@ -1052,7 +1118,7 @@
1052
1118
 
1053
1119
  // - Table compact table tr
1054
1120
  tr:where(.#{$table}__tr) {
1055
- &:not(.#{$table}__expandable-row:where(:nth-child(n+2))) {
1121
+ &:not(.#{$table}__expandable-row) {
1056
1122
  --#{$table}--cell--PaddingBlockStart: var(--#{$table}--m-compact--cell--PaddingBlockStart);
1057
1123
  --#{$table}--cell--PaddingBlockEnd: var(--#{$table}--m-compact--cell--PaddingBlockEnd);
1058
1124
  }
@@ -1116,21 +1182,31 @@
1116
1182
  }
1117
1183
  }
1118
1184
 
1119
- .#{$table}__tr.pf-m-expanded:has(~ .#{$table}__expandable-row) {
1120
- border-block-end: 0;
1121
- }
1185
+ // Table table tbody expandable
1186
+ .#{$table}.pf-m-expandable {
1187
+ .#{$table}__tr.pf-m-expanded {
1188
+ border-block-end: 0;
1189
+ }
1122
1190
 
1123
- .#{$table}__tbody {
1124
- &.pf-m-expanded,
1125
- &:has(> .#{$table}__expandable-row.pf-m-expanded) {
1126
- border-block-end: var(--#{$table}__tbody--BorderBlockEndWidth) solid var(--#{$table}__tbody--BorderBlockEndColor);
1191
+ // - Table tbody
1192
+ .#{$table}__tbody {
1193
+ border-block-end: var(--#{$table}__tr--BorderBlockEndWidth) solid var(--#{$table}__tr--BorderBlockEndColor);
1127
1194
  }
1128
1195
 
1129
- &.pf-m-expanded {
1196
+ // - Table tbody - Table tr
1197
+ .#{$table}__tbody.pf-m-expanded {
1198
+ border-block-end: var(--#{$table}__tr--BorderBlockEndWidth) solid var(--#{$table}__tr--BorderBlockEndColor);
1199
+
1130
1200
  // - Table tbody table control row
1131
1201
  .#{$table}__control-row {
1132
1202
  background-color: var(--#{$table}__control-row--BackgroundColor);
1133
- border-block-end: 0;
1203
+ border-block-end: var(--#{$table}__control-row--BorderBlockEndWidth) solid var(--#{$table}__control-row__tbody--BorderBlockEndColor);
1204
+
1205
+ // stylelint-disable max-nesting-depth, selector-max-class
1206
+ &.pf-m-expanded {
1207
+ border-block-end: 0; // TODO this is a dupe of the block above, consolidate in a breaking change
1208
+ }
1209
+ // stylelint-enable
1134
1210
  }
1135
1211
  }
1136
1212
  }
@@ -1148,71 +1224,6 @@
1148
1224
  }
1149
1225
  }
1150
1226
 
1151
- // - Table expandable row
1152
- // n+2 selects all children except the first because __expandable-row can go on the first row in an expandable tbody when it shouldn't. TODO - remove __expandable-body from first/control tr in breaking change.
1153
- .#{$table}__expandable-row:where(:nth-child(n+2)) {
1154
- position: relative;
1155
- border-block-end: 0 solid transparent;
1156
-
1157
- // Remove top padding from regular expandable
1158
- > .#{$table}__th,
1159
- > .#{$table}__td {
1160
- padding-block-start: 0;
1161
- }
1162
-
1163
- // Add padding back to compound expandable
1164
- .#{$table}__control-row ~ & {
1165
- > .#{$table}__th,
1166
- > .#{$table}__td {
1167
- padding-block-start: var(--#{$table}--cell--PaddingBlockStart);
1168
- }
1169
- }
1170
-
1171
- .#{$table}__td,
1172
- .#{$table}__th {
1173
- &.pf-m-no-padding {
1174
- padding-block-start: 0;
1175
- padding-block-end: 0;
1176
- padding-inline-start: 0;
1177
- padding-inline-end: 0;
1178
-
1179
- .#{$table}__expandable-row-content {
1180
- padding: 0;
1181
- border-radius: 0;
1182
- }
1183
- }
1184
- }
1185
-
1186
- // - Table expandable row content
1187
- .#{$table}__expandable-row-content {
1188
- padding-block-start: var(--#{$table}__expandable-row-content--PaddingBlockStart);
1189
- padding-block-end: var(--#{$table}__expandable-row-content--PaddingBlockEnd);
1190
- padding-inline-start: var(--#{$table}__expandable-row-content--PaddingInlineStart);
1191
- padding-inline-end: var(--#{$table}__expandable-row-content--PaddingInlineEnd);
1192
- background-color: var(--#{$table}__expandable-row-content--BackgroundColor);
1193
- border-radius: var(--#{$table}__expandable-row-content--BorderRadius);
1194
-
1195
- &.pf-m-no-background {
1196
- background-color: transparent;
1197
- }
1198
- }
1199
-
1200
- // - Table expandable row content expanded
1201
- &.pf-m-expanded {
1202
- border-block-end-color: var(--#{$table}__expandable-row--m-expanded--BorderBlockEndColor);
1203
- border-block-end-width: var(--#{$table}--border-width--base);
1204
- }
1205
-
1206
- &:not(.pf-m-expanded) {
1207
- display: none;
1208
- }
1209
-
1210
- // - Table expandable row tr last-child
1211
- tr:last-child {
1212
- border-block-end: 0;
1213
- }
1214
- }
1215
-
1216
1227
  // - Table icon inline
1217
1228
  .#{$table}__icon-inline {
1218
1229
  display: flex;