@patternfly/patternfly 6.2.0 → 6.2.1

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 (36) hide show
  1. package/README.md +1 -1
  2. package/components/Card/card.css +3 -0
  3. package/components/Card/card.scss +3 -0
  4. package/components/CodeEditor/code-editor.css +3 -0
  5. package/components/CodeEditor/code-editor.scss +3 -1
  6. package/components/Drawer/drawer.css +28 -14
  7. package/components/Drawer/drawer.scss +28 -9
  8. package/components/FormControl/form-control.css +1 -2
  9. package/components/FormControl/form-control.scss +1 -5
  10. package/components/Page/page.css +4 -3
  11. package/components/Page/page.scss +4 -2
  12. package/components/Tabs/tabs.css +65 -0
  13. package/components/Tabs/tabs.scss +77 -0
  14. package/components/Truncate/truncate.css +5 -0
  15. package/components/Truncate/truncate.scss +6 -0
  16. package/components/_index.css +108 -19
  17. package/docs/components/Divider/examples/Divider.md +1 -1
  18. package/docs/components/Drawer/examples/Drawer.md +4 -0
  19. package/docs/components/Page/examples/Page.md +1 -0
  20. package/docs/components/Table/examples/Table.md +4 -4
  21. package/docs/components/Tabs/examples/Tabs.md +6741 -12
  22. package/docs/components/Truncate/examples/Truncate.md +53 -10
  23. package/docs/demos/Card/examples/Card.md +57 -0
  24. package/docs/demos/DescriptionList/examples/DescriptionList.md +38 -0
  25. package/docs/demos/Drawer/examples/Drawer.md +38 -0
  26. package/docs/demos/Masthead/examples/Masthead.md +1 -1
  27. package/docs/demos/Nav/examples/Nav.md +2 -2
  28. package/docs/demos/Page/examples/Page.md +355 -0
  29. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +76 -0
  30. package/docs/demos/Table/examples/Table.md +41 -21
  31. package/docs/demos/Tabs/examples/Tabs.md +570 -0
  32. package/package.json +6 -6
  33. package/patternfly-no-globals.css +108 -19
  34. package/patternfly.css +108 -19
  35. package/patternfly.min.css +1 -1
  36. package/patternfly.min.css.map +1 -1
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # PatternFly
2
-
2
+
3
3
  ## Install
4
4
 
5
5
  - This assumes an environment is already set up for npm packages - if not, please use npm init following the steps at [https://docs.npmjs.com/getting-started/using-a-package.json](https://docs.npmjs.com/getting-started/using-a-package.json).
@@ -15,6 +15,7 @@
15
15
  --pf-v6-c-card__title-text--FontSize: var(--pf-t--global--font--size--heading--xs);
16
16
  --pf-v6-c-card__title-text--FontWeight: var(--pf-t--global--font--weight--heading--default);
17
17
  --pf-v6-c-card__title-text--LineHeight: var(--pf-t--global--font--line-height--heading);
18
+ --pf-v6-c-card__title-text--OverflowWrap: break-word;
18
19
  --pf-v6-c-card--c-button--disabled--Color: var(--pf-t--global--text--color--on-disabled);
19
20
  --pf-v6-c-card__body--FontSize: var(--pf-t--global--font--size--body--default);
20
21
  --pf-v6-c-card__footer--FontSize: var(--pf-t--global--font--size--body--default);
@@ -227,11 +228,13 @@
227
228
  }
228
229
 
229
230
  .pf-v6-c-card__title-text {
231
+ overflow: auto;
230
232
  font-family: var(--pf-v6-c-card__title-text--FontFamily);
231
233
  font-size: var(--pf-v6-c-card__title-text--FontSize);
232
234
  font-weight: var(--pf-v6-c-card__title-text--FontWeight);
233
235
  line-height: var(--pf-v6-c-card__title-text--LineHeight);
234
236
  color: var(--pf-v6-c-card__title-text--Color);
237
+ overflow-wrap: var(--pf-v6-c-card__title-text--OverflowWrap);
235
238
  }
236
239
 
237
240
  .pf-v6-c-card__actions {
@@ -17,6 +17,7 @@
17
17
  --#{$card}__title-text--FontSize: var(--pf-t--global--font--size--heading--xs);
18
18
  --#{$card}__title-text--FontWeight: var(--pf-t--global--font--weight--heading--default);
19
19
  --#{$card}__title-text--LineHeight: var(--pf-t--global--font--line-height--heading);
20
+ --#{$card}__title-text--OverflowWrap: break-word;
20
21
  --#{$card}--c-button--disabled--Color: var(--pf-t--global--text--color--on-disabled);
21
22
  --#{$card}__body--FontSize: var(--pf-t--global--font--size--body--default);
22
23
  --#{$card}__footer--FontSize: var(--pf-t--global--font--size--body--default);
@@ -311,11 +312,13 @@
311
312
  }
312
313
 
313
314
  .#{$card}__title-text {
315
+ overflow: auto;
314
316
  font-family: var(--#{$card}__title-text--FontFamily);
315
317
  font-size: var(--#{$card}__title-text--FontSize);
316
318
  font-weight: var(--#{$card}__title-text--FontWeight);
317
319
  line-height: var(--#{$card}__title-text--LineHeight);
318
320
  color: var(--#{$card}__title-text--Color);
321
+ overflow-wrap: var(--#{$card}__title-text--OverflowWrap);
319
322
  }
320
323
 
321
324
  .#{$card}__actions {
@@ -148,6 +148,9 @@
148
148
  .pf-v6-c-code-editor__main .monaco-editor {
149
149
  background-color: var(--pf-v6-c-code-editor__main--BackgroundColor);
150
150
  }
151
+ .pf-v6-c-code-editor__main a.label-name {
152
+ text-decoration-line: none;
153
+ }
151
154
 
152
155
  .pf-v6-c-code-editor__header + .pf-v6-c-code-editor__main {
153
156
  border-block-start-width: 0;
@@ -157,7 +157,7 @@
157
157
  }
158
158
 
159
159
  .#{$code-editor}__main {
160
- position: relative;
160
+ position: relative;
161
161
  flex-grow: 1;
162
162
  color: var(--#{$code-editor}__main--Color, inherit);
163
163
  background-color: var(--#{$code-editor}__main--BackgroundColor);
@@ -175,6 +175,8 @@
175
175
  .monaco-editor {
176
176
  background-color: var(--#{$code-editor}__main--BackgroundColor);
177
177
  }
178
+
179
+ a.label-name { text-decoration-line: none; } // revert normalize.scss
178
180
  // stylelint-enable selector-class-pattern
179
181
  }
180
182
 
@@ -15,9 +15,15 @@
15
15
  --pf-v6-c-drawer__panel--RowGap: var(--pf-t--global--spacer--sm);
16
16
  --pf-v6-c-drawer__panel--PaddingBlockStart: var(--pf-t--global--spacer--sm);
17
17
  --pf-v6-c-drawer__panel--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
18
+ --pf-v6-c-drawer__panel--TransitionDelay: 0s, var(--pf-v6-c-drawer__panel--TransitionDelay--focus), var(--pf-v6-c-drawer__panel--TransitionDelay--focus);
19
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDuration--fade);
20
+ --pf-v6-c-drawer__panel--TransitionDelay--expand--focus: 0s;
18
21
  --pf-v6-c-drawer__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
19
- --pf-v6-c-drawer__panel--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--short);
20
- --pf-v6-c-drawer__panel--TransitionProperty: margin, transform, box-shadow, flex-basis;
22
+ --pf-v6-c-drawer__panel--TransitionDuration--fade: var(--pf-t--global--motion--duration--fade--default);
23
+ --pf-v6-c-drawer__panel--TransitionDuration: var(--pf-v6-c-drawer__panel--TransitionDuration--fade), 0s, 0s;
24
+ --pf-v6-c-drawer__panel--TransitionProperty: opacity, visibility, transform;
25
+ --pf-v6-c-drawer__panel--Opacity: 0;
26
+ --pf-v6-c-drawer--m-expanded__panel--Opacity: 1;
21
27
  --pf-v6-c-drawer__panel--FlexBasis: 100%;
22
28
  --pf-v6-c-drawer__panel--md--FlexBasis--min: 1.5rem;
23
29
  --pf-v6-c-drawer__panel--md--FlexBasis: 50%;
@@ -107,6 +113,17 @@
107
113
  --pf-v6-c-drawer--m-panel-left--m-inline__panel--PaddingInlineEnd: var(--pf-v6-c-drawer__panel--after--Width);
108
114
  --pf-v6-c-drawer--m-panel-bottom--m-inline__panel--PaddingBlockStart: var(--pf-v6-c-drawer__panel--after--Width);
109
115
  }
116
+ @media screen and (prefers-reduced-motion: no-preference) {
117
+ .pf-v6-c-drawer {
118
+ --pf-v6-c-drawer__panel--TransitionDuration--slide: var(--pf-t--global--motion--duration--slide-in--short);
119
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDuration--slide);
120
+ --pf-v6-c-drawer__panel--TransitionDelay: 0s, 0s, 0s, 0s, var(--pf-v6-c-drawer__panel--TransitionDelay--focus);
121
+ --pf-v6-c-drawer__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
122
+ --pf-v6-c-drawer__panel--TransitionDuration: 0s, var(--pf-v6-c-drawer__panel--TransitionDuration--slide), 0s, 0s, 0s;
123
+ --pf-v6-c-drawer__panel--TransitionProperty: margin, transform, box-shadow, flex-basis, visibility;
124
+ --pf-v6-c-drawer__panel--Opacity: 1;
125
+ }
126
+ }
110
127
  @media screen and (min-width: 75rem) {
111
128
  .pf-v6-c-drawer {
112
129
  --pf-v6-c-drawer__panel--MinWidth: var(--pf-v6-c-drawer__panel--xl--MinWidth);
@@ -154,8 +171,13 @@
154
171
  .pf-v6-c-drawer.pf-m-panel-bottom > .pf-v6-c-drawer__main {
155
172
  flex-direction: column;
156
173
  }
174
+ .pf-v6-c-drawer.pf-m-expanded {
175
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDelay--expand--focus);
176
+ }
157
177
  .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
158
178
  transform: translateX(-100%);
179
+ --pf-v6-c-drawer__panel--Opacity: var(--pf-v6-c-drawer--m-expanded__panel--Opacity);
180
+ visibility: visible;
159
181
  }
160
182
  :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
161
183
  transform: translateX(calc(-100% * var(--pf-v6-global--inverse--multiplier)));
@@ -228,8 +250,11 @@
228
250
  order: 1;
229
251
  max-height: var(--pf-v6-c-drawer__panel--MaxHeight);
230
252
  overflow: auto;
253
+ visibility: hidden;
231
254
  background-color: var(--pf-v6-c-drawer__panel--BackgroundColor);
232
255
  box-shadow: var(--pf-v6-c-drawer__panel--BoxShadow);
256
+ opacity: var(--pf-v6-c-drawer__panel--Opacity);
257
+ transition-delay: var(--pf-v6-c-drawer__panel--TransitionDelay);
233
258
  transition-timing-function: var(--pf-v6-c-drawer__panel--TransitionTimingFunction);
234
259
  transition-duration: var(--pf-v6-c-drawer__panel--TransitionDuration);
235
260
  transition-property: var(--pf-v6-c-drawer__panel--TransitionProperty);
@@ -286,17 +311,6 @@
286
311
  padding-block-end: var(--pf-v6-c-drawer__panel--PaddingBlockEnd);
287
312
  }
288
313
 
289
- @keyframes pf-remove-tab-focus {
290
- to {
291
- visibility: hidden;
292
- }
293
- }
294
- .pf-v6-c-drawer__panel[hidden] {
295
- animation-name: pf-remove-tab-focus;
296
- animation-delay: var(--pf-v6-c-drawer__panel--TransitionDuration);
297
- animation-fill-mode: forwards;
298
- }
299
-
300
314
  .pf-v6-c-drawer__head {
301
315
  display: grid;
302
316
  grid-template-columns: auto;
@@ -404,7 +418,7 @@
404
418
  .pf-v6-c-drawer {
405
419
  min-width: var(--pf-v6-c-drawer__panel--MinWidth);
406
420
  }
407
- .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
421
+ .pf-v6-c-drawer > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
408
422
  box-shadow: var(--pf-v6-c-drawer--m-expanded__panel--BoxShadow);
409
423
  }
410
424
  .pf-v6-c-drawer > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel.pf-m-resizable {
@@ -27,9 +27,15 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
27
27
  --#{$drawer}__panel--RowGap: var(--pf-t--global--spacer--sm);
28
28
  --#{$drawer}__panel--PaddingBlockStart: var(--pf-t--global--spacer--sm);
29
29
  --#{$drawer}__panel--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
30
+ --#{$drawer}__panel--TransitionDelay: 0s, var(--#{$drawer}__panel--TransitionDelay--focus), var(--#{$drawer}__panel--TransitionDelay--focus);
31
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDuration--fade);
32
+ --#{$drawer}__panel--TransitionDelay--expand--focus: 0s; // on expand, transition visible immediately
30
33
  --#{$drawer}__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
31
- --#{$drawer}__panel--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--short);
32
- --#{$drawer}__panel--TransitionProperty: margin, transform, box-shadow, flex-basis;
34
+ --#{$drawer}__panel--TransitionDuration--fade: var(--pf-t--global--motion--duration--fade--default);
35
+ --#{$drawer}__panel--TransitionDuration: var(--#{$drawer}__panel--TransitionDuration--fade), 0s, 0s;
36
+ --#{$drawer}__panel--TransitionProperty: opacity, visibility, transform; // by default, fade the drawer
37
+ --#{$drawer}__panel--Opacity: 0;
38
+ --#{$drawer}--m-expanded__panel--Opacity: 1;
33
39
  --#{$drawer}__panel--FlexBasis: 100%;
34
40
  --#{$drawer}__panel--md--FlexBasis--min: #{pf-size-prem(24px)};
35
41
  --#{$drawer}__panel--md--FlexBasis: 50%;
@@ -46,6 +52,16 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
46
52
  --#{$drawer}--m-panel-bottom__panel--m-resizable--md--FlexBasis--min: #{pf-size-prem(24px)};
47
53
  --#{$drawer}--m-panel-bottom__panel--m-resizable--MinHeight: #{pf-size-prem(24px)};
48
54
 
55
+ @media screen and (prefers-reduced-motion: no-preference) {
56
+ --#{$drawer}__panel--TransitionDuration--slide: var(--pf-t--global--motion--duration--slide-in--short);
57
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDuration--slide);
58
+ --#{$drawer}__panel--TransitionDelay: 0s, 0s, 0s, 0s, var(--#{$drawer}__panel--TransitionDelay--focus);
59
+ --#{$drawer}__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
60
+ --#{$drawer}__panel--TransitionDuration: 0s, var(--#{$drawer}__panel--TransitionDuration--slide), 0s, 0s, 0s;
61
+ --#{$drawer}__panel--TransitionProperty: margin, transform, box-shadow, flex-basis, visibility; // with no preference, slide the panel
62
+ --#{$drawer}__panel--Opacity: 1;
63
+ }
64
+
49
65
  // Drawer panel head
50
66
  --#{$drawer}__head--ColumnGap: var(--pf-t--global--spacer--gap--text-to-element--default);
51
67
  --#{$drawer}__head--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -205,12 +221,18 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
205
221
  // Expanded
206
222
  // stylelint-disable selector-max-class
207
223
  &.pf-m-expanded {
224
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDelay--expand--focus);
225
+
208
226
  > .#{$drawer}__main > .#{$drawer}__panel {
209
227
  @include pf-v6-bidirectional-style(
210
228
  $prop: transform,
211
229
  $ltr-val: translateX(-100%),
212
230
  $rtl-val: translateX(#{pf-v6-calc-inverse(-100%)}),
213
231
  );
232
+
233
+ --#{$drawer}__panel--Opacity: var(--#{$drawer}--m-expanded__panel--Opacity);
234
+
235
+ visibility: visible;
214
236
  }
215
237
 
216
238
  &.pf-m-panel-left > .#{$drawer}__main > .#{$drawer}__panel {
@@ -297,8 +319,11 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
297
319
  order: 1;
298
320
  max-height: var(--#{$drawer}__panel--MaxHeight);
299
321
  overflow: auto;
322
+ visibility: hidden; // hidden by default
300
323
  background-color: var(--#{$drawer}__panel--BackgroundColor);
301
324
  box-shadow: var(--#{$drawer}__panel--BoxShadow);
325
+ opacity: var(--#{$drawer}__panel--Opacity);
326
+ transition-delay: var(--#{$drawer}__panel--TransitionDelay);
302
327
  transition-timing-function: var(--#{$drawer}__panel--TransitionTimingFunction);
303
328
  transition-duration: var(--#{$drawer}__panel--TransitionDuration);
304
329
  transition-property: var(--#{$drawer}__panel--TransitionProperty);
@@ -360,9 +385,6 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
360
385
  padding-block-end: var(--#{$drawer}__panel--PaddingBlockEnd);
361
386
  }
362
387
 
363
- // Remove tab focus
364
- @include pf-v6-animate-remove-tab-focus(".#{$drawer}__panel", var(--#{$drawer}__panel--TransitionDuration));
365
-
366
388
  // Panel head
367
389
  .#{$drawer}__head {
368
390
  display: grid;
@@ -491,9 +513,7 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
491
513
  .#{$drawer} {
492
514
  min-width: var(--#{$drawer}__panel--MinWidth);
493
515
 
494
- // stylelint-disable selector-max-class
495
- // Expanded
496
- &.pf-m-expanded > .#{$drawer}__main {
516
+ > .#{$drawer}__main {
497
517
  > .#{$drawer}__panel {
498
518
  box-shadow: var(--#{$drawer}--m-expanded__panel--BoxShadow);
499
519
  }
@@ -618,7 +638,6 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
618
638
  .#{$drawer}.pf-m-panel-left > .#{$drawer}__main > .#{$drawer}__panel.pf-m-no-border {
619
639
  --#{$drawer}--m-expanded__panel--BoxShadow: none;
620
640
  }
621
- // stylelint-enable
622
641
 
623
642
  .#{$drawer}__splitter {
624
643
  display: block;
@@ -146,12 +146,11 @@
146
146
  padding-inline-start: var(--pf-v6-c-form-control--PaddingInlineStart);
147
147
  padding-inline-end: var(--pf-v6-c-form-control--PaddingInlineEnd);
148
148
  color: var(--pf-v6-c-form-control--Color);
149
+ appearance: none;
149
150
  background-color: transparent;
150
151
  border: none;
151
152
  border-radius: var(--pf-v6-c-form-control--BorderRadius);
152
153
  outline-offset: var(--pf-v6-c-form-control--OutlineOffset);
153
- -moz-appearance: none;
154
- -webkit-appearance: none;
155
154
  }
156
155
  .pf-v6-c-form-control > ::placeholder {
157
156
  color: var(--pf-v6-c-form-control--m-placeholder--Color);
@@ -190,15 +190,11 @@
190
190
  padding-inline-start: var(--#{$form-control}--PaddingInlineStart);
191
191
  padding-inline-end: var(--#{$form-control}--PaddingInlineEnd);
192
192
  color: var(--#{$form-control}--Color);
193
+ appearance: none;
193
194
  background-color: transparent;
194
195
  border: none;
195
196
  border-radius: var(--#{$form-control}--BorderRadius);
196
197
  outline-offset: var(--#{$form-control}--OutlineOffset);
197
-
198
- // stylelint-disable
199
- -moz-appearance: none;
200
- -webkit-appearance: none;
201
- // stylelint-enable
202
198
  }
203
199
 
204
200
  > ::placeholder {
@@ -3,8 +3,9 @@
3
3
  --pf-v6-c-page--inset: var(--pf-t--global--spacer--inset--page-chrome);
4
4
  --pf-v6-c-page--c-masthead--ZIndex: var(--pf-t--global--z-index--md);
5
5
  --pf-v6-c-page__sidebar--ZIndex: var(--pf-t--global--z-index--sm);
6
- --pf-v6-c-page__sidebar--Width: 18.125rem;
7
- --pf-v6-c-page__sidebar--xl--Width: 18.125rem;
6
+ --pf-v6-c-page__sidebar--Width--base: 18.125rem;
7
+ --pf-v6-c-page__sidebar--Width: var(--pf-v6-c-page__sidebar--Width--base);
8
+ --pf-v6-c-page__sidebar--xl--Width: var(--pf-v6-c-page__sidebar--Width--base);
8
9
  --pf-v6-c-page__sidebar--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
9
10
  --pf-v6-c-page__sidebar--BoxShadow: none;
10
11
  --pf-v6-c-page__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--default);
@@ -432,7 +433,7 @@
432
433
  -webkit-overflow-scrolling: touch;
433
434
  }
434
435
  @media screen and (min-width: 75rem) {
435
- .pf-v6-c-masthead + .pf-v6-c-page__main-container, .pf-v6-c-page__sidebar.pf-m-collapsed + .pf-v6-c-page__main-container,
436
+ .pf-v6-c-page.pf-m-no-sidebar, .pf-v6-c-masthead + .pf-v6-c-page__main-container, .pf-v6-c-page__sidebar.pf-m-collapsed + .pf-v6-c-page__main-container,
436
437
  .pf-v6-c-masthead + .pf-v6-c-page__drawer,
437
438
  .pf-v6-c-page__sidebar.pf-m-collapsed + .pf-v6-c-page__drawer {
438
439
  --pf-v6-c-page__main-container--GridArea: var(--pf-v6-c-page--masthead--main-container--GridArea);
@@ -14,8 +14,9 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
14
14
 
15
15
  // Sidebar
16
16
  --#{$page}__sidebar--ZIndex: var(--pf-t--global--z-index--sm);
17
- --#{$page}__sidebar--Width: #{pf-size-prem(290px)};
18
- --#{$page}__sidebar--xl--Width: #{pf-size-prem(290px)}; // TODO Can remove at breaking change
17
+ --#{$page}__sidebar--Width--base: #{pf-size-prem(290px)};
18
+ --#{$page}__sidebar--Width: var(--#{$page}__sidebar--Width--base);
19
+ --#{$page}__sidebar--xl--Width: var(--#{$page}__sidebar--Width--base);
19
20
  --#{$page}__sidebar--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
20
21
  --#{$page}__sidebar--BoxShadow: none;
21
22
 
@@ -352,6 +353,7 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
352
353
  -webkit-overflow-scrolling: touch;
353
354
 
354
355
  @media screen and (min-width: $pf-v6-global--breakpoint--xl) {
356
+ @at-root .#{$page}.pf-m-no-sidebar,
355
357
  .#{$masthead} + &,
356
358
  .#{$page}__sidebar.pf-m-collapsed + & {
357
359
  --#{$page}__main-container--GridArea: var(--#{$page}--masthead--main-container--GridArea);
@@ -1,3 +1,13 @@
1
+ @property --pf-v6-c-tabs--link-accent--length {
2
+ syntax: "<length>";
3
+ inherits: true;
4
+ initial-value: 0px;
5
+ }
6
+ @property --pf-v6-c-tabs--link-accent--start {
7
+ syntax: "<length>";
8
+ inherits: true;
9
+ initial-value: 0px;
10
+ }
1
11
  .pf-v6-c-tabs {
2
12
  --pf-v6-c-tabs--inset: 0;
3
13
  --pf-v6-c-tabs--Width: auto;
@@ -59,6 +69,8 @@
59
69
  --pf-v6-c-tabs--m-box--m-secondary__link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
60
70
  --pf-v6-c-tabs--m-box--m-secondary__item--m-current__link--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
61
71
  --pf-v6-c-tabs--m-subtab__link--FontSize: var(--pf-t--global--font--size--xs);
72
+ --pf-v6-c-tabs__link--TransitionDuration--background-color: var(--pf-t--global--motion--duration--fade--short);
73
+ --pf-v6-c-tabs__link--TransitionTimingFunction--background-color: var(--pf-t--global--motion--timing-function--default);
62
74
  --pf-v6-c-tabs__link--before--border-color--base: var(--pf-t--global--border--color--default);
63
75
  --pf-v6-c-tabs__link--before--border-width--base: var(--pf-t--global--border--width--regular);
64
76
  --pf-v6-c-tabs__link--before--BorderBlockStartColor: var(--pf-v6-c-tabs__link--before--border-color--base);
@@ -83,6 +95,26 @@
83
95
  --pf-v6-c-tabs__link--after--BorderInlineStartWidth: 0;
84
96
  --pf-v6-c-tabs__item--m-current__link--after--BorderColor: var(--pf-t--global--border--color--clicked);
85
97
  --pf-v6-c-tabs__item--m-current__link--after--BorderWidth: var(--pf-t--global--border--width--extra-strong);
98
+ --pf-v6-c-tabs--link-accent--start: 0;
99
+ --pf-v6-c-tabs--link-accent--length: auto;
100
+ --pf-v6-c-tabs--link-accent--color: var(--pf-v6-c-tabs__item--m-current__link--after--BorderColor);
101
+ --pf-v6-c-tabs--link-accent--border-size: var(--pf-v6-c-tabs__item--m-current__link--after--BorderWidth);
102
+ --pf-v6-c-tabs--link-accent--InsetBlockStart: auto;
103
+ --pf-v6-c-tabs--link-accent--InsetBlockEnd: 0;
104
+ --pf-v6-c-tabs--link-accent--InsetInlineStart: initial;
105
+ --pf-v6-c-tabs--link-accent--Width: initial;
106
+ --pf-v6-c-tabs--link-accent--Height: 0;
107
+ --pf-v6-c-tabs--link-accent--BorderBlockEndWidth: var(--pf-v6-c-tabs--link-accent--border-size);
108
+ --pf-v6-c-tabs--link-accent--BorderInlineStartWidth: 0;
109
+ --pf-v6-c-tabs--m-vertical--link-accent--InsetBlockStart: initial;
110
+ --pf-v6-c-tabs--m-vertical--link-accent--InsetBlockEnd: auto;
111
+ --pf-v6-c-tabs--m-vertical--link-accent--InsetInlineStart: 0;
112
+ --pf-v6-c-tabs--m-vertical--link-accent--Width: 0;
113
+ --pf-v6-c-tabs--m-vertical--link-accent--Height: initial;
114
+ --pf-v6-c-tabs--m-vertical--link-accent--BorderBlockEndWidth: 0;
115
+ --pf-v6-c-tabs--m-vertical--link-accent--BorderInlineStartWidth: var(--pf-v6-c-tabs--link-accent--border-size);
116
+ --pf-v6-c-tabs--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
117
+ --pf-v6-c-tabs--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
86
118
  --pf-v6-c-tabs__scroll-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
87
119
  --pf-v6-c-tabs__scroll-button--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
88
120
  --pf-v6-c-tabs__scroll-button--PaddingInlineStart: var(--pf-t--global--spacer--sm);
@@ -240,6 +272,13 @@
240
272
  --pf-v6-c-tabs__link--after--InsetBlockEnd: 0;
241
273
  --pf-v6-c-tabs__link--after--InsetInlineEnd: auto;
242
274
  --pf-v6-c-tabs__list--ScrollSnapTypeAxis: var(--pf-v6-c-tabs--m-vertical__list--ScrollSnapTypeAxis);
275
+ --pf-v6-c-tabs--link-accent--InsetBlockStart: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetBlockStart);
276
+ --pf-v6-c-tabs--link-accent--InsetBlockEnd: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetBlockEnd);
277
+ --pf-v6-c-tabs--link-accent--InsetInlineStart: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetInlineStart);
278
+ --pf-v6-c-tabs--link-accent--Width: var(--pf-v6-c-tabs--m-vertical--link-accent--Width);
279
+ --pf-v6-c-tabs--link-accent--Height: var(--pf-v6-c-tabs--m-vertical--link-accent--Height);
280
+ --pf-v6-c-tabs--link-accent--BorderBlockEndWidth: var(--pf-v6-c-tabs--m-vertical--link-accent--BorderBlockEndWidth);
281
+ --pf-v6-c-tabs--link-accent--BorderInlineStartWidth: var(--pf-v6-c-tabs--m-vertical--link-accent--BorderInlineStartWidth);
243
282
  display: inline-flex;
244
283
  flex-direction: column;
245
284
  height: 100%;
@@ -502,6 +541,7 @@
502
541
  text-decoration-line: none;
503
542
  background-color: var(--pf-v6-c-tabs__link--BackgroundColor);
504
543
  border-radius: var(--pf-v6-c-tabs__link--BorderRadius);
544
+ transition: background-color var(--pf-v6-c-tabs__link--TransitionDuration--background-color) var(--pf-v6-c-tabs__link--TransitionTimingFunction--background-color);
505
545
  }
506
546
  .pf-v6-c-tabs__item.pf-m-action, .pf-v6-c-tabs__link {
507
547
  --pf-v6-c-tabs__link--after--BorderBlockEndWidth: var(--pf-v6-c-tabs__link--after--BorderWidth);
@@ -812,4 +852,29 @@
812
852
  --pf-v6-c-tabs--m-vertical--inset: var(--pf-t--global--spacer--2xl);
813
853
  --pf-v6-c-tabs--m-vertical--m-box--inset: var(--pf-t--global--spacer--2xl);
814
854
  }
855
+ }
856
+
857
+ @media (prefers-reduced-motion: no-preference) {
858
+ .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__link::after,
859
+ .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__item.pf-m-action::after {
860
+ content: revert;
861
+ }
862
+ .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__list::after {
863
+ position: absolute;
864
+ inset-block-start: var(--pf-v6-c-tabs--link-accent--InsetBlockStart, var(--pf-v6-c-tabs--link-accent--start));
865
+ inset-block-end: var(--pf-v6-c-tabs--link-accent--InsetBlockEnd);
866
+ inset-inline-start: var(--pf-v6-c-tabs--link-accent--InsetInlineStart, var(--pf-v6-c-tabs--link-accent--start));
867
+ width: var(--pf-v6-c-tabs--link-accent--Width, var(--pf-v6-c-tabs--link-accent--length));
868
+ height: var(--pf-v6-c-tabs--link-accent--Height, var(--pf-v6-c-tabs--link-accent--length));
869
+ content: "";
870
+ border: 0 solid var(--pf-v6-c-tabs--link-accent--color);
871
+ border-block-end-width: var(--pf-v6-c-tabs--link-accent--BorderBlockEndWidth);
872
+ border-inline-start-width: var(--pf-v6-c-tabs--link-accent--BorderInlineStartWidth);
873
+ transition-timing-function: var(--pf-v6-c-tabs--link-accent--TransitionTimingFunction);
874
+ transition-duration: var(--pf-v6-c-tabs--link-accent--TransitionDuration);
875
+ transition-property: --pf-v6-c-tabs--link-accent--length, --pf-v6-c-tabs--link-accent--start, width;
876
+ }
877
+ .pf-v6-c-tabs.pf-m-initializing-accent {
878
+ --pf-v6-c-tabs--link-accent--TransitionDuration: 0;
879
+ }
815
880
  }
@@ -3,6 +3,20 @@
3
3
  $pf-v6-c-tabs--breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg", "xl", "2xl");
4
4
  $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
5
5
 
6
+ @property --#{$tabs}--link-accent--length {
7
+ syntax: "<length>";
8
+ inherits: true;
9
+ // stylelint-disable-next-line length-zero-no-unit
10
+ initial-value: 0px;
11
+ }
12
+
13
+ @property --#{$tabs}--link-accent--start {
14
+ syntax: "<length>";
15
+ inherits: true;
16
+ // stylelint-disable-next-line length-zero-no-unit
17
+ initial-value: 0px;
18
+ }
19
+
6
20
  @include pf-root($tabs) {
7
21
  --#{$tabs}--inset: 0;
8
22
  --#{$tabs}--Width: auto;
@@ -74,6 +88,8 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
74
88
  --#{$tabs}--m-box--m-secondary__link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
75
89
  --#{$tabs}--m-box--m-secondary__item--m-current__link--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
76
90
  --#{$tabs}--m-subtab__link--FontSize: var(--pf-t--global--font--size--xs);
91
+ --#{$tabs}__link--TransitionDuration--background-color: var(--pf-t--global--motion--duration--fade--short);
92
+ --#{$tabs}__link--TransitionTimingFunction--background-color: var(--pf-t--global--motion--timing-function--default);
77
93
 
78
94
  // Link before
79
95
  --#{$tabs}__link--before--border-color--base: var(--pf-t--global--border--color--default);
@@ -103,6 +119,28 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
103
119
  --#{$tabs}__item--m-current__link--after--BorderColor: var(--pf-t--global--border--color--clicked);
104
120
  --#{$tabs}__item--m-current__link--after--BorderWidth: var(--pf-t--global--border--width--extra-strong);
105
121
 
122
+ // Link accent
123
+ --#{$tabs}--link-accent--start: 0; // needed to create react-token
124
+ --#{$tabs}--link-accent--length: auto; // needed to create react-token
125
+ --#{$tabs}--link-accent--color: var(--#{$tabs}__item--m-current__link--after--BorderColor);
126
+ --#{$tabs}--link-accent--border-size: var(--#{$tabs}__item--m-current__link--after--BorderWidth);
127
+ --#{$tabs}--link-accent--InsetBlockStart: auto;
128
+ --#{$tabs}--link-accent--InsetBlockEnd: 0;
129
+ --#{$tabs}--link-accent--InsetInlineStart: initial;
130
+ --#{$tabs}--link-accent--Width: initial;
131
+ --#{$tabs}--link-accent--Height: 0;
132
+ --#{$tabs}--link-accent--BorderBlockEndWidth: var(--#{$tabs}--link-accent--border-size);
133
+ --#{$tabs}--link-accent--BorderInlineStartWidth: 0;
134
+ --#{$tabs}--m-vertical--link-accent--InsetBlockStart: initial;
135
+ --#{$tabs}--m-vertical--link-accent--InsetBlockEnd: auto;
136
+ --#{$tabs}--m-vertical--link-accent--InsetInlineStart: 0;
137
+ --#{$tabs}--m-vertical--link-accent--Width: 0;
138
+ --#{$tabs}--m-vertical--link-accent--Height: initial;
139
+ --#{$tabs}--m-vertical--link-accent--BorderBlockEndWidth: 0;
140
+ --#{$tabs}--m-vertical--link-accent--BorderInlineStartWidth: var(--#{$tabs}--link-accent--border-size);
141
+ --#{$tabs}--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
142
+ --#{$tabs}--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
143
+
106
144
  // Scroll buttons
107
145
  --#{$tabs}__scroll-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
108
146
  --#{$tabs}__scroll-button--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
@@ -314,6 +352,13 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
314
352
  --#{$tabs}__link--after--InsetBlockEnd: 0;
315
353
  --#{$tabs}__link--after--InsetInlineEnd: auto;
316
354
  --#{$tabs}__list--ScrollSnapTypeAxis: var(--#{$tabs}--m-vertical__list--ScrollSnapTypeAxis);
355
+ --#{$tabs}--link-accent--InsetBlockStart: var(--#{$tabs}--m-vertical--link-accent--InsetBlockStart);
356
+ --#{$tabs}--link-accent--InsetBlockEnd: var(--#{$tabs}--m-vertical--link-accent--InsetBlockEnd);
357
+ --#{$tabs}--link-accent--InsetInlineStart: var(--#{$tabs}--m-vertical--link-accent--InsetInlineStart);
358
+ --#{$tabs}--link-accent--Width: var(--#{$tabs}--m-vertical--link-accent--Width);
359
+ --#{$tabs}--link-accent--Height: var(--#{$tabs}--m-vertical--link-accent--Height);
360
+ --#{$tabs}--link-accent--BorderBlockEndWidth: var(--#{$tabs}--m-vertical--link-accent--BorderBlockEndWidth);
361
+ --#{$tabs}--link-accent--BorderInlineStartWidth: var(--#{$tabs}--m-vertical--link-accent--BorderInlineStartWidth);
317
362
 
318
363
  display: inline-flex;
319
364
  flex-direction: column;
@@ -580,6 +625,7 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
580
625
  text-decoration-line: none;
581
626
  background-color: var(--#{$tabs}__link--BackgroundColor);
582
627
  border-radius: var(--#{$tabs}__link--BorderRadius);
628
+ transition: background-color var(--#{$tabs}__link--TransitionDuration--background-color) var(--#{$tabs}__link--TransitionTimingFunction--background-color);
583
629
 
584
630
  @at-root .#{$tabs}__item.pf-m-action,
585
631
  & {
@@ -737,3 +783,34 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
737
783
  }
738
784
  }
739
785
  // stylelint-enable
786
+
787
+ @media (prefers-reduced-motion: no-preference) {
788
+ .#{$tabs}:not(.pf-m-box) {
789
+ .#{$tabs}__link,
790
+ .#{$tabs}__item.pf-m-action {
791
+ &::after {
792
+ content: revert;
793
+ }
794
+ }
795
+
796
+ .#{$tabs}__list::after {
797
+ position: absolute;
798
+ inset-block-start: var(--#{$tabs}--link-accent--InsetBlockStart, var(--#{$tabs}--link-accent--start));
799
+ inset-block-end: var(--#{$tabs}--link-accent--InsetBlockEnd);
800
+ inset-inline-start: var(--#{$tabs}--link-accent--InsetInlineStart, var(--#{$tabs}--link-accent--start));
801
+ width: var(--#{$tabs}--link-accent--Width, var(--#{$tabs}--link-accent--length));
802
+ height: var(--#{$tabs}--link-accent--Height, var(--#{$tabs}--link-accent--length));
803
+ content: "";
804
+ border: 0 solid var(--#{$tabs}--link-accent--color);
805
+ border-block-end-width: var(--#{$tabs}--link-accent--BorderBlockEndWidth);
806
+ border-inline-start-width: var(--#{$tabs}--link-accent--BorderInlineStartWidth);
807
+ transition-timing-function: var(--#{$tabs}--link-accent--TransitionTimingFunction);
808
+ transition-duration: var(--#{$tabs}--link-accent--TransitionDuration);
809
+ transition-property: --#{$tabs}--link-accent--length, --#{$tabs}--link-accent--start, width;
810
+ }
811
+ }
812
+
813
+ .#{$tabs}.pf-m-initializing-accent {
814
+ --#{$tabs}--link-accent--TransitionDuration: 0;
815
+ }
816
+ }
@@ -9,6 +9,11 @@
9
9
  align-items: baseline;
10
10
  min-width: var(--pf-v6-c-truncate--MinWidth);
11
11
  }
12
+ .pf-v6-c-truncate.pf-m-fixed {
13
+ display: inline;
14
+ align-items: revert;
15
+ min-width: revert;
16
+ }
12
17
 
13
18
  .pf-v6-c-truncate__start,
14
19
  .pf-v6-c-truncate__end {
@@ -10,6 +10,12 @@
10
10
  grid-auto-flow: column;
11
11
  align-items: baseline;
12
12
  min-width: var(--#{$truncate}--MinWidth);
13
+
14
+ &.pf-m-fixed {
15
+ display: inline;
16
+ align-items: revert;
17
+ min-width: revert;
18
+ }
13
19
  }
14
20
 
15
21
  .#{$truncate}__start,