@patternfly/patternfly 6.3.0-prerelease.5 → 6.3.0-prerelease.51

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 (129) hide show
  1. package/README.md +8 -6
  2. package/assets/images/icon-help.hbs +3 -0
  3. package/assets/images/icon-outlined-star.hbs +3 -0
  4. package/assets/images/icon-star.hbs +3 -0
  5. package/base/normalize.scss +4 -0
  6. package/base/patternfly-common.css +46 -11
  7. package/base/patternfly-common.scss +58 -13
  8. package/components/Accordion/accordion.css +72 -3
  9. package/components/Accordion/accordion.scss +78 -6
  10. package/components/Alert/alert-group.css +52 -31
  11. package/components/Alert/alert-group.scss +77 -46
  12. package/components/Button/button.css +155 -6
  13. package/components/Button/button.scss +161 -8
  14. package/components/Card/card.css +0 -1
  15. package/components/Card/card.scss +0 -1
  16. package/components/DataList/data-list.css +2 -2
  17. package/components/DataList/data-list.scss +2 -2
  18. package/components/DualListSelector/dual-list-selector.css +36 -0
  19. package/components/DualListSelector/dual-list-selector.scss +43 -0
  20. package/components/ExpandableSection/expandable-section.css +63 -1
  21. package/components/ExpandableSection/expandable-section.scss +76 -2
  22. package/components/FileUpload/file-upload.css +3 -3
  23. package/components/FileUpload/file-upload.scss +3 -3
  24. package/components/Form/form.css +40 -1
  25. package/components/Form/form.scss +47 -1
  26. package/components/FormControl/form-control.css +16 -0
  27. package/components/FormControl/form-control.scss +9 -0
  28. package/components/InputGroup/input-group.css +80 -0
  29. package/components/InputGroup/input-group.scss +95 -0
  30. package/components/Menu/menu.css +24 -4
  31. package/components/Menu/menu.scss +20 -5
  32. package/components/MenuToggle/menu-toggle.css +38 -4
  33. package/components/MenuToggle/menu-toggle.scss +48 -3
  34. package/components/Nav/nav.css +22 -8
  35. package/components/Nav/nav.scss +22 -9
  36. package/components/Page/page.css +66 -6
  37. package/components/Page/page.scss +48 -5
  38. package/components/Progress/progress.css +16 -0
  39. package/components/Progress/progress.scss +11 -1
  40. package/components/ProgressStepper/progress-stepper.scss +1 -0
  41. package/components/Skeleton/skeleton.css +22 -2
  42. package/components/Skeleton/skeleton.scss +25 -3
  43. package/components/Spinner/spinner.css +5 -0
  44. package/components/Spinner/spinner.scss +6 -0
  45. package/components/Table/table-grid.css +51 -5
  46. package/components/Table/table-grid.scss +22 -1
  47. package/components/Table/table.css +95 -2
  48. package/components/Table/table.scss +138 -3
  49. package/components/Tabs/tabs.css +25 -15
  50. package/components/Tabs/tabs.scss +26 -13
  51. package/components/TextInputGroup/text-input-group.css +23 -0
  52. package/components/TextInputGroup/text-input-group.scss +16 -1
  53. package/components/Timestamp/timestamp.css +4 -0
  54. package/components/Timestamp/timestamp.scss +7 -0
  55. package/components/TreeView/tree-view.css +39 -0
  56. package/components/TreeView/tree-view.scss +42 -2
  57. package/components/Truncate/truncate.css +1 -0
  58. package/components/Truncate/truncate.scss +3 -0
  59. package/components/Wizard/wizard.css +11 -5
  60. package/components/Wizard/wizard.scss +13 -5
  61. package/components/_index.css +961 -99
  62. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  63. package/docs/components/Button/examples/Button.md +161 -6
  64. package/docs/components/Card/examples/Card.md +8 -8
  65. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +24 -29
  66. package/docs/components/CodeBlock/examples/CodeBlock.md +11 -11
  67. package/docs/components/CodeEditor/examples/CodeEditor.md +29 -5
  68. package/docs/components/DataList/examples/DataList.md +23 -23
  69. package/docs/components/DescriptionList/examples/DescriptionList.md +78 -22
  70. package/docs/components/DualListSelector/examples/DualListSelector.md +534 -16
  71. package/docs/components/EmptyState/examples/EmptyState.md +6 -6
  72. package/docs/components/ExpandableSection/examples/ExpandableSection.md +32 -21
  73. package/docs/components/Form/examples/Form.md +1179 -114
  74. package/docs/components/Hint/examples/Hint.md +3 -3
  75. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -6
  76. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  77. package/docs/components/JumpLinks/examples/JumpLinks.md +1 -1
  78. package/docs/components/Label/examples/Label.md +2 -2
  79. package/docs/components/Masthead/examples/masthead.md +90 -12
  80. package/docs/components/Menu/examples/Menu.md +122 -6
  81. package/docs/components/MenuToggle/examples/MenuToggle.md +93 -55
  82. package/docs/components/ModalBox/examples/ModalBox.md +13 -1
  83. package/docs/components/MultipleFileUpload/examples/MultipleFileUpload.md +2 -10
  84. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  85. package/docs/components/Page/examples/Page.md +148 -14
  86. package/docs/components/Pagination/examples/Pagination.md +12 -12
  87. package/docs/components/Popover/examples/Popover.md +0 -4
  88. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  89. package/docs/components/Skeleton/examples/Skeleton.md +21 -7
  90. package/docs/components/Slider/examples/Slider.md +2 -2
  91. package/docs/components/Spinner/examples/Spinner.md +10 -0
  92. package/docs/components/Table/examples/Table.md +9462 -6183
  93. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  94. package/docs/components/TextInputGroup/examples/TextInputGroup.md +168 -49
  95. package/docs/components/Title/examples/Title.md +8 -8
  96. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  97. package/docs/components/Wizard/examples/Wizard.md +583 -0
  98. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  99. package/docs/demos/Alert/examples/Alert.md +66 -9
  100. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  101. package/docs/demos/Banner/examples/Banner.md +47 -6
  102. package/docs/demos/Card/examples/Card.md +13 -67
  103. package/docs/demos/CardView/examples/CardView.md +24 -5
  104. package/docs/demos/Dashboard/examples/Dashboard.md +29 -7
  105. package/docs/demos/DataList/examples/DataList.md +100 -24
  106. package/docs/demos/DescriptionList/examples/DescriptionList.md +79 -50
  107. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  108. package/docs/demos/Form/examples/BasicForms.md +142 -22
  109. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  110. package/docs/demos/Masthead/examples/Masthead.md +171 -19
  111. package/docs/demos/Modal/examples/Modal.md +171 -21
  112. package/docs/demos/Nav/examples/Nav.md +113 -18
  113. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +110 -15
  114. package/docs/demos/Page/examples/Page.md +661 -40
  115. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -1
  116. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +160 -103
  117. package/docs/demos/Skeleton/examples/Skeleton.md +25 -4
  118. package/docs/demos/Table/examples/Table.md +475 -157
  119. package/docs/demos/Tabs/examples/Tabs.md +139 -594
  120. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  121. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  122. package/package.json +9 -6
  123. package/patternfly-base-no-globals.css +45 -11
  124. package/patternfly-base.css +49 -11
  125. package/patternfly-no-globals.css +1006 -110
  126. package/patternfly.css +1010 -110
  127. package/patternfly.min.css +1 -1
  128. package/patternfly.min.css.map +1 -1
  129. package/sass-utilities/mixins.scss +54 -0
@@ -11,8 +11,8 @@
11
11
  --pf-v6-c-skeleton--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
12
12
  --pf-v6-c-skeleton--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
13
13
  --pf-v6-c-skeleton--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
14
- --pf-v6-c-skeleton--after--TranslateX: -100%;
15
- --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading;
14
+ --pf-v6-c-skeleton--after--TranslateX: 0;
15
+ --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading-reduced-motion;
16
16
  --pf-v6-c-skeleton--after--AnimationDuration: 3s;
17
17
  --pf-v6-c-skeleton--after--AnimationIterationCount: infinite;
18
18
  --pf-v6-c-skeleton--after--AnimationTimingFunction: linear;
@@ -44,6 +44,15 @@
44
44
  --pf-v6-c-skeleton--m-height-75--Height: 75%;
45
45
  --pf-v6-c-skeleton--m-height-100--Height: 100%;
46
46
  }
47
+ @media screen and (prefers-reduced-motion: no-preference) {
48
+ .pf-v6-c-skeleton {
49
+ --pf-v6-c-skeleton--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
50
+ --pf-v6-c-skeleton--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
51
+ --pf-v6-c-skeleton--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
52
+ --pf-v6-c-skeleton--after--TranslateX: -100%;
53
+ --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading;
54
+ }
55
+ }
47
56
 
48
57
  .pf-v6-c-skeleton {
49
58
  position: relative;
@@ -163,4 +172,15 @@
163
172
  100% {
164
173
  transform: translateX(100%);
165
174
  }
175
+ }
176
+ @keyframes pf-v6-c-skeleton-loading-reduced-motion {
177
+ 0% {
178
+ opacity: 0.25;
179
+ }
180
+ 60% {
181
+ opacity: 1;
182
+ }
183
+ 100% {
184
+ opacity: 0.25;
185
+ }
166
186
  }
@@ -14,15 +14,23 @@
14
14
  // After
15
15
  --#{$skeleton}--after--LinearGradientAngle: 90deg;
16
16
  --#{$skeleton}--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
17
- --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover); // TODO: replace with new token
17
+ --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
18
18
  --#{$skeleton}--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
19
- --#{$skeleton}--after--TranslateX: -100%;
20
- --#{$skeleton}--after--AnimationName: #{$skeleton}-loading;
19
+ --#{$skeleton}--after--TranslateX: 0;
20
+ --#{$skeleton}--after--AnimationName: #{$skeleton}-loading-reduced-motion;
21
21
  --#{$skeleton}--after--AnimationDuration: 3s;
22
22
  --#{$skeleton}--after--AnimationIterationCount: infinite;
23
23
  --#{$skeleton}--after--AnimationTimingFunction: linear;
24
24
  --#{$skeleton}--after--AnimationDelay: .5s;
25
25
 
26
+ @media screen and (prefers-reduced-motion: no-preference) {
27
+ --#{$skeleton}--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
28
+ --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
29
+ --#{$skeleton}--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
30
+ --#{$skeleton}--after--TranslateX: -100%;
31
+ --#{$skeleton}--after--AnimationName: #{$skeleton}-loading;
32
+ }
33
+
26
34
  // Circle
27
35
  --#{$skeleton}--m-circle--BorderRadius: var(--pf-t--global--border--radius--pill);
28
36
  --#{$skeleton}--m-circle--before--PaddingBlockEnd: 100%;
@@ -209,3 +217,17 @@
209
217
  transform: translateX(100%);
210
218
  }
211
219
  }
220
+
221
+ @keyframes #{$skeleton}-loading-reduced-motion {
222
+ 0% {
223
+ opacity: 0.25;
224
+ }
225
+
226
+ 60% {
227
+ opacity: 1;
228
+ }
229
+
230
+ 100% {
231
+ opacity: 0.25;
232
+ }
233
+ }
@@ -8,6 +8,7 @@
8
8
  --pf-v6-c-spinner--StrokeWidth: 10;
9
9
  --pf-v6-c-spinner__path--StrokeWidth: var(--pf-v6-c-spinner--StrokeWidth);
10
10
  --pf-v6-c-spinner__path--AnimationTimingFunction: ease-in-out;
11
+ --pf-v6-c-spinner--m-xs--diameter: var(--pf-t--global--icon--size--sm);
11
12
  --pf-v6-c-spinner--m-sm--diameter: var(--pf-t--global--icon--size--md);
12
13
  --pf-v6-c-spinner--m-md--diameter: var(--pf-t--global--icon--size--lg);
13
14
  --pf-v6-c-spinner--m-lg--diameter: var(--pf-t--global--icon--size--xl);
@@ -24,6 +25,10 @@
24
25
  .pf-v6-c-spinner.pf-m-inline {
25
26
  --pf-v6-c-spinner--diameter: var(--pf-v6-c-spinner--m-inline--diameter);
26
27
  }
28
+ .pf-v6-c-spinner.pf-m-xs {
29
+ --pf-v6-c-spinner--diameter: var(--pf-v6-c-spinner--m-xs--diameter);
30
+ --pf-v6-c-spinner--StrokeWidth: 15;
31
+ }
27
32
  .pf-v6-c-spinner.pf-m-sm {
28
33
  --pf-v6-c-spinner--diameter: var(--pf-v6-c-spinner--m-sm--diameter);
29
34
  }
@@ -14,6 +14,7 @@
14
14
  --#{$spinner}__path--AnimationTimingFunction: ease-in-out;
15
15
 
16
16
  // sizes
17
+ --#{$spinner}--m-xs--diameter: var(--pf-t--global--icon--size--sm);
17
18
  --#{$spinner}--m-sm--diameter: var(--pf-t--global--icon--size--md);
18
19
  --#{$spinner}--m-md--diameter: var(--pf-t--global--icon--size--lg);
19
20
  --#{$spinner}--m-lg--diameter: var(--pf-t--global--icon--size--xl);
@@ -34,6 +35,11 @@
34
35
  --#{$spinner}--diameter: var(--#{$spinner}--m-inline--diameter);
35
36
  }
36
37
 
38
+ &.pf-m-xs {
39
+ --#{$spinner}--diameter: var(--#{$spinner}--m-xs--diameter);
40
+ --#{$spinner}--StrokeWidth: 15;
41
+ }
42
+
37
43
  &.pf-m-sm {
38
44
  --#{$spinner}--diameter: var(--#{$spinner}--m-sm--diameter);
39
45
  }
@@ -34,6 +34,7 @@
34
34
  --pf-v6-c-table--cell--first-child--responsive--PaddingBlockStart: var(--pf-t--global--spacer--sm);
35
35
  --pf-v6-c-table--cell--responsive--PaddingInlineEnd: 0;
36
36
  --pf-v6-c-table--cell--responsive--PaddingInlineStart: 0;
37
+ --pf-v6-c-table--cell--responsive--th--FontWeight: var(--pf-t--global--font--weight--body--bold);
37
38
  --pf-v6-c-table--m-compact__tr--responsive--PaddingBlockStart: var(--pf-t--global--spacer--sm);
38
39
  --pf-v6-c-table--m-compact__tr--responsive--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
39
40
  --pf-v6-c-table--m-compact__tr__td--responsive--PaddingBlockStart: var(--pf-t--global--spacer--xs);
@@ -97,6 +98,12 @@
97
98
  .pf-m-grid.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
98
99
  border-block-start: var(--pf-v6-c-table__tbody--responsive--border-width--base) solid var(--pf-v6-c-table--responsive--BorderColor);
99
100
  }
101
+ .pf-m-grid.pf-v6-c-table.pf-m-animate-expand {
102
+ --pf-v6-c-table__expandable-row--Display: block;
103
+ }
104
+ .pf-m-grid.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)[data-label]::before {
105
+ content: none;
106
+ }
100
107
  .pf-m-grid.pf-v6-c-table.pf-m-expandable {
101
108
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
102
109
  }
@@ -153,12 +160,15 @@
153
160
  grid-template-columns: 1fr minmax(0, 1.5fr);
154
161
  align-items: start;
155
162
  }
163
+ .pf-m-grid.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label].pf-m-action {
164
+ align-items: center;
165
+ }
156
166
  .pf-m-grid.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label] > * {
157
167
  grid-column: 2;
158
168
  }
159
169
  .pf-m-grid.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label]::before {
160
170
  position: revert;
161
- font-weight: bold;
171
+ font-weight: var(--pf-v6-c-table--cell--responsive--th--FontWeight);
162
172
  text-align: start;
163
173
  content: attr(data-label);
164
174
  }
@@ -397,6 +407,12 @@
397
407
  .pf-m-grid-md.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
398
408
  border-block-start: var(--pf-v6-c-table__tbody--responsive--border-width--base) solid var(--pf-v6-c-table--responsive--BorderColor);
399
409
  }
410
+ .pf-m-grid-md.pf-v6-c-table.pf-m-animate-expand {
411
+ --pf-v6-c-table__expandable-row--Display: block;
412
+ }
413
+ .pf-m-grid-md.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)[data-label]::before {
414
+ content: none;
415
+ }
400
416
  .pf-m-grid-md.pf-v6-c-table.pf-m-expandable {
401
417
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
402
418
  }
@@ -453,12 +469,15 @@
453
469
  grid-template-columns: 1fr minmax(0, 1.5fr);
454
470
  align-items: start;
455
471
  }
472
+ .pf-m-grid-md.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label].pf-m-action {
473
+ align-items: center;
474
+ }
456
475
  .pf-m-grid-md.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label] > * {
457
476
  grid-column: 2;
458
477
  }
459
478
  .pf-m-grid-md.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label]::before {
460
479
  position: revert;
461
- font-weight: bold;
480
+ font-weight: var(--pf-v6-c-table--cell--responsive--th--FontWeight);
462
481
  text-align: start;
463
482
  content: attr(data-label);
464
483
  }
@@ -700,6 +719,12 @@
700
719
  .pf-m-grid-lg.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
701
720
  border-block-start: var(--pf-v6-c-table__tbody--responsive--border-width--base) solid var(--pf-v6-c-table--responsive--BorderColor);
702
721
  }
722
+ .pf-m-grid-lg.pf-v6-c-table.pf-m-animate-expand {
723
+ --pf-v6-c-table__expandable-row--Display: block;
724
+ }
725
+ .pf-m-grid-lg.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)[data-label]::before {
726
+ content: none;
727
+ }
703
728
  .pf-m-grid-lg.pf-v6-c-table.pf-m-expandable {
704
729
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
705
730
  }
@@ -756,12 +781,15 @@
756
781
  grid-template-columns: 1fr minmax(0, 1.5fr);
757
782
  align-items: start;
758
783
  }
784
+ .pf-m-grid-lg.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label].pf-m-action {
785
+ align-items: center;
786
+ }
759
787
  .pf-m-grid-lg.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label] > * {
760
788
  grid-column: 2;
761
789
  }
762
790
  .pf-m-grid-lg.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label]::before {
763
791
  position: revert;
764
- font-weight: bold;
792
+ font-weight: var(--pf-v6-c-table--cell--responsive--th--FontWeight);
765
793
  text-align: start;
766
794
  content: attr(data-label);
767
795
  }
@@ -1003,6 +1031,12 @@
1003
1031
  .pf-m-grid-xl.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
1004
1032
  border-block-start: var(--pf-v6-c-table__tbody--responsive--border-width--base) solid var(--pf-v6-c-table--responsive--BorderColor);
1005
1033
  }
1034
+ .pf-m-grid-xl.pf-v6-c-table.pf-m-animate-expand {
1035
+ --pf-v6-c-table__expandable-row--Display: block;
1036
+ }
1037
+ .pf-m-grid-xl.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)[data-label]::before {
1038
+ content: none;
1039
+ }
1006
1040
  .pf-m-grid-xl.pf-v6-c-table.pf-m-expandable {
1007
1041
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
1008
1042
  }
@@ -1059,12 +1093,15 @@
1059
1093
  grid-template-columns: 1fr minmax(0, 1.5fr);
1060
1094
  align-items: start;
1061
1095
  }
1096
+ .pf-m-grid-xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label].pf-m-action {
1097
+ align-items: center;
1098
+ }
1062
1099
  .pf-m-grid-xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label] > * {
1063
1100
  grid-column: 2;
1064
1101
  }
1065
1102
  .pf-m-grid-xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label]::before {
1066
1103
  position: revert;
1067
- font-weight: bold;
1104
+ font-weight: var(--pf-v6-c-table--cell--responsive--th--FontWeight);
1068
1105
  text-align: start;
1069
1106
  content: attr(data-label);
1070
1107
  }
@@ -1306,6 +1343,12 @@
1306
1343
  .pf-m-grid-2xl.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
1307
1344
  border-block-start: var(--pf-v6-c-table__tbody--responsive--border-width--base) solid var(--pf-v6-c-table--responsive--BorderColor);
1308
1345
  }
1346
+ .pf-m-grid-2xl.pf-v6-c-table.pf-m-animate-expand {
1347
+ --pf-v6-c-table__expandable-row--Display: block;
1348
+ }
1349
+ .pf-m-grid-2xl.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)[data-label]::before {
1350
+ content: none;
1351
+ }
1309
1352
  .pf-m-grid-2xl.pf-v6-c-table.pf-m-expandable {
1310
1353
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
1311
1354
  }
@@ -1362,12 +1405,15 @@
1362
1405
  grid-template-columns: 1fr minmax(0, 1.5fr);
1363
1406
  align-items: start;
1364
1407
  }
1408
+ .pf-m-grid-2xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label].pf-m-action {
1409
+ align-items: center;
1410
+ }
1365
1411
  .pf-m-grid-2xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label] > * {
1366
1412
  grid-column: 2;
1367
1413
  }
1368
1414
  .pf-m-grid-2xl.pf-v6-c-table :where(.pf-v6-c-table__th, .pf-v6-c-table__td)[data-label]::before {
1369
1415
  position: revert;
1370
- font-weight: bold;
1416
+ font-weight: var(--pf-v6-c-table--cell--responsive--th--FontWeight);
1371
1417
  text-align: start;
1372
1418
  content: attr(data-label);
1373
1419
  }
@@ -94,6 +94,7 @@
94
94
  --#{$table}--cell--first-child--responsive--PaddingBlockStart: var(--pf-t--global--spacer--sm);
95
95
  --#{$table}--cell--responsive--PaddingInlineEnd: 0;
96
96
  --#{$table}--cell--responsive--PaddingInlineStart: 0;
97
+ --#{$table}--cell--responsive--th--FontWeight: var(--pf-t--global--font--weight--body--bold);
97
98
 
98
99
  // * Table grid compact table
99
100
  --#{$table}--m-compact__tr--responsive--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -132,6 +133,8 @@
132
133
 
133
134
  // - Table mobile layout
134
135
  @include pf-mobile-layout {
136
+ $pf-mobile-parent: &;
137
+
135
138
  --#{$table}--cell--PaddingBlockStart: var(--#{$table}--m-grid--cell--PaddingBlockStart);
136
139
  --#{$table}--cell--PaddingInlineEnd: var(--#{$table}--m-grid--cell--PaddingInlineEnd);
137
140
  --#{$table}--cell--PaddingBlockEnd: var(--#{$table}--m-grid--cell--PaddingBlockEnd);
@@ -182,6 +185,20 @@
182
185
  }
183
186
  }
184
187
 
188
+ &.pf-m-animate-expand {
189
+ --#{$table}__expandable-row--Display: block;
190
+
191
+ > .#{$table}__tbody > .#{$table}__expandable-row {
192
+ &:not(.pf-m-expanded) {
193
+ > :is(.#{$table}__td, .#{$table}__th) {
194
+ &[data-label]::before {
195
+ content: none; // hides column header for non-expanded rows
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
185
202
  // Remove border on tr inside non-expanded tbody in of expandable tables
186
203
  &.pf-m-expandable {
187
204
  --#{$table}__tr--BorderBlockEndWidth: 0; // nested table rows have no border
@@ -265,6 +282,10 @@
265
282
  grid-template-columns: 1fr minmax(0, 1.5fr);
266
283
  align-items: start;
267
284
 
285
+ &.pf-m-action {
286
+ align-items: center;
287
+ }
288
+
268
289
  // set contents of td to start at column two of td grid
269
290
  > * {
270
291
  grid-column: 2;
@@ -272,7 +293,7 @@
272
293
 
273
294
  &::before {
274
295
  position: revert;
275
- font-weight: bold;
296
+ font-weight: var(--#{$table}--cell--responsive--th--FontWeight);
276
297
  text-align: start;
277
298
  content: attr(data-label);
278
299
  }
@@ -10,7 +10,8 @@
10
10
  --pf-v6-c-table__caption--PaddingInlineStart: var(--pf-t--global--spacer--inset--page-chrome);
11
11
  --pf-v6-c-table__thead--cell--FontSize: var(--pf-t--global--font--size--body--sm);
12
12
  --pf-v6-c-table__thead--cell--FontWeight: var(--pf-t--global--font--weight--body--bold);
13
- --pf-v6-c-table__thead__toggle--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
13
+ --pf-v6-c-table__thead__toggle--PaddingBlockStart: var(--pf-v6-c-table--cell--Padding--base);
14
+ --pf-v6-c-table__thead__toggle--PaddingBlockEnd: var(--pf-v6-c-table--cell--Padding--base);
14
15
  --pf-v6-c-table__tbody--cell--PaddingBlockStart: var(--pf-v6-c-table--cell--Padding--base);
15
16
  --pf-v6-c-table__tbody--cell--PaddingBlockEnd: var(--pf-v6-c-table--cell--Padding--base);
16
17
  --pf-v6-c-table__tbody--cell--FontSize: var(--pf-t--global--font--size--body--default);
@@ -74,6 +75,15 @@
74
75
  --pf-v6-c-table__action--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
75
76
  --pf-v6-c-table__action--PaddingInlineStart: var(--pf-t--global--spacer--sm);
76
77
  --pf-v6-c-table__action--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
78
+ --pf-v6-c-table__expandable-row--TransitionDuration--expand--slide: 0s;
79
+ --pf-v6-c-table__expandable-row--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
80
+ --pf-v6-c-table__expandable-row--TransitionDuration--collapse--slide: 0s;
81
+ --pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
82
+ --pf-v6-c-table__expandable-row--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
83
+ --pf-v6-c-table__expandable-row--Opacity: 0;
84
+ --pf-v6-c-table__tbody--m-expanded__expandable-row--Opacity: 1;
85
+ --pf-v6-c-table__expandable-row--TranslateY: 0;
86
+ --pf-v6-c-table__tbody--m-expanded__expandable-row--TranslateY: 0;
77
87
  --pf-v6-c-table__expandable-row-content--PaddingBlockStart: var(--pf-t--global--spacer--md);
78
88
  --pf-v6-c-table__expandable-row-content--PaddingBlockEnd: var(--pf-t--global--spacer--md);
79
89
  --pf-v6-c-table__expandable-row-content--PaddingInlineStart: var(--pf-t--global--spacer--md);
@@ -109,6 +119,10 @@
109
119
  --pf-v6-c-table--m-compact__th--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
110
120
  --pf-v6-c-table--m-compact--cell--PaddingBlockStart: var(--pf-t--global--spacer--sm);
111
121
  --pf-v6-c-table--m-compact--cell--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
122
+ --pf-v6-c-table__td--m-action--PaddingBlockStart: var(--pf-t--global--spacer--sm);
123
+ --pf-v6-c-table__td--m-action--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
124
+ --pf-v6-c-table--m-compact__td--m-action--PaddingBlockStart: var(--pf-t--global--spacer--xs);
125
+ --pf-v6-c-table--m-compact__td--m-action--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
112
126
  --pf-v6-c-table--m-compact__action--PaddingBlockStart: var(--pf-t--global--spacer--xs);
113
127
  --pf-v6-c-table--m-compact__action--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
114
128
  --pf-v6-c-table__expandable-row--m-expanded--BorderBlockEndColor: var(--pf-t--global--border--color--default);
@@ -134,6 +148,13 @@
134
148
  --pf-v6-c-table--m-sticky-header--ZIndex: calc(var(--pf-t--global--z-index--xs) + 1);
135
149
  --pf-v6-c-table--m-sticky-header--border--ZIndex: calc(var(--pf-t--global--z-index--xs) + 2);
136
150
  }
151
+ @media screen and (prefers-reduced-motion: no-preference) {
152
+ .pf-v6-c-table {
153
+ --pf-v6-c-table__expandable-row--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
154
+ --pf-v6-c-table__expandable-row--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
155
+ --pf-v6-c-table__expandable-row--TranslateY: -.5rem;
156
+ }
157
+ }
137
158
 
138
159
  .pf-v6-c-table {
139
160
  width: 100%;
@@ -330,6 +351,10 @@
330
351
  .pf-v6-c-table tbody:where(.pf-v6-c-table__tbody) > tr:where(.pf-v6-c-table__tr) > :where(th, td) {
331
352
  overflow-wrap: break-word;
332
353
  }
354
+ .pf-v6-c-table .pf-v6-c-table__td.pf-m-action {
355
+ --pf-v6-c-table--cell--PaddingBlockStart: var(--pf-v6-c-table__td--m-action--PaddingBlockStart);
356
+ --pf-v6-c-table--cell--PaddingBlockEnd: var(--pf-v6-c-table__td--m-action--PaddingBlockEnd);
357
+ }
333
358
  .pf-v6-c-table .pf-v6-c-table__sort {
334
359
  min-width: var(--pf-v6-c-table__sort--MinWidth);
335
360
  }
@@ -398,6 +423,51 @@
398
423
  .pf-v6-c-table .pf-v6-c-button .pf-v6-c-table__sort-indicator {
399
424
  --pf-v6-c-table__sort-indicator--MarginInlineStart: 0;
400
425
  }
426
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody.pf-m-expanded > .pf-v6-c-table__control-row {
427
+ border-block-end: 0;
428
+ }
429
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row {
430
+ display: var(--pf-v6-c-table__expandable-row--Display, revert);
431
+ visibility: hidden;
432
+ opacity: var(--pf-v6-c-table__expandable-row--Opacity);
433
+ transition-delay: 0s, 0s, var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade), var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade);
434
+ transition-timing-function: var(--pf-v6-c-table__expandable-row--TransitionTimingFunction);
435
+ transition-duration: var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade), var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--slide), 0s, 0s;
436
+ transition-property: opacity, translate, visibility, background-color;
437
+ translate: 0 var(--pf-v6-c-table__expandable-row--TranslateY);
438
+ }
439
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row[hidden] {
440
+ display: var(--pf-v6-c-table__expandable-row--Display, revert);
441
+ }
442
+ .pf-v6-c-table.pf-m-animate-expand > .pf-v6-c-table__tbody > .pf-v6-c-table__expandable-row.pf-m-expanded {
443
+ visibility: visible;
444
+ opacity: var(--pf-v6-c-table__tbody--m-expanded__expandable-row--Opacity);
445
+ transition-delay: 0s;
446
+ transition-duration: var(--pf-v6-c-table__expandable-row--TransitionDuration--expand--fade), var(--pf-v6-c-table__expandable-row--TransitionDuration--expand--slide), 0s, 0s;
447
+ translate: 0 var(--pf-v6-c-table__tbody--m-expanded__expandable-row--TranslateY);
448
+ }
449
+ .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 {
450
+ max-height: 99999px;
451
+ }
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),
453
+ .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 {
454
+ padding: 0;
455
+ overflow: hidden;
456
+ transition-delay: var(--pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade);
457
+ transition-property: padding, max-height, overflow;
458
+ }
459
+ .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 {
460
+ max-height: 0;
461
+ }
462
+ .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) {
463
+ border-block-end: 0;
464
+ }
465
+ .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 {
466
+ --pf-v6-c-table__expandable-row--TransitionDuration--collapse--fade: 0s;
467
+ --pf-v6-c-table__expandable-row--TransitionDuration--collapse--slide: 0s;
468
+ --pf-v6-c-table__expandable-row--TransitionDuration--expand--fade: 0s;
469
+ --pf-v6-c-table__expandable-row--TransitionDuration--expand--slide: 0s;
470
+ }
401
471
 
402
472
  [class*=pf-v6-c-table].pf-m-truncate {
403
473
  --pf-v6-c-table--cell--MinWidth: var(--pf-v6-c-table--m-truncate--cell--MinWidth);
@@ -544,6 +614,12 @@
544
614
  --pf-v6-c-table--cell--PaddingInlineStart: var(--pf-v6-c-table__toggle--PaddingInlineStart);
545
615
  --pf-v6-c-table--cell--PaddingInlineEnd: var(--pf-v6-c-table__toggle--PaddingInlineEnd);
546
616
  }
617
+ .pf-v6-c-table__thead .pf-v6-c-table__toggle .pf-v6-c-button {
618
+ margin-block-start: calc(var(--pf-v6-c-button--PaddingBlockStart) * -1);
619
+ margin-block-end: calc(var(--pf-v6-c-button--PaddingBlockEnd) * -1);
620
+ line-height: 1lh;
621
+ }
622
+
547
623
  .pf-v6-c-table__toggle .pf-v6-c-button.pf-m-expanded .pf-v6-c-table__toggle-icon {
548
624
  transform: rotate(var(--pf-v6-c-table__toggle--c-button--m-expanded__toggle-icon--Rotate));
549
625
  }
@@ -666,6 +742,9 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
666
742
  align-self: last baseline;
667
743
  margin-inline-start: var(--pf-v6-c-table__column-help--MarginInlineStart);
668
744
  }
745
+ .pf-v6-c-table__column-help-action .pf-v6-c-button {
746
+ line-height: 1lh;
747
+ }
669
748
 
670
749
  .pf-v6-c-table__sort {
671
750
  vertical-align: bottom;
@@ -707,7 +786,9 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
707
786
  :not(.pf-v6-c-table__control-row) ~ .pf-v6-c-table__expandable-row > .pf-v6-c-table__td {
708
787
  padding-block-start: 0;
709
788
  }
710
-
789
+ .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) {
790
+ padding-block-start: var(--pf-v6-c-table--cell--PaddingBlockStart);
791
+ }
711
792
  .pf-v6-c-table__expandable-row td:where(.pf-v6-c-table__td).pf-m-no-padding,
712
793
  .pf-v6-c-table__expandable-row th:where(.pf-v6-c-table__th).pf-m-no-padding {
713
794
  padding-block-start: 0;
@@ -718,6 +799,7 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
718
799
  .pf-v6-c-table__expandable-row td:where(.pf-v6-c-table__td).pf-m-no-padding .pf-v6-c-table__expandable-row-content,
719
800
  .pf-v6-c-table__expandable-row th:where(.pf-v6-c-table__th).pf-m-no-padding .pf-v6-c-table__expandable-row-content {
720
801
  padding: 0;
802
+ border-radius: 0;
721
803
  }
722
804
  .pf-v6-c-table__expandable-row .pf-v6-c-table__expandable-row-content {
723
805
  padding-block-start: var(--pf-v6-c-table__expandable-row-content--PaddingBlockStart);
@@ -727,6 +809,9 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
727
809
  background-color: var(--pf-v6-c-table__expandable-row-content--BackgroundColor);
728
810
  border-radius: var(--pf-v6-c-table__expandable-row-content--BorderRadius);
729
811
  }
812
+ .pf-v6-c-table__expandable-row .pf-v6-c-table__expandable-row-content.pf-m-no-background {
813
+ background-color: transparent;
814
+ }
730
815
  .pf-v6-c-table__expandable-row.pf-m-expanded {
731
816
  border-block-end-color: var(--pf-v6-c-table__expandable-row--m-expanded--BorderBlockEndColor);
732
817
  border-block-end-width: var(--pf-v6-c-table--border-width--base);
@@ -758,6 +843,10 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
758
843
  --pf-v6-c-table--cell--PaddingBlockStart: var(--pf-v6-c-table--m-compact__action--PaddingBlockStart);
759
844
  --pf-v6-c-table--cell--PaddingBlockEnd: var(--pf-v6-c-table--m-compact__action--PaddingBlockEnd);
760
845
  }
846
+ .pf-v6-c-table.pf-m-compact .pf-v6-c-table__td.pf-m-action {
847
+ --pf-v6-c-table--cell--PaddingBlockStart: var(--pf-v6-c-table--m-compact__td--m-action--PaddingBlockStart);
848
+ --pf-v6-c-table--cell--PaddingBlockEnd: var(--pf-v6-c-table--m-compact__td--m-action--PaddingBlockEnd);
849
+ }
761
850
  .pf-v6-c-table.pf-m-compact .pf-v6-c-table__icon {
762
851
  width: auto;
763
852
  min-width: 0;
@@ -766,6 +855,7 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
766
855
 
767
856
  .pf-v6-c-table__thead {
768
857
  --pf-v6-c-table__tr--BorderBlockEndWidth: 0;
858
+ --pf-v6-c-table__toggle--PaddingBlockStart: var(--pf-v6-c-table__thead__toggle--PaddingBlockStart);
769
859
  --pf-v6-c-table__toggle--PaddingBlockEnd: var(--pf-v6-c-table__thead__toggle--PaddingBlockEnd);
770
860
  vertical-align: bottom;
771
861
  }
@@ -795,6 +885,9 @@ thead .pf-v6-c-table__check .pf-v6-c-radio.pf-m-standalone {
795
885
  background-color: var(--pf-v6-c-table__control-row--BackgroundColor);
796
886
  border-block-end: var(--pf-v6-c-table__control-row--BorderBlockEndWidth) solid var(--pf-v6-c-table__control-row__tbody--BorderBlockEndColor);
797
887
  }
888
+ .pf-v6-c-table.pf-m-expandable .pf-v6-c-table__tbody.pf-m-expanded .pf-v6-c-table__control-row.pf-m-expanded {
889
+ border-block-end: 0;
890
+ }
798
891
 
799
892
  .pf-v6-c-table__tr {
800
893
  border-block-end: var(--pf-v6-c-table__tr--BorderBlockEndWidth) solid var(--pf-v6-c-table__tr--BorderBlockEndColor);