@patternfly/patternfly 6.3.0-prerelease.6 → 6.3.0-prerelease.61

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 (168) hide show
  1. package/README.md +22 -14
  2. package/assets/images/icon-help.hbs +3 -0
  3. package/assets/images/icon-outlined-star.hbs +3 -0
  4. package/assets/images/icon-star.hbs +3 -0
  5. package/base/normalize.scss +4 -0
  6. package/base/patternfly-common.css +46 -11
  7. package/base/patternfly-common.scss +58 -13
  8. package/base/patternfly-variables.css +1172 -1
  9. package/base/patternfly-variables.scss +10 -0
  10. package/base/tokens/tokens-charts-dark.scss +1 -1
  11. package/base/tokens/tokens-charts.scss +1 -1
  12. package/base/tokens/tokens-dark.scss +13 -1
  13. package/base/tokens/tokens-default.scss +60 -2
  14. package/base/tokens/tokens-highcontrast-dark.scss +396 -0
  15. package/base/tokens/tokens-highcontrast.scss +703 -0
  16. package/base/tokens/tokens-local.scss +1 -0
  17. package/base/tokens/tokens-palette.scss +9 -1
  18. package/components/Accordion/accordion.css +102 -6
  19. package/components/Accordion/accordion.scss +112 -10
  20. package/components/Alert/alert-group.css +67 -33
  21. package/components/Alert/alert-group.scss +95 -48
  22. package/components/Badge/badge.css +2 -0
  23. package/components/Badge/badge.scss +2 -0
  24. package/components/Banner/banner.css +4 -0
  25. package/components/Banner/banner.scss +4 -0
  26. package/components/Button/button.css +187 -9
  27. package/components/Button/button.scss +195 -13
  28. package/components/CalendarMonth/calendar-month.css +16 -0
  29. package/components/CalendarMonth/calendar-month.scss +16 -0
  30. package/components/Card/card.css +5 -4
  31. package/components/Card/card.scss +5 -4
  32. package/components/CodeBlock/code-block.css +3 -0
  33. package/components/CodeBlock/code-block.scss +3 -0
  34. package/components/CodeEditor/code-editor.css +8 -3
  35. package/components/CodeEditor/code-editor.scss +11 -6
  36. package/components/DataList/data-list.css +2 -2
  37. package/components/DataList/data-list.scss +2 -2
  38. package/components/DatePicker/date-picker.css +3 -0
  39. package/components/DatePicker/date-picker.scss +4 -0
  40. package/components/Drawer/drawer.css +44 -41
  41. package/components/Drawer/drawer.scss +42 -36
  42. package/components/DualListSelector/dual-list-selector.css +55 -1
  43. package/components/DualListSelector/dual-list-selector.scss +63 -1
  44. package/components/ExpandableSection/expandable-section.css +63 -1
  45. package/components/ExpandableSection/expandable-section.scss +76 -2
  46. package/components/FileUpload/file-upload.css +3 -3
  47. package/components/FileUpload/file-upload.scss +3 -3
  48. package/components/Form/form.css +40 -1
  49. package/components/Form/form.scss +47 -1
  50. package/components/FormControl/form-control.css +16 -0
  51. package/components/FormControl/form-control.scss +9 -0
  52. package/components/InputGroup/input-group.css +80 -0
  53. package/components/InputGroup/input-group.scss +95 -0
  54. package/components/Label/label.css +20 -11
  55. package/components/Label/label.scss +21 -11
  56. package/components/Login/login.css +3 -0
  57. package/components/Login/login.scss +3 -0
  58. package/components/Menu/menu.css +42 -4
  59. package/components/Menu/menu.scss +39 -6
  60. package/components/MenuToggle/menu-toggle.css +51 -10
  61. package/components/MenuToggle/menu-toggle.scss +61 -9
  62. package/components/ModalBox/modal-box.css +3 -0
  63. package/components/ModalBox/modal-box.scss +3 -0
  64. package/components/Nav/nav.css +39 -8
  65. package/components/Nav/nav.scss +42 -9
  66. package/components/Page/page.css +124 -26
  67. package/components/Page/page.scss +86 -16
  68. package/components/Pagination/pagination.css +14 -1
  69. package/components/Pagination/pagination.scss +14 -1
  70. package/components/Panel/panel.css +14 -1
  71. package/components/Panel/panel.scss +14 -1
  72. package/components/Popover/popover.css +4 -0
  73. package/components/Popover/popover.scss +4 -0
  74. package/components/Progress/progress.css +26 -0
  75. package/components/Progress/progress.scss +22 -1
  76. package/components/ProgressStepper/progress-stepper.scss +1 -0
  77. package/components/SimpleList/simple-list.css +15 -0
  78. package/components/SimpleList/simple-list.scss +17 -1
  79. package/components/Skeleton/skeleton.css +22 -2
  80. package/components/Skeleton/skeleton.scss +25 -3
  81. package/components/Spinner/spinner.css +5 -0
  82. package/components/Spinner/spinner.scss +6 -0
  83. package/components/Table/table-grid.css +51 -5
  84. package/components/Table/table-grid.scss +22 -1
  85. package/components/Table/table.css +124 -2
  86. package/components/Table/table.scss +171 -3
  87. package/components/Tabs/tabs.css +32 -15
  88. package/components/Tabs/tabs.scss +34 -14
  89. package/components/TextInputGroup/text-input-group.css +23 -0
  90. package/components/TextInputGroup/text-input-group.scss +16 -1
  91. package/components/Timestamp/timestamp.css +4 -0
  92. package/components/Timestamp/timestamp.scss +7 -0
  93. package/components/TreeView/tree-view.css +54 -0
  94. package/components/TreeView/tree-view.scss +59 -2
  95. package/components/Truncate/truncate.css +1 -0
  96. package/components/Truncate/truncate.scss +3 -0
  97. package/components/Wizard/wizard.css +33 -6
  98. package/components/Wizard/wizard.scss +38 -8
  99. package/components/_index.css +1404 -195
  100. package/docs/components/Alert/examples/Alert.md +2 -2
  101. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  102. package/docs/components/Button/examples/Button.md +159 -6
  103. package/docs/components/Card/examples/Card.md +8 -8
  104. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +24 -32
  105. package/docs/components/CodeBlock/examples/CodeBlock.md +10 -10
  106. package/docs/components/CodeEditor/examples/CodeEditor.md +29 -5
  107. package/docs/components/DataList/examples/DataList.md +83 -207
  108. package/docs/components/DescriptionList/examples/DescriptionList.md +78 -22
  109. package/docs/components/DualListSelector/examples/DualListSelector.md +642 -319
  110. package/docs/components/EmptyState/examples/EmptyState.md +6 -6
  111. package/docs/components/ExpandableSection/examples/ExpandableSection.md +26 -15
  112. package/docs/components/Form/examples/Form.md +1178 -113
  113. package/docs/components/Hint/examples/Hint.md +3 -3
  114. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -6
  115. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  116. package/docs/components/Label/examples/Label.md +2 -2
  117. package/docs/components/Login/examples/Login.md +22 -22
  118. package/docs/components/Masthead/examples/masthead.md +90 -12
  119. package/docs/components/Menu/examples/Menu.md +122 -6
  120. package/docs/components/MenuToggle/examples/MenuToggle.md +93 -55
  121. package/docs/components/ModalBox/examples/ModalBox.md +13 -1
  122. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  123. package/docs/components/Page/examples/Page.md +147 -14
  124. package/docs/components/Pagination/examples/Pagination.md +123 -12
  125. package/docs/components/Popover/examples/Popover.md +0 -4
  126. package/docs/components/Progress/examples/Progress.md +222 -210
  127. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  128. package/docs/components/Skeleton/examples/Skeleton.md +21 -7
  129. package/docs/components/Slider/examples/Slider.md +2 -2
  130. package/docs/components/Spinner/examples/Spinner.md +10 -0
  131. package/docs/components/Table/examples/Table.md +7699 -4896
  132. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  133. package/docs/components/TextInputGroup/examples/TextInputGroup.md +168 -49
  134. package/docs/components/Title/examples/Title.md +8 -8
  135. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  136. package/docs/components/Wizard/examples/Wizard.md +583 -0
  137. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  138. package/docs/demos/Alert/examples/Alert.md +66 -9
  139. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  140. package/docs/demos/Banner/examples/Banner.md +47 -6
  141. package/docs/demos/Card/examples/Card.md +13 -67
  142. package/docs/demos/CardView/examples/CardView.md +24 -5
  143. package/docs/demos/Dashboard/examples/Dashboard.md +34 -27
  144. package/docs/demos/DataList/examples/DataList.md +628 -192
  145. package/docs/demos/DescriptionList/examples/DescriptionList.md +79 -50
  146. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  147. package/docs/demos/Form/examples/BasicForms.md +146 -26
  148. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  149. package/docs/demos/Masthead/examples/Masthead.md +170 -18
  150. package/docs/demos/Modal/examples/Modal.md +171 -21
  151. package/docs/demos/Nav/examples/Nav.md +111 -16
  152. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +114 -19
  153. package/docs/demos/Page/examples/Page.md +309 -43
  154. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -1
  155. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +886 -415
  156. package/docs/demos/Skeleton/examples/Skeleton.md +25 -4
  157. package/docs/demos/Table/examples/Table.md +480 -177
  158. package/docs/demos/Tabs/examples/Tabs.md +139 -594
  159. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  160. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  161. package/package.json +12 -7
  162. package/patternfly-base-no-globals.css +1217 -12
  163. package/patternfly-base.css +1221 -12
  164. package/patternfly-no-globals.css +2851 -437
  165. package/patternfly.css +2853 -435
  166. package/patternfly.min.css +1 -1
  167. package/patternfly.min.css.map +1 -1
  168. package/sass-utilities/mixins.scss +54 -0
@@ -46,6 +46,10 @@
46
46
  --pf-v6-c-tabs__link--FontSize: var(--pf-t--global--font--size--sm);
47
47
  --pf-v6-c-tabs__link--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
48
48
  --pf-v6-c-tabs__link--BorderRadius: var(--pf-t--global--border--radius--small);
49
+ --pf-v6-c-tabs__link--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
50
+ --pf-v6-c-tabs__link--BorderColor: transparent;
51
+ --pf-v6-c-tabs__link--hover--BorderColor: var(--pf-t--global--border--color--high-contrast);
52
+ --pf-v6-c-tabs__link--disabled--BorderColor: transparent;
49
53
  --pf-v6-c-tabs__link--PaddingBlockStart: var(--pf-t--global--spacer--xs);
50
54
  --pf-v6-c-tabs__link--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
51
55
  --pf-v6-c-tabs__link--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
@@ -96,25 +100,28 @@
96
100
  --pf-v6-c-tabs__item--m-current__link--after--BorderColor: var(--pf-t--global--border--color--clicked);
97
101
  --pf-v6-c-tabs__item--m-current__link--after--BorderWidth: var(--pf-t--global--border--width--extra-strong);
98
102
  --pf-v6-c-tabs--link-accent--start: 0;
99
- --pf-v6-c-tabs--link-accent--length: auto;
103
+ --pf-v6-c-tabs--link-accent--length: 0;
100
104
  --pf-v6-c-tabs--link-accent--color: var(--pf-v6-c-tabs__item--m-current__link--after--BorderColor);
101
105
  --pf-v6-c-tabs--link-accent--border-size: var(--pf-v6-c-tabs__item--m-current__link--after--BorderWidth);
106
+ --pf-v6-c-tabs--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
107
+ --pf-v6-c-tabs--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
102
108
  --pf-v6-c-tabs--link-accent--InsetBlockStart: auto;
103
109
  --pf-v6-c-tabs--link-accent--InsetBlockEnd: 0;
104
- --pf-v6-c-tabs--link-accent--InsetInlineStart: initial;
110
+ --pf-v6-c-tabs--link-accent--InsetInlineStart: 0;
105
111
  --pf-v6-c-tabs--link-accent--Width: initial;
106
112
  --pf-v6-c-tabs--link-accent--Height: 0;
107
113
  --pf-v6-c-tabs--link-accent--BorderBlockEndWidth: var(--pf-v6-c-tabs--link-accent--border-size);
108
114
  --pf-v6-c-tabs--link-accent--BorderInlineStartWidth: 0;
109
- --pf-v6-c-tabs--m-vertical--link-accent--InsetBlockStart: initial;
115
+ --pf-v6-c-tabs--link-accent--TranslateX: var(--pf-v6-c-tabs--link-accent--start);
116
+ --pf-v6-c-tabs--link-accent--TranslateY: 0;
117
+ --pf-v6-c-tabs--link-accent--TransformOrigin: 0 center;
118
+ --pf-v6-c-tabs--m-vertical--link-accent--InsetBlockStart: 0;
110
119
  --pf-v6-c-tabs--m-vertical--link-accent--InsetBlockEnd: auto;
111
- --pf-v6-c-tabs--m-vertical--link-accent--InsetInlineStart: 0;
112
- --pf-v6-c-tabs--m-vertical--link-accent--Width: 0;
113
- --pf-v6-c-tabs--m-vertical--link-accent--Height: initial;
114
120
  --pf-v6-c-tabs--m-vertical--link-accent--BorderBlockEndWidth: 0;
115
121
  --pf-v6-c-tabs--m-vertical--link-accent--BorderInlineStartWidth: var(--pf-v6-c-tabs--link-accent--border-size);
116
- --pf-v6-c-tabs--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
117
- --pf-v6-c-tabs--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
122
+ --pf-v6-c-tabs--m-vertical--link-accent--TranslateX: 0;
123
+ --pf-v6-c-tabs--m-vertical--link-accent--TranslateY: var(--pf-v6-c-tabs--link-accent--start);
124
+ --pf-v6-c-tabs--m-vertical--link-accent--TransformOrigin: center 0;
118
125
  --pf-v6-c-tabs__scroll-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
119
126
  --pf-v6-c-tabs__scroll-button--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
120
127
  --pf-v6-c-tabs__scroll-button--PaddingInlineStart: var(--pf-t--global--spacer--sm);
@@ -274,11 +281,13 @@
274
281
  --pf-v6-c-tabs__list--ScrollSnapTypeAxis: var(--pf-v6-c-tabs--m-vertical__list--ScrollSnapTypeAxis);
275
282
  --pf-v6-c-tabs--link-accent--InsetBlockStart: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetBlockStart);
276
283
  --pf-v6-c-tabs--link-accent--InsetBlockEnd: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetBlockEnd);
277
- --pf-v6-c-tabs--link-accent--InsetInlineStart: var(--pf-v6-c-tabs--m-vertical--link-accent--InsetInlineStart);
278
284
  --pf-v6-c-tabs--link-accent--Width: var(--pf-v6-c-tabs--m-vertical--link-accent--Width);
279
285
  --pf-v6-c-tabs--link-accent--Height: var(--pf-v6-c-tabs--m-vertical--link-accent--Height);
280
286
  --pf-v6-c-tabs--link-accent--BorderBlockEndWidth: var(--pf-v6-c-tabs--m-vertical--link-accent--BorderBlockEndWidth);
281
287
  --pf-v6-c-tabs--link-accent--BorderInlineStartWidth: var(--pf-v6-c-tabs--m-vertical--link-accent--BorderInlineStartWidth);
288
+ --pf-v6-c-tabs--link-accent--TranslateX: var(--pf-v6-c-tabs--m-vertical--link-accent--TranslateX);
289
+ --pf-v6-c-tabs--link-accent--TranslateY: var(--pf-v6-c-tabs--m-vertical--link-accent--TranslateY);
290
+ --pf-v6-c-tabs--link-accent--TransformOrigin: var(--pf-v6-c-tabs--m-vertical--link-accent--TransformOrigin);
282
291
  display: inline-flex;
283
292
  flex-direction: column;
284
293
  height: 100%;
@@ -540,6 +549,7 @@
540
549
  color: var(--pf-v6-c-tabs__link--Color);
541
550
  text-decoration-line: none;
542
551
  background-color: var(--pf-v6-c-tabs__link--BackgroundColor);
552
+ border: var(--pf-v6-c-tabs__link--BorderWidth) solid var(--pf-v6-c-tabs__link--BorderColor);
543
553
  border-radius: var(--pf-v6-c-tabs__link--BorderRadius);
544
554
  transition: background-color var(--pf-v6-c-tabs__link--TransitionDuration--background-color) var(--pf-v6-c-tabs__link--TransitionTimingFunction--background-color);
545
555
  }
@@ -573,6 +583,7 @@
573
583
 
574
584
  .pf-v6-c-tabs__link:where(:hover, :focus) {
575
585
  --pf-v6-c-tabs__link--BackgroundColor: var(--pf-v6-c-tabs__link--hover--BackgroundColor);
586
+ --pf-v6-c-tabs__link--BorderColor: var(--pf-v6-c-tabs__link--hover--BorderColor);
576
587
  }
577
588
  .pf-v6-c-tabs__link:disabled, .pf-v6-c-tabs__link.pf-m-disabled {
578
589
  pointer-events: none;
@@ -587,6 +598,7 @@
587
598
 
588
599
  .pf-v6-c-tabs__link:is(:disabled, .pf-m-disabled, .pf-m-aria-disabled) {
589
600
  --pf-v6-c-tabs__link--BackgroundColor: var(--pf-v6-c-tabs__link--disabled--BackgroundColor);
601
+ --pf-v6-c-tabs__link--BorderColor: var(--pf-v6-c-tabs__link--disabled--BorderColor);
590
602
  }
591
603
  .pf-v6-c-tabs__item.pf-m-action.pf-m-disabled {
592
604
  --pf-v6-c-tabs__link--BackgroundColor: transparent;
@@ -855,15 +867,15 @@
855
867
  }
856
868
 
857
869
  @media (prefers-reduced-motion: no-preference) {
858
- .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__link::after,
859
- .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__item.pf-m-action::after {
870
+ .pf-v6-c-tabs.pf-m-animate-current:not(.pf-m-box) .pf-v6-c-tabs__link::after,
871
+ .pf-v6-c-tabs.pf-m-animate-current:not(.pf-m-box) .pf-v6-c-tabs__item.pf-m-action::after {
860
872
  content: revert;
861
873
  }
862
- .pf-v6-c-tabs:not(.pf-m-box) .pf-v6-c-tabs__list::after {
874
+ .pf-v6-c-tabs.pf-m-animate-current:not(.pf-m-box) .pf-v6-c-tabs__list::after {
863
875
  position: absolute;
864
- inset-block-start: var(--pf-v6-c-tabs--link-accent--InsetBlockStart, var(--pf-v6-c-tabs--link-accent--start));
876
+ inset-block-start: var(--pf-v6-c-tabs--link-accent--InsetBlockStart);
865
877
  inset-block-end: var(--pf-v6-c-tabs--link-accent--InsetBlockEnd);
866
- inset-inline-start: var(--pf-v6-c-tabs--link-accent--InsetInlineStart, var(--pf-v6-c-tabs--link-accent--start));
878
+ inset-inline-start: var(--pf-v6-c-tabs--link-accent--InsetInlineStart);
867
879
  width: var(--pf-v6-c-tabs--link-accent--Width, var(--pf-v6-c-tabs--link-accent--length));
868
880
  height: var(--pf-v6-c-tabs--link-accent--Height, var(--pf-v6-c-tabs--link-accent--length));
869
881
  content: "";
@@ -872,7 +884,12 @@
872
884
  border-inline-start-width: var(--pf-v6-c-tabs--link-accent--BorderInlineStartWidth);
873
885
  transition-timing-function: var(--pf-v6-c-tabs--link-accent--TransitionTimingFunction);
874
886
  transition-duration: var(--pf-v6-c-tabs--link-accent--TransitionDuration);
875
- transition-property: --pf-v6-c-tabs--link-accent--length, --pf-v6-c-tabs--link-accent--start, width;
887
+ transition-property: width, height, translate;
888
+ transform-origin: var(--pf-v6-c-tabs--link-accent--TransformOrigin);
889
+ translate: var(--pf-v6-c-tabs--link-accent--TranslateX) var(--pf-v6-c-tabs--link-accent--TranslateY);
890
+ }
891
+ :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-tabs.pf-m-animate-current:not(.pf-m-box) .pf-v6-c-tabs__list::after {
892
+ translate: calc(var(--pf-v6-c-tabs--link-accent--TranslateX) * var(--pf-v6-global--inverse--multiplier)) var(--pf-v6-c-tabs--link-accent--TranslateY);
876
893
  }
877
894
  .pf-v6-c-tabs.pf-m-initializing-accent {
878
895
  --pf-v6-c-tabs--link-accent--TransitionDuration: 0;
@@ -3,6 +3,7 @@
3
3
  $pf-v6-c-tabs--breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg", "xl", "2xl");
4
4
  $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl");
5
5
 
6
+
6
7
  @property --#{$tabs}--link-accent--length {
7
8
  syntax: "<length>";
8
9
  inherits: true;
@@ -65,6 +66,10 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
65
66
  --#{$tabs}__link--FontSize: var(--pf-t--global--font--size--sm);
66
67
  --#{$tabs}__link--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
67
68
  --#{$tabs}__link--BorderRadius: var(--pf-t--global--border--radius--small);
69
+ --#{$tabs}__link--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
70
+ --#{$tabs}__link--BorderColor: transparent;
71
+ --#{$tabs}__link--hover--BorderColor: var(--pf-t--global--border--color--high-contrast);
72
+ --#{$tabs}__link--disabled--BorderColor: transparent;
68
73
  --#{$tabs}__link--PaddingBlockStart: var(--pf-t--global--spacer--xs);
69
74
  --#{$tabs}__link--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
70
75
  --#{$tabs}__link--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
@@ -121,25 +126,28 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
121
126
 
122
127
  // Link accent
123
128
  --#{$tabs}--link-accent--start: 0; // needed to create react-token
124
- --#{$tabs}--link-accent--length: auto; // needed to create react-token
129
+ --#{$tabs}--link-accent--length: 0; // needed to create react-token
125
130
  --#{$tabs}--link-accent--color: var(--#{$tabs}__item--m-current__link--after--BorderColor);
126
131
  --#{$tabs}--link-accent--border-size: var(--#{$tabs}__item--m-current__link--after--BorderWidth);
132
+ --#{$tabs}--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
133
+ --#{$tabs}--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
127
134
  --#{$tabs}--link-accent--InsetBlockStart: auto;
128
135
  --#{$tabs}--link-accent--InsetBlockEnd: 0;
129
- --#{$tabs}--link-accent--InsetInlineStart: initial;
136
+ --#{$tabs}--link-accent--InsetInlineStart: 0;
130
137
  --#{$tabs}--link-accent--Width: initial;
131
138
  --#{$tabs}--link-accent--Height: 0;
132
139
  --#{$tabs}--link-accent--BorderBlockEndWidth: var(--#{$tabs}--link-accent--border-size);
133
140
  --#{$tabs}--link-accent--BorderInlineStartWidth: 0;
134
- --#{$tabs}--m-vertical--link-accent--InsetBlockStart: initial;
141
+ --#{$tabs}--link-accent--TranslateX: var(--#{$tabs}--link-accent--start);
142
+ --#{$tabs}--link-accent--TranslateY: 0;
143
+ --#{$tabs}--link-accent--TransformOrigin: 0 center;
144
+ --#{$tabs}--m-vertical--link-accent--InsetBlockStart: 0;
135
145
  --#{$tabs}--m-vertical--link-accent--InsetBlockEnd: auto;
136
- --#{$tabs}--m-vertical--link-accent--InsetInlineStart: 0;
137
- --#{$tabs}--m-vertical--link-accent--Width: 0;
138
- --#{$tabs}--m-vertical--link-accent--Height: initial;
139
146
  --#{$tabs}--m-vertical--link-accent--BorderBlockEndWidth: 0;
140
147
  --#{$tabs}--m-vertical--link-accent--BorderInlineStartWidth: var(--#{$tabs}--link-accent--border-size);
141
- --#{$tabs}--link-accent--TransitionDuration: var(--pf-t--global--motion--duration--md);
142
- --#{$tabs}--link-accent--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
148
+ --#{$tabs}--m-vertical--link-accent--TranslateX: 0;
149
+ --#{$tabs}--m-vertical--link-accent--TranslateY: var(--#{$tabs}--link-accent--start);
150
+ --#{$tabs}--m-vertical--link-accent--TransformOrigin: center 0;
143
151
 
144
152
  // Scroll buttons
145
153
  --#{$tabs}__scroll-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -354,11 +362,13 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
354
362
  --#{$tabs}__list--ScrollSnapTypeAxis: var(--#{$tabs}--m-vertical__list--ScrollSnapTypeAxis);
355
363
  --#{$tabs}--link-accent--InsetBlockStart: var(--#{$tabs}--m-vertical--link-accent--InsetBlockStart);
356
364
  --#{$tabs}--link-accent--InsetBlockEnd: var(--#{$tabs}--m-vertical--link-accent--InsetBlockEnd);
357
- --#{$tabs}--link-accent--InsetInlineStart: var(--#{$tabs}--m-vertical--link-accent--InsetInlineStart);
358
365
  --#{$tabs}--link-accent--Width: var(--#{$tabs}--m-vertical--link-accent--Width);
359
366
  --#{$tabs}--link-accent--Height: var(--#{$tabs}--m-vertical--link-accent--Height);
360
367
  --#{$tabs}--link-accent--BorderBlockEndWidth: var(--#{$tabs}--m-vertical--link-accent--BorderBlockEndWidth);
361
368
  --#{$tabs}--link-accent--BorderInlineStartWidth: var(--#{$tabs}--m-vertical--link-accent--BorderInlineStartWidth);
369
+ --#{$tabs}--link-accent--TranslateX: var(--#{$tabs}--m-vertical--link-accent--TranslateX);
370
+ --#{$tabs}--link-accent--TranslateY: var(--#{$tabs}--m-vertical--link-accent--TranslateY);
371
+ --#{$tabs}--link-accent--TransformOrigin: var(--#{$tabs}--m-vertical--link-accent--TransformOrigin);
362
372
 
363
373
  display: inline-flex;
364
374
  flex-direction: column;
@@ -624,6 +634,7 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
624
634
  color: var(--#{$tabs}__link--Color);
625
635
  text-decoration-line: none;
626
636
  background-color: var(--#{$tabs}__link--BackgroundColor);
637
+ border: var(--#{$tabs}__link--BorderWidth) solid var(--#{$tabs}__link--BorderColor);
627
638
  border-radius: var(--#{$tabs}__link--BorderRadius);
628
639
  transition: background-color var(--#{$tabs}__link--TransitionDuration--background-color) var(--#{$tabs}__link--TransitionTimingFunction--background-color);
629
640
 
@@ -659,7 +670,8 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
659
670
 
660
671
  &:where(:hover, :focus) {
661
672
  --#{$tabs}__link--BackgroundColor: var(--#{$tabs}__link--hover--BackgroundColor);
662
- }
673
+ --#{$tabs}__link--BorderColor: var(--#{$tabs}__link--hover--BorderColor);
674
+ }
663
675
 
664
676
  &:disabled,
665
677
  &.pf-m-disabled {
@@ -679,6 +691,7 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
679
691
 
680
692
  &:is(:disabled, .pf-m-disabled, .pf-m-aria-disabled) {
681
693
  --#{$tabs}__link--BackgroundColor: var(--#{$tabs}__link--disabled--BackgroundColor);
694
+ --#{$tabs}__link--BorderColor: var(--#{$tabs}__link--disabled--BorderColor);
682
695
  }
683
696
 
684
697
  @at-root .#{$tabs}__item.pf-m-action.pf-m-disabled {
@@ -785,7 +798,7 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
785
798
  // stylelint-enable
786
799
 
787
800
  @media (prefers-reduced-motion: no-preference) {
788
- .#{$tabs}:not(.pf-m-box) {
801
+ .#{$tabs}.pf-m-animate-current:not(.pf-m-box) {
789
802
  .#{$tabs}__link,
790
803
  .#{$tabs}__item.pf-m-action {
791
804
  &::after {
@@ -795,9 +808,9 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
795
808
 
796
809
  .#{$tabs}__list::after {
797
810
  position: absolute;
798
- inset-block-start: var(--#{$tabs}--link-accent--InsetBlockStart, var(--#{$tabs}--link-accent--start));
811
+ inset-block-start: var(--#{$tabs}--link-accent--InsetBlockStart);
799
812
  inset-block-end: var(--#{$tabs}--link-accent--InsetBlockEnd);
800
- inset-inline-start: var(--#{$tabs}--link-accent--InsetInlineStart, var(--#{$tabs}--link-accent--start));
813
+ inset-inline-start: var(--#{$tabs}--link-accent--InsetInlineStart);
801
814
  width: var(--#{$tabs}--link-accent--Width, var(--#{$tabs}--link-accent--length));
802
815
  height: var(--#{$tabs}--link-accent--Height, var(--#{$tabs}--link-accent--length));
803
816
  content: "";
@@ -806,7 +819,14 @@ $pf-v6-c-tabs--spacer-map: build-spacer-map("none", "sm", "md", "lg", "xl", "2xl
806
819
  border-inline-start-width: var(--#{$tabs}--link-accent--BorderInlineStartWidth);
807
820
  transition-timing-function: var(--#{$tabs}--link-accent--TransitionTimingFunction);
808
821
  transition-duration: var(--#{$tabs}--link-accent--TransitionDuration);
809
- transition-property: --#{$tabs}--link-accent--length, --#{$tabs}--link-accent--start, width;
822
+ transition-property: width, height, translate;
823
+ transform-origin: var(--#{$tabs}--link-accent--TransformOrigin);
824
+
825
+ @include pf-v6-bidirectional-style(
826
+ $prop: translate,
827
+ $ltr-val: var(--#{$tabs}--link-accent--TranslateX) var(--#{$tabs}--link-accent--TranslateY),
828
+ $rtl-val: #{pf-v6-calc-inverse(var(--#{$tabs}--link-accent--TranslateX))} var(--#{$tabs}--link-accent--TranslateY)
829
+ );
810
830
  }
811
831
  }
812
832
 
@@ -31,6 +31,7 @@
31
31
  --pf-v6-c-text-input-group__text-input--PaddingInlineStart: var(--pf-t--global--spacer--control--horizontal--default);
32
32
  --pf-v6-c-text-input-group__text-input--MinWidth: 12ch;
33
33
  --pf-v6-c-text-input-group__text-input--m-hint--Color: var(--pf-t--global--text--color--placeholder);
34
+ --pf-v6-c-text-input-group__text-input--Color: var(--pf-t--global--text--color--regular);
34
35
  --pf-v6-c-text-input-group__text-input--placeholder--Color: var(--pf-t--global--text--color--placeholder);
35
36
  --pf-v6-c-text-input-group__text-input--BackgroundColor: transparent;
36
37
  --pf-v6-c-text-input-group__text-input--OutlineOffset: -6px;
@@ -77,6 +78,8 @@
77
78
  }
78
79
  .pf-v6-c-text-input-group.pf-m-disabled {
79
80
  --pf-v6-c-text-input-group--Color: var(--pf-v6-c-text-input-group--m-disabled--Color);
81
+ --pf-v6-c-text-input-group__text-input--Color: var(--pf-v6-c-text-input-group--m-disabled--Color);
82
+ --pf-v6-c-text-input-group__text-input--placeholder--Color: var(--pf-v6-c-text-input-group--m-disabled--Color);
80
83
  --pf-v6-c-text-input-group__icon--Color: var(--pf-v6-c-text-input-group--m-disabled__icon--Color);
81
84
  --pf-v6-c-text-input-group__icon--m-status--Color: var(--pf-v6-c-text-input-group--m-disabled__icon--m-status--Color);
82
85
  --pf-v6-c-text-input-group--BackgroundColor: var(--pf-v6-c-text-input-group--m-disabled--BackgroundColor);
@@ -103,12 +106,31 @@
103
106
  --pf-v6-c-text-input-group--m-hover--BorderColor: var(--pf-v6-c-text-input-group--m-hover--m-error--BorderColor);
104
107
  --pf-v6-c-text-input-group__icon--m-status--Color: var(--pf-v6-c-text-input-group__main--m-error__icon--m-status--Color);
105
108
  }
109
+ @media (prefers-reduced-motion: no-preference) {
110
+ .pf-v6-c-text-input-group.pf-m-error {
111
+ translate: var(--pf-v6-global--danger-jiggle--TranslateX, 0);
112
+ animation-name: pf-v6-global-danger-jiggle-motion;
113
+ animation-duration: var(--pf-v6-global--danger-jiggle--AnimationDuration--Transform);
114
+ animation-timing-function: var(--pf-v6-global--danger-jiggle--AnimationTimingFunction--Transform);
115
+ animation-fill-mode: both;
116
+ }
117
+ }
118
+ .pf-v6-c-text-input-group.pf-m-error .pf-v6-c-text-input-group__icon.pf-m-status {
119
+ --pf-v6-c-text-input-group--TransitionDuration--Opacity: var(--pf-t--global--motion--duration--fade--default);
120
+ --pf-v6-c-text-input-group--TransitionTimingFunction--Opacity: var(--pf-t--global--motion--timing-function--default);
121
+ animation-name: pf-v6-global-fade-in;
122
+ animation-duration: var(--pf-v6-c-text-input-group--TransitionDuration--Opacity);
123
+ animation-timing-function: var(--pf-v6-c-text-input-group--TransitionTimingFunction--Opacity);
124
+ }
106
125
  .pf-v6-c-text-input-group:hover {
107
126
  --pf-v6-c-text-input-group--BorderColor: var(--pf-v6-c-text-input-group--m-hover--BorderColor);
108
127
  }
109
128
  .pf-v6-c-text-input-group:where(.pf-m-success, .pf-m-warning, .pf-m-error) {
110
129
  --pf-v6-c-text-input-group__text-input--PaddingInlineEnd: var(--pf-v6-c-text-input-group--status__text-input--PaddingInlineEnd);
111
130
  }
131
+ .pf-v6-c-text-input-group:where(.pf-m-success, .pf-m-warning, .pf-m-error) .pf-v6-c-text-input-group__text {
132
+ --pf-v6-c-text-input-group__text--Position: relative;
133
+ }
112
134
  .pf-v6-c-text-input-group:has(> .pf-v6-c-text-input-group__utilities) {
113
135
  --pf-v6-c-text-input-group__icon--m-status--InsetInlineEnd: var(--pf-v6-c-text-input-group--utilities--icon--m-status--InsetInlineEnd);
114
136
  --pf-v6-c-text-input-group--status__text-input--PaddingInlineEnd: var(--pf-v6-c-text-input-group--utilities--status__text-input--PaddingInlineEnd);
@@ -171,6 +193,7 @@
171
193
  padding-block-end: var(--pf-v6-c-text-input-group__text-input--PaddingBlockEnd);
172
194
  padding-inline-start: var(--pf-v6-c-text-input-group__text-input--PaddingInlineStart);
173
195
  padding-inline-end: var(--pf-v6-c-text-input-group__text-input--PaddingInlineEnd);
196
+ color: var(--pf-v6-c-text-input-group__text-input--Color);
174
197
  background-color: var(--pf-v6-c-text-input-group__text-input--BackgroundColor);
175
198
  border: 0;
176
199
  outline-offset: var(--pf-v6-c-text-input-group__text-input--OutlineOffset);
@@ -44,6 +44,7 @@
44
44
  --#{$text-input-group}__text-input--PaddingInlineStart: var(--pf-t--global--spacer--control--horizontal--default);
45
45
  --#{$text-input-group}__text-input--MinWidth: 12ch;
46
46
  --#{$text-input-group}__text-input--m-hint--Color: var(--pf-t--global--text--color--placeholder);
47
+ --#{$text-input-group}__text-input--Color: var(--pf-t--global--text--color--regular);
47
48
  --#{$text-input-group}__text-input--placeholder--Color: var(--pf-t--global--text--color--placeholder);
48
49
  --#{$text-input-group}__text-input--BackgroundColor: transparent;
49
50
  --#{$text-input-group}__text-input--OutlineOffset: -6px;
@@ -97,6 +98,8 @@
97
98
 
98
99
  &.pf-m-disabled {
99
100
  --#{$text-input-group}--Color: var(--#{$text-input-group}--m-disabled--Color);
101
+ --#{$text-input-group}__text-input--Color: var(--#{$text-input-group}--m-disabled--Color);
102
+ --#{$text-input-group}__text-input--placeholder--Color: var(--#{$text-input-group}--m-disabled--Color);
100
103
  --#{$text-input-group}__icon--Color: var(--#{$text-input-group}--m-disabled__icon--Color);
101
104
  --#{$text-input-group}__icon--m-status--Color: var(--#{$text-input-group}--m-disabled__icon--m-status--Color);
102
105
  --#{$text-input-group}--BackgroundColor: var(--#{$text-input-group}--m-disabled--BackgroundColor);
@@ -128,6 +131,14 @@
128
131
  --#{$text-input-group}--BorderColor: var(--#{$text-input-group}--m-error--BorderColor);
129
132
  --#{$text-input-group}--m-hover--BorderColor: var(--#{$text-input-group}--m-hover--m-error--BorderColor);
130
133
  --#{$text-input-group}__icon--m-status--Color: var(--#{$text-input-group}__main--m-error__icon--m-status--Color);
134
+
135
+ @media (prefers-reduced-motion: no-preference) {
136
+ @include pf-v6-animate-danger-jiggle;
137
+ }
138
+
139
+ .#{$text-input-group}__icon.pf-m-status {
140
+ @include pf-v6-fade-default(#{$text-input-group});
141
+ }
131
142
  }
132
143
 
133
144
  &:hover {
@@ -136,6 +147,10 @@
136
147
 
137
148
  &:where(.pf-m-success, .pf-m-warning, .pf-m-error) {
138
149
  --#{$text-input-group}__text-input--PaddingInlineEnd: var(--#{$text-input-group}--status__text-input--PaddingInlineEnd);
150
+
151
+ & .pf-v6-c-text-input-group__text {
152
+ --#{$text-input-group}__text--Position: relative;
153
+ }
139
154
  }
140
155
 
141
156
  &:has(> .#{$text-input-group}__utilities) {
@@ -205,6 +220,7 @@
205
220
  padding-block-end: var(--#{$text-input-group}__text-input--PaddingBlockEnd);
206
221
  padding-inline-start: var(--#{$text-input-group}__text-input--PaddingInlineStart);
207
222
  padding-inline-end: var(--#{$text-input-group}__text-input--PaddingInlineEnd);
223
+ color: var(--#{$text-input-group}__text-input--Color);
208
224
  background-color: var(--#{$text-input-group}__text-input--BackgroundColor);
209
225
  border: 0;
210
226
  outline-offset: var(--#{$text-input-group}__text-input--OutlineOffset);
@@ -238,4 +254,3 @@
238
254
  .#{$text-input-group}__group {
239
255
  display: flex;
240
256
  }
241
-
@@ -28,4 +28,8 @@
28
28
  --pf-v6-c-timestamp--Color: var(--pf-v6-c-timestamp--m-help-text--hover--Color);
29
29
  --pf-v6-c-timestamp--m-help-text--TextDecorationLine: var(--pf-v6-c-timestamp--m-help-text--hover--TextDecorationLine);
30
30
  --pf-v6-c-timestamp--m-help-text--TextDecorationStyle: var(--pf-v6-c-timestamp--m-help-text--hover--TextDecorationStyle);
31
+ }
32
+
33
+ .pf-v6-c-timestamp__text {
34
+ text-decoration: inherit;
31
35
  }
@@ -36,3 +36,10 @@
36
36
  }
37
37
  }
38
38
  }
39
+
40
+ // enable timestamp with tooltip to have dashed underline when used with truncate
41
+ .#{$timestamp}__text {
42
+ // stylelint-disable property-disallowed-list
43
+ text-decoration: inherit;
44
+ // stylelint-enable property-disallowed-list
45
+ }
@@ -8,12 +8,28 @@
8
8
  --pf-v6-c-tree-view__node--PaddingInlineStart: var(--pf-v6-c-tree-view__node--indent--base);
9
9
  --pf-v6-c-tree-view__node--Color: var(--pf-t--global--text--color--subtle);
10
10
  --pf-v6-c-tree-view__node--BackgroundColor: transparent;
11
+ --pf-v6-c-tree-view__node--BorderRadius: var(--pf-v6-c-tree-view__content--BorderRadius);
12
+ --pf-v6-c-tree-view__node--BorderColor: var(--pf-t--global--border--color--high-contrast);
13
+ --pf-v6-c-tree-view__node--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
14
+ --pf-v6-c-tree-view__node--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
15
+ --pf-v6-c-tree-view__node--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
11
16
  --pf-v6-c-tree-view__node--m-current--Color: var(--pf-t--global--text--color--regular);
12
17
  --pf-v6-c-tree-view__node--m-current--BackgroundColor: var(--pf-t--global--background--color--primary--clicked);
13
18
  --pf-v6-c-tree-view__node--hover--BackgroundColor: var(--pf-t--global--background--color--primary--hover);
14
19
  --pf-v6-c-tree-view__node-container--Display: contents;
15
20
  --pf-v6-c-tree-view__node-content--RowGap: var(--pf-t--global--spacer--sm);
16
21
  --pf-v6-c-tree-view__node-content--Overflow: visible;
22
+ --pf-v6-c-tree-view__list--TransitionDuration--expand--slide: 0s;
23
+ --pf-v6-c-tree-view__list--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
24
+ --pf-v6-c-tree-view__list--TransitionDuration--collapse--slide: 0s;
25
+ --pf-v6-c-tree-view__list--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
26
+ --pf-v6-c-tree-view__list--TransitionDuration--slide: var(--pf-v6-c-tree-view__list--TransitionDuration--collapse--slide);
27
+ --pf-v6-c-tree-view__list--TransitionDuration--fade: var(--pf-v6-c-tree-view__list--TransitionDuration--collapse--fade);
28
+ --pf-v6-c-tree-view__list--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
29
+ --pf-v6-c-tree-view__list--Opacity: 0;
30
+ --pf-v6-c-tree-view--m-expanded__list--Opacity: 1;
31
+ --pf-v6-c-tree-view__list--TranslateY: 0;
32
+ --pf-v6-c-tree-view--m-expanded__list--TranslateY: 0;
17
33
  --pf-v6-c-tree-view__list-item__list-item__node-toggle--InsetBlockStart: var(--pf-v6-c-tree-view__node--PaddingBlockStart);
18
34
  --pf-v6-c-tree-view__list-item__list-item__node-toggle--InsetInlineStart: var(--pf-v6-c-tree-view__node--PaddingInlineStart);
19
35
  --pf-v6-c-tree-view__list-item__list-item__node-toggle--TranslateX: -100%;
@@ -29,6 +45,8 @@
29
45
  --pf-v6-c-tree-view__node-toggle--PaddingInlineStart: var(--pf-t--global--spacer--md);
30
46
  --pf-v6-c-tree-view__node-toggle--MarginBlockStart: calc(var(--pf-v6-c-tree-view__node-toggle--PaddingBlockStart) * -1);
31
47
  --pf-v6-c-tree-view__node-toggle--MarginBlockEnd: calc(var(--pf-v6-c-tree-view__node-toggle--PaddingBlockStart) * -1);
48
+ --pf-v6-c-tree-view__node-toggle-icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
49
+ --pf-v6-c-tree-view__node-toggle-icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
32
50
  --pf-v6-c-tree-view__node-check--MarginInlineEnd: var(--pf-t--global--spacer--sm);
33
51
  --pf-v6-c-tree-view__node-count--MarginInlineStart: var(--pf-t--global--spacer--sm);
34
52
  --pf-v6-c-tree-view__search--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -104,6 +122,13 @@
104
122
  --pf-v6-c-tree-view--m-compact--m-no-background__node--nested--PaddingBlockEnd: 0;
105
123
  --pf-v6-c-tree-view--m-compact--m-no-background__node--before--InsetBlockStart: calc(var(--pf-v6-c-tree-view--m-compact__node-container--nested--PaddingBlockStart) + var(--pf-v6-c-tree-view--m-compact__node--nested--PaddingBlockStart) + 0.25rem);
106
124
  }
125
+ @media screen and (prefers-reduced-motion: no-preference) {
126
+ .pf-v6-c-tree-view {
127
+ --pf-v6-c-tree-view__list--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
128
+ --pf-v6-c-tree-view__list--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
129
+ --pf-v6-c-tree-view__list--TranslateY: -.5rem;
130
+ }
131
+ }
107
132
 
108
133
  .pf-v6-c-tree-view.pf-m-compact .pf-v6-c-tree-view__list-item, .pf-v6-c-tree-view.pf-m-guides .pf-v6-c-tree-view__list-item {
109
134
  position: relative;
@@ -219,12 +244,23 @@
219
244
  display: inline-block;
220
245
  min-width: var(--pf-v6-c-tree-view__node-toggle-icon--MinWidth);
221
246
  text-align: center;
247
+ transition: transform var(--pf-v6-c-tree-view__node-toggle-icon--TransitionDuration) var(--pf-v6-c-tree-view__node-toggle-icon--TransitionTimingFunction);
222
248
  transform: rotate(var(--pf-v6-c-tree-view__node-toggle-icon--Rotate));
223
249
  }
224
250
  :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-tree-view__node-toggle-icon {
225
251
  scale: -1 1;
226
252
  }
227
253
 
254
+ .pf-v6-c-tree-view__list-item .pf-v6-c-tree-view__list {
255
+ max-height: 0;
256
+ visibility: hidden;
257
+ opacity: var(--pf-v6-c-tree-view__list--Opacity);
258
+ transition-delay: 0s, 0s, var(--pf-v6-c-tree-view__list--TransitionDuration--fade), var(--pf-v6-c-tree-view__list--TransitionDuration--fade);
259
+ transition-timing-function: var(--pf-v6-c-tree-view__list--TransitionTimingFunction);
260
+ transition-duration: var(--pf-v6-c-tree-view__list--TransitionDuration--fade), var(--pf-v6-c-tree-view__list--TransitionDuration--slide), 0s, 0s;
261
+ transition-property: opacity, translate, visibility, max-height;
262
+ translate: 0 var(--pf-v6-c-tree-view__list--TranslateY);
263
+ }
228
264
  .pf-v6-c-tree-view__list-item .pf-v6-c-tree-view__list-item {
229
265
  --pf-v6-c-tree-view__node-toggle-icon--Rotate: var(--pf-v6-c-tree-view__node-toggle-icon--base--Rotate);
230
266
  --pf-v6-c-tree-view__node-toggle--Color: var(--pf-v6-c-tree-view__node-toggle--Color--base);
@@ -233,6 +269,14 @@
233
269
  --pf-v6-c-tree-view__node-toggle--Color: var(--pf-v6-c-tree-view__list-item--m-expanded__node-toggle--Color);
234
270
  --pf-v6-c-tree-view__node-toggle-icon--Rotate: var(--pf-v6-c-tree-view__list-item--m-expanded__node-toggle-icon--Rotate);
235
271
  }
272
+ .pf-v6-c-tree-view__list-item.pf-m-expanded > .pf-v6-c-tree-view__list {
273
+ max-height: 99999px;
274
+ visibility: revert;
275
+ opacity: var(--pf-v6-c-tree-view--m-expanded__list--Opacity);
276
+ transition-delay: 0s;
277
+ transition-duration: var(--pf-v6-c-tree-view__list--TransitionDuration--expand--fade), var(--pf-v6-c-tree-view__list--TransitionDuration--expand--slide), 0s, 0s;
278
+ translate: 0 var(--pf-v6-c-tree-view--m-expanded__list--TranslateY);
279
+ }
236
280
 
237
281
  .pf-v6-c-tree-view__node,
238
282
  .pf-v6-c-tree-view__node-container {
@@ -254,8 +298,17 @@
254
298
  color: var(--pf-v6-c-tree-view__node--Color);
255
299
  background-color: var(--pf-v6-c-tree-view__node--BackgroundColor);
256
300
  }
301
+ .pf-v6-c-tree-view__node::after {
302
+ position: absolute;
303
+ inset: 0;
304
+ pointer-events: none;
305
+ content: "";
306
+ border: var(--pf-v6-c-tree-view__node--BorderWidth) solid var(--pf-v6-c-tree-view__node--BorderColor);
307
+ border-radius: var(--pf-v6-c-tree-view__node--BorderRadius);
308
+ }
257
309
  .pf-v6-c-tree-view__node.pf-m-current {
258
310
  --pf-v6-c-tree-view__node--Color: var(--pf-v6-c-tree-view__node--m-current--Color);
311
+ --pf-v6-c-tree-view__node--BorderWidth: var(--pf-v6-c-tree-view__node--m-current--BorderWidth);
259
312
  }
260
313
  .pf-v6-c-tree-view__node .pf-v6-c-tree-view__node-count {
261
314
  margin-inline-start: var(--pf-v6-c-tree-view__node-count--MarginInlineStart);
@@ -353,6 +406,7 @@ label.pf-v6-c-tree-view__node-text {
353
406
 
354
407
  .pf-v6-c-tree-view__content:hover,
355
408
  .pf-v6-c-tree-view__content:focus-within {
409
+ --pf-v6-c-tree-view__node--BorderWidth: var(--pf-v6-c-tree-view__node--hover--BorderWidth);
356
410
  background-color: var(--pf-v6-c-tree-view__node--hover--BackgroundColor);
357
411
  }
358
412
 
@@ -17,6 +17,11 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
17
17
  --#{$tree-view}__node--PaddingInlineStart: var(--#{$tree-view}__node--indent--base);
18
18
  --#{$tree-view}__node--Color: var(--pf-t--global--text--color--subtle);
19
19
  --#{$tree-view}__node--BackgroundColor: transparent;
20
+ --#{$tree-view}__node--BorderRadius: var(--#{$tree-view}__content--BorderRadius);
21
+ --#{$tree-view}__node--BorderColor: var(--pf-t--global--border--color--high-contrast);
22
+ --#{$tree-view}__node--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
23
+ --#{$tree-view}__node--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
24
+ --#{$tree-view}__node--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
20
25
  --#{$tree-view}__node--m-current--Color: var(--pf-t--global--text--color--regular);
21
26
  --#{$tree-view}__node--m-current--BackgroundColor: var(--pf-t--global--background--color--primary--clicked);
22
27
  --#{$tree-view}__node--hover--BackgroundColor: var(--pf-t--global--background--color--primary--hover);
@@ -28,6 +33,25 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
28
33
  --#{$tree-view}__node-content--RowGap: var(--pf-t--global--spacer--sm);
29
34
  --#{$tree-view}__node-content--Overflow: visible;
30
35
 
36
+ // List
37
+ --#{$tree-view}__list--TransitionDuration--expand--slide: 0s;
38
+ --#{$tree-view}__list--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
39
+ --#{$tree-view}__list--TransitionDuration--collapse--slide: 0s;
40
+ --#{$tree-view}__list--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
41
+ --#{$tree-view}__list--TransitionDuration--slide: var(--#{$tree-view}__list--TransitionDuration--collapse--slide);
42
+ --#{$tree-view}__list--TransitionDuration--fade: var(--#{$tree-view}__list--TransitionDuration--collapse--fade);
43
+ --#{$tree-view}__list--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
44
+ --#{$tree-view}__list--Opacity: 0;
45
+ --#{$tree-view}--m-expanded__list--Opacity: 1;
46
+ --#{$tree-view}__list--TranslateY: 0;
47
+ --#{$tree-view}--m-expanded__list--TranslateY: 0;
48
+
49
+ @media screen and (prefers-reduced-motion: no-preference) {
50
+ --#{$tree-view}__list--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
51
+ --#{$tree-view}__list--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
52
+ --#{$tree-view}__list--TranslateY: -.5rem;
53
+ }
54
+
31
55
  // Nested toggle
32
56
  --#{$tree-view}__list-item__list-item__node-toggle--InsetBlockStart: var(--#{$tree-view}__node--PaddingBlockStart);
33
57
  --#{$tree-view}__list-item__list-item__node-toggle--InsetInlineStart: var(--#{$tree-view}__node--PaddingInlineStart);
@@ -48,6 +72,8 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
48
72
  --#{$tree-view}__node-toggle--PaddingInlineStart: var(--pf-t--global--spacer--md);
49
73
  --#{$tree-view}__node-toggle--MarginBlockStart: calc(var(--#{$tree-view}__node-toggle--PaddingBlockStart) * -1);
50
74
  --#{$tree-view}__node-toggle--MarginBlockEnd: calc(var(--#{$tree-view}__node-toggle--PaddingBlockStart) * -1);
75
+ --#{$tree-view}__node-toggle-icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
76
+ --#{$tree-view}__node-toggle-icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
51
77
 
52
78
  // Check
53
79
  --#{$tree-view}__node-check--MarginInlineEnd: var(--pf-t--global--spacer--sm);
@@ -330,11 +356,22 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
330
356
  display: inline-block;
331
357
  min-width: var(--#{$tree-view}__node-toggle-icon--MinWidth);
332
358
  text-align: center;
359
+ transition: transform var(--#{$tree-view}__node-toggle-icon--TransitionDuration) var(--#{$tree-view}__node-toggle-icon--TransitionTimingFunction);
333
360
  transform: rotate(var(--#{$tree-view}__node-toggle-icon--Rotate));
334
361
  }
335
362
 
336
- // stylelint-disable
337
363
  .#{$tree-view}__list-item {
364
+ .#{$tree-view}__list {
365
+ max-height: 0;
366
+ visibility: hidden;
367
+ opacity: var(--#{$tree-view}__list--Opacity);
368
+ transition-delay: 0s, 0s, var(--#{$tree-view}__list--TransitionDuration--fade), var(--#{$tree-view}__list--TransitionDuration--fade);
369
+ transition-timing-function: var(--#{$tree-view}__list--TransitionTimingFunction);
370
+ transition-duration: var(--#{$tree-view}__list--TransitionDuration--fade), var(--#{$tree-view}__list--TransitionDuration--slide), 0s, 0s;
371
+ transition-property: opacity, translate, visibility, max-height;
372
+ translate: 0 var(--#{$tree-view}__list--TranslateY);
373
+ }
374
+
338
375
  .#{$tree-view}__list-item {
339
376
  --#{$tree-view}__node-toggle-icon--Rotate: var(--#{$tree-view}__node-toggle-icon--base--Rotate); // reset nested toggle icon rotate
340
377
  --#{$tree-view}__node-toggle--Color: var(--#{$tree-view}__node-toggle--Color--base); // reset nested toggle color
@@ -343,9 +380,17 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
343
380
  &.pf-m-expanded {
344
381
  --#{$tree-view}__node-toggle--Color: var(--#{$tree-view}__list-item--m-expanded__node-toggle--Color);
345
382
  --#{$tree-view}__node-toggle-icon--Rotate: var(--#{$tree-view}__list-item--m-expanded__node-toggle-icon--Rotate);
383
+
384
+ > .#{$tree-view}__list {
385
+ max-height: 99999px;
386
+ visibility: revert;
387
+ opacity: var(--#{$tree-view}--m-expanded__list--Opacity);
388
+ transition-delay: 0s;
389
+ transition-duration: var(--#{$tree-view}__list--TransitionDuration--expand--fade), var(--#{$tree-view}__list--TransitionDuration--expand--slide), 0s, 0s;
390
+ translate: 0 var(--#{$tree-view}--m-expanded__list--TranslateY);
391
+ }
346
392
  }
347
393
  }
348
- // stylelint-enable
349
394
 
350
395
  .#{$tree-view}__node,
351
396
  .#{$tree-view}__node-container {
@@ -367,8 +412,18 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
367
412
  color: var(--#{$tree-view}__node--Color);
368
413
  background-color: var(--#{$tree-view}__node--BackgroundColor);
369
414
 
415
+ &::after {
416
+ position: absolute;
417
+ inset: 0;
418
+ pointer-events: none;
419
+ content: "";
420
+ border: var(--#{$tree-view}__node--BorderWidth) solid var(--#{$tree-view}__node--BorderColor);
421
+ border-radius: var(--#{$tree-view}__node--BorderRadius);
422
+ }
423
+
370
424
  &.pf-m-current {
371
425
  --#{$tree-view}__node--Color: var(--#{$tree-view}__node--m-current--Color);
426
+ --#{$tree-view}__node--BorderWidth: var(--#{$tree-view}__node--m-current--BorderWidth);
372
427
  }
373
428
 
374
429
  .#{$tree-view}__node-count {
@@ -474,6 +529,8 @@ $pf-v6-c-tree-view--MaxNesting: 10 !default;
474
529
 
475
530
  .#{$tree-view}__content:hover,
476
531
  .#{$tree-view}__content:focus-within {
532
+ --#{$tree-view}__node--BorderWidth: var(--#{$tree-view}__node--hover--BorderWidth);
533
+
477
534
  background-color: var(--#{$tree-view}__node--hover--BackgroundColor);
478
535
  }
479
536
 
@@ -8,6 +8,7 @@
8
8
  grid-auto-flow: column;
9
9
  align-items: baseline;
10
10
  min-width: var(--pf-v6-c-truncate--MinWidth);
11
+ text-decoration: inherit;
11
12
  }
12
13
  .pf-v6-c-truncate.pf-m-fixed {
13
14
  display: inline;
@@ -10,6 +10,9 @@
10
10
  grid-auto-flow: column;
11
11
  align-items: baseline;
12
12
  min-width: var(--#{$truncate}--MinWidth);
13
+ // stylelint-disable property-disallowed-list
14
+ text-decoration: inherit; // enable inline link to have underline
15
+ // stylelint-enable property-disallowed-list
13
16
 
14
17
  &.pf-m-fixed {
15
18
  display: inline;