@patternfly/patternfly 4.186.1 → 4.189.0

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.
@@ -51,6 +51,7 @@
51
51
  --pf-c-card--m-selectable-raised--m-selected-raised--TranslateY: var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base);
52
52
  --pf-c-card--m-flat--m-selectable-raised--m-selected-raised--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base) + var(--pf-c-card--m-flat--BorderWidth));
53
53
  --pf-c-card--m-rounded--m-selectable-raised--m-selected-raised--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base) + var(--pf-c-card--m-rounded--BorderRadius));
54
+ --pf-c-card--m-selectable-raised--m-selected-raised--ZIndex: var(--pf-global--ZIndex--xs);
54
55
  --pf-c-card--m-selectable-raised--m-selected-raised--Transition: transform .25s linear, box-shadow .25s linear;
55
56
  --pf-c-card--m-selectable-raised--m-selected-raised--before--Transition: transform .25s linear;
56
57
  --pf-c-card--m-selectable-raised--m-selected-raised--before--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY) * -1);
@@ -155,6 +156,7 @@
155
156
  --pf-c-card--m-selectable-raised--before--Transition: var(--pf-c-card--m-selectable-raised--m-selected-raised--before--Transition);
156
157
  --pf-c-card--m-selectable-raised--before--TranslateY: var(--pf-c-card--m-selectable-raised--m-selected-raised--before--TranslateY);
157
158
  --pf-c-card--m-selectable-raised--before--ScaleY: var(--pf-c-card--m-selectable-raised--m-selected-raised--before--ScaleY);
159
+ z-index: var(--pf-c-card--m-selectable-raised--m-selected-raised--ZIndex);
158
160
  box-shadow: var(--pf-c-card--m-selectable-raised--m-selected-raised--BoxShadow);
159
161
  transition: var(--pf-c-card--m-selectable-raised--m-selected-raised--Transition);
160
162
  transform: translateY(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY));
@@ -57,6 +57,7 @@
57
57
  --pf-c-card--m-selectable-raised--m-selected-raised--TranslateY: var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base);
58
58
  --pf-c-card--m-flat--m-selectable-raised--m-selected-raised--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base) + var(--pf-c-card--m-flat--BorderWidth));
59
59
  --pf-c-card--m-rounded--m-selectable-raised--m-selected-raised--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY--base) + var(--pf-c-card--m-rounded--BorderRadius));
60
+ --pf-c-card--m-selectable-raised--m-selected-raised--ZIndex: var(--pf-global--ZIndex--xs);
60
61
  --pf-c-card--m-selectable-raised--m-selected-raised--Transition: transform .25s linear, box-shadow .25s linear;
61
62
  --pf-c-card--m-selectable-raised--m-selected-raised--before--Transition: transform .25s linear;
62
63
  --pf-c-card--m-selectable-raised--m-selected-raised--before--TranslateY: calc(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY) * -1);
@@ -196,6 +197,7 @@
196
197
  --pf-c-card--m-selectable-raised--before--TranslateY: var(--pf-c-card--m-selectable-raised--m-selected-raised--before--TranslateY); // moves before down when selected - same amount and speed as the selected card moves up
197
198
  --pf-c-card--m-selectable-raised--before--ScaleY: var(--pf-c-card--m-selectable-raised--m-selected-raised--before--ScaleY); // causes the before to grow in height - more performant than transitioning height
198
199
 
200
+ z-index: var(--pf-c-card--m-selectable-raised--m-selected-raised--ZIndex); // allows elements (ie, dropdowns) from this card to appear on other cards since the transform creates a new stacking context
199
201
  box-shadow: var(--pf-c-card--m-selectable-raised--m-selected-raised--BoxShadow);
200
202
  transition: var(--pf-c-card--m-selectable-raised--m-selected-raised--Transition);
201
203
  transform: translateY(var(--pf-c-card--m-selectable-raised--m-selected-raised--TranslateY)); // moves card up when selected
@@ -33,6 +33,7 @@
33
33
  --pf-c-form-control--m-expanded--PaddingBottom: calc(var(--pf-global--spacer--form-element) - var(--pf-c-form-control--focus--BorderBottomWidth));
34
34
  --pf-c-form-control--m-expanded--BorderBottomColor: var(--pf-global--primary-color--100);
35
35
  --pf-c-form-control--placeholder--Color: var(--pf-global--Color--dark-200);
36
+ --pf-c-form-control--placeholder--child--Color: var(--pf-global--Color--100);
36
37
  --pf-c-form-control--disabled--Color: var(--pf-global--disabled-color--100);
37
38
  --pf-c-form-control--disabled--BackgroundColor: var(--pf-global--disabled-color--300);
38
39
  --pf-c-form-control--disabled--BorderColor: transparent;
@@ -293,6 +294,12 @@ select.pf-c-form-control.pf-m-warning {
293
294
  select.pf-c-form-control.pf-m-placeholder {
294
295
  color: var(--pf-c-form-control--placeholder--Color);
295
296
  }
297
+ select.pf-c-form-control.pf-m-placeholder * {
298
+ color: var(--pf-c-form-control--placeholder--child--Color);
299
+ }
300
+ select.pf-c-form-control.pf-m-placeholder *:disabled {
301
+ color: revert;
302
+ }
296
303
 
297
304
  textarea.pf-c-form-control {
298
305
  --pf-c-form-control--success--BackgroundPositionY: var(--pf-c-form-control--textarea--success--BackgroundPositionY);
@@ -62,6 +62,7 @@ $pf-c-form-control--m-clock--Coordinates: "M256 8C119 8 8 119 8 256s111 248 248
62
62
 
63
63
  // input placeholder style
64
64
  --pf-c-form-control--placeholder--Color: var(--pf-global--Color--dark-200);
65
+ --pf-c-form-control--placeholder--child--Color: var(--pf-global--Color--100);
65
66
 
66
67
  // input disabled style
67
68
  --pf-c-form-control--disabled--Color: var(--pf-global--disabled-color--100);
@@ -407,6 +408,16 @@ $pf-c-form-control--m-clock--Coordinates: "M256 8C119 8 8 119 8 256s111 248 248
407
408
 
408
409
  &.pf-m-placeholder {
409
410
  color: var(--pf-c-form-control--placeholder--Color);
411
+
412
+ * {
413
+ color: var(--pf-c-form-control--placeholder--child--Color);
414
+
415
+ // stylelint-disable max-nesting-depth
416
+ &:disabled {
417
+ color: revert;
418
+ }
419
+ // stylelint-enable
420
+ }
410
421
  }
411
422
  }
412
423
 
@@ -1,5 +1,6 @@
1
1
  @mixin page() {
2
2
  .pf-c-page {
3
+ --pf-c-page__main-section--BackgroundColor: var(--pf-global--BackgroundColor--200);
3
4
  --pf-c-page__header-tools--c-button--m-selected--before--BackgroundColor: var(--pf-global--BackgroundColor--300);
4
5
  --pf-c-page__sidebar--BackgroundColor: var(--pf-global--BackgroundColor--100);
5
6
  --pf-c-page__header--BackgroundColor: var(--pf-global--palette--black-1000);
@@ -25,6 +25,8 @@
25
25
  --pf-c-tabs--m-color-scheme--light-300__link--disabled--BackgroundColor: var(--pf-global--palette--black-150);
26
26
  --pf-c-tabs__list--Display: flex;
27
27
  --pf-c-tabs__list--Visibility: visible;
28
+ --pf-c-tabs__item--m-action--before--ZIndex: var(--pf-global--ZIndex--xs);
29
+ --pf-c-tabs__item--m-action__link--PaddingRight: var(--pf-global--spacer--sm);
28
30
  --pf-c-tabs__link--Color: var(--pf-global--Color--200);
29
31
  --pf-c-tabs__link--FontSize: var(--pf-global--FontSize--md);
30
32
  --pf-c-tabs__link--BackgroundColor: transparent;
@@ -40,11 +42,14 @@
40
42
  --pf-c-tabs--m-vertical__link--PaddingBottom: var(--pf-global--spacer--md);
41
43
  --pf-c-tabs--m-box__link--BackgroundColor: var(--pf-global--BackgroundColor--200);
42
44
  --pf-c-tabs--m-box__link--disabled--BackgroundColor: var(--pf-global--disabled-color--200);
45
+ --pf-c-tabs--m-box__item-close--c-button--disabled--BackgroundColor: var(--pf-global--palette--black-400);
43
46
  --pf-c-tabs--m-secondary__link--FontSize: var(--pf-global--FontSize--sm);
44
47
  --pf-c-tabs__link--before--border-color--base: var(--pf-global--BorderColor--100);
48
+ --pf-c-tabs__link--before--border-width--base: var(--pf-global--BorderWidth--sm);
49
+ --pf-c-tabs__link--before--BorderTopColor: var(--pf-c-tabs__link--before--border-color--base);
45
50
  --pf-c-tabs__link--before--BorderRightColor: var(--pf-c-tabs__link--before--border-color--base);
46
51
  --pf-c-tabs__link--before--BorderBottomColor: var(--pf-c-tabs__link--before--border-color--base);
47
- --pf-c-tabs__link--before--border-width--base: var(--pf-global--BorderWidth--sm);
52
+ --pf-c-tabs__link--before--BorderLeftColor: var(--pf-c-tabs__link--before--border-color--base);
48
53
  --pf-c-tabs__link--before--BorderTopWidth: 0;
49
54
  --pf-c-tabs__link--before--BorderRightWidth: 0;
50
55
  --pf-c-tabs__link--before--BorderBottomWidth: 0;
@@ -102,6 +107,19 @@
102
107
  --pf-c-tabs__toggle-button--MarginLeft: calc(-1 * var(--pf-global--spacer--md));
103
108
  --pf-c-tabs--m-expanded__toggle-icon--Color: var(--pf-global--Color--100);
104
109
  --pf-c-tabs--m-expanded__toggle-icon--Rotate: 90deg;
110
+ --pf-c-tabs__item-close--c-button--FontSize: var(--pf-global--FontSize--xs);
111
+ --pf-c-tabs--m-secondary__item-close--c-button--FontSize: var(--pf-global--icon--FontSize--sm);
112
+ --pf-c-tabs__item-close--c-button--PaddingTop: var(--pf-global--spacer--sm);
113
+ --pf-c-tabs__item-close--c-button--PaddingBottom: var(--pf-global--spacer--sm);
114
+ --pf-c-tabs__item-close--c-button--PaddingLeft: var(--pf-global--spacer--sm);
115
+ --pf-c-tabs__item-close--c-button--OutlineOffset: -0.1875rem;
116
+ --pf-c-tabs__item-close-icon--MarginTop: 0.125rem;
117
+ --pf-c-tabs__add--before--BorderColor: var(--pf-c-tabs__link--before--border-color--base);
118
+ --pf-c-tabs__add--before--BorderLeftWidth: var(--pf-c-tabs__link--before--border-width--base);
119
+ --pf-c-tabs__add--c-button--FontSize: var(--pf-global--FontSize--sm);
120
+ --pf-c-tabs--m-secondary__add--c-button--FontSize: var(--pf-global--FontSize--xs);
121
+ --pf-c-tabs__add--c-button--PaddingTop: var(--pf-c-tabs__link--PaddingTop);
122
+ --pf-c-tabs__add--c-button--PaddingBottom: var(--pf-c-tabs__link--PaddingBottom);
105
123
  position: relative;
106
124
  display: flex;
107
125
  width: var(--pf-c-tabs--Width);
@@ -154,6 +172,10 @@
154
172
  --pf-c-tabs--before--BorderBottomWidth: 0;
155
173
  --pf-c-tabs__link--disabled--before--BorderBottomWidth: 0;
156
174
  }
175
+ .pf-c-tabs.pf-m-border-bottom {
176
+ --pf-c-tabs--before--BorderBottomWidth: var(--pf-c-tabs--before--border-width--base);
177
+ --pf-c-tabs__link--disabled--before--BorderBottomWidth: var(--pf-c-tabs--before--border-width--base);
178
+ }
157
179
  .pf-c-tabs.pf-m-box .pf-c-tabs__link, .pf-c-tabs.pf-m-vertical .pf-c-tabs__link {
158
180
  --pf-c-tabs__link--after--BorderBottomWidth: 0;
159
181
  }
@@ -196,6 +218,9 @@
196
218
  --pf-c-tabs__item--m-current__link--BackgroundColor: var(--pf-c-tabs--m-color-scheme--light-300__item--m-current__link--BackgroundColor);
197
219
  --pf-c-tabs__link--disabled--BackgroundColor: var(--pf-c-tabs--m-color-scheme--light-300__link--disabled--BackgroundColor);
198
220
  }
221
+ .pf-c-tabs.pf-m-box .pf-c-tabs__item-close .pf-c-button {
222
+ --pf-c-button--m-plain--disabled--Color: var(--pf-c-tabs--m-box__item-close--c-button--disabled--BackgroundColor);
223
+ }
199
224
  .pf-c-tabs.pf-m-vertical {
200
225
  --pf-c-tabs--Width: var(--pf-c-tabs--m-vertical--Width);
201
226
  --pf-c-tabs--inset: var(--pf-c-tabs--m-vertical--inset);
@@ -368,6 +393,8 @@
368
393
  }
369
394
  .pf-c-tabs.pf-m-secondary {
370
395
  --pf-c-tabs__link--FontSize: var(--pf-c-tabs--m-secondary__link--FontSize);
396
+ --pf-c-tabs__item-close--c-button--FontSize: var(--pf-c-tabs--m-secondary__item-close--c-button--FontSize);
397
+ --pf-c-tabs__add--c-button--FontSize: var(--pf-c-tabs--m-secondary__add--c-button--FontSize);
371
398
  }
372
399
  .pf-c-tabs.pf-m-page-insets {
373
400
  --pf-c-tabs--inset: var(--pf-c-tabs--m-page-insets--inset);
@@ -431,12 +458,26 @@
431
458
  --pf-c-tabs__link--after--BorderColor: var(--pf-c-tabs__item--m-current__link--after--BorderColor);
432
459
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__item--m-current__link--after--BorderWidth);
433
460
  }
461
+ .pf-c-tabs__item.pf-m-action {
462
+ --pf-c-tabs__link--PaddingRight: var(--pf-c-tabs__item--m-action__link--PaddingRight);
463
+ position: relative;
464
+ }
465
+ .pf-c-tabs__item.pf-m-action::before {
466
+ z-index: var(--pf-c-tabs__item--m-action--before--ZIndex);
467
+ }
468
+ .pf-c-tabs__item.pf-m-action .pf-c-tabs__link::before,
469
+ .pf-c-tabs__item.pf-m-action .pf-c-tabs__link::after {
470
+ content: revert;
471
+ }
434
472
 
435
473
  .pf-c-tabs::before,
436
474
  .pf-c-tabs__list::before,
437
475
  .pf-c-tabs__link::before,
438
476
  .pf-c-tabs__link::after,
439
- .pf-c-tabs__scroll-button::before {
477
+ .pf-c-tabs__item.pf-m-action::before,
478
+ .pf-c-tabs__item.pf-m-action::after,
479
+ .pf-c-tabs__scroll-button::before,
480
+ .pf-c-tabs__add::before {
440
481
  position: absolute;
441
482
  right: 0;
442
483
  bottom: 0;
@@ -448,18 +489,21 @@
448
489
  .pf-c-tabs__list::before,
449
490
  .pf-c-tabs__link::before,
450
491
  .pf-c-tabs__link::after,
451
- .pf-c-tabs__scroll-button::before {
492
+ .pf-c-tabs__item.pf-m-action::before,
493
+ .pf-c-tabs__item.pf-m-action::after,
494
+ .pf-c-tabs__scroll-button::before,
495
+ .pf-c-tabs__add::before {
452
496
  top: 0;
453
497
  }
454
498
 
455
499
  .pf-c-tabs__link,
456
500
  .pf-c-tabs__scroll-button,
457
- .pf-c-tabs__list::before {
501
+ .pf-c-tabs__list::before,
502
+ .pf-c-tabs__add::before {
458
503
  border: 0;
459
504
  }
460
505
 
461
506
  .pf-c-tabs__link {
462
- --pf-c-tabs__link--after--BorderBottomWidth: var(--pf-c-tabs__link--after--BorderWidth);
463
507
  position: relative;
464
508
  display: flex;
465
509
  flex: 1;
@@ -467,17 +511,23 @@
467
511
  font-size: var(--pf-c-tabs__link--FontSize);
468
512
  color: var(--pf-c-tabs__link--Color);
469
513
  text-decoration: none;
470
- background-color: var(--pf-c-tabs__link--BackgroundColor);
471
514
  outline-offset: var(--pf-c-tabs__link--OutlineOffset);
472
515
  }
473
- .pf-c-tabs__link::before {
516
+ .pf-c-tabs__item.pf-m-action, .pf-c-tabs__link {
517
+ --pf-c-tabs__link--after--BorderBottomWidth: var(--pf-c-tabs__link--after--BorderWidth);
518
+ background-color: var(--pf-c-tabs__link--BackgroundColor);
519
+ }
520
+
521
+ .pf-c-tabs__item.pf-m-action::before, .pf-c-tabs__link::before {
474
522
  pointer-events: none;
475
- border-color: var(--pf-c-tabs__link--before--border-color--base);
476
523
  border-width: var(--pf-c-tabs__link--before--BorderTopWidth) var(--pf-c-tabs__link--before--BorderRightWidth) var(--pf-c-tabs__link--before--BorderBottomWidth) var(--pf-c-tabs__link--before--BorderLeftWidth);
524
+ border-top-color: var(--pf-c-tabs__link--before--BorderTopColor);
477
525
  border-right-color: var(--pf-c-tabs__link--before--BorderRightColor);
478
526
  border-bottom-color: var(--pf-c-tabs__link--before--BorderBottomColor);
527
+ border-left-color: var(--pf-c-tabs__link--before--BorderLeftColor);
479
528
  }
480
- .pf-c-tabs__link::after {
529
+
530
+ .pf-c-tabs__item.pf-m-action::after, .pf-c-tabs__link::after {
481
531
  top: var(--pf-c-tabs__link--after--Top);
482
532
  right: var(--pf-c-tabs__link--after--Right);
483
533
  bottom: var(--pf-c-tabs__link--after--Bottom);
@@ -485,25 +535,30 @@
485
535
  border-color: var(--pf-c-tabs__link--after--BorderColor);
486
536
  border-width: var(--pf-c-tabs__link--after--BorderTopWidth) var(--pf-c-tabs__link--after--BorderRightWidth) var(--pf-c-tabs__link--after--BorderBottomWidth) var(--pf-c-tabs__link--after--BorderLeftWidth);
487
537
  }
488
- .pf-c-tabs__link:hover {
538
+
539
+ .pf-c-tabs__item.pf-m-action:hover, .pf-c-tabs__link:hover {
489
540
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--hover--after--BorderWidth);
490
541
  }
491
- .pf-c-tabs__link:focus {
542
+
543
+ .pf-c-tabs__item.pf-m-action:focus-within, .pf-c-tabs__link:focus {
492
544
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--focus--after--BorderWidth);
493
545
  }
494
- .pf-c-tabs__link:active {
546
+
547
+ .pf-c-tabs__item.pf-m-action:active, .pf-c-tabs__link:active {
495
548
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--active--after--BorderWidth);
496
549
  }
550
+
497
551
  .pf-c-tabs__link:disabled, .pf-c-tabs__link.pf-m-disabled {
498
552
  pointer-events: none;
499
553
  }
500
- .pf-c-tabs__link:disabled, .pf-c-tabs__link.pf-m-disabled, .pf-c-tabs__link.pf-m-aria-disabled {
554
+ .pf-c-tabs__item.pf-m-action.pf-m-disabled, .pf-c-tabs__link:disabled, .pf-c-tabs__link.pf-m-disabled, .pf-c-tabs__link.pf-m-aria-disabled {
501
555
  --pf-c-tabs__link--BackgroundColor: var(--pf-c-tabs__link--disabled--BackgroundColor);
502
556
  --pf-c-tabs__link--before--BorderRightWidth: var(--pf-c-tabs__link--disabled--before--BorderRightWidth);
503
557
  --pf-c-tabs__link--before--BorderBottomWidth: var(--pf-c-tabs__link--disabled--before--BorderBottomWidth);
504
558
  --pf-c-tabs__link--before--BorderLeftWidth: var(--pf-c-tabs__link--disabled--before--BorderLeftWidth);
505
559
  --pf-c-tabs__link--after--BorderWidth: 0;
506
560
  }
561
+
507
562
  .pf-c-tabs__link.pf-m-aria-disabled {
508
563
  cursor: default;
509
564
  }
@@ -516,6 +571,22 @@
516
571
  --pf-c-tabs__link--child--MarginRight: 0;
517
572
  }
518
573
 
574
+ .pf-c-tabs__item-close {
575
+ display: flex;
576
+ }
577
+ .pf-c-tabs__item-close .pf-c-button {
578
+ --pf-c-button--FontSize: var(--pf-c-tabs__item-close--c-button--FontSize);
579
+ --pf-c-button--PaddingTop: var(--pf-c-tabs__item-close--c-button--PaddingTop);
580
+ --pf-c-button--PaddingBottom: var(--pf-c-tabs__item-close--c-button--PaddingBottom);
581
+ --pf-c-button--PaddingLeft: var(--pf-c-tabs__item-close--c-button--PaddingLeft);
582
+ outline-offset: var(--pf-c-tabs__item-close--c-button--OutlineOffset);
583
+ }
584
+
585
+ .pf-c-tabs__item-close-icon {
586
+ display: inline-block;
587
+ margin-top: var(--pf-c-tabs__item-close-icon--MarginTop);
588
+ }
589
+
519
590
  .pf-c-tabs__scroll-button {
520
591
  flex: none;
521
592
  width: var(--pf-c-tabs__scroll-button--Width);
@@ -548,6 +619,19 @@
548
619
  pointer-events: none;
549
620
  }
550
621
 
622
+ .pf-c-tabs__add {
623
+ position: relative;
624
+ display: flex;
625
+ }
626
+ .pf-c-tabs__add::before {
627
+ border-left: var(--pf-c-tabs__add--before--BorderLeftWidth) solid var(--pf-c-tabs__add--before--BorderColor);
628
+ }
629
+ .pf-c-tabs__add .pf-c-button {
630
+ --pf-c-button--FontSize: var(--pf-c-tabs__add--c-button--FontSize);
631
+ --pf-c-button--PaddingTop: var(--pf-c-tabs__add--c-button--PaddingTop);
632
+ --pf-c-button--PaddingBottom: var(--pf-c-tabs__add--c-button--PaddingBottom);
633
+ }
634
+
551
635
  .pf-c-tabs.pf-m-inset-none {
552
636
  --pf-c-tabs--inset: 0;
553
637
  --pf-c-tabs--m-vertical--inset: 0;
@@ -39,6 +39,10 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
39
39
  --pf-c-tabs__list--Display: flex;
40
40
  --pf-c-tabs__list--Visibility: visible;
41
41
 
42
+ // Item
43
+ --pf-c-tabs__item--m-action--before--ZIndex: var(--pf-global--ZIndex--xs);
44
+ --pf-c-tabs__item--m-action__link--PaddingRight: var(--pf-global--spacer--sm);
45
+
42
46
  // Tab link
43
47
  --pf-c-tabs__link--Color: var(--pf-global--Color--200);
44
48
  --pf-c-tabs__link--FontSize: var(--pf-global--FontSize--md);
@@ -55,13 +59,16 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
55
59
  --pf-c-tabs--m-vertical__link--PaddingBottom: var(--pf-global--spacer--md);
56
60
  --pf-c-tabs--m-box__link--BackgroundColor: var(--pf-global--BackgroundColor--200);
57
61
  --pf-c-tabs--m-box__link--disabled--BackgroundColor: var(--pf-global--disabled-color--200);
62
+ --pf-c-tabs--m-box__item-close--c-button--disabled--BackgroundColor: var(--pf-global--palette--black-400);
58
63
  --pf-c-tabs--m-secondary__link--FontSize: var(--pf-global--FontSize--sm);
59
64
 
60
65
  // Link before
61
66
  --pf-c-tabs__link--before--border-color--base: var(--pf-global--BorderColor--100);
67
+ --pf-c-tabs__link--before--border-width--base: var(--pf-global--BorderWidth--sm);
68
+ --pf-c-tabs__link--before--BorderTopColor: var(--pf-c-tabs__link--before--border-color--base);
62
69
  --pf-c-tabs__link--before--BorderRightColor: var(--pf-c-tabs__link--before--border-color--base);
63
70
  --pf-c-tabs__link--before--BorderBottomColor: var(--pf-c-tabs__link--before--border-color--base);
64
- --pf-c-tabs__link--before--border-width--base: var(--pf-global--BorderWidth--sm);
71
+ --pf-c-tabs__link--before--BorderLeftColor: var(--pf-c-tabs__link--before--border-color--base);
65
72
  --pf-c-tabs__link--before--BorderTopWidth: 0;
66
73
  --pf-c-tabs__link--before--BorderRightWidth: 0;
67
74
  --pf-c-tabs__link--before--BorderBottomWidth: 0;
@@ -130,6 +137,23 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
130
137
  --pf-c-tabs--m-expanded__toggle-icon--Color: var(--pf-global--Color--100);
131
138
  --pf-c-tabs--m-expanded__toggle-icon--Rotate: 90deg;
132
139
 
140
+ // Close button
141
+ --pf-c-tabs__item-close--c-button--FontSize: var(--pf-global--FontSize--xs);
142
+ --pf-c-tabs--m-secondary__item-close--c-button--FontSize: var(--pf-global--icon--FontSize--sm);
143
+ --pf-c-tabs__item-close--c-button--PaddingTop: var(--pf-global--spacer--sm);
144
+ --pf-c-tabs__item-close--c-button--PaddingBottom: var(--pf-global--spacer--sm);
145
+ --pf-c-tabs__item-close--c-button--PaddingLeft: var(--pf-global--spacer--sm);
146
+ --pf-c-tabs__item-close--c-button--OutlineOffset: #{pf-size-prem(-3px)};
147
+ --pf-c-tabs__item-close-icon--MarginTop: #{pf-size-prem(2px)};
148
+
149
+ // Add button
150
+ --pf-c-tabs__add--before--BorderColor: var(--pf-c-tabs__link--before--border-color--base);
151
+ --pf-c-tabs__add--before--BorderLeftWidth: var(--pf-c-tabs__link--before--border-width--base);
152
+ --pf-c-tabs__add--c-button--FontSize: var(--pf-global--FontSize--sm);
153
+ --pf-c-tabs--m-secondary__add--c-button--FontSize: var(--pf-global--FontSize--xs);
154
+ --pf-c-tabs__add--c-button--PaddingTop: var(--pf-c-tabs__link--PaddingTop);
155
+ --pf-c-tabs__add--c-button--PaddingBottom: var(--pf-c-tabs__link--PaddingBottom);
156
+
133
157
  @media screen and (min-width: $pf-global--breakpoint--xl) {
134
158
  --pf-c-tabs__scroll-button--Width: var(--pf-c-tabs__scroll-button--xl--Width);
135
159
  --pf-c-tabs--m-page-insets--inset: var(--pf-c-tabs--m-page-insets--xl--inset);
@@ -199,6 +223,11 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
199
223
  --pf-c-tabs__link--disabled--before--BorderBottomWidth: 0;
200
224
  }
201
225
 
226
+ &.pf-m-border-bottom {
227
+ --pf-c-tabs--before--BorderBottomWidth: var(--pf-c-tabs--before--border-width--base);
228
+ --pf-c-tabs__link--disabled--before--BorderBottomWidth: var(--pf-c-tabs--before--border-width--base);
229
+ }
230
+
202
231
  // Remove bottom border for variants
203
232
  &.pf-m-box,
204
233
  &.pf-m-vertical {
@@ -266,6 +295,10 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
266
295
  --pf-c-tabs__item--m-current__link--BackgroundColor: var(--pf-c-tabs--m-color-scheme--light-300__item--m-current__link--BackgroundColor);
267
296
  --pf-c-tabs__link--disabled--BackgroundColor: var(--pf-c-tabs--m-color-scheme--light-300__link--disabled--BackgroundColor);
268
297
  }
298
+
299
+ .pf-c-tabs__item-close .pf-c-button {
300
+ --pf-c-button--m-plain--disabled--Color: var(--pf-c-tabs--m-box__item-close--c-button--disabled--BackgroundColor);
301
+ }
269
302
  }
270
303
 
271
304
  // Vertical
@@ -409,6 +442,8 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
409
442
 
410
443
  &.pf-m-secondary {
411
444
  --pf-c-tabs__link--FontSize: var(--pf-c-tabs--m-secondary__link--FontSize);
445
+ --pf-c-tabs__item-close--c-button--FontSize: var(--pf-c-tabs--m-secondary__item-close--c-button--FontSize);
446
+ --pf-c-tabs__add--c-button--FontSize: var(--pf-c-tabs--m-secondary__add--c-button--FontSize);
412
447
  }
413
448
 
414
449
  &.pf-m-page-insets {
@@ -478,13 +513,32 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
478
513
  --pf-c-tabs__link--after--BorderColor: var(--pf-c-tabs__item--m-current__link--after--BorderColor);
479
514
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__item--m-current__link--after--BorderWidth);
480
515
  }
516
+
517
+ // Action
518
+ &.pf-m-action {
519
+ --pf-c-tabs__link--PaddingRight: var(--pf-c-tabs__item--m-action__link--PaddingRight);
520
+
521
+ position: relative;
522
+
523
+ &::before {
524
+ z-index: var(--pf-c-tabs__item--m-action--before--ZIndex);
525
+ }
526
+
527
+ .pf-c-tabs__link::before,
528
+ .pf-c-tabs__link::after {
529
+ content: revert;
530
+ }
531
+ }
481
532
  }
482
533
 
483
534
  .pf-c-tabs::before,
484
535
  .pf-c-tabs__list::before,
485
536
  .pf-c-tabs__link::before,
486
537
  .pf-c-tabs__link::after,
487
- .pf-c-tabs__scroll-button::before {
538
+ .pf-c-tabs__item.pf-m-action::before,
539
+ .pf-c-tabs__item.pf-m-action::after,
540
+ .pf-c-tabs__scroll-button::before,
541
+ .pf-c-tabs__add::before {
488
542
  position: absolute;
489
543
  right: 0;
490
544
  bottom: 0;
@@ -496,19 +550,28 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
496
550
  .pf-c-tabs__list::before,
497
551
  .pf-c-tabs__link::before,
498
552
  .pf-c-tabs__link::after,
499
- .pf-c-tabs__scroll-button::before {
553
+ .pf-c-tabs__item.pf-m-action::before,
554
+ .pf-c-tabs__item.pf-m-action::after,
555
+ .pf-c-tabs__scroll-button::before,
556
+ .pf-c-tabs__add::before {
500
557
  top: 0;
501
558
  }
502
559
 
503
560
  .pf-c-tabs__link,
504
561
  .pf-c-tabs__scroll-button,
505
- .pf-c-tabs__list::before {
562
+ .pf-c-tabs__list::before,
563
+ .pf-c-tabs__add::before {
506
564
  border: 0;
507
565
  }
508
566
 
509
567
  // Tab link
510
568
  .pf-c-tabs__link {
511
- --pf-c-tabs__link--after--BorderBottomWidth: var(--pf-c-tabs__link--after--BorderWidth); // Set default border target
569
+ @at-root .pf-c-tabs__item.pf-m-action,
570
+ & {
571
+ --pf-c-tabs__link--after--BorderBottomWidth: var(--pf-c-tabs__link--after--BorderWidth); // Set default border target
572
+
573
+ background-color: var(--pf-c-tabs__link--BackgroundColor);
574
+ }
512
575
 
513
576
  position: relative;
514
577
  display: flex;
@@ -517,37 +580,50 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
517
580
  font-size: var(--pf-c-tabs__link--FontSize);
518
581
  color: var(--pf-c-tabs__link--Color);
519
582
  text-decoration: none;
520
- background-color: var(--pf-c-tabs__link--BackgroundColor);
521
583
  outline-offset: var(--pf-c-tabs__link--OutlineOffset);
522
584
 
523
- &::before {
524
- pointer-events: none;
525
- border-color: var(--pf-c-tabs__link--before--border-color--base);
526
- border-width: var(--pf-c-tabs__link--before--BorderTopWidth) var(--pf-c-tabs__link--before--BorderRightWidth) var(--pf-c-tabs__link--before--BorderBottomWidth) var(--pf-c-tabs__link--before--BorderLeftWidth);
527
- border-right-color: var(--pf-c-tabs__link--before--BorderRightColor);
528
- border-bottom-color: var(--pf-c-tabs__link--before--BorderBottomColor);
585
+ @at-root .pf-c-tabs__item.pf-m-action,
586
+ & {
587
+ &::before {
588
+ pointer-events: none;
589
+ border-width: var(--pf-c-tabs__link--before--BorderTopWidth) var(--pf-c-tabs__link--before--BorderRightWidth) var(--pf-c-tabs__link--before--BorderBottomWidth) var(--pf-c-tabs__link--before--BorderLeftWidth);
590
+ border-top-color: var(--pf-c-tabs__link--before--BorderTopColor);
591
+ border-right-color: var(--pf-c-tabs__link--before--BorderRightColor);
592
+ border-bottom-color: var(--pf-c-tabs__link--before--BorderBottomColor);
593
+ border-left-color: var(--pf-c-tabs__link--before--BorderLeftColor);
594
+ }
529
595
  }
530
596
 
531
- &::after {
532
- top: var(--pf-c-tabs__link--after--Top);
533
- right: var(--pf-c-tabs__link--after--Right);
534
- bottom: var(--pf-c-tabs__link--after--Bottom);
535
- left: var(--pf-c-tabs__link--before--Left); // use the ::before Left value to offset the top border / overlap left border
536
- border-color: var(--pf-c-tabs__link--after--BorderColor);
537
- border-width: var(--pf-c-tabs__link--after--BorderTopWidth) var(--pf-c-tabs__link--after--BorderRightWidth) var(--pf-c-tabs__link--after--BorderBottomWidth) var(--pf-c-tabs__link--after--BorderLeftWidth);
597
+ @at-root .pf-c-tabs__item.pf-m-action,
598
+ & {
599
+ &::after {
600
+ top: var(--pf-c-tabs__link--after--Top);
601
+ right: var(--pf-c-tabs__link--after--Right);
602
+ bottom: var(--pf-c-tabs__link--after--Bottom);
603
+ left: var(--pf-c-tabs__link--before--Left); // use the ::before Left value to offset the top border / overlap left border
604
+ border-color: var(--pf-c-tabs__link--after--BorderColor);
605
+ border-width: var(--pf-c-tabs__link--after--BorderTopWidth) var(--pf-c-tabs__link--after--BorderRightWidth) var(--pf-c-tabs__link--after--BorderBottomWidth) var(--pf-c-tabs__link--after--BorderLeftWidth);
606
+ }
538
607
  }
539
608
 
540
609
  // Tab item hover state
541
- &:hover {
542
- --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--hover--after--BorderWidth);
610
+ @at-root .pf-c-tabs__item.pf-m-action,
611
+ & {
612
+ &:hover {
613
+ --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--hover--after--BorderWidth);
614
+ }
543
615
  }
544
616
 
617
+ @at-root .pf-c-tabs__item.pf-m-action:focus-within,
545
618
  &:focus {
546
619
  --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--focus--after--BorderWidth);
547
620
  }
548
621
 
549
- &:active {
550
- --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--active--after--BorderWidth);
622
+ @at-root .pf-c-tabs__item.pf-m-action,
623
+ & {
624
+ &:active {
625
+ --pf-c-tabs__link--after--BorderWidth: var(--pf-c-tabs__link--active--after--BorderWidth);
626
+ }
551
627
  }
552
628
 
553
629
  &:disabled,
@@ -555,6 +631,7 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
555
631
  pointer-events: none;
556
632
  }
557
633
 
634
+ @at-root .pf-c-tabs__item.pf-m-action.pf-m-disabled,
558
635
  &:disabled,
559
636
  &.pf-m-disabled,
560
637
  &.pf-m-aria-disabled {
@@ -569,6 +646,7 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
569
646
  cursor: default;
570
647
  }
571
648
 
649
+ // un-nest these selectors in a breaking change release
572
650
  .pf-c-tabs__item-icon,
573
651
  .pf-c-tabs__item-text {
574
652
  margin-right: var(--pf-c-tabs__link--child--MarginRight);
@@ -579,6 +657,24 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
579
657
  }
580
658
  }
581
659
 
660
+ .pf-c-tabs__item-close {
661
+ display: flex;
662
+
663
+ .pf-c-button {
664
+ --pf-c-button--FontSize: var(--pf-c-tabs__item-close--c-button--FontSize);
665
+ --pf-c-button--PaddingTop: var(--pf-c-tabs__item-close--c-button--PaddingTop);
666
+ --pf-c-button--PaddingBottom: var(--pf-c-tabs__item-close--c-button--PaddingBottom);
667
+ --pf-c-button--PaddingLeft: var(--pf-c-tabs__item-close--c-button--PaddingLeft);
668
+
669
+ outline-offset: var(--pf-c-tabs__item-close--c-button--OutlineOffset);
670
+ }
671
+ }
672
+
673
+ .pf-c-tabs__item-close-icon {
674
+ display: inline-block;
675
+ margin-top: var(--pf-c-tabs__item-close-icon--MarginTop);
676
+ }
677
+
582
678
  // Scroll buttons
583
679
  .pf-c-tabs__scroll-button {
584
680
  flex: none;
@@ -622,6 +718,21 @@ $pf-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
622
718
  }
623
719
  }
624
720
 
721
+ .pf-c-tabs__add {
722
+ position: relative;
723
+ display: flex;
724
+
725
+ &::before {
726
+ border-left: var(--pf-c-tabs__add--before--BorderLeftWidth) solid var(--pf-c-tabs__add--before--BorderColor);
727
+ }
728
+
729
+ .pf-c-button {
730
+ --pf-c-button--FontSize: var(--pf-c-tabs__add--c-button--FontSize);
731
+ --pf-c-button--PaddingTop: var(--pf-c-tabs__add--c-button--PaddingTop);
732
+ --pf-c-button--PaddingBottom: var(--pf-c-tabs__add--c-button--PaddingBottom);
733
+ }
734
+ }
735
+
625
736
  // stylelint-disable no-duplicate-selectors, max-nesting-depth
626
737
  .pf-c-tabs {
627
738
  @each $breakpoint, $breakpoint-value in $pf-c-tabs--breakpoint-map {
@@ -124,6 +124,22 @@ cssPrefix: pf-c-form-control
124
124
  id="select-standard"
125
125
  name="select-standard"
126
126
  aria-label="Standard select example"
127
+ >
128
+ <option value selected disabled>Please choose</option>
129
+ <option value="Mr">Mr</option>
130
+ <option value="Miss">Miss</option>
131
+ <option value="Mrs">Mrs</option>
132
+ <option value="Ms">Ms</option>
133
+ <option value="Dr">Dr</option>
134
+ <option value="Other">Other</option>
135
+ </select>
136
+ <br />
137
+ <br />
138
+ <select
139
+ class="pf-c-form-control pf-m-placeholder"
140
+ id="select-placeholder-enabled"
141
+ name="select-placeholder-enabled"
142
+ aria-label="Placeholder enabled select example"
127
143
  >
128
144
  <option value selected>Please choose</option>
129
145
  <option value="Mr">Mr</option>
@@ -43,40 +43,35 @@ cssPrefix: pf-c-tab-content
43
43
  ### Padding
44
44
 
45
45
  ```html
46
- <section
47
- class="pf-c-tab-content pf-m-padding"
48
- id="tab1-panel"
49
- role="tabpanel"
50
- tabindex="0"
51
- >
52
- <div class="pf-c-tab-content__body">Panel 1</div>
46
+ <section class="pf-c-tab-content" id="tab1-panel" role="tabpanel" tabindex="0">
47
+ <div class="pf-c-tab-content__body pf-m-padding">Panel 1</div>
53
48
  </section>
54
49
  <section
55
- class="pf-c-tab-content pf-m-padding"
50
+ class="pf-c-tab-content"
56
51
  id="tab2-panel"
57
52
  role="tabpanel"
58
53
  tabindex="0"
59
54
  hidden
60
55
  >
61
- <div class="pf-c-tab-content__body">Panel 2</div>
56
+ <div class="pf-c-tab-content__body pf-m-padding">Panel 2</div>
62
57
  </section>
63
58
  <section
64
- class="pf-c-tab-content pf-m-padding"
59
+ class="pf-c-tab-content"
65
60
  id="tab3-panel"
66
61
  role="tabpanel"
67
62
  tabindex="0"
68
63
  hidden
69
64
  >
70
- <div class="pf-c-tab-content__body">Panel 3</div>
65
+ <div class="pf-c-tab-content__body pf-m-padding">Panel 3</div>
71
66
  </section>
72
67
  <section
73
- class="pf-c-tab-content pf-m-padding"
68
+ class="pf-c-tab-content"
74
69
  id="tab4-panel"
75
70
  role="tabpanel"
76
71
  tabindex="0"
77
72
  hidden
78
73
  >
79
- <div class="pf-c-tab-content__body">Panel 4</div>
74
+ <div class="pf-c-tab-content__body pf-m-padding">Panel 4</div>
80
75
  </section>
81
76
 
82
77
  ```