@patternfly/patternfly 6.3.0-prerelease.6 → 6.3.0-prerelease.61

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 (168) hide show
  1. package/README.md +22 -14
  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/base/patternfly-variables.css +1172 -1
  9. package/base/patternfly-variables.scss +10 -0
  10. package/base/tokens/tokens-charts-dark.scss +1 -1
  11. package/base/tokens/tokens-charts.scss +1 -1
  12. package/base/tokens/tokens-dark.scss +13 -1
  13. package/base/tokens/tokens-default.scss +60 -2
  14. package/base/tokens/tokens-highcontrast-dark.scss +396 -0
  15. package/base/tokens/tokens-highcontrast.scss +703 -0
  16. package/base/tokens/tokens-local.scss +1 -0
  17. package/base/tokens/tokens-palette.scss +9 -1
  18. package/components/Accordion/accordion.css +102 -6
  19. package/components/Accordion/accordion.scss +112 -10
  20. package/components/Alert/alert-group.css +67 -33
  21. package/components/Alert/alert-group.scss +95 -48
  22. package/components/Badge/badge.css +2 -0
  23. package/components/Badge/badge.scss +2 -0
  24. package/components/Banner/banner.css +4 -0
  25. package/components/Banner/banner.scss +4 -0
  26. package/components/Button/button.css +187 -9
  27. package/components/Button/button.scss +195 -13
  28. package/components/CalendarMonth/calendar-month.css +16 -0
  29. package/components/CalendarMonth/calendar-month.scss +16 -0
  30. package/components/Card/card.css +5 -4
  31. package/components/Card/card.scss +5 -4
  32. package/components/CodeBlock/code-block.css +3 -0
  33. package/components/CodeBlock/code-block.scss +3 -0
  34. package/components/CodeEditor/code-editor.css +8 -3
  35. package/components/CodeEditor/code-editor.scss +11 -6
  36. package/components/DataList/data-list.css +2 -2
  37. package/components/DataList/data-list.scss +2 -2
  38. package/components/DatePicker/date-picker.css +3 -0
  39. package/components/DatePicker/date-picker.scss +4 -0
  40. package/components/Drawer/drawer.css +44 -41
  41. package/components/Drawer/drawer.scss +42 -36
  42. package/components/DualListSelector/dual-list-selector.css +55 -1
  43. package/components/DualListSelector/dual-list-selector.scss +63 -1
  44. package/components/ExpandableSection/expandable-section.css +63 -1
  45. package/components/ExpandableSection/expandable-section.scss +76 -2
  46. package/components/FileUpload/file-upload.css +3 -3
  47. package/components/FileUpload/file-upload.scss +3 -3
  48. package/components/Form/form.css +40 -1
  49. package/components/Form/form.scss +47 -1
  50. package/components/FormControl/form-control.css +16 -0
  51. package/components/FormControl/form-control.scss +9 -0
  52. package/components/InputGroup/input-group.css +80 -0
  53. package/components/InputGroup/input-group.scss +95 -0
  54. package/components/Label/label.css +20 -11
  55. package/components/Label/label.scss +21 -11
  56. package/components/Login/login.css +3 -0
  57. package/components/Login/login.scss +3 -0
  58. package/components/Menu/menu.css +42 -4
  59. package/components/Menu/menu.scss +39 -6
  60. package/components/MenuToggle/menu-toggle.css +51 -10
  61. package/components/MenuToggle/menu-toggle.scss +61 -9
  62. package/components/ModalBox/modal-box.css +3 -0
  63. package/components/ModalBox/modal-box.scss +3 -0
  64. package/components/Nav/nav.css +39 -8
  65. package/components/Nav/nav.scss +42 -9
  66. package/components/Page/page.css +124 -26
  67. package/components/Page/page.scss +86 -16
  68. package/components/Pagination/pagination.css +14 -1
  69. package/components/Pagination/pagination.scss +14 -1
  70. package/components/Panel/panel.css +14 -1
  71. package/components/Panel/panel.scss +14 -1
  72. package/components/Popover/popover.css +4 -0
  73. package/components/Popover/popover.scss +4 -0
  74. package/components/Progress/progress.css +26 -0
  75. package/components/Progress/progress.scss +22 -1
  76. package/components/ProgressStepper/progress-stepper.scss +1 -0
  77. package/components/SimpleList/simple-list.css +15 -0
  78. package/components/SimpleList/simple-list.scss +17 -1
  79. package/components/Skeleton/skeleton.css +22 -2
  80. package/components/Skeleton/skeleton.scss +25 -3
  81. package/components/Spinner/spinner.css +5 -0
  82. package/components/Spinner/spinner.scss +6 -0
  83. package/components/Table/table-grid.css +51 -5
  84. package/components/Table/table-grid.scss +22 -1
  85. package/components/Table/table.css +124 -2
  86. package/components/Table/table.scss +171 -3
  87. package/components/Tabs/tabs.css +32 -15
  88. package/components/Tabs/tabs.scss +34 -14
  89. package/components/TextInputGroup/text-input-group.css +23 -0
  90. package/components/TextInputGroup/text-input-group.scss +16 -1
  91. package/components/Timestamp/timestamp.css +4 -0
  92. package/components/Timestamp/timestamp.scss +7 -0
  93. package/components/TreeView/tree-view.css +54 -0
  94. package/components/TreeView/tree-view.scss +59 -2
  95. package/components/Truncate/truncate.css +1 -0
  96. package/components/Truncate/truncate.scss +3 -0
  97. package/components/Wizard/wizard.css +33 -6
  98. package/components/Wizard/wizard.scss +38 -8
  99. package/components/_index.css +1404 -195
  100. package/docs/components/Alert/examples/Alert.md +2 -2
  101. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  102. package/docs/components/Button/examples/Button.md +159 -6
  103. package/docs/components/Card/examples/Card.md +8 -8
  104. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +24 -32
  105. package/docs/components/CodeBlock/examples/CodeBlock.md +10 -10
  106. package/docs/components/CodeEditor/examples/CodeEditor.md +29 -5
  107. package/docs/components/DataList/examples/DataList.md +83 -207
  108. package/docs/components/DescriptionList/examples/DescriptionList.md +78 -22
  109. package/docs/components/DualListSelector/examples/DualListSelector.md +642 -319
  110. package/docs/components/EmptyState/examples/EmptyState.md +6 -6
  111. package/docs/components/ExpandableSection/examples/ExpandableSection.md +26 -15
  112. package/docs/components/Form/examples/Form.md +1178 -113
  113. package/docs/components/Hint/examples/Hint.md +3 -3
  114. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -6
  115. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  116. package/docs/components/Label/examples/Label.md +2 -2
  117. package/docs/components/Login/examples/Login.md +22 -22
  118. package/docs/components/Masthead/examples/masthead.md +90 -12
  119. package/docs/components/Menu/examples/Menu.md +122 -6
  120. package/docs/components/MenuToggle/examples/MenuToggle.md +93 -55
  121. package/docs/components/ModalBox/examples/ModalBox.md +13 -1
  122. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  123. package/docs/components/Page/examples/Page.md +147 -14
  124. package/docs/components/Pagination/examples/Pagination.md +123 -12
  125. package/docs/components/Popover/examples/Popover.md +0 -4
  126. package/docs/components/Progress/examples/Progress.md +222 -210
  127. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  128. package/docs/components/Skeleton/examples/Skeleton.md +21 -7
  129. package/docs/components/Slider/examples/Slider.md +2 -2
  130. package/docs/components/Spinner/examples/Spinner.md +10 -0
  131. package/docs/components/Table/examples/Table.md +7699 -4896
  132. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  133. package/docs/components/TextInputGroup/examples/TextInputGroup.md +168 -49
  134. package/docs/components/Title/examples/Title.md +8 -8
  135. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  136. package/docs/components/Wizard/examples/Wizard.md +583 -0
  137. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  138. package/docs/demos/Alert/examples/Alert.md +66 -9
  139. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  140. package/docs/demos/Banner/examples/Banner.md +47 -6
  141. package/docs/demos/Card/examples/Card.md +13 -67
  142. package/docs/demos/CardView/examples/CardView.md +24 -5
  143. package/docs/demos/Dashboard/examples/Dashboard.md +34 -27
  144. package/docs/demos/DataList/examples/DataList.md +628 -192
  145. package/docs/demos/DescriptionList/examples/DescriptionList.md +79 -50
  146. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  147. package/docs/demos/Form/examples/BasicForms.md +146 -26
  148. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  149. package/docs/demos/Masthead/examples/Masthead.md +170 -18
  150. package/docs/demos/Modal/examples/Modal.md +171 -21
  151. package/docs/demos/Nav/examples/Nav.md +111 -16
  152. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +114 -19
  153. package/docs/demos/Page/examples/Page.md +309 -43
  154. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -1
  155. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +886 -415
  156. package/docs/demos/Skeleton/examples/Skeleton.md +25 -4
  157. package/docs/demos/Table/examples/Table.md +480 -177
  158. package/docs/demos/Tabs/examples/Tabs.md +139 -594
  159. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  160. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  161. package/package.json +12 -7
  162. package/patternfly-base-no-globals.css +1217 -12
  163. package/patternfly-base.css +1221 -12
  164. package/patternfly-no-globals.css +2851 -437
  165. package/patternfly.css +2853 -435
  166. package/patternfly.min.css +1 -1
  167. package/patternfly.min.css.map +1 -1
  168. package/sass-utilities/mixins.scss +54 -0
@@ -8,6 +8,8 @@
8
8
  --#{$progress}__bar--Height: var(--pf-t--global--spacer--md);
9
9
  --#{$progress}__bar--BackgroundColor: var(--pf-t--global--color--nonstatus--gray--default); // the bar always needs white under it so that the semi-transparent color shows correctly
10
10
  --#{$progress}__bar--BorderRadius: var(--pf-t--global--border--radius--medium);
11
+ --#{$progress}__bar--BorderColor: var(--pf-t--global--border--color--high-contrast);
12
+ --#{$progress}__bar--BorderWidth: var(--pf-t--global--border--width--regular);
11
13
  --#{$progress}__measure--m-static-width--MinWidth: 4.5ch; // 4.5 because the % character is wider than a 0
12
14
  --#{$progress}__status--Gap: var(--pf-t--global--spacer--sm);
13
15
  --#{$progress}__status-icon--Color: var(--pf-t--global--icon--color--regular);
@@ -140,6 +142,16 @@
140
142
  --#{$progress}__indicator--BackgroundColor: var(--#{$progress}--m-danger__indicator--BackgroundColor);
141
143
  --#{$progress}__status-icon--Color: var(--#{$progress}--m-danger__status-icon--Color);
142
144
  --#{$progress}--m-inside__measure--Color: var(--#{$progress}--m-danger--m-inside__measure--Color);
145
+
146
+ .#{$progress}__bar {
147
+ @media (prefers-reduced-motion: no-preference) {
148
+ @include pf-v6-animate-danger-jiggle;
149
+ }
150
+ }
151
+
152
+ .#{$progress}__status-icon {
153
+ @include pf-v6-fade-default(#{$progress});
154
+ }
143
155
  }
144
156
  }
145
157
 
@@ -191,6 +203,15 @@
191
203
  overflow: hidden;
192
204
  background-color: var(--#{$progress}__bar--BackgroundColor);
193
205
  border-radius: var(--#{$progress}__bar--BorderRadius);
206
+
207
+ &::before {
208
+ position: absolute;
209
+ inset: 0;
210
+ pointer-events: none;
211
+ content: '';
212
+ border: var(--#{$progress}__bar--BorderWidth) solid var(--#{$progress}__bar--BorderColor);
213
+ border-radius: inherit;
214
+ }
194
215
  }
195
216
 
196
217
  // the progress__indicator is the part that advances (widens) as progress is made
@@ -209,4 +230,4 @@
209
230
 
210
231
  .#{$progress}__measure {
211
232
  font-variant-numeric: tabular-nums;
212
- }
233
+ }
@@ -442,5 +442,6 @@ $pf-v6-c-progress-stepper--breakpoint-map: build-breakpoint-map();
442
442
  }
443
443
  }
444
444
  }
445
+
445
446
  }
446
447
  // stylelint-enable
@@ -11,6 +11,10 @@
11
11
  --pf-v6-c-simple-list__item-link--hover--Color: var(--pf-t--global--text--color--subtle);
12
12
  --pf-v6-c-simple-list__item-link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
13
13
  --pf-v6-c-simple-list__item-link--BorderRadius: var(--pf-t--global--border--radius--tiny);
14
+ --pf-v6-c-simple-list__item-link--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
15
+ --pf-v6-c-simple-list__item-link--BorderColor: var(--pf-t--global--border--color--high-contrast);
16
+ --pf-v6-c-simple-list__item-link--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
17
+ --pf-v6-c-simple-list__item-link--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
14
18
  --pf-v6-c-simple-list__item-link--m-link--Color: var(--pf-t--global--text--color--link--default);
15
19
  --pf-v6-c-simple-list__item-link--m-link--m-current--Color: var(--pf-t--global--text--color--link--hover);
16
20
  --pf-v6-c-simple-list__item-link--m-link--hover--Color: var(--pf-t--global--text--color--link--hover);
@@ -25,6 +29,7 @@
25
29
  }
26
30
 
27
31
  .pf-v6-c-simple-list__item-link {
32
+ position: relative;
28
33
  display: block;
29
34
  width: 100%;
30
35
  padding-block-start: var(--pf-v6-c-simple-list__item-link--PaddingBlockStart);
@@ -39,6 +44,14 @@
39
44
  border: none;
40
45
  border-radius: var(--pf-v6-c-simple-list__item-link--BorderRadius);
41
46
  }
47
+ .pf-v6-c-simple-list__item-link::after {
48
+ position: absolute;
49
+ inset: 0;
50
+ pointer-events: none;
51
+ content: "";
52
+ border: var(--pf-v6-c-simple-list__item-link--BorderWidth) solid var(--pf-v6-c-simple-list__item-link--BorderColor);
53
+ border-radius: inherit;
54
+ }
42
55
  .pf-v6-c-simple-list__item-link.pf-m-link {
43
56
  --pf-v6-c-simple-list__item-link--Color: var(--pf-v6-c-simple-list__item-link--m-link--Color);
44
57
  --pf-v6-c-simple-list__item-link--hover--Color: var(--pf-v6-c-simple-list__item-link--m-link--m-current--Color);
@@ -47,11 +60,13 @@
47
60
  .pf-v6-c-simple-list__item-link:is(:hover, :focus) {
48
61
  --pf-v6-c-simple-list__item-link--BackgroundColor: var(--pf-v6-c-simple-list__item-link--hover--BackgroundColor);
49
62
  --pf-v6-c-simple-list__item-link--Color: var(--pf-v6-c-simple-list__item-link--hover--Color);
63
+ --pf-v6-c-simple-list__item-link--BorderWidth: var(--pf-v6-c-simple-list__item-link--hover--BorderWidth);
50
64
  text-decoration-line: none;
51
65
  }
52
66
  .pf-v6-c-simple-list__item-link.pf-m-current {
53
67
  --pf-v6-c-simple-list__item-link--BackgroundColor: var(--pf-v6-c-simple-list__item-link--m-current--BackgroundColor);
54
68
  --pf-v6-c-simple-list__item-link--Color: var(--pf-v6-c-simple-list__item-link--m-current--Color);
69
+ --pf-v6-c-simple-list__item-link--BorderWidth: var(--pf-v6-c-simple-list__item-link--m-current--BorderWidth);
55
70
  }
56
71
 
57
72
  .pf-v6-c-simple-list__title {
@@ -14,7 +14,11 @@
14
14
  --#{$simple-list}__item-link--hover--Color: var(--pf-t--global--text--color--subtle);
15
15
  --#{$simple-list}__item-link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
16
16
  --#{$simple-list}__item-link--BorderRadius: var(--pf-t--global--border--radius--tiny);
17
-
17
+ --#{$simple-list}__item-link--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
18
+ --#{$simple-list}__item-link--BorderColor: var(--pf-t--global--border--color--high-contrast);
19
+ --#{$simple-list}__item-link--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
20
+ --#{$simple-list}__item-link--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
21
+
18
22
  // Simple list item link
19
23
  --#{$simple-list}__item-link--m-link--Color: var(--pf-t--global--text--color--link--default);
20
24
  --#{$simple-list}__item-link--m-link--m-current--Color: var(--pf-t--global--text--color--link--hover);
@@ -34,6 +38,7 @@
34
38
  }
35
39
 
36
40
  .#{$simple-list}__item-link {
41
+ position: relative;
37
42
  display: block;
38
43
  width: 100%;
39
44
  padding-block-start: var(--#{$simple-list}__item-link--PaddingBlockStart);
@@ -48,6 +53,15 @@
48
53
  border: none;
49
54
  border-radius: var(--#{$simple-list}__item-link--BorderRadius);
50
55
 
56
+ &::after {
57
+ position: absolute;
58
+ inset: 0;
59
+ pointer-events: none;
60
+ content: "";
61
+ border: var(--#{$simple-list}__item-link--BorderWidth) solid var(--#{$simple-list}__item-link--BorderColor);
62
+ border-radius: inherit;
63
+ }
64
+
51
65
  &.pf-m-link {
52
66
  --#{$simple-list}__item-link--Color: var(--#{$simple-list}__item-link--m-link--Color);
53
67
  --#{$simple-list}__item-link--hover--Color: var(--#{$simple-list}__item-link--m-link--m-current--Color);
@@ -57,6 +71,7 @@
57
71
  &:is(:hover, :focus) {
58
72
  --#{$simple-list}__item-link--BackgroundColor: var(--#{$simple-list}__item-link--hover--BackgroundColor);
59
73
  --#{$simple-list}__item-link--Color: var(--#{$simple-list}__item-link--hover--Color);
74
+ --#{$simple-list}__item-link--BorderWidth: var(--#{$simple-list}__item-link--hover--BorderWidth);
60
75
 
61
76
  text-decoration-line: none;
62
77
  }
@@ -64,6 +79,7 @@
64
79
  &.pf-m-current {
65
80
  --#{$simple-list}__item-link--BackgroundColor: var(--#{$simple-list}__item-link--m-current--BackgroundColor);
66
81
  --#{$simple-list}__item-link--Color: var(--#{$simple-list}__item-link--m-current--Color);
82
+ --#{$simple-list}__item-link--BorderWidth: var(--#{$simple-list}__item-link--m-current--BorderWidth);
67
83
  }
68
84
  }
69
85
 
@@ -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
  }