@patternfly/patternfly 6.5.0-prerelease.77 → 6.5.0-prerelease.79

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 (32) hide show
  1. package/README.md +1 -1
  2. package/components/Button/button.css +10 -4
  3. package/components/Button/button.scss +7 -1
  4. package/components/Compass/compass.css +147 -3
  5. package/components/Compass/compass.scss +142 -3
  6. package/components/Masthead/masthead.css +3 -3
  7. package/components/Masthead/masthead.scss +1 -1
  8. package/components/MenuToggle/menu-toggle.css +3 -3
  9. package/components/MenuToggle/menu-toggle.scss +1 -1
  10. package/components/Nav/nav.css +2 -2
  11. package/components/Nav/nav.scss +1 -1
  12. package/components/Page/page.css +12 -8
  13. package/components/Page/page.scss +6 -1
  14. package/components/Pagination/pagination.css +56 -4
  15. package/components/Pagination/pagination.scss +66 -5
  16. package/components/_index.css +233 -27
  17. package/docs/components/Compass/examples/Compass.css +2 -11
  18. package/docs/components/Compass/examples/Compass.md +8 -1
  19. package/docs/components/Nav/examples/Navigation.md +105 -9
  20. package/docs/components/Pagination/examples/Pagination.md +495 -3
  21. package/docs/demos/CardView/examples/CardView.md +1 -1
  22. package/docs/demos/Compass/examples/Compass.md +2108 -267
  23. package/docs/demos/DataList/examples/DataList.md +1 -1
  24. package/docs/demos/Nav/examples/Nav.md +272 -90
  25. package/docs/demos/Table/examples/Table.md +1 -1
  26. package/docs/demos/Toolbar/examples/Toolbar.md +7 -7
  27. package/package.json +1 -1
  28. package/patternfly-no-globals.css +233 -27
  29. package/patternfly.css +233 -27
  30. package/patternfly.min.css +1 -1
  31. package/patternfly.min.css.map +1 -1
  32. package/sass-utilities/mixins.scss +2 -2
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # PatternFly
1
+ # PatternFly
2
2
 
3
3
  ## Contributing
4
4
 
@@ -355,6 +355,7 @@
355
355
  --pf-v6-c-button--hamburger-icon--arrow--collapse--path: path("M3,7 L1,5 L3,3");
356
356
  --pf-v6-c-button--hamburger-icon--bottom--collapse--path: path("M9,9 L5,9");
357
357
  --pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX: -1;
358
+ --pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX: 1;
358
359
  --pf-v6-c-button--m-circle--BorderRadius: var(--pf-t--global--border--radius--pill);
359
360
  }
360
361
 
@@ -750,6 +751,11 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
750
751
  --pf-v6-c-button--hover__icon--TransitionDuration: 0s;
751
752
  --pf-v6-c-button--hover__icon--TransitionProperty: scale;
752
753
  }
754
+ :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-button.pf-m-hamburger {
755
+ --pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX: 1;
756
+ --pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX: -1;
757
+ }
758
+
753
759
  .pf-v6-c-button.pf-m-hamburger.pf-m-expand {
754
760
  --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
755
761
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
@@ -764,9 +770,9 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
764
770
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
765
771
  --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
766
772
  --pf-v6-c-button__icon--TransitionDelay: 0s;
767
- --pf-v6-c-button__icon--ScaleX: 1;
773
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
768
774
  --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
769
- --pf-v6-c-button--hover__icon--ScaleX: 1;
775
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
770
776
  }
771
777
  .pf-v6-c-button.pf-m-circle {
772
778
  --pf-v6-c-button--BorderRadius: var(--pf-v6-c-button--m-circle--BorderRadius);
@@ -862,11 +868,11 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
862
868
  display: none;
863
869
  }
864
870
  }
865
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-button, .pf-v6-c-button.pf-m-text-expanded {
871
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-button.pf-m-docked, .pf-v6-c-button.pf-m-text-expanded {
866
872
  justify-content: flex-start;
867
873
  width: 100%;
868
874
  }
869
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-button .pf-v6-c-button__text, .pf-v6-c-button.pf-m-text-expanded .pf-v6-c-button__text {
875
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-button.pf-m-docked .pf-v6-c-button__text, .pf-v6-c-button.pf-m-text-expanded .pf-v6-c-button__text {
870
876
  display: revert;
871
877
  }
872
878
 
@@ -417,6 +417,7 @@
417
417
  --#{$button}--hamburger-icon--arrow--collapse--path: path("M3,7 L1,5 L3,3");
418
418
  --#{$button}--hamburger-icon--bottom--collapse--path: path("M9,9 L5,9");
419
419
  --#{$button}--m-hamburger__icon--m-expand--ScaleX: -1;
420
+ --#{$button}--m-hamburger__icon--m-collapse--ScaleX: 1;
420
421
 
421
422
  // Circle
422
423
  --#{$button}--m-circle--BorderRadius: var(--pf-t--global--border--radius--pill);
@@ -862,6 +863,11 @@
862
863
  --#{$button}--hover__icon--TransitionDuration: 0s;
863
864
  --#{$button}--hover__icon--TransitionProperty: scale;
864
865
 
866
+ @include pf-v6-rtl {
867
+ --#{$button}--m-hamburger__icon--m-expand--ScaleX: 1;
868
+ --#{$button}--m-hamburger__icon--m-collapse--ScaleX: -1;
869
+ }
870
+
865
871
  &.pf-m-expand {
866
872
  @include pf-v6-hamburger;
867
873
  }
@@ -992,7 +998,7 @@
992
998
  }
993
999
  }
994
1000
 
995
- @at-root .#{$page}__dock.pf-m-text-expanded &,
1001
+ @at-root :is(.#{$page}__dock, .#{$compass}__dock).pf-m-text-expanded &.pf-m-docked,
996
1002
  &.pf-m-text-expanded {
997
1003
  justify-content: flex-start;
998
1004
  width: 100%;
@@ -22,6 +22,7 @@
22
22
  --pf-v6-c-compass__message-bar--Width: 450px;
23
23
  --pf-v6-c-compass__message-bar--MinWidth: 300px;
24
24
  --pf-v6-c-compass__message-bar--MaxWidth: 600px;
25
+ --pf-v6-c-compass--m-docked__masthead--BackgroundColor: var(--pf-t--global--background--color--primary--default);
25
26
  --pf-v6-c-compass--section--slide--length--header: 100%;
26
27
  --pf-v6-c-compass--section--slide--length--sidebar: 100%;
27
28
  --pf-v6-c-compass--section--slide--length--main-footer: 100%;
@@ -34,6 +35,23 @@
34
35
  --pf-v6-c-compass--section--m-expanded--duration: var(--pf-t--global--motion--duration--fade--default);
35
36
  --pf-v6-c-compass--section--m-expanded--TransitionDuration: var(--pf-v6-c-compass--section--m-expanded--duration), 0s, 0s, 0s, 0s, 0s;
36
37
  --pf-v6-c-compass--section--m-expanded--TransitionDelay: 0s;
38
+ --pf-v6-c-compass__dock--Width: 15.625rem;
39
+ --pf-v6-c-compass__dock--desktop--Width: auto;
40
+ --pf-v6-c-compass__dock--ZIndex: var(--pf-t--global--z-index--md);
41
+ --pf-v6-c-compass__dock--TransitionDuration--slide: 0s;
42
+ --pf-v6-c-compass__dock--m-expanded--TransitionDuration--slide: 0s;
43
+ --pf-v6-c-compass__dock--TransitionTimingFunction--slide: var(--pf-t--global--motion--timing-function--decelerate);
44
+ --pf-v6-c-compass__dock-main--BackgroundColor: var(--pf-t--global--background--color--floating--default);
45
+ --pf-v6-c-compass__dock-main--desktop--BackgroundColor: var(--pf-t--global--background--color--glass--primary--default, var(--pf-t--global--background--color--primary--default));
46
+ --pf-v6-c-compass__dock-main--BoxShadow: none;
47
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BoxShadow: var(--pf-t--global--box-shadow--sm--right);
48
+ --pf-v6-c-compass__dock-main--desktop--BoxShadow: var(--pf-t--global--box-shadow--glass--default, none);
49
+ --pf-v6-c-compass__dock-main--BackdropFilter: var(--pf-t--global--background--filter--glass--blur--primary, revert);
50
+ --pf-v6-c-compass__dock-main--BorderInlineEndWidth: var(--pf-t--global--border--width--glass--default, 0);
51
+ --pf-v6-c-compass__dock-main--BorderInlineEndColor: transparent;
52
+ --pf-v6-c-compass__dock-main--desktop--BorderInlineEndColor: var(--pf-t--global--border--color--glass--default, transparent);
53
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndWidth: var(--pf-t--global--border--width--glass--default, var(--pf-t--global--border--width--regular));
54
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndColor: var(--pf-t--global--border--color--glass--default, var(--pf-t--global--border--color--subtle));
37
55
  }
38
56
  @media screen and (prefers-reduced-motion: no-preference) {
39
57
  .pf-v6-c-compass {
@@ -69,18 +87,90 @@
69
87
  background-size: cover;
70
88
  }
71
89
  .pf-v6-c-compass.pf-m-docked {
72
- grid-template-areas: "dock main";
73
- grid-template-rows: auto;
74
- grid-template-columns: auto 1fr;
90
+ grid-template-areas: "header" "main";
91
+ grid-template-rows: max-content 1fr;
92
+ grid-template-columns: 1fr;
75
93
  align-items: stretch;
76
94
  padding: 0;
77
95
  }
78
96
  .pf-v6-c-compass.pf-m-docked .pf-v6-c-compass__main {
79
97
  padding: var(--pf-v6-c-compass--Padding);
80
98
  }
99
+ .pf-v6-c-compass.pf-m-docked > .pf-v6-c-masthead {
100
+ --pf-v6-c-masthead--BackgroundColor: var(--pf-v6-c-compass--m-docked__masthead--BackgroundColor);
101
+ grid-area: header;
102
+ }
81
103
  :root:where(.pf-v6-theme-dark) .pf-v6-c-compass {
82
104
  --pf-v6-c-compass--BackgroundImage: var(--pf-v6-c-compass--BackgroundImage--dark);
83
105
  }
106
+ @media (min-width: 62rem) {
107
+ .pf-v6-c-compass.pf-m-docked {
108
+ grid-template-areas: "dock main";
109
+ grid-template-rows: auto;
110
+ grid-template-columns: auto 1fr;
111
+ row-gap: var(--pf-v6-c-compass__main--RowGap);
112
+ align-items: stretch;
113
+ padding: 0;
114
+ }
115
+ .pf-v6-c-compass.pf-m-docked > .pf-v6-c-masthead {
116
+ display: none;
117
+ }
118
+ }
119
+ .pf-v6-c-compass > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
120
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
121
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
122
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
123
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
124
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
125
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
126
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
127
+ }
128
+ .pf-v6-c-compass:where(:has(> .pf-v6-c-compass__dock.pf-m-expanded)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle :is(.pf-v6-c-button.pf-m-hamburger, .pf-v6-c-button.pf-m-hamburger:hover, .pf-v6-c-button.pf-m-hamburger:focus-visible) {
129
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
130
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
131
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
132
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
133
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
134
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
135
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
136
+ }
137
+ .pf-v6-c-compass .pf-v6-c-compass__dock.pf-m-expanded .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger {
138
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
139
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
140
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
141
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
142
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
143
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
144
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
145
+ }
146
+ @media (min-width: 62rem) {
147
+ .pf-v6-c-compass .pf-v6-c-compass__dock .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger,
148
+ .pf-v6-c-compass .pf-v6-c-compass__dock.pf-m-expanded .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger {
149
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--path--base);
150
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--path--base);
151
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--path--base);
152
+ --pf-v6-c-button__icon--TransitionDelay: var(--pf-v6-c-button--hamburger-icon--TransitionDuration);
153
+ --pf-v6-c-button--hover__icon--TransitionDelay: var(--pf-v6-c-button--hamburger-icon--TransitionDuration);
154
+ }
155
+ .pf-v6-c-compass .pf-v6-c-compass__dock .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
156
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
157
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
158
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
159
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
160
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
161
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
162
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
163
+ }
164
+ .pf-v6-c-compass .pf-v6-c-compass__dock.pf-m-text-expanded .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
165
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
166
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
167
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
168
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
169
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
170
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
171
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
172
+ }
173
+ }
84
174
 
85
175
  .pf-v6-c-compass__header,
86
176
  .pf-v6-c-compass__sidebar:is(.pf-m-start, .pf-m-end),
@@ -198,6 +288,60 @@
198
288
  margin-inline-start: var(--pf-v6-c-compass--Gap);
199
289
  }
200
290
 
291
+ .pf-v6-c-compass__dock {
292
+ position: fixed;
293
+ inset-block-start: 0;
294
+ inset-block-end: 0;
295
+ inset-inline-start: 0;
296
+ z-index: var(--pf-v6-c-compass__dock--ZIndex);
297
+ display: flex;
298
+ flex-direction: column;
299
+ grid-area: dock;
300
+ width: var(--pf-v6-c-compass__dock--Width);
301
+ transition: translate var(--pf-v6-c-compass__dock--TransitionDuration--slide) var(--pf-v6-c-compass__dock--TransitionTimingFunction--slide);
302
+ translate: -100% 0;
303
+ }
304
+ .pf-v6-c-compass__dock.pf-m-expanded {
305
+ --pf-v6-c-compass__dock--TransitionDuration--slide: var(--pf-v6-c-compass__dock--m-expanded--TransitionDuration--slide);
306
+ translate: 0;
307
+ }
308
+ @media (min-width: 62rem) {
309
+ .pf-v6-c-compass__dock {
310
+ --pf-v6-c-compass__dock-main--BackgroundColor: var(--pf-v6-c-compass__dock-main--desktop--BackgroundColor);
311
+ --pf-v6-c-compass__dock-main--BorderInlineEndColor: var(--pf-v6-c-compass__dock-main--desktop--BorderInlineEndColor);
312
+ position: revert;
313
+ inset: revert;
314
+ width: auto;
315
+ translate: 0;
316
+ }
317
+ }
318
+ .pf-v6-c-compass__dock .pf-v6-c-toolbar.pf-m-vertical :is(.pf-v6-c-toolbar__content-section, .pf-v6-c-toolbar__group, .pf-v6-c-toolbar__item) {
319
+ align-items: stretch;
320
+ }
321
+ .pf-v6-c-compass__dock.pf-m-text-expanded {
322
+ width: var(--pf-v6-c-compass__dock--Width);
323
+ }
324
+
325
+ .pf-v6-c-compass__dock-main {
326
+ flex-grow: 1;
327
+ background-color: var(--pf-v6-c-compass__dock-main--BackgroundColor);
328
+ backdrop-filter: var(--pf-v6-c-compass__dock-main--BackdropFilter);
329
+ border-inline-end: var(--pf-v6-c-compass__dock-main--BorderInlineEndWidth) solid var(--pf-v6-c-compass__dock-main--BorderInlineEndColor);
330
+ box-shadow: var(--pf-v6-c-compass__dock-main--BoxShadow);
331
+ }
332
+ .pf-v6-c-compass__dock.pf-m-expanded .pf-v6-c-compass__dock-main {
333
+ border-inline-end: var(--pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndWidth) solid var(--pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndColor);
334
+ box-shadow: var(--pf-v6-c-compass__dock--m-expanded__dock-main--BoxShadow);
335
+ }
336
+ @media (min-width: 62rem) {
337
+ .pf-v6-c-compass__dock-main {
338
+ --pf-v6-c-compass__dock-main--BoxShadow: var(--pf-v6-c-compass__dock-main--desktop--BoxShadow);
339
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BoxShadow: var(--pf-v6-c-compass__dock-main--desktop--BoxShadow);
340
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndWidth: var(--pf-v6-c-compass__dock-main--BorderInlineEndWidth);
341
+ --pf-v6-c-compass__dock--m-expanded__dock-main--BorderInlineEndColor: var(--pf-v6-c-compass__dock-main--desktop--BorderInlineEndColor);
342
+ }
343
+ }
344
+
201
345
  .pf-v6-c-compass__main {
202
346
  display: flex;
203
347
  flex-direction: column;
@@ -25,6 +25,9 @@
25
25
  --#{$compass}__message-bar--MinWidth: 300px;
26
26
  --#{$compass}__message-bar--MaxWidth: 600px;
27
27
 
28
+ // Docked
29
+ --#{$compass}--m-docked__masthead--BackgroundColor: var(--pf-t--global--background--color--primary--default);
30
+
28
31
  // Section animation
29
32
  --#{$compass}--section--slide--length--header: 100%;
30
33
  --#{$compass}--section--slide--length--sidebar: 100%;
@@ -39,6 +42,27 @@
39
42
  --#{$compass}--section--m-expanded--TransitionDuration: var(--#{$compass}--section--m-expanded--duration), 0s, 0s, 0s, 0s, 0s;
40
43
  --#{$compass}--section--m-expanded--TransitionDelay: 0s;
41
44
 
45
+ // Dock
46
+ --#{$compass}__dock--Width: #{pf-size-prem(250px)};
47
+ --#{$compass}__dock--desktop--Width: auto;
48
+ --#{$compass}__dock--ZIndex: var(--pf-t--global--z-index--md);
49
+ --#{$compass}__dock--TransitionDuration--slide: 0s;
50
+ --#{$compass}__dock--m-expanded--TransitionDuration--slide: 0s;
51
+ --#{$compass}__dock--TransitionTimingFunction--slide: var(--pf-t--global--motion--timing-function--decelerate);
52
+
53
+ // Dock main
54
+ --#{$compass}__dock-main--BackgroundColor: var(--pf-t--global--background--color--floating--default);
55
+ --#{$compass}__dock-main--desktop--BackgroundColor: var(--pf-t--global--background--color--glass--primary--default, var(--pf-t--global--background--color--primary--default));
56
+ --#{$compass}__dock-main--BoxShadow: none;
57
+ --#{$compass}__dock--m-expanded__dock-main--BoxShadow: var(--pf-t--global--box-shadow--sm--right);
58
+ --#{$compass}__dock-main--desktop--BoxShadow: var(--pf-t--global--box-shadow--glass--default, none);
59
+ --#{$compass}__dock-main--BackdropFilter: var(--pf-t--global--background--filter--glass--blur--primary, revert);
60
+ --#{$compass}__dock-main--BorderInlineEndWidth: var(--pf-t--global--border--width--glass--default, 0);
61
+ --#{$compass}__dock-main--BorderInlineEndColor: transparent;
62
+ --#{$compass}__dock-main--desktop--BorderInlineEndColor: var(--pf-t--global--border--color--glass--default, transparent);
63
+ --#{$compass}__dock--m-expanded__dock-main--BorderInlineEndWidth: var(--pf-t--global--border--width--glass--default, var(--pf-t--global--border--width--regular));
64
+ --#{$compass}__dock--m-expanded__dock-main--BorderInlineEndColor: var(--pf-t--global--border--color--glass--default, var(--pf-t--global--border--color--subtle));
65
+
42
66
  @media screen and (prefers-reduced-motion: no-preference) {
43
67
  --#{$compass}--section--TransitionDuration: var(--#{$compass}--section--duration), 0s, var(--#{$compass}--section--duration), 0s, 0s, 0s;
44
68
  --#{$compass}--section--TransitionDelay: 0s, var(--#{$compass}--section--duration), 0s, var(--#{$compass}--section--duration), var(--#{$compass}--section--duration), var(--#{$compass}--section--duration);
@@ -76,20 +100,76 @@
76
100
  background-size: cover;
77
101
 
78
102
  &.pf-m-docked {
79
- grid-template-areas: "dock main";
80
- grid-template-rows: auto;
81
- grid-template-columns: auto 1fr;
103
+ grid-template-areas:
104
+ "header"
105
+ "main";
106
+ grid-template-rows: max-content 1fr;
107
+ grid-template-columns: 1fr;
82
108
  align-items: stretch;
83
109
  padding: 0;
84
110
 
85
111
  .#{$compass}__main {
86
112
  padding: var(--#{$compass}--Padding);
87
113
  }
114
+
115
+ > .#{$masthead} {
116
+ --#{$masthead}--BackgroundColor: var(--#{$compass}--m-docked__masthead--BackgroundColor);
117
+
118
+ grid-area: header;
119
+ }
88
120
  }
89
121
 
90
122
  :root:where(.#{$pf-prefix}theme-dark) & {
91
123
  --#{$compass}--BackgroundImage: var(--#{$compass}--BackgroundImage--dark);
92
124
  }
125
+
126
+ @media (min-width: $pf-v6-global--breakpoint--dock--desktop) {
127
+ &.pf-m-docked {
128
+ grid-template-areas: "dock main";
129
+ grid-template-rows: auto;
130
+ grid-template-columns: auto 1fr;
131
+ row-gap: var(--#{$compass}__main--RowGap);
132
+ align-items: stretch;
133
+ padding: 0;
134
+
135
+ > .#{$masthead} {
136
+ display: none;
137
+ }
138
+ }
139
+ }
140
+
141
+ // Masthead hamburger
142
+ > .#{$masthead} .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
143
+ @include pf-v6-hamburger;
144
+ }
145
+
146
+ // mobile - show collapse when sidebar expanded
147
+ &:where(:has(> .#{$compass}__dock.pf-m-expanded)) > .#{$masthead} .#{$masthead}__toggle :is(.#{$button}.pf-m-hamburger, .#{$button}.pf-m-hamburger:hover, .#{$button}.pf-m-hamburger:focus-visible) {
148
+ @include pf-v6-hamburger($collapse: true);
149
+ }
150
+
151
+ // Docked masthead hamburger
152
+ .#{$compass}__dock.pf-m-expanded .#{$masthead}__toggle .#{$button}.pf-m-hamburger {
153
+ @include pf-v6-hamburger($collapse: true);
154
+ }
155
+
156
+ @media (min-width: $pf-v6-global--breakpoint--dock--desktop) {
157
+ // desktop - reset dock internal toggle to bars
158
+ .#{$compass}__dock .#{$masthead}__toggle .#{$button}.pf-m-hamburger,
159
+ .#{$compass}__dock.pf-m-expanded .#{$masthead}__toggle .#{$button}.pf-m-hamburger {
160
+ @include pf-v6-hamburger($reset: true);
161
+ }
162
+
163
+ // desktop - show expand arrow on hover
164
+ .#{$compass}__dock .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
165
+ @include pf-v6-hamburger;
166
+ }
167
+
168
+ // desktop - show collapse arrow on hover when text expanded
169
+ .#{$compass}__dock.pf-m-text-expanded .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
170
+ @include pf-v6-hamburger($collapse: true);
171
+ }
172
+ }
93
173
  }
94
174
 
95
175
  .#{$compass}__header,
@@ -214,6 +294,65 @@
214
294
  }
215
295
  }
216
296
 
297
+ // Dock
298
+ .#{$compass}__dock {
299
+ position: fixed;
300
+ inset-block-start: 0;
301
+ inset-block-end: 0;
302
+ inset-inline-start: 0;
303
+ z-index: var(--#{$compass}__dock--ZIndex);
304
+ display: flex;
305
+ flex-direction: column;
306
+ grid-area: dock;
307
+ width: var(--#{$compass}__dock--Width);
308
+ transition: translate var(--#{$compass}__dock--TransitionDuration--slide) var(--#{$compass}__dock--TransitionTimingFunction--slide);
309
+ translate: -100% 0;
310
+
311
+ &.pf-m-expanded {
312
+ --#{$compass}__dock--TransitionDuration--slide: var(--#{$compass}__dock--m-expanded--TransitionDuration--slide);
313
+
314
+ translate: 0;
315
+ }
316
+
317
+ @media (min-width: $pf-v6-global--breakpoint--dock--desktop) {
318
+ --#{$compass}__dock-main--BackgroundColor: var(--#{$compass}__dock-main--desktop--BackgroundColor);
319
+ --#{$compass}__dock-main--BorderInlineEndColor: var(--#{$compass}__dock-main--desktop--BorderInlineEndColor);
320
+
321
+ position: revert;
322
+ inset: revert;
323
+ width: auto;
324
+ translate: 0;
325
+ }
326
+
327
+ .#{$toolbar}.pf-m-vertical :is(.#{$toolbar}__content-section, .#{$toolbar}__group, .#{$toolbar}__item) {
328
+ align-items: stretch;
329
+ }
330
+
331
+ &.pf-m-text-expanded {
332
+ width: var(--#{$compass}__dock--Width);
333
+ }
334
+ }
335
+
336
+ .#{$compass}__dock-main {
337
+ flex-grow: 1;
338
+ background-color: var(--#{$compass}__dock-main--BackgroundColor);
339
+ backdrop-filter: var(--#{$compass}__dock-main--BackdropFilter);
340
+ border-inline-end: var(--#{$compass}__dock-main--BorderInlineEndWidth) solid var(--#{$compass}__dock-main--BorderInlineEndColor);
341
+ box-shadow: var(--#{$compass}__dock-main--BoxShadow);
342
+
343
+ .#{$compass}__dock.pf-m-expanded & {
344
+ border-inline-end: var(--#{$compass}__dock--m-expanded__dock-main--BorderInlineEndWidth) solid var(--#{$compass}__dock--m-expanded__dock-main--BorderInlineEndColor);
345
+ box-shadow: var(--#{$compass}__dock--m-expanded__dock-main--BoxShadow);
346
+ }
347
+
348
+ @media (min-width: $pf-v6-global--breakpoint--dock--desktop) {
349
+ --#{$compass}__dock-main--BoxShadow: var(--#{$compass}__dock-main--desktop--BoxShadow);
350
+ --#{$compass}__dock--m-expanded__dock-main--BoxShadow: var(--#{$compass}__dock-main--desktop--BoxShadow);
351
+ --#{$compass}__dock--m-expanded__dock-main--BorderInlineEndWidth: var(--#{$compass}__dock-main--BorderInlineEndWidth);
352
+ --#{$compass}__dock--m-expanded__dock-main--BorderInlineEndColor: var(--#{$compass}__dock-main--desktop--BorderInlineEndColor);
353
+ }
354
+ }
355
+
217
356
  .#{$compass}__main {
218
357
  display: flex;
219
358
  flex-direction: column;
@@ -167,13 +167,13 @@
167
167
  display: revert;
168
168
  }
169
169
  }
170
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__logo {
170
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__logo {
171
171
  display: revert;
172
172
  }
173
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__logo.pf-m-compact {
173
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__logo.pf-m-compact {
174
174
  display: none;
175
175
  }
176
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__main {
176
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-masthead.pf-m-docked .pf-v6-c-masthead__main {
177
177
  align-items: flex-start;
178
178
  }
179
179
 
@@ -210,7 +210,7 @@ $pf-v6-c-masthead--inset-map: build-spacer-map("none", "sm", "md", "lg", "xl", "
210
210
  }
211
211
  }
212
212
 
213
- @at-root .#{$page}__dock.pf-m-text-expanded & {
213
+ @at-root :is(.#{$page}__dock, .#{$compass}__dock).pf-m-text-expanded & {
214
214
  .#{$masthead}__logo {
215
215
  display: revert;
216
216
 
@@ -367,12 +367,12 @@
367
367
  display: none;
368
368
  }
369
369
  }
370
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-menu-toggle, .pf-v6-c-menu-toggle.pf-m-text-expanded {
370
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-menu-toggle.pf-m-docked, .pf-v6-c-menu-toggle.pf-m-text-expanded {
371
371
  justify-content: flex-start;
372
372
  width: 100%;
373
373
  }
374
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-menu-toggle .pf-v6-c-menu-toggle__text,
375
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-menu-toggle .pf-v6-c-menu-toggle__controls, .pf-v6-c-menu-toggle.pf-m-text-expanded .pf-v6-c-menu-toggle__text,
374
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-menu-toggle.pf-m-docked .pf-v6-c-menu-toggle__text,
375
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-menu-toggle.pf-m-docked .pf-v6-c-menu-toggle__controls, .pf-v6-c-menu-toggle.pf-m-text-expanded .pf-v6-c-menu-toggle__text,
376
376
  .pf-v6-c-menu-toggle.pf-m-text-expanded .pf-v6-c-menu-toggle__controls {
377
377
  display: revert;
378
378
  }
@@ -449,7 +449,7 @@
449
449
  }
450
450
  }
451
451
 
452
- @at-root .#{$page}__dock.pf-m-text-expanded &,
452
+ @at-root :is(.#{$page}__dock, .#{$compass}__dock).pf-m-text-expanded &.pf-m-docked,
453
453
  &.pf-m-text-expanded {
454
454
  justify-content: flex-start;
455
455
  width: 100%;
@@ -168,10 +168,10 @@
168
168
  display: none;
169
169
  }
170
170
  }
171
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-nav.pf-m-docked, .pf-v6-c-nav.pf-m-docked.pf-m-text-expanded {
171
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-nav.pf-m-docked, .pf-v6-c-nav.pf-m-docked.pf-m-text-expanded {
172
172
  width: 100%;
173
173
  }
174
- .pf-v6-c-page__dock.pf-m-text-expanded .pf-v6-c-nav.pf-m-docked .pf-v6-c-nav__link-text, .pf-v6-c-nav.pf-m-docked.pf-m-text-expanded .pf-v6-c-nav__link-text {
174
+ :is(.pf-v6-c-page__dock, .pf-v6-c-compass__dock).pf-m-text-expanded .pf-v6-c-nav.pf-m-docked .pf-v6-c-nav__link-text, .pf-v6-c-nav.pf-m-docked.pf-m-text-expanded .pf-v6-c-nav__link-text {
175
175
  display: revert;
176
176
  }
177
177
 
@@ -208,7 +208,7 @@
208
208
  }
209
209
  }
210
210
 
211
- @at-root .#{$page}__dock.pf-m-text-expanded &,
211
+ @at-root :is(.#{$page}__dock, .#{$compass}__dock).pf-m-text-expanded &,
212
212
  &.pf-m-text-expanded {
213
213
  width: 100%;
214
214
 
@@ -297,9 +297,9 @@
297
297
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
298
298
  --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
299
299
  --pf-v6-c-button__icon--TransitionDelay: 0s;
300
- --pf-v6-c-button__icon--ScaleX: 1;
300
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
301
301
  --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
302
- --pf-v6-c-button--hover__icon--ScaleX: 1;
302
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
303
303
  }
304
304
  @media (min-width: 75rem) {
305
305
  .pf-v6-c-page > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger, .pf-v6-c-page:where(:has(> .pf-v6-c-page__sidebar.pf-m-expanded)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle :is(.pf-v6-c-button.pf-m-hamburger, .pf-v6-c-button.pf-m-hamburger:hover, .pf-v6-c-button.pf-m-hamburger:focus-visible) {
@@ -314,9 +314,9 @@
314
314
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
315
315
  --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
316
316
  --pf-v6-c-button__icon--TransitionDelay: 0s;
317
- --pf-v6-c-button__icon--ScaleX: 1;
317
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
318
318
  --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
319
- --pf-v6-c-button--hover__icon--ScaleX: 1;
319
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
320
320
  }
321
321
  .pf-v6-c-page:where(:has(> .pf-v6-c-page__sidebar.pf-m-collapsed)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
322
322
  --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
@@ -333,9 +333,9 @@
333
333
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
334
334
  --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
335
335
  --pf-v6-c-button__icon--TransitionDelay: 0s;
336
- --pf-v6-c-button__icon--ScaleX: 1;
336
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
337
337
  --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
338
- --pf-v6-c-button--hover__icon--ScaleX: 1;
338
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
339
339
  }
340
340
  @media (min-width: 62rem) {
341
341
  .pf-v6-c-page .pf-v6-c-page__dock .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger,
@@ -360,9 +360,9 @@
360
360
  --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
361
361
  --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
362
362
  --pf-v6-c-button__icon--TransitionDelay: 0s;
363
- --pf-v6-c-button__icon--ScaleX: 1;
363
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
364
364
  --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
365
- --pf-v6-c-button--hover__icon--ScaleX: 1;
365
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-collapse--ScaleX);
366
366
  }
367
367
  }
368
368
 
@@ -392,6 +392,10 @@
392
392
  transition: translate var(--pf-v6-c-page__dock--TransitionDuration--slide) var(--pf-v6-c-page__dock--TransitionTimingFunction--slide);
393
393
  translate: -100% 0;
394
394
  }
395
+ :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-page__dock {
396
+ translate: 100% 0;
397
+ }
398
+
395
399
  .pf-v6-c-page__dock.pf-m-expanded {
396
400
  --pf-v6-c-page__dock--TransitionDuration--slide: var(--pf-v6-c-page__dock--m-expanded--TransitionDuration--slide);
397
401
  translate: 0;
@@ -418,7 +418,12 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
418
418
  grid-area: dock;
419
419
  width: var(--#{$page}__dock--Width);
420
420
  transition: translate var(--#{$page}__dock--TransitionDuration--slide) var(--#{$page}__dock--TransitionTimingFunction--slide);
421
- translate: -100% 0;
421
+
422
+ @include pf-v6-bidirectional-style(
423
+ $prop: translate,
424
+ $ltr-val: -100% 0,
425
+ $rtl-val: 100% 0
426
+ );
422
427
 
423
428
  &.pf-m-expanded {
424
429
  --#{$page}__dock--TransitionDuration--slide: var(--#{$page}__dock--m-expanded--TransitionDuration--slide);