@patternfly/patternfly 6.0.0-alpha.63 → 6.0.0-alpha.64

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 (45) hide show
  1. package/components/ActionList/action-list.css +18 -17
  2. package/components/ActionList/action-list.scss +26 -16
  3. package/components/Button/button.css +4 -9
  4. package/components/Button/button.scss +4 -9
  5. package/components/Masthead/masthead.css +15 -29
  6. package/components/Masthead/masthead.scss +20 -36
  7. package/components/OverflowMenu/overflow-menu.css +17 -47
  8. package/components/OverflowMenu/overflow-menu.scss +27 -65
  9. package/components/Pagination/pagination.css +6 -3
  10. package/components/Pagination/pagination.scss +4 -3
  11. package/components/Toolbar/toolbar.css +2525 -1040
  12. package/components/Toolbar/toolbar.scss +232 -534
  13. package/docs/components/ActionList/examples/ActionList.md +73 -22
  14. package/docs/components/LogViewer/examples/LogViewer.md +50 -50
  15. package/docs/components/Toolbar/examples/Toolbar.css +20 -15
  16. package/docs/components/Toolbar/examples/Toolbar.md +374 -419
  17. package/docs/demos/AboutModal/examples/AboutModal.md +2 -2
  18. package/docs/demos/Alert/examples/Alert.md +6 -6
  19. package/docs/demos/BackToTop/examples/BackToTop.md +2 -2
  20. package/docs/demos/Banner/examples/Banner.md +4 -4
  21. package/docs/demos/CardView/examples/CardView.md +3 -3
  22. package/docs/demos/ContextSelector/examples/ContextSelector.md +7 -7
  23. package/docs/demos/Dashboard/examples/Dashboard.md +2 -2
  24. package/docs/demos/DataList/examples/DataList.md +11 -11
  25. package/docs/demos/DescriptionList/examples/DescriptionList.md +6 -6
  26. package/docs/demos/Drawer/examples/Drawer.md +10 -10
  27. package/docs/demos/JumpLinks/examples/JumpLinks.md +12 -12
  28. package/docs/demos/Masthead/examples/Masthead.md +21 -21
  29. package/docs/demos/Modal/examples/Modal.md +12 -12
  30. package/docs/demos/Nav/examples/Nav.md +12 -12
  31. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +10 -10
  32. package/docs/demos/Page/examples/Page.md +18 -18
  33. package/docs/demos/Page/examples/Penta.md +2 -2
  34. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +19 -19
  35. package/docs/demos/Skeleton/examples/Skeleton.md +2 -2
  36. package/docs/demos/Table/examples/Table.md +42 -45
  37. package/docs/demos/Tabs/examples/Tabs.md +13 -13
  38. package/docs/demos/Toolbar/examples/Toolbar.md +13 -13
  39. package/docs/demos/Wizard/examples/Wizard.md +18 -18
  40. package/package.json +1 -1
  41. package/patternfly-no-globals.css +2579 -1114
  42. package/patternfly-theme-dark-unversioned.css +2579 -1114
  43. package/patternfly.css +2579 -1114
  44. package/patternfly.min.css +1 -1
  45. package/patternfly.min.css.map +1 -1
@@ -1,172 +1,80 @@
1
- // Don't remove this magic comment. See gulpfile.js.
2
- // @import "../../sass-utilities/all";
3
- // @debug $toolbar; // check your variable names located in src/patternfly/sass-utilities/component-namespaces.scss
4
- $pf-v5-c-toolbar--breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg", "xl", "2xl");
5
- $pf-v5-c-toolbar--spacer-map: build-spacer-map("none", "sm", "md", "lg");
6
- $pf-v5-c-toolbar--inset-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
7
-
8
- :root {
9
- --#{$toolbar}--AlignItems--base: flex-start;
10
- --#{$toolbar}--RowGap--base: var(--#{$pf-global}--spacer--lg); // row-gap between toolbar content elements
11
- --#{$toolbar}--RowGap: var(--#{$toolbar}--RowGap--base);
12
- --#{$toolbar}--PaddingTop: var(--#{$pf-global}--spacer--md);
13
- --#{$toolbar}--PaddingBottom: var(--#{$pf-global}--spacer--md);
14
- --#{$toolbar}--item--RowGap--base: var(--#{$pf-global}--spacer--xs); // shared row-gap for items and groups
15
-
16
- // Item
17
- --#{$toolbar}__item--Display: flex;
18
- --#{$toolbar}__item--MinWidth--base: auto;
19
- --#{$toolbar}__item--AlignItems: var(--#{$toolbar}--AlignItems--base);
20
- --#{$toolbar}__item--AlignSelf: var(--#{$toolbar}--AlignItems--base);
21
-
22
- // Group
23
- --#{$toolbar}__group--Display: flex;
24
- --#{$toolbar}__group--RowGap: var(--#{$toolbar}--item--RowGap--base);
25
- --#{$toolbar}__group--AlignItems: var(--#{$toolbar}--AlignItems--base);
26
- --#{$toolbar}__group--AlignSelf: auto;
27
-
28
- // Sticky
29
- --#{$toolbar}--m-sticky--ZIndex: var(--#{$pf-global}--ZIndex--xs);
30
- --#{$toolbar}--m-sticky--BoxShadow: var(--#{$pf-global}--BoxShadow--sm-bottom);
31
-
32
- // Alignment options
33
- --#{$toolbar}--m-align-items-center--AlignItems: center;
34
- --#{$toolbar}--m-align-items-baseline--AlignItems: baseline;
35
- --#{$toolbar}--m-align-self-center--AlignSelf: center;
36
- --#{$toolbar}--m-align-self-baseline--AlignSelf: baseline;
37
-
38
- // Content
39
- --#{$toolbar}__content--Display: flex;
40
- --#{$toolbar}__content--AlignItems: var(--#{$toolbar}--AlignItems--base);
41
- --#{$toolbar}__content--RowGap: var(--#{$toolbar}--RowGap--base);
42
- --#{$toolbar}__content--PaddingRight: var(--#{$pf-global}--spacer--md); // remove at breaking change
43
- --#{$toolbar}__content--PaddingLeft: var(--#{$pf-global}--spacer--md); // remove at breaking change
44
-
45
- // Content section
46
- --#{$toolbar}__content-section--Display: flex;
47
- --#{$toolbar}__content-section--AlignItems: var(--#{$toolbar}--AlignItems--base);
48
- --#{$toolbar}__content-section--RowGap: var(--#{$toolbar}--item--RowGap--base);
49
-
50
- // Insets
51
- --#{$toolbar}--m-page-insets--inset: var(--#{$pf-global}--spacer--md); // make this the default inset at breaking change
52
- --#{$toolbar}--m-page-insets--xl--inset: var(--#{$pf-global}--spacer--lg); // make this the default inset at breaking change
53
-
54
- // Expandable content
55
- --#{$toolbar}__expandable-content--Display: grid;
56
- --#{$toolbar}__expandable-content--PaddingTop: 0;
57
- --#{$toolbar}__expandable-content--PaddingRight: var(--#{$toolbar}__content--PaddingRight);
58
- --#{$toolbar}__expandable-content--PaddingBottom: var(--#{$pf-global}--spacer--md);
59
- --#{$toolbar}__expandable-content--PaddingLeft: var(--#{$toolbar}__content--PaddingLeft);
60
- --#{$toolbar}__expandable-content--lg--PaddingRight: 0;
61
- --#{$toolbar}__expandable-content--lg--PaddingBottom: 0;
62
- --#{$toolbar}__expandable-content--lg--PaddingLeft: 0;
63
- --#{$toolbar}__expandable-content--ZIndex: var(--#{$pf-global}--ZIndex--sm);
64
- --#{$toolbar}__expandable-content--BoxShadow: var(--#{$pf-global}--BoxShadow--md-bottom);
65
- --#{$toolbar}__expandable-content--BackgroundColor: var(--#{$toolbar}--BackgroundColor);
66
-
67
- // Expanded
68
- --#{$toolbar}__expandable-content--m-expanded--GridRowGap: var(--#{$pf-global}--gutter--md);
69
-
70
- // Chip container
71
- --#{$toolbar}__group--m-chip-container--MarginTop: calc(var(--#{$pf-global}--spacer--md) * -1);
72
- --#{$toolbar}__group--m-chip-container__item--MarginTop: var(--#{$pf-global}--spacer--md);
73
-
74
- // Base spacer - shared value
75
- --#{$toolbar}--spacer--base: var(--#{$pf-global}--spacer--md);
76
-
77
- // Spacer values
78
- --#{$toolbar}__item--spacer: var(--#{$toolbar}--spacer--base);
79
- --#{$toolbar}__item--Width: auto;
80
- --#{$toolbar}__group--spacer: var(--#{$toolbar}--spacer--base);
81
-
82
- // Toggle group
83
- --#{$toolbar}__group--m-toggle-group--spacer: var(--#{$pf-global}--spacer--sm);
84
-
85
- // update
86
- --#{$toolbar}__group--m-toggle-group--m-show--spacer: var(--#{$toolbar}__group--spacer);
87
-
88
- // Icon button group
89
- --#{$toolbar}__group--m-icon-button-group--spacer: var(--#{$toolbar}__group--spacer);
90
- --#{$toolbar}__group--m-icon-button-group--space-items: 0;
91
-
92
- // Button group
93
- --#{$toolbar}__group--m-button-group--spacer: var(--#{$toolbar}__group--spacer);
94
- --#{$toolbar}__group--m-button-group--space-items: var(--#{$pf-global}--spacer--sm);
95
-
96
- // Filter group
97
- --#{$toolbar}__group--m-filter-group--spacer: var(--#{$toolbar}__group--spacer);
98
- --#{$toolbar}__group--m-filter-group--space-items: 0;
99
-
100
- // Overflow menu item
101
- --#{$toolbar}__item--m-overflow-menu--spacer: var(--#{$toolbar}__item--spacer);
102
-
103
- // Bulk select
104
- --#{$toolbar}__item--m-bulk-select--spacer: var(--#{$pf-global}--spacer--lg);
105
-
106
- // Expand all
1
+ $pf-v5-c-toolbar--spacer-map: build-spacer-map();
2
+ $pf-v5-c-toolbar--inset-map: build-spacer-map();
3
+ $pf-v5-c-toolbar--align-items--alignments: ('stretch', 'baseline', 'start', 'center', 'end');
4
+ $pf-v5-c-toolbar--breakpoint-map: build-breakpoint-map('base');
5
+ $pf-v5--include-toolbar-breakpoints: true !default;
6
+
7
+ @if $pf-v5--include-toolbar-breakpoints {
8
+ $pf-v5-c-toolbar--breakpoint-map: build-breakpoint-map('base', 'sm', 'md', 'lg', 'xl', '2xl');
9
+ }
10
+
11
+ :root,
12
+ [data-theme="#{$toolbar}"] {
13
+ --#{$toolbar}--RowGap: var(--pf-t--global--spacer--sm);
14
+ --#{$toolbar}--ColumnGap: var(--pf-t--global--spacer--md);
15
+ --#{$toolbar}--PaddingBlock: var(--pf-t--global--spacer--md);
16
+ --#{$toolbar}--PaddingInline: var(--pf-t--global--spacer--md);
17
+ --#{$toolbar}--LineHeight: var(--pf-t--global--font--line-height--body);
18
+ --#{$toolbar}--FontSize: var(--pf-t--global--font--size--body--default);
19
+
20
+ // * Toolbar item
21
+ --#{$toolbar}__item--ColumnGap: var(--pf-t--global--spacer--sm);
22
+
23
+ // * Toolbar content * Toolbar expandable content
24
+ --#{$toolbar}__content--RowGap: var(--pf-t--global--spacer--sm);
25
+ --#{$toolbar}__content--PaddingBlock: var(--pf-t--global--spacer--md);
26
+ --#{$toolbar}__content--PaddingInline: var(--#{$toolbar}--PaddingInline);
27
+
28
+ // * Toolbar expandable content
29
+ --#{$toolbar}__expandable-content--ZIndex: var(--pf-t--global--Zindex--xs);
30
+ --#{$toolbar}__expandable-content--BoxShadow: var(--pf-t--global--box-shadow--md--bottom);
31
+ --#{$toolbar}__expandable-content--BackgroundColor: var(--pf-t--global--background--color--floating--default);
32
+
33
+ // * Toolbar chip group
34
+ // * Toolbar sticky
35
+ --#{$toolbar}--m-sticky--ZIndex: var(--pf-t--global--Zindex--xs);
36
+ --#{$toolbar}--m-sticky--BoxShadow: var(--pf-t--global--box-shadow--md--bottom);
37
+
38
+ // * Toolbar insets
39
+ --#{$toolbar}--m-page-insets--inset: var(--#{$page}--inset);
40
+
41
+ // * Toolbar expand all
107
42
  --#{$toolbar}__expand-all-icon--Rotate: 0;
108
- --#{$toolbar}__expand-all-icon--Transition: var(--#{$pf-global}--Transition);
43
+ --#{$toolbar}__expand-all-icon--Transition: var(--#{$pf-global}--Transition); // TODO: update when transition is tokenized
109
44
  --#{$toolbar}__item--m-expand-all--m-expanded__expand-all-icon--Rotate: 90deg;
110
45
 
111
- // Search filter
112
- --#{$toolbar}__item--m-search-filter--spacer: var(--#{$pf-global}--spacer--sm);
113
-
114
- // Chip group
115
- --#{$toolbar}__item--m-chip-group--spacer: var(--#{$pf-global}--spacer--sm);
116
-
117
- // Label
118
- --#{$toolbar}__item--m-label--spacer: var(--#{$toolbar}__item--spacer);
119
- --#{$toolbar}__item--m-label--TranslateY: var(--#{$pf-global}--spacer--form-element);
120
- --#{$toolbar}__item--m-label--FontWeight: var(--#{$pf-global}--FontWeight--bold);
121
-
122
- // Form control inline
123
- --#{$toolbar}__item--m-form-element--spacer: var(--#{$toolbar}__item--spacer);
124
- --#{$toolbar}__item--m-form-element--TranslateY: var(--#{$pf-global}--spacer--form-element);
125
- --#{$toolbar}__item--m-form-element--FontWeight: var(--#{$pf-global}--FontWeight--bold);
126
-
127
- // Input
128
- --#{$toolbar}__item--m-form-control--TranslateY: var(--#{$pf-global}--spacer--form-element);
129
-
130
- // Label in expanded content
131
- --#{$toolbar}__expandable-content__item--m-label--MarginBottom: calc(-1 * var(--#{$toolbar}__expandable-content--m-expanded--GridRowGap) + var(--#{$pf-global}--spacer--sm));
132
- --#{$toolbar}__expandable-content__item--m-label--FontSize: var(--#{$pf-global}--FontSize--sm);
46
+ // * Toolbar filter group
47
+ --#{$toolbar}__group--m-filter-group--ColumnGap: var(--pf-t--global--spacer--xs);
133
48
 
134
- // Toggle
135
- --#{$toolbar}__toggle--m-expanded__c-button--m-plain--Color: var(--#{$pf-global}--Color--100);
136
-
137
- // Divider
138
- --#{$toolbar}--c-divider--m-vertical--spacer: var(--#{$toolbar}--spacer--base);
139
-
140
- // Full Height
141
- --#{$toolbar}--m-full-height--PaddingTop: 0;
142
- --#{$toolbar}--m-full-height--PaddingBottom: 0;
143
- --#{$toolbar}--m-full-height__item--Display: flex;
144
- --#{$toolbar}--m-full-height__item--AlignItems: center;
49
+ // * Toolbar label
50
+ --#{$toolbar}__item--m-label--FontWeight: var(--pf-t--global--font--weight--body--bold);
145
51
  }
146
52
 
147
- .#{$toolbar} {
148
- @media screen and (min-width: $pf-v5-global--breakpoint--lg) {
149
- --#{$toolbar}__expandable-content--PaddingRight: var(--#{$toolbar}__expandable-content--lg--PaddingRight);
150
- --#{$toolbar}__expandable-content--PaddingBottom: var(--#{$toolbar}__expandable-content--lg--PaddingBottom);
151
- --#{$toolbar}__expandable-content--PaddingLeft: var(--#{$toolbar}__expandable-content--lg--PaddingLeft);
152
- }
53
+ // - Toolbar content - Toolbar group - Toolbar item - Toolbar group chip container - Toolbar group chip group
54
+ .#{$toolbar}__content-section,
55
+ .#{$toolbar}__group,
56
+ .#{$toolbar}__item,
57
+ .#{$toolbar}__group.pf-m-chip-group-container,
58
+ .#{$toolbar}__group.pf-m-chip-group {
59
+ @include pf-v5-hidden-visible(flex);
153
60
 
154
- @media screen and (min-width: $pf-v5-global--breakpoint--xl) {
155
- --#{$toolbar}--m-page-insets--inset: var(--#{$toolbar}--m-page-insets--xl--inset);
156
- }
61
+ flex-wrap: wrap;
62
+ }
157
63
 
64
+ // - Toolbar - Toolbar content
65
+ .#{$toolbar},
66
+ .#{$toolbar}__content {
158
67
  position: relative;
159
68
  display: grid;
160
- row-gap: var(--#{$toolbar}--RowGap);
161
- padding-block-start: var(--#{$toolbar}--PaddingTop);
162
- padding-block-end: var(--#{$toolbar}--PaddingBottom);
163
- background-color: var(--#{$toolbar}--BackgroundColor);
69
+ }
164
70
 
165
- &.pf-m-page-insets {
166
- --#{$toolbar}__content--PaddingRight: var(--#{$toolbar}--m-page-insets--inset);
167
- --#{$toolbar}__content--PaddingLeft: var(--#{$toolbar}--m-page-insets--inset);
168
- }
71
+ // - Toolbar
72
+ .#{$toolbar} {
73
+ width: var(--#{$toolbar}--Width, auto);
74
+ font-size: var(--#{$toolbar}--FontSize);
75
+ line-height: var(--#{$toolbar}--LineHeight);
169
76
 
77
+ // - Toolbar sticky
170
78
  &.pf-m-sticky {
171
79
  position: sticky;
172
80
  inset-block-start: 0;
@@ -174,36 +82,8 @@ $pf-v5-c-toolbar--inset-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2
174
82
  box-shadow: var(--#{$toolbar}--m-sticky--BoxShadow);
175
83
  }
176
84
 
177
- &.pf-m-full-height {
178
- --#{$toolbar}--PaddingTop: var(--#{$toolbar}--m-full-height--PaddingTop);
179
- --#{$toolbar}--PaddingBottom: var(--#{$toolbar}--m-full-height--PaddingTop);
180
- --#{$toolbar}__item--Display: var(--#{$toolbar}--m-full-height__item--Display);
181
-
182
- height: 100%;
183
-
184
- &,
185
- .#{$toolbar}__content,
186
- .#{$toolbar}__content-section,
187
- .#{$toolbar}__expandable-content,
188
- .#{$toolbar}__group {
189
- min-width: 0;
190
- }
191
-
192
- &,
193
- .#{$toolbar}__content,
194
- .#{$toolbar}__content-section,
195
- .#{$toolbar}__group,
196
- .#{$toolbar}__item {
197
- align-self: stretch;
198
- }
199
-
200
- :where(.#{$toolbar}__item) {
201
- --#{$toolbar}__item--AlignItems: var(--#{$toolbar}--m-full-height__item--AlignItems);
202
- }
203
- }
204
-
85
+ // - Toolbar static
205
86
  &.pf-m-static {
206
- &,
207
87
  .#{$toolbar}__content {
208
88
  position: static;
209
89
  }
@@ -212,458 +92,276 @@ $pf-v5-c-toolbar--inset-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2
212
92
  position: absolute;
213
93
  }
214
94
  }
215
- }
216
-
217
- // Divider
218
- .#{$toolbar}__content-section,
219
- .#{$toolbar}__group {
220
- // set this var here so specificity is 20
221
- > .#{$divider} {
222
- --#{$toolbar}--spacer: var(--#{$toolbar}--c-divider--m-vertical--spacer);
223
- }
224
95
 
225
- > .#{$divider}.pf-m-vertical {
226
- margin-inline-end: var(--#{$toolbar}--spacer);
96
+ // - Toolbar full height
97
+ &.pf-m-full-height {
98
+ --#{$toolbar}--PaddingBlockStart: 0;
99
+ --#{$toolbar}--PaddinkBlockEnd: 0;
227
100
 
228
- &:last-child {
229
- --#{$toolbar}--spacer: 0;
101
+ .#{$toolbar}__group,
102
+ .#{$toolbar}__item {
103
+ align-items: stretch;
104
+ align-self: stretch;
230
105
  }
231
106
  }
232
107
 
233
- &.pf-m-align-items-start {
234
- align-items: flex-start;
235
- }
236
-
237
- &.pf-m-align-items-center {
238
- --#{$toolbar}__group--AlignItems: var(--#{$toolbar}--m-align-items-center--AlignItems);
239
- }
240
-
241
- &.pf-m-align-items-baseline {
242
- --#{$toolbar}__group--AlignItems: var(--#{$toolbar}--m-align-items-baseline--AlignItems);
243
- }
244
-
245
- &.pf-m-align-self-start {
246
- align-self: flex-start;
247
- }
248
-
249
- &.pf-m-align-self-center {
250
- --#{$toolbar}__group--AlignSelf: var(--#{$toolbar}--m-align-self-center--AlignItems);
108
+ // - Toolbar page insets
109
+ &.pf-m-page-insets {
110
+ --#{$toolbar}--PaddingInlineStart: var(--#{$toolbar}--m-page-insets--inset);
111
+ --#{$toolbar}--PaddingInlineEnd: var(--#{$toolbar}--m-page-insets--inset);
251
112
  }
252
113
 
253
- &.pf-m-align-self-baseline {
254
- --#{$toolbar}__group--AlignSelf: var(--#{$toolbar}--m-align-self-baseline--AlignItems);
255
- }
114
+ // @include resize-observer-placeholder('md') {
115
+ // do resize observer things here
116
+ // }
256
117
  }
257
118
 
258
- // Group
259
- .#{$toolbar}__group {
260
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--spacer);
261
-
262
- @include pf-v5-hidden-visible(var(--#{$toolbar}__group--Display));
263
-
264
- row-gap: var(--#{$toolbar}__group--RowGap);
265
- align-items: var(--#{$toolbar}__group--AlignItems);
266
- align-self: var(--#{$toolbar}__group--AlignSelf);
267
- margin-inline-end: var(--#{$toolbar}--spacer);
268
-
269
- // Button group
270
- &.pf-m-button-group {
271
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-button-group--spacer);
272
-
273
- > * {
274
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-button-group--space-items);
275
- }
276
- }
277
-
278
- // Icon button group
279
- &.pf-m-icon-button-group {
280
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-icon-button-group--spacer);
281
-
282
- > * {
283
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-icon-button-group--space-items);
284
- }
285
- }
119
+ // - Toolbar content - Toolbar content section - Toolbar expandable content
120
+ .#{$toolbar}__content,
121
+ .#{$toolbar}__content-section,
122
+ .#{$toolbar}__expandable-content {
123
+ row-gap: var(--#{$toolbar}__content--RowGap);
124
+ column-gap: var(--#{$toolbar}--ColumnGap);
125
+ }
286
126
 
287
- // Filter group
288
- &.pf-m-filter-group {
289
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-filter-group--spacer);
127
+ // - Toolbar content expandable content
128
+ .#{$toolbar}__content,
129
+ .#{$toolbar}__expandable-content {
130
+ padding-block-start: var(--#{$toolbar}__content--PaddingBlockStart, var(--#{$toolbar}__content--PaddingBlock));
131
+ padding-block-end: var(--#{$toolbar}__content--PaddingBlockEnd, var(--#{$toolbar}__content--PaddingBlock));
132
+ padding-inline-start: var(--#{$toolbar}__content--PaddingInlineStart, var(--#{$toolbar}__content--PaddingInline));
133
+ padding-inline-end: var(--#{$toolbar}__content--PaddingInlineEnd, var(--#{$toolbar}__content--PaddingInline));
134
+ }
290
135
 
291
- > * {
292
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-filter-group--space-items);
293
- }
136
+ // - Toolbar content section
137
+ .#{$toolbar}__content-section {
138
+ align-items: start;
294
139
 
295
- > * + * {
296
- margin-inline-start: -1px;
140
+ // push pagination to inline-end when flex items are not wrapped
141
+ &:has(.#{$toolbar}__item.pf-m-pagination:not(:only-child):last-child) {
142
+ .#{$toolbar}__item.pf-m-pagination {
143
+ margin-inline-start: revert;
297
144
  }
298
- }
299
145
 
300
- // Toggle group
301
- &.pf-m-toggle-group {
302
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-toggle-group--spacer);
303
-
304
- .#{$toolbar}__group,
305
- .#{$toolbar}__item {
306
- display: none;
307
- }
308
-
309
- .#{$toolbar}__toggle {
310
- display: inline-block;
146
+ > .#{$toolbar}__group,
147
+ > .#{$toolbar}__item {
148
+ &:nth-last-child(2) {
149
+ flex: 1;
150
+ }
311
151
  }
312
152
  }
313
-
314
- // &:last-child must always come last for spacing system to work properly, as it has the same specificity as the preceding modifiers
315
- &:last-child {
316
- --#{$toolbar}--spacer: 0;
317
- }
318
153
  }
319
154
 
320
- // Item
155
+ // - Toolbar item
321
156
  .#{$toolbar}__item {
322
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--spacer);
323
-
324
- @include pf-v5-build-css-variable-stack("--#{$toolbar}__item--Width--base", "--#{$toolbar}__item--Width", $pf-v5-c-toolbar--breakpoint-map);
325
- @include pf-v5-build-css-variable-stack("--#{$toolbar}__item--MinWidth--base", "--#{$toolbar}__item--MinWidth", $pf-v5-c-toolbar--breakpoint-map);
326
- @include pf-v5-hidden-visible(var(--#{$toolbar}__item--Display));
327
-
328
- align-items: var(--#{$toolbar}__item--AlignItems);
329
- align-self: var(--#{$toolbar}__item--AlignSelf);
330
- width: var(--#{$toolbar}__item--Width--base);
331
- min-width: var(--#{$toolbar}__item--MinWidth--base);
332
- margin-inline-end: var(--#{$toolbar}--spacer);
157
+ row-gap: var(--#{$toolbar}__item--RowGap, var(--#{$toolbar}--RowGap));
158
+ column-gap: var(--#{$toolbar}__item--ColumnGap);
333
159
 
334
- &.pf-m-align-items-start {
335
- align-items: flex-start;
336
- }
337
-
338
- &.pf-m-align-items-center {
339
- align-items: center;
340
- }
341
-
342
- &.pf-m-align-items-baseline {
343
- align-items: baseline;
344
- }
345
-
346
- &.pf-m-align-self-start {
347
- align-self: flex-start;
348
- }
349
-
350
- &.pf-m-align-self-center {
351
- align-self: center;
352
- }
353
-
354
- &.pf-m-align-self-baseline {
355
- align-self: baseline;
356
- }
357
-
358
- // Overflow menu
359
- &.pf-m-overflow-menu {
360
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-overflow-menu--spacer);
361
- }
362
-
363
- // Bulk select
364
- &.pf-m-bulk-select {
365
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-bulk-select--spacer);
366
- }
367
-
368
- // Expand
160
+ // - Toolbar expand
369
161
  &.pf-m-expand-all.pf-m-expanded {
370
162
  --#{$toolbar}__expand-all-icon--Rotate: var(--#{$toolbar}__item--m-expand-all--m-expanded__expand-all-icon--Rotate);
371
163
  }
372
164
 
373
- // Search filter
374
- &.pf-m-search-filter {
375
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-search-filter--spacer);
376
- }
377
-
378
- // Chip group
379
- &.pf-m-chip-group {
380
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-chip-group--spacer);
381
- }
382
-
383
- // Label
165
+ // - Toolbar label
384
166
  &.pf-m-label {
385
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-label--spacer);
386
-
387
167
  font-weight: var(--#{$toolbar}__item--m-label--FontWeight);
388
- transform: translateY(var(--#{$toolbar}__item--m-label--TranslateY));
389
168
  }
390
169
 
391
- // Form element
392
- &.pf-m-form-element {
393
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--m-form-element--spacer);
394
-
395
- font-weight: var(--#{$toolbar}__item--m-form-element--FontWeight);
396
- transform: translateY(var(--#{$toolbar}__item--m-form-element--TranslateY));
397
- }
398
-
399
- // Total items
170
+ // - Toolbar pagination
400
171
  &.pf-m-pagination {
401
172
  margin-inline-start: auto;
402
173
 
403
- .#{$pagination} {
174
+ &.#{$pagination} {
404
175
  flex-wrap: nowrap;
405
176
  }
406
177
  }
407
-
408
- // &:last-child must always come last for spacing system to work properly, as it has the same specificity as the preceding modifiers
409
- &:last-child {
410
- --#{$toolbar}--spacer: 0;
411
- }
412
- }
413
-
414
- .#{$toolbar}__group,
415
- .#{$toolbar}__item {
416
- &.pf-m-overflow-container {
417
- flex: 1;
418
- overflow: hidden;
419
- }
420
178
  }
421
179
 
422
- .#{$toolbar}__expand-all-icon {
423
- display: inline-block;
424
- transition: var(--#{$toolbar}__expand-all-icon--Transition);
425
- transform: rotate(var(--#{$toolbar}__expand-all-icon--Rotate));
426
-
427
- // @include pf-v5-mirror-inline-on-rtl; - TODO: mirror this icon in breaking change
428
- }
429
-
430
- .#{$toolbar}__content,
431
- .#{$toolbar}__content-section {
432
- flex-wrap: wrap;
433
- }
434
-
435
- // Content
436
- .#{$toolbar}__content {
437
- @include pf-v5-hidden-visible(var(--#{$toolbar}__content--Display));
438
-
439
- position: relative;
440
- row-gap: var(--#{$toolbar}__content--RowGap);
441
- align-items: var(--#{$toolbar}__content--AlignItems);
442
- padding-inline-start: var(--#{$toolbar}__content--PaddingLeft);
443
- padding-inline-end: var(--#{$toolbar}__content--PaddingRight);
444
- }
445
-
446
- // Content section
447
- .#{$toolbar}__content-section {
448
- @include pf-v5-hidden-visible(var(--#{$toolbar}__content-section--Display));
180
+ // - Toolbar group
181
+ .#{$toolbar}__group {
182
+ row-gap: var(--#{$toolbar}__group--RowGap, var(--#{$toolbar}--RowGap));
183
+ column-gap: var(--#{$toolbar}__group--ColumnGap, var(--#{$toolbar}--ColumnGap));
184
+ align-items: baseline;
449
185
 
450
- row-gap: var(--#{$toolbar}__content-section--RowGap);
451
- align-items: var(--#{$toolbar}__content-section--AlignItems);
452
- width: 100%;
186
+ // - Toolbar icon button group - Toolbar filter group
187
+ &.pf-m-icon-button-group {
188
+ column-gap: var(--#{$toolbar}__group--m-icon-button-group--ColumnGap, 0);
189
+ }
453
190
 
454
- &.pf-m-align-items-start {
455
- align-items: flex-start;
191
+ &.pf-m-filter-group {
192
+ column-gap: var(--#{$toolbar}__group--m-filter-group--ColumnGap);
456
193
  }
457
194
 
458
- &.pf-m-align-items-center {
459
- --#{$toolbar}__content-section--AlignItems: var(--#{$toolbar}--m-align-items-center--AlignItems);
195
+ // - Toolbar filter group - Toolbar chip container
196
+ &.pf-m-filter-group,
197
+ &.pf-m-chip-group-container {
198
+ flex-wrap: nowrap;
460
199
  }
461
200
 
462
- &.pf-m-align-items-baseline {
463
- align-items: baseline;
201
+ // - Toolbar chip group
202
+ &.pf-m-chip-group {
203
+ flex: 1;
464
204
  }
465
205
  }
466
206
 
467
- // Expandable content
207
+ // - Toolbar expandable content
468
208
  .#{$toolbar}__expandable-content {
469
209
  position: absolute;
470
- inset-block-start: calc(100% + var(--#{$toolbar}__content--RowGap));
471
- inset-inline-start: 0;
472
- inset-inline-end: 0;
210
+ inset-block-start: 100%;
473
211
  z-index: var(--#{$toolbar}__expandable-content--ZIndex);
474
212
  display: none;
475
213
  width: 100%;
476
- padding-block-start: var(--#{$toolbar}__expandable-content--PaddingTop);
477
- padding-block-end: var(--#{$toolbar}__expandable-content--PaddingBottom);
478
- padding-inline-start: var(--#{$toolbar}__expandable-content--PaddingLeft);
479
- padding-inline-end: var(--#{$toolbar}__expandable-content--PaddingRight);
480
214
  background-color: var(--#{$toolbar}__expandable-content--BackgroundColor);
481
215
  box-shadow: var(--#{$toolbar}__expandable-content--BoxShadow);
482
216
 
483
217
  @media screen and (min-width: $pf-v5-global--breakpoint--lg) {
484
218
  position: static;
219
+ padding: 0;
485
220
  box-shadow: none;
486
221
  }
487
222
 
488
- &.pf-m-expanded {
489
- display: grid;
490
- grid-row-gap: var(--#{$toolbar}__expandable-content--m-expanded--GridRowGap);
491
- }
492
-
493
- .#{$toolbar}__group,
494
- .#{$toolbar}__item {
495
- --#{$toolbar}--spacer: 0;
496
- }
497
-
223
+ &.pf-m-expanded,
498
224
  .#{$toolbar}__group {
499
225
  display: grid;
500
- grid-row-gap: var(--#{$toolbar}__expandable-content--m-expanded--GridRowGap);
501
226
  }
502
227
 
503
- .#{$toolbar}__item.pf-m-label {
504
- margin-block-end: var(--#{$toolbar}__expandable-content__item--m-label--MarginBottom);
505
- font-size: var(--#{$toolbar}__expandable-content__item--m-label--FontSize);
228
+ .#{$toolbar}__item > * {
229
+ flex-basis: 100%;
506
230
  }
507
231
  }
508
232
 
509
- // Chip container
510
- // extend chip container layout access to __content to allow custom configurations
511
- .#{$toolbar}__content.pf-m-chip-container,
512
- .#{$toolbar}__group.pf-m-chip-container {
513
- display: flex;
514
- flex-wrap: wrap;
515
- grid-row-gap: 0;
516
- align-items: baseline;
517
- margin-block-start: var(--#{$toolbar}__group--m-chip-container--MarginTop);
518
-
519
- .#{$toolbar}__item {
520
- --#{$toolbar}--spacer: var(--#{$toolbar}__item--spacer);
521
- --#{$toolbar}__item--AlignSelf: auto;
522
-
523
- margin-block-start: var(--#{$toolbar}__group--m-chip-container__item--MarginTop);
524
- }
525
-
526
- .#{$toolbar}__group {
527
- --#{$toolbar}__group--AlignItems: center;
528
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--spacer);
529
-
530
- display: flex;
531
- flex-wrap: wrap;
532
- grid-row-gap: 0;
533
- }
534
-
535
- .#{$toolbar}__group:last-child,
536
- .#{$toolbar}__item:last-child {
537
- --#{$toolbar}--spacer: 0;
538
- }
539
- }
233
+ // - Toolbar expand all
234
+ .#{$toolbar}__expand-all-icon {
235
+ display: inline-block;
236
+ transition: var(--#{$toolbar}__expand-all-icon--Transition);
237
+ transform: rotate(var(--#{$toolbar}__expand-all-icon--Rotate));
540
238
 
541
- .#{$toolbar} .#{$chip-group}:last-child {
542
- --#{$chip-group}--MarginRight: 0;
239
+ @include pf-v5-mirror-inline-on-rtl; // - TODO: mirror this icon in breaking change
543
240
  }
544
241
 
545
- .#{$toolbar} .#{$chip-group} li:last-child {
546
- --#{$chip-group}__li--m-toolbar--MarginRight: 0;
547
- }
242
+ // - Toolbar group - Toolbar item
243
+ .#{$toolbar}__group,
244
+ .#{$toolbar}__item {
245
+ align-self: baseline;
548
246
 
549
- .#{$toolbar}__toggle.pf-m-expanded .#{$button}.pf-m-plain {
550
- color: var(--#{$toolbar}__toggle--m-expanded__c-button--m-plain--Color);
247
+ &.pf-m-overflow-container {
248
+ flex: 1;
249
+ overflow: auto;
250
+ }
551
251
  }
552
252
 
553
- // Toggle group modifiers
554
253
  @each $breakpoint, $breakpoint-value in $pf-v5-c-toolbar--breakpoint-map {
555
254
  $breakpoint-name: if($breakpoint != "base", -on-#{$breakpoint}, "");
556
255
 
557
256
  @include pf-v5-apply-breakpoint($breakpoint) {
558
- .pf-m-toggle-group.pf-m-show#{$breakpoint-name} {
559
- --#{$toolbar}--spacer: var(--#{$toolbar}__group--m-toggle-group--m-show--spacer);
560
-
561
- .#{$toolbar}__group,
562
- .#{$toolbar}__item {
563
- display: flex;
564
- flex: 0 1 auto;
257
+ .#{$toolbar}__group,
258
+ .#{$toolbar}__item {
259
+ &.pf-m-align-start#{$breakpoint-name} {
260
+ margin-inline-start: 0;
565
261
  }
566
262
 
567
- .#{$toolbar}__toggle {
568
- display: none;
263
+ &.pf-m-align-center#{$breakpoint-name} {
264
+ margin-inline-start: auto;
265
+ margin-inline-end: auto;
569
266
  }
570
- }
571
- }
572
- }
573
267
 
574
- // stylelint-disable max-nesting-depth, no-duplicate-selectors
575
- .#{$toolbar} {
576
- // Build spacing modifiers
577
- @each $breakpoint, $breakpoint-value in $pf-v5-c-toolbar--breakpoint-map {
578
- $breakpoint-name: if($breakpoint != "base", -on-#{$breakpoint}, "");
579
-
580
- @include pf-v5-apply-breakpoint($breakpoint) {
581
- // Align right
582
- .#{$toolbar}__item.pf-m-align-right#{$breakpoint-name},
583
- .#{$toolbar}__group.pf-m-align-right#{$breakpoint-name} {
268
+ &.pf-m-align-end#{$breakpoint-name} {
584
269
  margin-inline-start: auto;
585
-
586
- & ~ .pf-m-pagination {
587
- margin-inline-start: 0;
588
- }
589
270
  }
590
271
 
591
- // Align left
592
- .#{$toolbar}__item.pf-m-align-left#{$breakpoint-name},
593
- .#{$toolbar}__group.pf-m-align-left#{$breakpoint-name} {
594
- margin-inline-start: 0;
595
-
596
- & ~ .pf-m-pagination {
597
- margin-inline-start: auto;
598
- }
272
+ &.pf-m-flex-grow#{$breakpoint-name} {
273
+ flex-grow: 1;
599
274
  }
600
275
 
601
- .#{$toolbar}__content-section,
602
- .#{$toolbar}__group {
603
- &.pf-m-nowrap#{$breakpoint-name} {
604
- flex-wrap: nowrap;
276
+ @each $alignment in $pf-v5-c-toolbar--align-items--alignments {
277
+ &.pf-m-align-self-#{$alignment}#{$breakpoint-name} {
278
+ align-self: #{$alignment};
605
279
  }
280
+ }
281
+ }
606
282
 
607
- &.pf-m-wrap#{$breakpoint-name} {
608
- flex-wrap: wrap;
283
+ // - Toolbar - Toolbar content - Toolbar content section
284
+ .#{$toolbar},
285
+ .#{$toolbar}__content,
286
+ .#{$toolbar}__content-section {
287
+ // Inset modifiers
288
+ @each $inset, $inset-value in $pf-v5-c-toolbar--inset-map {
289
+ &.pf-m-inset-#{$inset}#{$breakpoint-name} {
290
+ --#{$toolbar}__content--PaddingInline: #{$inset-value};
609
291
  }
610
292
  }
611
293
  }
612
- }
613
294
 
614
- // .pf-m-space-items-{size}{-on-breakpoint}
615
- @each $breakpoint, $breakpoint-value in $pf-v5-c-toolbar--breakpoint-map {
616
- $breakpoint-name: if($breakpoint != "base", -on-#{$breakpoint}, "");
295
+ // - Toolbar group - Toolbar item - Toolbar content - Toolbar content section
296
+ .#{$toolbar}__group,
297
+ .#{$toolbar}__item,
298
+ .#{$toolbar}__content,
299
+ .#{$toolbar}__content-section {
300
+ &.pf-m-wrap#{$breakpoint-name} {
301
+ flex-wrap: wrap;
302
+ }
617
303
 
618
- @include pf-v5-apply-breakpoint($breakpoint) {
619
- @each $spacer, $spacer-value in $pf-v5-c-toolbar--spacer-map {
620
- .pf-m-space-items-#{$spacer}#{$breakpoint-name} {
621
- > * {
622
- --#{$toolbar}--spacer: #{$spacer-value};
623
- }
624
-
625
- > :last-child {
626
- --#{$toolbar}--spacer: 0;
627
- }
304
+ &.pf-m-nowrap#{$breakpoint-name} {
305
+ flex-wrap: nowrap;
306
+ }
307
+
308
+ @each $alignment in $pf-v5-c-toolbar--align-items--alignments {
309
+ &.pf-m-align-items-#{$alignment}#{$breakpoint-name} {
310
+ align-items: #{$alignment};
628
311
  }
629
312
  }
630
- }
631
- }
632
313
 
633
- // .pf-m-spacer-{size}{-on-breakpoint}
634
- @each $breakpoint, $breakpoint-value in $pf-v5-c-toolbar--breakpoint-map {
635
- $breakpoint-name: if($breakpoint != "base", -on-#{$breakpoint}, "");
314
+ @each $gap, $gap-value in $pf-v5-c-toolbar--spacer-map {
315
+ &.pf-m-gap-#{$gap}#{$breakpoint-name} {
316
+ column-gap: #{$gap-value};
317
+ }
318
+ }
636
319
 
637
- @include pf-v5-apply-breakpoint($breakpoint) {
320
+ // Row and column gap modifiers
638
321
  @each $spacer, $spacer-value in $pf-v5-c-toolbar--spacer-map {
639
- .pf-m-spacer-#{$spacer}#{$breakpoint-name} {
640
- --#{$toolbar}--spacer: #{$spacer-value};
322
+ &.pf-m-column-gap-#{$spacer}#{$breakpoint-name} {
323
+ column-gap: #{$spacer-value};
324
+ }
641
325
 
642
- &:last-child {
643
- --#{$toolbar}--spacer: #{$spacer-value};
644
- }
326
+ &.pf-m-row-gap-#{$spacer}#{$breakpoint-name} {
327
+ column-gap: #{$spacer-value};
328
+ }
329
+
330
+ &.pf-m-margin-inline-start#{$spacer}#{$breakpoint-name} {
331
+ margin-inline-start: #{$spacer-value};
332
+ }
333
+
334
+ &.pf-m-margin-inline-end#{$spacer}#{$breakpoint-name} {
335
+ margin-inline-end: #{$spacer-value};
645
336
  }
646
337
  }
647
338
  }
648
- }
649
339
 
650
- @each $breakpoint, $breakpoint-value in $pf-v5-c-toolbar--breakpoint-map {
651
- $breakpoint-name: if($breakpoint != "base", -on-#{$breakpoint}, "");
340
+ // - Toolbar toggle group
341
+ .#{$toolbar}__group:where(.pf-m-toggle-group) {
342
+ &.pf-m-show#{$breakpoint-name} {
343
+ .#{$toolbar}__group,
344
+ .#{$toolbar}__item {
345
+ display: flex;
346
+ flex: 0 1 auto;
347
+ }
652
348
 
653
- @include pf-v5-apply-breakpoint($breakpoint) {
654
- @each $spacer, $spacer-value in $pf-v5-c-toolbar--inset-map {
655
- &.pf-m-inset-#{$spacer}#{$breakpoint-name} {
656
- --#{$toolbar}--inset: #{$spacer-value};
657
- --#{$toolbar}__content--PaddingRight: var(--#{$toolbar}--inset);
658
- --#{$toolbar}__content--PaddingLeft: var(--#{$toolbar}--inset);
349
+ .#{$toolbar}__toggle {
350
+ display: none;
351
+ }
352
+ }
353
+
354
+ &, // default value
355
+ &.pf-m-hide#{$breakpoint-name} {
356
+ .#{$toolbar}__group,
357
+ .#{$toolbar}__item {
358
+ display: none;
359
+ }
360
+
361
+ .#{$toolbar}__toggle {
362
+ display: inline-block;
659
363
  }
660
364
  }
661
365
  }
662
366
  }
663
367
  }
664
- // stylelint-enable
665
-
666
- // Override .pf-m-toggle-group margin modifier
667
- .#{$toolbar}__content-section > :last-child {
668
- --#{$toolbar}--spacer: 0;
669
- }