@patternfly/patternfly 6.2.0-prerelease.17 → 6.2.0-prerelease.18

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.
@@ -23,6 +23,8 @@
23
23
  --pf-v6-c-card__actions--Gap: var(--pf-t--global--spacer--gap--action-to-action--default);
24
24
  --pf-v6-c-card__actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
25
25
  --pf-v6-c-card__actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
26
+ --pf-v6-c-card__header--m-wrap--RowGap: var(--pf-t--global--spacer--sm);
27
+ --pf-v6-c-card__header--m-wrap--ColumnGap: var(--pf-t--global--spacer--md);
26
28
  --pf-v6-c-card__header-toggle--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
27
29
  --pf-v6-c-card__header-toggle--MarginInlineEnd: var(--pf-t--global--spacer--gap--text-to-element--default);
28
30
  --pf-v6-c-card__header-toggle--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
@@ -186,6 +188,21 @@
186
188
  .pf-v6-c-card__header.pf-m-toggle-right .pf-v6-c-card__header-toggle {
187
189
  order: 2;
188
190
  }
191
+ .pf-v6-c-card__header.pf-m-wrap {
192
+ --pf-v6-c-card__actions--PaddingInlineStart: 0;
193
+ gap: var(--pf-v6-c-card__header--m-wrap--RowGap) var(--pf-v6-c-card__header--m-wrap--ColumnGap);
194
+ }
195
+ .pf-v6-c-card__header.pf-m-wrap,
196
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
197
+ flex-wrap: wrap;
198
+ row-gap: var(--pf-v6-c-card__header--m-wrap--RowGap);
199
+ }
200
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
201
+ margin-inline-start: 0;
202
+ }
203
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions + * {
204
+ margin-inline-end: auto;
205
+ }
189
206
 
190
207
  .pf-v6-c-card__header-main {
191
208
  flex-grow: 1;
@@ -25,6 +25,8 @@
25
25
  --#{$card}__actions--Gap: var(--pf-t--global--spacer--gap--action-to-action--default);
26
26
  --#{$card}__actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
27
27
  --#{$card}__actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
28
+ --#{$card}__header--m-wrap--RowGap: var(--pf-t--global--spacer--sm);
29
+ --#{$card}__header--m-wrap--ColumnGap: var(--pf-t--global--spacer--md);
28
30
 
29
31
  // Expandable
30
32
  --#{$card}__header-toggle--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
@@ -265,6 +267,26 @@
265
267
  order: 2;
266
268
  }
267
269
  }
270
+
271
+ &.pf-m-wrap {
272
+ --pf-v6-c-card__actions--PaddingInlineStart: 0;
273
+
274
+ gap: var(--#{$card}__header--m-wrap--RowGap) var(--#{$card}__header--m-wrap--ColumnGap);
275
+
276
+ &,
277
+ .#{$card}__actions {
278
+ flex-wrap: wrap;
279
+ row-gap: var(--#{$card}__header--m-wrap--RowGap);
280
+ }
281
+
282
+ .#{$card}__actions {
283
+ + * {
284
+ margin-inline-end: auto;
285
+ }
286
+
287
+ margin-inline-start: 0
288
+ }
289
+ }
268
290
  }
269
291
 
270
292
  .#{$card}__header-main {
@@ -2310,6 +2310,8 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
2310
2310
  --pf-v6-c-card__actions--Gap: var(--pf-t--global--spacer--gap--action-to-action--default);
2311
2311
  --pf-v6-c-card__actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
2312
2312
  --pf-v6-c-card__actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
2313
+ --pf-v6-c-card__header--m-wrap--RowGap: var(--pf-t--global--spacer--sm);
2314
+ --pf-v6-c-card__header--m-wrap--ColumnGap: var(--pf-t--global--spacer--md);
2313
2315
  --pf-v6-c-card__header-toggle--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
2314
2316
  --pf-v6-c-card__header-toggle--MarginInlineEnd: var(--pf-t--global--spacer--gap--text-to-element--default);
2315
2317
  --pf-v6-c-card__header-toggle--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
@@ -2473,6 +2475,21 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
2473
2475
  .pf-v6-c-card__header.pf-m-toggle-right .pf-v6-c-card__header-toggle {
2474
2476
  order: 2;
2475
2477
  }
2478
+ .pf-v6-c-card__header.pf-m-wrap {
2479
+ --pf-v6-c-card__actions--PaddingInlineStart: 0;
2480
+ gap: var(--pf-v6-c-card__header--m-wrap--RowGap) var(--pf-v6-c-card__header--m-wrap--ColumnGap);
2481
+ }
2482
+ .pf-v6-c-card__header.pf-m-wrap,
2483
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
2484
+ flex-wrap: wrap;
2485
+ row-gap: var(--pf-v6-c-card__header--m-wrap--RowGap);
2486
+ }
2487
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
2488
+ margin-inline-start: 0;
2489
+ }
2490
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions + * {
2491
+ margin-inline-end: auto;
2492
+ }
2476
2493
 
2477
2494
  .pf-v6-c-card__header-main {
2478
2495
  flex-grow: 1;
@@ -212,6 +212,35 @@ cssPrefix: pf-v6-c-card
212
212
 
213
213
  ```
214
214
 
215
+ ### Card with header that wraps
216
+
217
+ ```html
218
+ <div class="pf-v6-c-card">
219
+ <div class="pf-v6-c-card__header pf-m-wrap">
220
+ <div class="pf-v6-c-card__actions pf-m-no-offset">
221
+ <button class="pf-v6-c-button pf-m-primary" type="button">
222
+ <span class="pf-v6-c-button__text">Primary action</span>
223
+ </button>
224
+
225
+ <button class="pf-v6-c-button pf-m-secondary" type="button">
226
+ <span class="pf-v6-c-button__text">Secondary action</span>
227
+ </button>
228
+
229
+ <button class="pf-v6-c-button pf-m-tertiary" type="button">
230
+ <span class="pf-v6-c-button__text">Tertiary action</span>
231
+ </button>
232
+ </div>
233
+ <div class="pf-v6-c-card__title">
234
+ <h2
235
+ class="pf-v6-c-card__title-text"
236
+ >This is a longer card title that takes up more space</h2>
237
+ </div>
238
+ </div>
239
+ <div class="pf-v6-c-card__body">This is the card body</div>
240
+ </div>
241
+
242
+ ```
243
+
215
244
  ### Actions with no offset
216
245
 
217
246
  ```html
@@ -1690,6 +1719,7 @@ A card is a generic rectangular container that can be used to build other compon
1690
1719
  | `.pf-v6-c-card__sr-input` | `<input>` | Creates an input which, when focused, makes a following `.pf-v6-c-card` appear focused. |
1691
1720
  | `.pf-m-compact` | `.pf-v6-c-card` | Creates a compact variation of the card component that involves smaller font sizes and spacing. This variation is for use on dashboards and where a smaller card is preferred. |
1692
1721
  | `.pf-m-display-lg` | `.pf-v6-c-card` | Creates a large variation of the card component that involves larger font sizes and spacing. This variation is for marketing use cases. |
1722
+ | `.pf-m-wrap` | `.pf-v6-c-card__header` | Modifies the card header to wrap its children. |
1693
1723
  | `.pf-m-no-fill` | `.pf-v6-c-card__body` | Sets a `.pf-v6-c-card__body` not to fill the available space in `.pf-v6-c-card`. `.pf-m-no-fill` can be added to multiple card bodies. |
1694
1724
  | `.pf-m-selectable` | `.pf-v6-c-card` | Modifies a card to be selectable. |
1695
1725
  | `.pf-m-clickable` | `.pf-v6-c-card` | Modifies a card to be clickable. |
@@ -9099,14 +9099,137 @@ cssPrefix: pf-v6-c-tabs
9099
9099
 
9100
9100
  ```
9101
9101
 
9102
+ ## Tab content
9103
+
9104
+ ### Default tab content example
9105
+
9106
+ ```html
9107
+ <section
9108
+ class="pf-v6-c-tab-content"
9109
+ id="basic-tab1-panel"
9110
+ role="tabpanel"
9111
+ tabindex="0"
9112
+ >
9113
+ <div class="pf-v6-c-tab-content__body">Panel 1</div>
9114
+ </section>
9115
+ <section
9116
+ class="pf-v6-c-tab-content"
9117
+ id="basic-tab2-panel"
9118
+ role="tabpanel"
9119
+ tabindex="0"
9120
+ hidden
9121
+ >
9122
+ <div class="pf-v6-c-tab-content__body">Panel 2</div>
9123
+ </section>
9124
+ <section
9125
+ class="pf-v6-c-tab-content"
9126
+ id="basic-tab3-panel"
9127
+ role="tabpanel"
9128
+ tabindex="0"
9129
+ hidden
9130
+ >
9131
+ <div class="pf-v6-c-tab-content__body">Panel 3</div>
9132
+ </section>
9133
+ <section
9134
+ class="pf-v6-c-tab-content"
9135
+ id="basic-tab4-panel"
9136
+ role="tabpanel"
9137
+ tabindex="0"
9138
+ hidden
9139
+ >
9140
+ <div class="pf-v6-c-tab-content__body">Panel 4</div>
9141
+ </section>
9142
+
9143
+ ```
9144
+
9145
+ ### Padding
9146
+
9147
+ ```html
9148
+ <section
9149
+ class="pf-v6-c-tab-content"
9150
+ id="tab1-panel-with-padding"
9151
+ role="tabpanel"
9152
+ tabindex="0"
9153
+ >
9154
+ <div class="pf-v6-c-tab-content__body pf-m-padding">Panel 1</div>
9155
+ </section>
9156
+ <section
9157
+ class="pf-v6-c-tab-content"
9158
+ id="tab2-panel-with-padding"
9159
+ role="tabpanel"
9160
+ tabindex="0"
9161
+ hidden
9162
+ >
9163
+ <div class="pf-v6-c-tab-content__body pf-m-padding">Panel 2</div>
9164
+ </section>
9165
+ <section
9166
+ class="pf-v6-c-tab-content"
9167
+ id="tab3-panel-with-padding"
9168
+ role="tabpanel"
9169
+ tabindex="0"
9170
+ hidden
9171
+ >
9172
+ <div class="pf-v6-c-tab-content__body pf-m-padding">Panel 3</div>
9173
+ </section>
9174
+ <section
9175
+ class="pf-v6-c-tab-content"
9176
+ id="tab4-panel-with-padding"
9177
+ role="tabpanel"
9178
+ tabindex="0"
9179
+ hidden
9180
+ >
9181
+ <div class="pf-v6-c-tab-content__body pf-m-padding">Panel 4</div>
9182
+ </section>
9183
+
9184
+ ```
9185
+
9186
+ ### Secondary
9187
+
9188
+ ```html
9189
+ <section
9190
+ class="pf-v6-c-tab-content pf-m-secondary"
9191
+ id="secondary-tab1-panel"
9192
+ role="tabpanel"
9193
+ tabindex="0"
9194
+ >
9195
+ <div class="pf-v6-c-tab-content__body">Panel 1</div>
9196
+ </section>
9197
+ <section
9198
+ class="pf-v6-c-tab-content pf-m-secondary"
9199
+ id="secondary-tab2-panel"
9200
+ role="tabpanel"
9201
+ tabindex="0"
9202
+ hidden
9203
+ >
9204
+ <div class="pf-v6-c-tab-content__body">Panel 2</div>
9205
+ </section>
9206
+ <section
9207
+ class="pf-v6-c-tab-content pf-m-secondary"
9208
+ id="secondary-tab3-panel"
9209
+ role="tabpanel"
9210
+ tabindex="0"
9211
+ hidden
9212
+ >
9213
+ <div class="pf-v6-c-tab-content__body">Panel 3</div>
9214
+ </section>
9215
+ <section
9216
+ class="pf-v6-c-tab-content pf-m-secondary"
9217
+ id="secondary-tab4-panel"
9218
+ role="tabpanel"
9219
+ tabindex="0"
9220
+ hidden
9221
+ >
9222
+ <div class="pf-v6-c-tab-content__body">Panel 4</div>
9223
+ </section>
9224
+
9225
+ ```
9226
+
9102
9227
  ## Documentation
9103
9228
 
9104
- ### Overview
9229
+ ### Tabs overview
9105
9230
 
9106
9231
  The tabs component should only be used to change content views within a page. The similar-looking but semantically different [horizontal nav component](/components/navigation/#horizontal) is available for general navigation use cases.
9107
9232
 
9108
- Tabs should be used with the [tab content component](/components/tab-content).
9109
-
9110
9233
  Whenever a list of tabs is unique on the current page, it can be used in a `<nav>` element. Cases where the same set of tabs are duplicated in multiple regions on a page (e.g. cards on a dashboard) are less likely to benefit from using the `<nav>` element.
9111
9234
 
9112
9235
  ### Usage
@@ -9144,3 +9267,22 @@ Whenever a list of tabs is unique on the current page, it can be used in a `<nav
9144
9267
  | `.pf-m-expanded` | `.pf-v6-c-tabs` | Modifies the expandable tabs component for the expanded state. |
9145
9268
  | `.pf-m-disabled` | `a.pf-v6-c-tabs__link` | Modifies a tabs link for disabled styles. |
9146
9269
  | `.pf-m-aria-disabled` | `.pf-v6-c-tabs__link` | Modifies a tabs link for disabled styles, but is still hoverable/focusable. |
9270
+
9271
+ ### Tab content accessibility
9272
+
9273
+ | Attribute | Applied to | Outcome |
9274
+ | -- | -- | -- |
9275
+ | `role="tabpanel"` | `.pf-v6-c-tab-content` | Indicates that the element serves as a container for a set of tabs. **Required** |
9276
+ | `aria-labelledby=[ID of tab element]` | `.pf-v6-c-tab-content` | Provides an accessible name for the tab panel by referring to the tab element that controls it. **Required**
9277
+ | `id=[ID of tab panel]` | `.pf-v6-c-tab-content` | Provides an ID for the tab panel, and should be used as the value of `aria-controls` on the tab element that controls the panel. **Required**
9278
+ | `hidden` | `.pf-v6-c-tab-content` | Indicates that the tab panel is not visible. **Required on all but the active tab panel**
9279
+ | `tabindex="0"` | `.pf-v6-c-tab-content` | Puts the tab panel in the page tab sequence and facilitates movement to panel content for assistive technology users. **Required**
9280
+
9281
+ ### Tab content usage
9282
+
9283
+ | Class | Applied to | Outcome |
9284
+ | -- | -- | -- |
9285
+ | `.pf-v6-c-tab-content` | `<section>` | Initiates the tab content component. **Required** |
9286
+ | `.pf-v6-c-tab-content__body` | `<div>` | Initiates the tab content body component. |
9287
+ | `.pf-m-padding` | `.pf-v6-c-tab-content__body` | Modifies the tab content body component padding. |
9288
+ | `.pf-m-secondary` | `.pf-v6-c-tab-content` | Modifies the tab content component for secondary styles. |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@patternfly/patternfly",
3
3
  "description": "Assets, source, tooling, and content for PatternFly 4",
4
- "version": "6.2.0-prerelease.17",
4
+ "version": "6.2.0-prerelease.18",
5
5
  "keywords": [],
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -9772,6 +9772,8 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
9772
9772
  --pf-v6-c-card__actions--Gap: var(--pf-t--global--spacer--gap--action-to-action--default);
9773
9773
  --pf-v6-c-card__actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9774
9774
  --pf-v6-c-card__actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9775
+ --pf-v6-c-card__header--m-wrap--RowGap: var(--pf-t--global--spacer--sm);
9776
+ --pf-v6-c-card__header--m-wrap--ColumnGap: var(--pf-t--global--spacer--md);
9775
9777
  --pf-v6-c-card__header-toggle--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9776
9778
  --pf-v6-c-card__header-toggle--MarginInlineEnd: var(--pf-t--global--spacer--gap--text-to-element--default);
9777
9779
  --pf-v6-c-card__header-toggle--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
@@ -9935,6 +9937,21 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
9935
9937
  .pf-v6-c-card__header.pf-m-toggle-right .pf-v6-c-card__header-toggle {
9936
9938
  order: 2;
9937
9939
  }
9940
+ .pf-v6-c-card__header.pf-m-wrap {
9941
+ --pf-v6-c-card__actions--PaddingInlineStart: 0;
9942
+ gap: var(--pf-v6-c-card__header--m-wrap--RowGap) var(--pf-v6-c-card__header--m-wrap--ColumnGap);
9943
+ }
9944
+ .pf-v6-c-card__header.pf-m-wrap,
9945
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
9946
+ flex-wrap: wrap;
9947
+ row-gap: var(--pf-v6-c-card__header--m-wrap--RowGap);
9948
+ }
9949
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
9950
+ margin-inline-start: 0;
9951
+ }
9952
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions + * {
9953
+ margin-inline-end: auto;
9954
+ }
9938
9955
 
9939
9956
  .pf-v6-c-card__header-main {
9940
9957
  flex-grow: 1;
package/patternfly.css CHANGED
@@ -9908,6 +9908,8 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
9908
9908
  --pf-v6-c-card__actions--Gap: var(--pf-t--global--spacer--gap--action-to-action--default);
9909
9909
  --pf-v6-c-card__actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9910
9910
  --pf-v6-c-card__actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9911
+ --pf-v6-c-card__header--m-wrap--RowGap: var(--pf-t--global--spacer--sm);
9912
+ --pf-v6-c-card__header--m-wrap--ColumnGap: var(--pf-t--global--spacer--md);
9911
9913
  --pf-v6-c-card__header-toggle--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
9912
9914
  --pf-v6-c-card__header-toggle--MarginInlineEnd: var(--pf-t--global--spacer--gap--text-to-element--default);
9913
9915
  --pf-v6-c-card__header-toggle--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--default) * -1);
@@ -10071,6 +10073,21 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
10071
10073
  .pf-v6-c-card__header.pf-m-toggle-right .pf-v6-c-card__header-toggle {
10072
10074
  order: 2;
10073
10075
  }
10076
+ .pf-v6-c-card__header.pf-m-wrap {
10077
+ --pf-v6-c-card__actions--PaddingInlineStart: 0;
10078
+ gap: var(--pf-v6-c-card__header--m-wrap--RowGap) var(--pf-v6-c-card__header--m-wrap--ColumnGap);
10079
+ }
10080
+ .pf-v6-c-card__header.pf-m-wrap,
10081
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
10082
+ flex-wrap: wrap;
10083
+ row-gap: var(--pf-v6-c-card__header--m-wrap--RowGap);
10084
+ }
10085
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions {
10086
+ margin-inline-start: 0;
10087
+ }
10088
+ .pf-v6-c-card__header.pf-m-wrap .pf-v6-c-card__actions + * {
10089
+ margin-inline-end: auto;
10090
+ }
10074
10091
 
10075
10092
  .pf-v6-c-card__header-main {
10076
10093
  flex-grow: 1;