@patternfly/patternfly 5.1.0-prerelease.8 → 5.1.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.
Files changed (113) hide show
  1. package/README.md +13 -3
  2. package/base/_common.scss +21 -0
  3. package/base/_variables.scss +7 -0
  4. package/base/patternfly-common.css +14 -0
  5. package/base/patternfly-variables.css +5 -0
  6. package/components/AboutModalBox/about-modal-box.css +5 -0
  7. package/components/AboutModalBox/about-modal-box.scss +7 -0
  8. package/components/Accordion/accordion.css +3 -0
  9. package/components/Accordion/accordion.scss +2 -0
  10. package/components/Alert/alert.css +3 -0
  11. package/components/Alert/alert.scss +2 -0
  12. package/components/BackgroundImage/background-image.css +4 -1
  13. package/components/BackgroundImage/background-image.scss +6 -1
  14. package/components/Banner/banner.css +0 -3
  15. package/components/Breadcrumb/breadcrumb.css +3 -0
  16. package/components/Breadcrumb/breadcrumb.scss +2 -0
  17. package/components/Button/button.css +3 -0
  18. package/components/Button/button.scss +4 -0
  19. package/components/CalendarMonth/calendar-month.css +4 -0
  20. package/components/CalendarMonth/calendar-month.scss +2 -0
  21. package/components/Card/card.css +4 -1
  22. package/components/Card/card.scss +3 -1
  23. package/components/ClipboardCopy/clipboard-copy.css +3 -0
  24. package/components/ClipboardCopy/clipboard-copy.scss +2 -0
  25. package/components/DataList/data-list.css +3 -0
  26. package/components/DataList/data-list.scss +2 -0
  27. package/components/Drawer/drawer.css +45 -1
  28. package/components/Drawer/drawer.scss +43 -9
  29. package/components/DualListSelector/dual-list-selector.css +9 -1
  30. package/components/DualListSelector/dual-list-selector.scss +12 -3
  31. package/components/ExpandableSection/expandable-section.css +4 -0
  32. package/components/ExpandableSection/expandable-section.scss +2 -0
  33. package/components/Form/form.css +3 -0
  34. package/components/Form/form.scss +2 -0
  35. package/components/Icon/icon.scss +1 -1
  36. package/components/JumpLinks/jump-links.css +3 -0
  37. package/components/JumpLinks/jump-links.scss +2 -0
  38. package/components/Menu/menu.css +11 -0
  39. package/components/Menu/menu.scss +12 -2
  40. package/components/Nav/nav.css +20 -0
  41. package/components/Nav/nav.scss +22 -2
  42. package/components/NotificationDrawer/notification-drawer.css +4 -0
  43. package/components/NotificationDrawer/notification-drawer.scss +2 -0
  44. package/components/Page/page.css +4 -0
  45. package/components/Page/page.scss +6 -1
  46. package/components/Pagination/pagination.css +4 -0
  47. package/components/Pagination/pagination.scss +2 -0
  48. package/components/Popover/popover.css +62 -33
  49. package/components/Popover/popover.scss +88 -71
  50. package/components/Progress/progress.css +6 -4
  51. package/components/Progress/progress.scss +9 -4
  52. package/components/Skeleton/skeleton.css +4 -0
  53. package/components/Skeleton/skeleton.scss +2 -0
  54. package/components/Slider/slider.css +30 -6
  55. package/components/Slider/slider.scss +50 -19
  56. package/components/Switch/switch.css +4 -0
  57. package/components/Switch/switch.scss +5 -1
  58. package/components/Table/table-scrollable.css +2 -2
  59. package/components/Table/table-scrollable.scss +4 -2
  60. package/components/Table/table-tree-view.css +5 -1
  61. package/components/Table/table-tree-view.scss +7 -2
  62. package/components/Table/table.css +4 -0
  63. package/components/Table/table.scss +2 -0
  64. package/components/Tabs/tabs.css +10 -0
  65. package/components/Tabs/tabs.scss +8 -0
  66. package/components/Toolbar/toolbar.scss +2 -0
  67. package/components/Tooltip/tooltip.css +55 -26
  68. package/components/Tooltip/tooltip.scss +71 -54
  69. package/components/TreeView/tree-view.css +6 -0
  70. package/components/TreeView/tree-view.scss +10 -3
  71. package/components/Truncate/truncate.css +9 -0
  72. package/components/Truncate/truncate.scss +16 -3
  73. package/components/Wizard/wizard.css +10 -1
  74. package/components/Wizard/wizard.scss +12 -3
  75. package/docs/components/Button/examples/Button.md +15 -3
  76. package/docs/components/Card/examples/Card.md +2 -2
  77. package/docs/components/Chip/examples/Chip.md +1 -1
  78. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +106 -0
  79. package/docs/components/CodeEditor/examples/CodeEditor.md +3 -3
  80. package/docs/components/DragDrop/examples/DragDrop.css +2 -2
  81. package/docs/components/DualListSelector/examples/DualListSelector.md +64 -16
  82. package/docs/components/Label/examples/Label.md +1 -1
  83. package/docs/components/Menu/examples/Menu.css +8 -0
  84. package/docs/components/Menu/examples/Menu.md +90 -73
  85. package/docs/components/ModalBox/examples/ModalBox.css +3 -8
  86. package/docs/components/Nav/examples/Navigation.css +3 -26
  87. package/docs/components/Nav/examples/Navigation.md +99 -0
  88. package/docs/components/OptionsMenu/deprecated/options-menu.md +12 -3
  89. package/docs/components/Popover/examples/Popover.css +4 -9
  90. package/docs/components/Table/examples/Table.md +2 -2
  91. package/docs/components/Toolbar/examples/Toolbar.md +76 -60
  92. package/docs/components/Tooltip/examples/Tooltip.css +4 -0
  93. package/docs/components/Tooltip/examples/Tooltip.md +3 -1
  94. package/docs/components/Truncate/examples/Truncate.md +2 -2
  95. package/docs/demos/Card/examples/Card.md +23 -7
  96. package/docs/demos/DataList/examples/DataList.md +8 -2
  97. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +16 -4
  98. package/docs/demos/Skeleton/examples/Skeleton.md +7 -35
  99. package/docs/demos/Table/examples/Table.md +48 -12
  100. package/docs/demos/Tabs/examples/Tabs.md +4 -1
  101. package/package.json +6 -5
  102. package/patternfly-base-no-globals-theme-dark-unversioned.css +19 -0
  103. package/patternfly-base-no-globals.css +19 -0
  104. package/patternfly-base-theme-dark-unversioned.css +19 -0
  105. package/patternfly-base.css +19 -0
  106. package/patternfly-no-globals.css +375 -87
  107. package/patternfly-theme-dark-unversioned.css +375 -87
  108. package/patternfly.css +375 -87
  109. package/patternfly.min.css +1 -1
  110. package/patternfly.min.css.map +1 -1
  111. package/sass-utilities/functions.scss +6 -0
  112. package/sass-utilities/mixins.scss +60 -0
  113. package/sass-utilities/themes/dark/mixins.scss +3 -1
@@ -88,74 +88,84 @@
88
88
  --#{$popover}--MaxWidth: none;
89
89
  }
90
90
 
91
- &.pf-m-top,
92
- &.pf-m-top-left,
93
- &.pf-m-top-right {
94
- .#{$popover}__arrow {
95
- inset-block-end: 0;
96
- inset-inline-start: 50%;
97
- transform: translateX(var(--#{$popover}__arrow--m-top--TranslateX)) translateY(var(--#{$popover}__arrow--m-top--TranslateY)) rotate(var(--#{$popover}__arrow--m-top--Rotate));
98
- }
99
- }
100
-
101
- &.pf-m-bottom,
102
- &.pf-m-bottom-left,
103
- &.pf-m-bottom-right {
104
- .#{$popover}__arrow {
105
- inset-block-start: 0;
106
- inset-inline-start: 50%;
107
- transform: translateX(var(--#{$popover}__arrow--m-bottom--TranslateX)) translateY(var(--#{$popover}__arrow--m-bottom--TranslateY)) rotate(var(--#{$popover}__arrow--m-bottom--Rotate));
108
- }
109
- }
110
-
111
- &.pf-m-left,
112
- &.pf-m-left-top,
113
- &.pf-m-left-bottom {
114
- .#{$popover}__arrow {
115
- inset-block-start: 50%;
116
- inset-inline-end: 0;
117
- transform: translateX(var(--#{$popover}__arrow--m-left--TranslateX)) translateY(var(--#{$popover}__arrow--m-left--TranslateY)) rotate(var(--#{$popover}__arrow--m-left--Rotate));
118
- }
119
- }
120
-
121
- &.pf-m-right,
122
- &.pf-m-right-top,
123
- &.pf-m-right-bottom {
124
- .#{$popover}__arrow {
125
- inset-block-start: 50%;
126
- inset-inline-start: 0;
127
- transform: translateX(var(--#{$popover}__arrow--m-right--TranslateX)) translateY(var(--#{$popover}__arrow--m-right--TranslateY)) rotate(var(--#{$popover}__arrow--m-right--Rotate));
128
- }
129
- }
130
-
131
- &.pf-m-left-top,
132
- &.pf-m-right-top {
133
- .#{$popover}__arrow {
134
- inset-block-start: var(--#{$popover}__arrow--Height);
135
- }
136
- }
137
-
138
- &.pf-m-left-bottom,
139
- &.pf-m-right-bottom {
140
- .#{$popover}__arrow {
141
- inset-block-start: auto;
142
- inset-block-end: 0;
143
- }
144
- }
145
-
146
- &.pf-m-top-left,
147
- &.pf-m-bottom-left {
148
- .#{$popover}__arrow {
149
- inset-inline-start: var(--#{$popover}__arrow--Width);
150
- }
151
- }
152
-
153
- &.pf-m-top-right,
154
- &.pf-m-bottom-right {
155
- .#{$popover}__arrow {
156
- inset-inline-start: auto;
157
- inset-inline-end: 0;
158
- }
91
+ &:is(
92
+ .pf-m-top,
93
+ .pf-m-top-left,
94
+ .pf-m-top-right
95
+ ) {
96
+ --#{$popover}__arrow--Bottom: var(--#{$popover}--m-top--Bottom, 0);
97
+ --#{$popover}__arrow--Left: var(--#{$popover}--m-top--Left, 50%);
98
+ --#{$popover}__arrow--TranslateX: var(--#{$popover}__arrow--m-top--TranslateX);
99
+ --#{$popover}__arrow--TranslateY: var(--#{$popover}__arrow--m-top--TranslateY);
100
+ --#{$popover}__arrow--Rotate: var(--#{$popover}__arrow--m-top--Rotate);
101
+ }
102
+
103
+ &:is(
104
+ .pf-m-bottom,
105
+ .pf-m-bottom-left,
106
+ .pf-m-bottom-right
107
+ ) {
108
+ --#{$popover}__arrow--Top: var(--#{$popover}--m-bottom--Top, 0);
109
+ --#{$popover}__arrow--Left: var(--#{$popover}--m-bottom--Left, 50%);
110
+ --#{$popover}__arrow--TranslateX: var(--#{$popover}__arrow--m-bottom--TranslateX);
111
+ --#{$popover}__arrow--TranslateY: var(--#{$popover}__arrow--m-bottom--TranslateY);
112
+ --#{$popover}__arrow--Rotate: var(--#{$popover}__arrow--m-bottom--Rotate);
113
+ }
114
+
115
+ &:is(
116
+ .pf-m-left,
117
+ .pf-m-left-top,
118
+ .pf-m-left-bottom
119
+ ) {
120
+ --#{$popover}__arrow--Top: var(--#{$popover}--m-left--Top, 50%);
121
+ --#{$popover}__arrow--Right: var(--#{$popover}--m-left--Right, 0);
122
+ --#{$popover}__arrow--TranslateX: var(--#{$popover}__arrow--m-left--TranslateX);
123
+ --#{$popover}__arrow--TranslateY: var(--#{$popover}__arrow--m-left--TranslateY);
124
+ --#{$popover}__arrow--Rotate: var(--#{$popover}__arrow--m-left--Rotate);
125
+ }
126
+
127
+ &:is(
128
+ .pf-m-right,
129
+ .pf-m-right-top,
130
+ .pf-m-right-bottom
131
+ ) {
132
+ --#{$popover}__arrow--Top: var(--#{$popover}--m-right--Top, 50%);
133
+ --#{$popover}__arrow--Left: var(--#{$popover}--m-right--Left, 0);
134
+ --#{$popover}__arrow--TranslateX: var(--#{$popover}__arrow--m-right--TranslateX);
135
+ --#{$popover}__arrow--TranslateY: var(--#{$popover}__arrow--m-right--TranslateY);
136
+ --#{$popover}__arrow--Rotate: var(--#{$popover}__arrow--m-right--Rotate);
137
+ }
138
+
139
+ &:is(
140
+ .pf-m-left-top,
141
+ .pf-m-right-top
142
+ ) {
143
+ --#{$popover}__arrow--Top: 0;
144
+ --#{$popover}__arrow--TranslateY: var(--#{$popover}__arrow--m-top--TranslateY);
145
+ }
146
+
147
+ &:is(
148
+ .pf-m-left-bottom,
149
+ .pf-m-right-bottom
150
+ ) {
151
+ --#{$popover}__arrow--Top: auto;
152
+ --#{$popover}__arrow--Bottom: 0;
153
+ }
154
+
155
+ &:is(
156
+ .pf-m-top-left,
157
+ .pf-m-bottom-left
158
+ ) {
159
+ --#{$popover}__arrow--Left: 0;
160
+ --#{$popover}__arrow--TranslateX: var(--#{$popover}__arrow--m-left--TranslateX);
161
+ }
162
+
163
+ &:is(
164
+ .pf-m-top-right,
165
+ .pf-m-bottom-right
166
+ ) {
167
+ --#{$popover}__arrow--Right: 0;
168
+ --#{$popover}__arrow--Left: auto;
159
169
  }
160
170
 
161
171
  &.pf-m-danger {
@@ -188,7 +198,7 @@
188
198
  position: relative;
189
199
  padding-block-start: var(--#{$popover}__content--PaddingTop);
190
200
  padding-block-end: var(--#{$popover}__content--PaddingBottom);
191
- padding-inline-start: var(--#{$popover}__content--PaddingLeft);
201
+ padding-inline-start: var(--#{$popover}__content--PaddingLeft);
192
202
  padding-inline-end: var(--#{$popover}__content--PaddingRight);
193
203
  background-color: var(--#{$popover}__content--BackgroundColor);
194
204
  }
@@ -196,8 +206,8 @@
196
206
  // Close button
197
207
  .#{$popover}__close {
198
208
  position: absolute;
199
- inset-block-start: var(--#{$popover}__close--Top);
200
- inset-inline-end: var(--#{$popover}__close--Right);
209
+ inset-block-start: var(--#{$popover}__close--Top);
210
+ inset-inline-end: var(--#{$popover}__close--Right);
201
211
 
202
212
  // Create room for the close button
203
213
  + * {
@@ -207,11 +217,18 @@
207
217
 
208
218
  .#{$popover}__arrow {
209
219
  position: absolute;
220
+ /* stylelint-disable liberty/use-logical-spec */
221
+ top: var(--#{$popover}__arrow--Top, auto);
222
+ right: var(--#{$popover}__arrow--Right, auto);
223
+ bottom: var(--#{$popover}__arrow--Bottom, auto);
224
+ left: var(--#{$popover}__arrow--Left, auto);
225
+ /* stylelint-enable */
210
226
  width: var(--#{$popover}__arrow--Width);
211
227
  height: var(--#{$popover}__arrow--Height);
212
228
  pointer-events: none;
213
229
  background-color: var(--#{$popover}__arrow--BackgroundColor);
214
230
  box-shadow: var(--#{$popover}__arrow--BoxShadow);
231
+ transform: translateX(var(--#{$popover}__arrow--TranslateX, 0)) translateY(var(--#{$popover}__arrow--TranslateY, 0)) rotate(var(--#{$popover}__arrow--Rotate, 0));
215
232
  }
216
233
 
217
234
  .#{$popover}__header {
@@ -132,6 +132,12 @@
132
132
  color: var(--pf-v5-c-progress__status-icon--Color);
133
133
  }
134
134
 
135
+ .pf-v5-c-progress__bar::before,
136
+ .pf-v5-c-progress__indicator {
137
+ top: 0;
138
+ left: 0;
139
+ }
140
+
135
141
  .pf-v5-c-progress__bar {
136
142
  position: relative;
137
143
  grid-row: 2/3;
@@ -142,8 +148,6 @@
142
148
  }
143
149
  .pf-v5-c-progress__bar::before {
144
150
  position: absolute;
145
- inset-block-start: 0;
146
- inset-inline-start: 0;
147
151
  width: 100%;
148
152
  height: 100%;
149
153
  content: "";
@@ -153,8 +157,6 @@
153
157
 
154
158
  .pf-v5-c-progress__indicator {
155
159
  position: absolute;
156
- inset-block-start: 0;
157
- inset-inline-start: 0;
158
160
  height: var(--pf-v5-c-progress__indicator--Height);
159
161
  background-color: var(--pf-v5-c-progress__indicator--BackgroundColor);
160
162
  }
@@ -175,6 +175,15 @@
175
175
  color: var(--#{$progress}__status-icon--Color);
176
176
  }
177
177
 
178
+ .#{$progress}__bar::before,
179
+ .#{$progress}__indicator {
180
+ // disable linter as the indicator element should always grow ltr
181
+ // stylelint-disable liberty/use-logical-spec
182
+ top: 0;
183
+ left: 0;
184
+ // stylelint-enable
185
+ }
186
+
178
187
  // The progress__bar is a white underlay with a semi-transparent color on top, which matches the progress__indicator color
179
188
  .#{$progress}__bar {
180
189
  position: relative;
@@ -186,8 +195,6 @@
186
195
 
187
196
  &::before {
188
197
  position: absolute;
189
- inset-block-start: 0;
190
- inset-inline-start: 0;
191
198
  width: 100%;
192
199
  height: 100%;
193
200
  content: "";
@@ -200,8 +207,6 @@
200
207
  // It is assumed that the width of the progress__indicator is set inline or via Javascript
201
208
  .#{$progress}__indicator {
202
209
  position: absolute; // position absolute to bring above the semi-transparent bar overlay
203
- inset-block-start: 0;
204
- inset-inline-start: 0;
205
210
  height: var(--#{$progress}__indicator--Height);
206
211
  background-color: var(--#{$progress}__indicator--BackgroundColor);
207
212
  }
@@ -66,6 +66,10 @@
66
66
  transform: translate3d(var(--pf-v5-c-skeleton--after--TranslateX), 0, 0);
67
67
  animation: var(--pf-v5-c-skeleton--after--AnimationName) var(--pf-v5-c-skeleton--after--AnimationDuration) var(--pf-v5-c-skeleton--after--AnimationTimingFunction) var(--pf-v5-c-skeleton--after--AnimationDelay) var(--pf-v5-c-skeleton--after--AnimationIterationCount);
68
68
  }
69
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-skeleton::after {
70
+ scale: -1 1;
71
+ }
72
+
69
73
  .pf-v5-c-skeleton.pf-m-circle {
70
74
  --pf-v5-c-skeleton--BorderRadius: var(--pf-v5-c-skeleton--m-circle--BorderRadius);
71
75
  }
@@ -73,6 +73,8 @@
73
73
  }
74
74
 
75
75
  &::after {
76
+ @include pf-v5-mirror-inline-on-rtl;
77
+
76
78
  position: absolute;
77
79
  inset: 0;
78
80
  display: block;
@@ -1,5 +1,6 @@
1
1
  .pf-v5-c-slider {
2
2
  --pf-v5-c-slider--value: 0;
3
+ --pf-v5-c-slider__step--Left: 0;
3
4
  --pf-v5-c-slider__rail--PaddingTop: var(--pf-v5-global--spacer--md);
4
5
  --pf-v5-c-slider__rail--PaddingBottom: var(--pf-v5-global--spacer--md);
5
6
  --pf-v5-c-slider__rail-track--Height: 0.25rem;
@@ -7,6 +8,7 @@
7
8
  --pf-v5-c-slider__rail-track--before--fill--BackgroundColor: var(--pf-v5-global--active-color--300);
8
9
  --pf-v5-c-slider__rail-track--before--BorderRadius: var(--pf-v5-global--BorderRadius--lg);
9
10
  --pf-v5-c-slider__rail-track--before--fill--BackgroundColor--gradient-stop: var(--pf-v5-c-slider--value);
11
+ --pf-v5-c-slider__rail-track--before--fill--direction: right;
10
12
  --pf-v5-c-slider__steps--FontSize: var(--pf-v5-global--FontSize--sm);
11
13
  --pf-v5-c-slider__steps--Height: var(--pf-v5-c-slider__steps--FontSize);
12
14
  --pf-v5-c-slider__step-tick--Top: var(--pf-v5-global--spacer--md);
@@ -58,6 +60,10 @@
58
60
  --pf-v5-c-slider--m-disabled__thumb--BackgroundColor: var(--pf-v5-global--palette--black-700);
59
61
  display: flex;
60
62
  }
63
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider {
64
+ --pf-v5-c-slider__rail-track--before--fill--direction: left;
65
+ }
66
+
61
67
  .pf-v5-c-slider.pf-m-disabled {
62
68
  --pf-v5-c-slider__rail-track--before--fill--BackgroundColor: var(--pf-v5-c-slider--m-disabled__rail-track--before--fill--BackgroundColor);
63
69
  --pf-v5-c-slider__step--m-active__slider-tick--BackgroundColor: var(--pf-v5-c-slider--m-disabled__step--m-active__slider-tick--BackgroundColor);
@@ -89,7 +95,7 @@
89
95
  position: absolute;
90
96
  inset: 0;
91
97
  content: "";
92
- background: linear-gradient(to right, var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor), var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor) var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor--gradient-stop), var(--pf-v5-c-slider__rail-track--before--base--BackgroundColor) var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor--gradient-stop));
98
+ background: linear-gradient(to var(--pf-v5-c-slider__rail-track--before--fill--direction), var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor), var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor) var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor--gradient-stop), var(--pf-v5-c-slider__rail-track--before--base--BackgroundColor) var(--pf-v5-c-slider__rail-track--before--fill--BackgroundColor--gradient-stop));
93
99
  border-radius: var(--pf-v5-c-slider__rail-track--before--BorderRadius);
94
100
  }
95
101
 
@@ -118,6 +124,7 @@
118
124
  }
119
125
 
120
126
  .pf-v5-c-slider__step-tick {
127
+ transform: translateX(var(--pf-v5-c-slider__step-tick--TranslateX));
121
128
  position: absolute;
122
129
  inset-block-start: var(--pf-v5-c-slider__step-tick--Top);
123
130
  inset-inline-start: 0;
@@ -125,17 +132,23 @@
125
132
  height: var(--pf-v5-c-slider__step-tick--Height);
126
133
  background-color: var(--pf-v5-c-slider__step-tick--BackgroundColor);
127
134
  border-radius: var(--pf-v5-c-slider__step-tick--BorderRadius);
128
- transform: translateX(var(--pf-v5-c-slider__step-tick--TranslateX));
135
+ }
136
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider__step-tick {
137
+ transform: translateX(calc(var(--pf-v5-c-slider__step-tick--TranslateX) * var(--pf-v5-global--inverse--multiplier)));
129
138
  }
130
139
 
131
140
  .pf-v5-c-slider__step-label {
141
+ transform: translateX(var(--pf-v5-c-slider__step-label--TranslateX));
132
142
  position: absolute;
133
143
  inset-block-start: var(--pf-v5-c-slider__step-label--Top);
134
144
  word-break: normal;
135
- transform: translateX(var(--pf-v5-c-slider__step-label--TranslateX));
145
+ }
146
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider__step-label {
147
+ transform: translateX(calc(var(--pf-v5-c-slider__step-label--TranslateX) * var(--pf-v5-global--inverse--multiplier)));
136
148
  }
137
149
 
138
150
  .pf-v5-c-slider__thumb {
151
+ transform: translate(var(--pf-v5-c-slider__thumb--TranslateX), var(--pf-v5-c-slider__thumb--TranslateY));
139
152
  position: absolute;
140
153
  inset-block-start: var(--pf-v5-c-slider__thumb--Top);
141
154
  inset-inline-start: var(--pf-v5-c-slider__thumb--Left);
@@ -145,9 +158,13 @@
145
158
  background-color: var(--pf-v5-c-slider__thumb--BackgroundColor);
146
159
  border-radius: var(--pf-v5-c-slider__thumb--BorderRadius);
147
160
  box-shadow: var(--pf-v5-c-slider__thumb--BoxShadow);
148
- transform: translate(var(--pf-v5-c-slider__thumb--TranslateX), var(--pf-v5-c-slider__thumb--TranslateY));
149
161
  }
162
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider__thumb {
163
+ transform: translate(calc(var(--pf-v5-c-slider__thumb--TranslateX) * var(--pf-v5-global--inverse--multiplier)), var(--pf-v5-c-slider__thumb--TranslateY));
164
+ }
165
+
150
166
  .pf-v5-c-slider__thumb::before {
167
+ transform: translate(var(--pf-v5-c-slider__thumb--before--TranslateX), var(--pf-v5-c-slider__thumb--before--TranslateY));
151
168
  position: absolute;
152
169
  inset-block-start: 50%;
153
170
  inset-inline-start: 50%;
@@ -155,8 +172,11 @@
155
172
  height: var(--pf-v5-c-slider__thumb--before--Height);
156
173
  content: "";
157
174
  border-radius: var(--pf-v5-c-slider__thumb--before--BorderRadius);
158
- transform: translate(var(--pf-v5-c-slider__thumb--before--TranslateX), var(--pf-v5-c-slider__thumb--before--TranslateY));
159
175
  }
176
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider__thumb::before {
177
+ transform: translate(calc(var(--pf-v5-c-slider__thumb--before--TranslateX) * var(--pf-v5-global--inverse--multiplier)), var(--pf-v5-c-slider__thumb--before--TranslateY));
178
+ }
179
+
160
180
  .pf-v5-c-slider__thumb:hover {
161
181
  --pf-v5-c-slider__thumb--BoxShadow: var(--pf-v5-c-slider__thumb--hover--BoxShadow);
162
182
  }
@@ -172,13 +192,17 @@
172
192
  margin-inline-start: var(--pf-v5-c-slider__value--MarginLeft);
173
193
  }
174
194
  .pf-v5-c-slider__value.pf-m-floating {
195
+ transform: translate(var(--pf-v5-c-slider__value--m-floating--TranslateX), var(--pf-v5-c-slider__value--m-floating--TranslateY));
175
196
  --pf-v5-c-slider__value--MarginLeft: 0;
176
197
  position: absolute;
177
198
  inset-block-start: 0;
178
199
  inset-inline-start: var(--pf-v5-c-slider__value--m-floating--Left);
179
200
  z-index: var(--pf-v5-c-slider__value--m-floating--ZIndex);
180
- transform: translate(var(--pf-v5-c-slider__value--m-floating--TranslateX), var(--pf-v5-c-slider__value--m-floating--TranslateY));
181
201
  }
202
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-slider__value.pf-m-floating {
203
+ transform: translate(calc(var(--pf-v5-c-slider__value--m-floating--TranslateX) * var(--pf-v5-global--inverse--multiplier)), var(--pf-v5-c-slider__value--m-floating--TranslateY));
204
+ }
205
+
182
206
  .pf-v5-c-slider__value .pf-v5-c-form-control {
183
207
  width: var(--pf-v5-c-slider__value--c-form-control--Width);
184
208
  }
@@ -1,8 +1,8 @@
1
1
  // @debug $slider; // check your variable names located in src/patternfly/sass-utilities/component-namespaces.scss
2
2
 
3
3
  .#{$slider} {
4
- // should always be set inline
5
- --#{$slider}--value: 0;
4
+ --#{$slider}--value: 0; // should always be set inline
5
+ --#{$slider}__step--Left: 0; // should always be set inline
6
6
 
7
7
  // rail
8
8
  --#{$slider}__rail--PaddingTop: var(--#{$pf-global}--spacer--md);
@@ -13,6 +13,12 @@
13
13
  --#{$slider}__rail-track--before--BorderRadius: var(--#{$pf-global}--BorderRadius--lg);
14
14
  --#{$slider}__rail-track--before--fill--BackgroundColor--gradient-stop: var(--#{$slider}--value);
15
15
 
16
+ @include pf-v5-bidirectional-style(
17
+ $prop: --#{$slider}__rail-track--before--fill--direction,
18
+ $ltr-val: right,
19
+ $rtl-val: left
20
+ );
21
+
16
22
  // steps
17
23
  --#{$slider}__steps--FontSize: var(--#{$pf-global}--FontSize--sm);
18
24
  --#{$slider}__steps--Height: var(--#{$slider}__steps--FontSize);
@@ -114,7 +120,7 @@
114
120
  content: "";
115
121
  background:
116
122
  linear-gradient(
117
- to right,
123
+ to var(--#{$slider}__rail-track--before--fill--direction),
118
124
  var(--#{$slider}__rail-track--before--fill--BackgroundColor),
119
125
  var(--#{$slider}__rail-track--before--fill--BackgroundColor) var(--#{$slider}__rail-track--before--fill--BackgroundColor--gradient-stop),
120
126
  var(--#{$slider}__rail-track--before--base--BackgroundColor) var(--#{$slider}__rail-track--before--fill--BackgroundColor--gradient-stop)
@@ -131,8 +137,8 @@
131
137
 
132
138
  .#{$slider}__step {
133
139
  position: absolute;
134
- inset-block-start: 0;
135
- inset-inline-start: var(--#{$slider}__step--Left); // set programmatically as an inline style
140
+ inset-block-start: 0;
141
+ inset-inline-start: var(--#{$slider}__step--Left); // set programmatically as an inline style
136
142
  content: "";
137
143
 
138
144
  &.pf-m-active {
@@ -151,44 +157,64 @@
151
157
  }
152
158
 
153
159
  .#{$slider}__step-tick {
160
+ @include pf-v5-bidirectional-style(
161
+ $prop: transform,
162
+ $ltr-val: translateX(var(--#{$slider}__step-tick--TranslateX)),
163
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$slider}__step-tick--TranslateX))})
164
+ );
165
+
154
166
  position: absolute;
155
- inset-block-start: var(--#{$slider}__step-tick--Top);
156
- inset-inline-start: 0;
167
+ inset-block-start: var(--#{$slider}__step-tick--Top);
168
+ inset-inline-start: 0;
157
169
  width: var(--#{$slider}__step-tick--Width);
158
170
  height: var(--#{$slider}__step-tick--Height);
159
171
  background-color: var(--#{$slider}__step-tick--BackgroundColor);
160
172
  border-radius: var(--#{$slider}__step-tick--BorderRadius);
161
- transform: translateX(var(--#{$slider}__step-tick--TranslateX));
162
173
  }
163
174
 
164
175
  .#{$slider}__step-label {
176
+ @include pf-v5-bidirectional-style(
177
+ $prop: transform,
178
+ $ltr-val: translateX(var(--#{$slider}__step-label--TranslateX)),
179
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$slider}__step-label--TranslateX))})
180
+ );
181
+
165
182
  position: absolute;
166
- inset-block-start: var(--#{$slider}__step-label--Top);
183
+ inset-block-start: var(--#{$slider}__step-label--Top);
167
184
  word-break: normal;
168
- transform: translateX(var(--#{$slider}__step-label--TranslateX));
169
185
  }
170
186
 
171
187
  .#{$slider}__thumb {
188
+ @include pf-v5-bidirectional-style(
189
+ $prop: transform,
190
+ $ltr-val: translate(var(--#{$slider}__thumb--TranslateX), var(--#{$slider}__thumb--TranslateY)),
191
+ $rtl-val: translate(#{pf-v5-calc-inverse(var(--#{$slider}__thumb--TranslateX))}, var(--#{$slider}__thumb--TranslateY))
192
+ );
193
+
172
194
  position: absolute;
173
- inset-block-start: var(--#{$slider}__thumb--Top);
174
- inset-inline-start: var(--#{$slider}__thumb--Left);
195
+ inset-block-start: var(--#{$slider}__thumb--Top);
196
+ inset-inline-start: var(--#{$slider}__thumb--Left);
175
197
  width: var(--#{$slider}__thumb--Width);
176
198
  height: var(--#{$slider}__thumb--Height);
177
199
  cursor: pointer;
178
200
  background-color: var(--#{$slider}__thumb--BackgroundColor);
179
201
  border-radius: var(--#{$slider}__thumb--BorderRadius);
180
202
  box-shadow: var(--#{$slider}__thumb--BoxShadow);
181
- transform: translate(var(--#{$slider}__thumb--TranslateX), var(--#{$slider}__thumb--TranslateY));
182
203
 
183
204
  &::before {
205
+ @include pf-v5-bidirectional-style(
206
+ $prop: transform,
207
+ $ltr-val: translate(var(--#{$slider}__thumb--before--TranslateX), var(--#{$slider}__thumb--before--TranslateY)),
208
+ $rtl-val: translate(#{pf-v5-calc-inverse(var(--#{$slider}__thumb--before--TranslateX))}, var(--#{$slider}__thumb--before--TranslateY))
209
+ );
210
+
184
211
  position: absolute;
185
- inset-block-start: 50%;
186
- inset-inline-start: 50%;
212
+ inset-block-start: 50%;
213
+ inset-inline-start: 50%;
187
214
  width: var(--#{$slider}__thumb--before--Width);
188
215
  height: var(--#{$slider}__thumb--before--Height);
189
216
  content: "";
190
217
  border-radius: var(--#{$slider}__thumb--before--BorderRadius);
191
- transform: translate(var(--#{$slider}__thumb--before--TranslateX), var(--#{$slider}__thumb--before--TranslateY));
192
218
  }
193
219
 
194
220
  &:hover {
@@ -210,13 +236,18 @@
210
236
  margin-inline-start: var(--#{$slider}__value--MarginLeft);
211
237
 
212
238
  &.pf-m-floating {
239
+ @include pf-v5-bidirectional-style(
240
+ $prop: transform,
241
+ $ltr-val: translate(var(--#{$slider}__value--m-floating--TranslateX), var(--#{$slider}__value--m-floating--TranslateY)),
242
+ $rtl-val: translate(#{pf-v5-calc-inverse(var(--#{$slider}__value--m-floating--TranslateX))}, var(--#{$slider}__value--m-floating--TranslateY)),
243
+ );
244
+
213
245
  --#{$slider}__value--MarginLeft: 0;
214
246
 
215
247
  position: absolute;
216
- inset-block-start: 0;
217
- inset-inline-start: var(--#{$slider}__value--m-floating--Left);
248
+ inset-block-start: 0;
249
+ inset-inline-start: var(--#{$slider}__value--m-floating--Left);
218
250
  z-index: var(--#{$slider}__value--m-floating--ZIndex);
219
- transform: translate(var(--#{$slider}__value--m-floating--TranslateX), var(--#{$slider}__value--m-floating--TranslateY));
220
251
  }
221
252
 
222
253
  .#{$form-control} {
@@ -69,6 +69,10 @@
69
69
  .pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle::before {
70
70
  transform: translateX(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX));
71
71
  }
72
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle::before {
73
+ transform: translateX(calc(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX) * var(--pf-v5-global--inverse--multiplier)));
74
+ }
75
+
72
76
  .pf-v5-c-switch__input:checked ~ .pf-m-off {
73
77
  display: none;
74
78
  }
@@ -88,7 +88,11 @@
88
88
  background-color: var(--#{$switch}__input--checked__toggle--BackgroundColor);
89
89
 
90
90
  &::before {
91
- transform: translateX(var(--#{$switch}__input--checked__toggle--before--TranslateX));
91
+ @include pf-v5-bidirectional-style(
92
+ $prop: transform,
93
+ $ltr-val: translateX(var(--#{$switch}__input--checked__toggle--before--TranslateX)),
94
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$switch}__input--checked__toggle--before--TranslateX))})
95
+ );
92
96
  }
93
97
  }
94
98
 
@@ -32,10 +32,10 @@
32
32
  --pf-v5-c-table--cell--m-border-left--before--BorderLeftWidth: var(--pf-v5-c-table__sticky-cell--m-border-left--before--BorderLeftWidth);
33
33
  --pf-v5-c-table--cell--m-border-left--before--BorderLeftColor: var(--pf-v5-c-table__sticky-cell--m-border-left--before--BorderLeftColor);
34
34
  }
35
- .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-right {
35
+ .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-right, .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-inline-end {
36
36
  --pf-v5-c-table__sticky-cell--Right: var(--pf-v5-c-table__sticky-cell--m-right--Right);
37
37
  }
38
- .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-left {
38
+ .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-left, .pf-v5-c-table .pf-v5-c-table__sticky-cell.pf-m-inline-start {
39
39
  --pf-v5-c-table__sticky-cell--Left: var(--pf-v5-c-table__sticky-cell--m-left--Left);
40
40
  }
41
41
 
@@ -35,11 +35,13 @@
35
35
  --#{$table}--cell--m-border-left--before--BorderLeftColor: var(--#{$table}__sticky-cell--m-border-left--before--BorderLeftColor);
36
36
  }
37
37
 
38
- &.pf-m-right {
38
+ &.pf-m-right,
39
+ &.pf-m-inline-end {
39
40
  --#{$table}__sticky-cell--Right: var(--#{$table}__sticky-cell--m-right--Right);
40
41
  }
41
42
 
42
- &.pf-m-left {
43
+ &.pf-m-left,
44
+ &.pf-m-inline-start {
43
45
  --#{$table}__sticky-cell--Left: var(--#{$table}__sticky-cell--m-left--Left);
44
46
  }
45
47
 
@@ -65,10 +65,14 @@
65
65
  cursor: pointer;
66
66
  }
67
67
  .pf-v5-c-table__tree-view-main > .pf-v5-c-table__toggle {
68
+ transform: translateX(var(--pf-v5-c-table--m-tree-view__toggle--TranslateX));
68
69
  position: var(--pf-v5-c-table--m-tree-view__toggle--Position);
69
70
  inset-inline-start: var(--pf-v5-c-table--m-tree-view__toggle--Left);
70
- transform: translateX(var(--pf-v5-c-table--m-tree-view__toggle--TranslateX));
71
71
  }
72
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-table__tree-view-main > .pf-v5-c-table__toggle {
73
+ transform: translateX(calc(var(--pf-v5-c-table--m-tree-view__toggle--TranslateX) * var(--pf-v5-global--inverse--multiplier)));
74
+ }
75
+
72
76
  .pf-v5-c-table__tree-view-main > .pf-v5-c-table__toggle .pf-v5-c-table__toggle-icon {
73
77
  min-width: var(--pf-v5-c-table--m-tree-view__toggle__toggle-icon--MinWidth);
74
78
  }
@@ -66,9 +66,14 @@ $pf-v5-c-tree-view--MaxDepth: 10;
66
66
  cursor: pointer;
67
67
 
68
68
  > .#{$table}__toggle {
69
+ @include pf-v5-bidirectional-style (
70
+ $prop: 'transform',
71
+ $ltr-val: translateX(var(--#{$table}--m-tree-view__toggle--TranslateX)),
72
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$table}--m-tree-view__toggle--TranslateX))})
73
+ );
74
+
69
75
  position: var(--#{$table}--m-tree-view__toggle--Position);
70
- inset-inline-start: var(--#{$table}--m-tree-view__toggle--Left);
71
- transform: translateX(var(--#{$table}--m-tree-view__toggle--TranslateX));
76
+ inset-inline-start: var(--#{$table}--m-tree-view__toggle--Left);
72
77
 
73
78
  .#{$table}__toggle-icon {
74
79
  min-width: var(--#{$table}--m-tree-view__toggle__toggle-icon--MinWidth);
@@ -734,6 +734,10 @@
734
734
  transition: var(--pf-v5-c-table__toggle--c-button__toggle-icon--Transition);
735
735
  transform: rotate(var(--pf-v5-c-table__toggle--c-button__toggle-icon--Rotate));
736
736
  }
737
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-table__toggle .pf-v5-c-table__toggle-icon {
738
+ scale: -1 1;
739
+ }
740
+
737
741
  .pf-v5-c-table__toggle svg {
738
742
  pointer-events: none;
739
743
  }
@@ -971,6 +971,8 @@
971
971
  }
972
972
 
973
973
  .#{$table}__toggle-icon {
974
+ @include pf-v5-mirror-inline-on-rtl;
975
+
974
976
  transition: var(--#{$table}__toggle--c-button__toggle-icon--Transition);
975
977
  transform: rotate(var(--#{$table}__toggle--c-button__toggle-icon--Rotate));
976
978
  }