@patternfly/patternfly 5.1.0-prerelease.8 → 5.1.0-prerelease.9

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.
package/README.md CHANGED
@@ -68,6 +68,15 @@ When making visual changes to a full page example, new example preview screensho
68
68
  - CSS developers should ensure that animation is well documented and communicated to the respective React developer.
69
69
  - Once the component/enhancement is complete it should receive sign off from a visual designer who can then update the master sketch file with any changes.
70
70
 
71
+ ### Handlebars guidelines
72
+ [For information on how to contribute, refer to our guidelines.](/contribution)
73
+
74
+ ### CSS/Sass guidelines
75
+ [For more information on using CSS and Sass, refer to our guidelines.](/guidelines)
76
+
77
+ ### Custom icon guidelines
78
+ [For more information on custom icons, refer to our guidelines.](/adding-custom-icons)
79
+
71
80
  ## Beta components
72
81
 
73
82
  When creating a brand new component, it should be released as beta in order to get feedback.
@@ -112,3 +121,4 @@ PatternFly 5 is supported on the latest two major versions of the following brow
112
121
  - Firefox
113
122
  - Safari
114
123
  - Edge
124
+
package/base/_common.scss CHANGED
@@ -23,3 +23,23 @@
23
23
  --#{$pf-global}--FontFamily--heading: var(--#{$pf-global}--FontFamily--heading--vf);
24
24
  --#{$pf-global}--FontFamily--monospace: var(--#{$pf-global}--FontFamily--monospace--vf);
25
25
  }
26
+
27
+ // RTL helpers
28
+ .#{$pf-prefix}m-dir-rtl {
29
+ @include pf-v5-rtl("transform-flip");
30
+
31
+ direction: rtl;
32
+ }
33
+
34
+ .#{$pf-prefix}m-dir-ltr,
35
+ .ws-dir-ltr {
36
+ @include pf-v5-rtl("transform-flip-revert");
37
+
38
+ direction: ltr;
39
+ }
40
+
41
+ .#{$pf-prefix}m-rtl-flip-inline {
42
+ @include pf-v5-rtl("flip-inline");
43
+ }
44
+
45
+ @include pf-v5-rtl("transform-flip");
@@ -282,6 +282,9 @@
282
282
  // A11y
283
283
  --#{$pf-global}--target-size--MinWidth: #{$pf-v5-global--target-size--MinWidth};
284
284
  --#{$pf-global}--target-size--MinHeight: #{$pf-v5-global--target-size--MinHeight};
285
+
286
+ // RTL
287
+ --#{$pf-global}--rtl--transform--flip: 1;
285
288
  }
286
289
 
287
290
  // stylelint-disable no-invalid-position-at-import-rule
@@ -23,4 +23,25 @@
23
23
  --pf-v5-global--FontFamily--text: var(--pf-v5-global--FontFamily--text--vf);
24
24
  --pf-v5-global--FontFamily--heading: var(--pf-v5-global--FontFamily--heading--vf);
25
25
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
26
+ }
27
+
28
+ .pf-v5-m-dir-rtl {
29
+ direction: rtl;
30
+ }
31
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
32
+ --pf-v5-global--rtl--transform--flip: -1;
33
+ }
34
+
35
+ .pf-v5-m-dir-ltr,
36
+ .ws-dir-ltr {
37
+ --pf-v5-global--rtl--transform--flip: 1;
38
+ direction: ltr;
39
+ }
40
+
41
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
42
+ scale: -1 1;
43
+ }
44
+
45
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
46
+ --pf-v5-global--rtl--transform--flip: -1;
26
47
  }
@@ -232,6 +232,7 @@
232
232
  --pf-v5-global--arrow--width-lg: 1.5625rem;
233
233
  --pf-v5-global--target-size--MinWidth: 44px;
234
234
  --pf-v5-global--target-size--MinHeight: 44px;
235
+ --pf-v5-global--rtl--transform--flip: 1;
235
236
  }
236
237
 
237
238
  :where(.pf-v5-theme-dark) {
@@ -133,7 +133,7 @@
133
133
  position: absolute;
134
134
  inset-block-start: 0;
135
135
  inset-inline-start: var(--pf-v5-c-dual-list-selector__list__list__item-toggle--Left);
136
- transform: translateX(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX));
136
+ transform: translateX(calc(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
137
137
  }
138
138
  .pf-v5-c-dual-list-selector__list.pf-m-drag-over {
139
139
  overflow-anchor: none;
@@ -233,6 +233,10 @@
233
233
  padding-inline-end: var(--pf-v5-c-dual-list-selector__controls--PaddingRight);
234
234
  }
235
235
 
236
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) :is(.pf-v5-c-dual-list-selector__controls-item, .pf-v5-c-dual-list-selector__item-toggle-icon) {
237
+ scale: -1 1;
238
+ }
239
+
236
240
  .pf-v5-c-dual-list-selector__item-main {
237
241
  display: flex;
238
242
  min-width: 0;
@@ -169,9 +169,9 @@ $pf-v5-c-dual-list-selector__item--MaxNesting: 10;
169
169
 
170
170
  .#{$dual-list-selector}__item-toggle {
171
171
  position: absolute;
172
- inset-block-start: 0;
173
- inset-inline-start: var(--#{$dual-list-selector}__list__list__item-toggle--Left);
174
- transform: translateX(var(--#{$dual-list-selector}__list__list__item-toggle--TranslateX));
172
+ inset-block-start: 0;
173
+ inset-inline-start: var(--#{$dual-list-selector}__list__list__item-toggle--Left);
174
+ transform: translateX(calc(var(--#{$dual-list-selector}__list__list__item-toggle--TranslateX) * var(--#{$pf-global}--rtl--transform--flip)));
175
175
  }
176
176
  }
177
177
 
@@ -294,6 +294,10 @@ $pf-v5-c-dual-list-selector__item--MaxNesting: 10;
294
294
  padding-inline-end: var(--#{$dual-list-selector}__controls--PaddingRight);
295
295
  }
296
296
 
297
+ :is(.#{$dual-list-selector}__controls-item, .#{$dual-list-selector}__item-toggle-icon) {
298
+ @include pf-v5-rtl("flip-inline");
299
+ }
300
+
297
301
  .#{$dual-list-selector}__item-main {
298
302
  display: flex;
299
303
  min-width: 0;
@@ -196,6 +196,10 @@
196
196
  justify-content: flex-end;
197
197
  }
198
198
 
199
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-pagination__nav-control {
200
+ scale: -1 1;
201
+ }
202
+
199
203
  .pf-v5-c-pagination__nav-control .pf-v5-c-button {
200
204
  padding-inline-start: var(--pf-v5-c-pagination__nav-control--c-button--PaddingLeft);
201
205
  padding-inline-end: var(--pf-v5-c-pagination__nav-control--c-button--PaddingRight);
@@ -237,6 +237,8 @@ $pf-v5-c-pagination--variable-map: build-spacer-map("none", "sm", "md", "lg", "x
237
237
 
238
238
  // nav control
239
239
  .#{$pagination}__nav-control {
240
+ @include pf-v5-rtl("flip-inline");
241
+
240
242
  .#{$button} {
241
243
  padding-inline-start: var(--#{$pagination}__nav-control--c-button--PaddingLeft);
242
244
  padding-inline-end: var(--#{$pagination}__nav-control--c-button--PaddingRight);
@@ -67,7 +67,7 @@
67
67
  background-color: var(--pf-v5-c-switch__input--checked__toggle--BackgroundColor);
68
68
  }
69
69
  .pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle::before {
70
- transform: translateX(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX));
70
+ transform: translateX(calc(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
71
71
  }
72
72
  .pf-v5-c-switch__input:checked ~ .pf-m-off {
73
73
  display: none;
@@ -88,7 +88,7 @@
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
+ transform: translateX(calc(var(--#{$switch}__input--checked__toggle--before--TranslateX) * var(--#{$pf-global}--rtl--transform--flip)));
92
92
  }
93
93
  }
94
94
 
@@ -303,6 +303,9 @@
303
303
  margin-inline-start: var(--pf-v5-c-wizard__toggle-separator--MarginLeft);
304
304
  color: var(--pf-v5-c-wizard__toggle-separator--Color);
305
305
  }
306
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__toggle-separator {
307
+ scale: -1 1;
308
+ }
306
309
 
307
310
  .pf-v5-c-wizard__toggle-icon {
308
311
  line-height: var(--pf-v5-c-wizard__toggle-icon--LineHeight);
@@ -420,7 +423,7 @@
420
423
  color: var(--pf-v5-c-wizard__nav-link--before--Color);
421
424
  background-color: var(--pf-v5-c-wizard__nav-link--before--BackgroundColor);
422
425
  border-radius: var(--pf-v5-c-wizard__nav-link--before--BorderRadius);
423
- transform: translateX(var(--pf-v5-c-wizard__nav-link--before--TranslateX));
426
+ transform: translateX(calc(var(--pf-v5-c-wizard__nav-link--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
424
427
  }
425
428
 
426
429
  .pf-v5-c-wizard__nav-link::before {
@@ -469,6 +472,9 @@
469
472
  transition: var(--pf-v5-c-wizard__nav-link-toggle-icon--Transition);
470
473
  transform: rotate(var(--pf-v5-c-wizard__nav-link-toggle-icon--Rotate));
471
474
  }
475
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__nav-link-toggle-icon {
476
+ scale: -1 1;
477
+ }
472
478
 
473
479
  .pf-v5-c-wizard__main {
474
480
  z-index: var(--pf-v5-c-wizard__main--ZIndex);
@@ -335,6 +335,8 @@
335
335
  }
336
336
 
337
337
  .#{$wizard}__toggle-separator {
338
+ @include pf-v5-rtl("flip-inline");
339
+
338
340
  margin-inline-start: var(--#{$wizard}__toggle-separator--MarginLeft);
339
341
  color: var(--#{$wizard}__toggle-separator--Color);
340
342
  }
@@ -460,8 +462,8 @@
460
462
  @at-root .#{$wizard}__toggle-num,
461
463
  &::before {
462
464
  position: absolute;
463
- inset-block-start: var(--#{$wizard}__nav-link--before--Top);
464
- inset-inline-start: 0;
465
+ inset-block-start: var(--#{$wizard}__nav-link--before--Top);
466
+ inset-inline-start: 0;
465
467
  display: inline-flex;
466
468
  align-items: center;
467
469
  justify-content: center;
@@ -472,7 +474,7 @@
472
474
  color: var(--#{$wizard}__nav-link--before--Color);
473
475
  background-color: var(--#{$wizard}__nav-link--before--BackgroundColor);
474
476
  border-radius: var(--#{$wizard}__nav-link--before--BorderRadius);
475
- transform: translateX(var(--#{$wizard}__nav-link--before--TranslateX));
477
+ transform: translateX(calc(var(--#{$wizard}__nav-link--before--TranslateX) * var(--#{$pf-global}--rtl--transform--flip)));
476
478
  }
477
479
 
478
480
  // Nav step number
@@ -528,6 +530,8 @@
528
530
  }
529
531
 
530
532
  .#{$wizard}__nav-link-toggle-icon {
533
+ @include pf-v5-rtl("flip-inline");
534
+
531
535
  display: inline-block;
532
536
  transition: var(--#{$wizard}__nav-link-toggle-icon--Transition);
533
537
  transform: rotate(var(--#{$wizard}__nav-link-toggle-icon--Rotate));
@@ -828,7 +828,7 @@ The chip group requires the [chip component](#chip-overview). **All single chip
828
828
 
829
829
  | Attributes for closable chip group button | Applied to | Outcome |
830
830
  | -- | -- | -- |
831
- | `role="list"` | `.pf-v5-c-chip-group__list` | Indicates that the chip group list is a list element. This role is redundant since `.pf-v5-c-chip-group__list` is a `<ul>` but is required for screen readers to announce the list propertly. **Required** |
831
+ | `role="list"` | `.pf-v5-c-chip-group__list` | Indicates that the chip group list is a list element. This role is redundant since `.pf-v5-c-chip-group__list` is a `<ul>` but is required for screen readers to announce the list properly. **Required** |
832
832
  | `aria-label="[button label text]"` | `.pf-v5-c-chip-group__close > button` | Provides an accessible name for a chip group close when an icon is used instead of text. Required when an icon is used with no supporting text. **Required** |
833
833
  | `aria-labelledby="[id value of .pf-v5-c-chip-group__close > button] [id value of .pf-v5-c-chip-group__label]"` | `.pf-v5-c-chip-group__close > button` | Provides an accessible name for the button. **Required** |
834
834
 
@@ -6,8 +6,8 @@
6
6
  --pf-v5-c-draggable--m-dragging--BackgroundColor: var(--pf-v5-global--BackgroundColor--100);
7
7
 
8
8
  position: absolute;
9
- inset-block-start: 23%;
10
- inset-inline-start: .5em;
9
+ inset-block-start: 23%;
10
+ inset-inline-start: .5em;
11
11
  z-index: 9999;
12
12
  width: 100%;
13
13
  }
@@ -3265,7 +3265,7 @@ In addition to the JavaScript management of [editable labels](/components/label#
3265
3265
 
3266
3266
  | Attribute | Applied to | Outcome |
3267
3267
  | -- | -- | -- |
3268
- | `role="list"` | `.pf-v5-c-label-group__list` | Indicates that the label group list is a list element. This role is redundant since `.pf-v5-c-label-group__list` is a `<ul>` but is required for screen readers to announce the list propertly. **Required** |
3268
+ | `role="list"` | `.pf-v5-c-label-group__list` | Indicates that the label group list is a list element. This role is redundant since `.pf-v5-c-label-group__list` is a `<ul>` but is required for screen readers to announce the list properly. **Required** |
3269
3269
  | `aria-label="[button label text]"` | `.pf-v5-c-label-group__close > button` | Provides an accessible name for a label group close button when an icon is used instead of text. Required when an icon is used with no supporting text. **Required** |
3270
3270
  | `aria-labelledby="[id value of .pf-v5-c-label-group__close > button] [id value of .pf-v5-c-label-group__label]"` | `.pf-v5-c-label-group__close > button` | Provides an accessible name for the button. **Required** |
3271
3271
  | `aria-label="[label text]"` | `.pf-v5-c-label-group__textarea` | Provides an accessible name for the textarea. **Required** |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@patternfly/patternfly",
3
3
  "description": "Assets, source, tooling, and content for PatternFly 4",
4
- "version": "5.1.0-prerelease.8",
4
+ "version": "5.1.0-prerelease.9",
5
5
  "keywords": [],
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -45,7 +45,7 @@
45
45
  "@commitlint/config-conventional": "^17.6.7",
46
46
  "@fortawesome/fontawesome": "^1.1.8",
47
47
  "@octokit/rest": "^20.0.1",
48
- "@patternfly/documentation-framework": "5.1.3",
48
+ "@patternfly/documentation-framework": "5.1.7",
49
49
  "@patternfly/patternfly-a11y": "4.3.1",
50
50
  "@patternfly/react-code-editor": "5.0.0",
51
51
  "@patternfly/react-core": "5.0.0",
@@ -259,6 +259,7 @@
259
259
  --pf-v5-global--arrow--width-lg: 1.5625rem;
260
260
  --pf-v5-global--target-size--MinWidth: 44px;
261
261
  --pf-v5-global--target-size--MinHeight: 44px;
262
+ --pf-v5-global--rtl--transform--flip: 1;
262
263
  }
263
264
 
264
265
  :where(.pf-theme-dark) {
@@ -490,6 +491,27 @@
490
491
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
491
492
  }
492
493
 
494
+ .pf-v5-m-dir-rtl {
495
+ direction: rtl;
496
+ }
497
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
498
+ --pf-v5-global--rtl--transform--flip: -1;
499
+ }
500
+
501
+ .pf-v5-m-dir-ltr,
502
+ .ws-dir-ltr {
503
+ --pf-v5-global--rtl--transform--flip: 1;
504
+ direction: ltr;
505
+ }
506
+
507
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
508
+ scale: -1 1;
509
+ }
510
+
511
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
512
+ --pf-v5-global--rtl--transform--flip: -1;
513
+ }
514
+
493
515
  :where(.pf-theme-dark) {
494
516
  color-scheme: dark;
495
517
  }
@@ -259,6 +259,7 @@
259
259
  --pf-v5-global--arrow--width-lg: 1.5625rem;
260
260
  --pf-v5-global--target-size--MinWidth: 44px;
261
261
  --pf-v5-global--target-size--MinHeight: 44px;
262
+ --pf-v5-global--rtl--transform--flip: 1;
262
263
  }
263
264
 
264
265
  :where(.pf-v5-theme-dark) {
@@ -490,6 +491,27 @@
490
491
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
491
492
  }
492
493
 
494
+ .pf-v5-m-dir-rtl {
495
+ direction: rtl;
496
+ }
497
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
498
+ --pf-v5-global--rtl--transform--flip: -1;
499
+ }
500
+
501
+ .pf-v5-m-dir-ltr,
502
+ .ws-dir-ltr {
503
+ --pf-v5-global--rtl--transform--flip: 1;
504
+ direction: ltr;
505
+ }
506
+
507
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
508
+ scale: -1 1;
509
+ }
510
+
511
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
512
+ --pf-v5-global--rtl--transform--flip: -1;
513
+ }
514
+
493
515
  :where(.pf-v5-theme-dark) {
494
516
  color-scheme: dark;
495
517
  }
@@ -259,6 +259,7 @@
259
259
  --pf-v5-global--arrow--width-lg: 1.5625rem;
260
260
  --pf-v5-global--target-size--MinWidth: 44px;
261
261
  --pf-v5-global--target-size--MinHeight: 44px;
262
+ --pf-v5-global--rtl--transform--flip: 1;
262
263
  }
263
264
 
264
265
  :where(.pf-theme-dark) {
@@ -490,6 +491,27 @@
490
491
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
491
492
  }
492
493
 
494
+ .pf-v5-m-dir-rtl {
495
+ direction: rtl;
496
+ }
497
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
498
+ --pf-v5-global--rtl--transform--flip: -1;
499
+ }
500
+
501
+ .pf-v5-m-dir-ltr,
502
+ .ws-dir-ltr {
503
+ --pf-v5-global--rtl--transform--flip: 1;
504
+ direction: ltr;
505
+ }
506
+
507
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
508
+ scale: -1 1;
509
+ }
510
+
511
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
512
+ --pf-v5-global--rtl--transform--flip: -1;
513
+ }
514
+
493
515
  :where(html,
494
516
  body,
495
517
  p,
@@ -259,6 +259,7 @@
259
259
  --pf-v5-global--arrow--width-lg: 1.5625rem;
260
260
  --pf-v5-global--target-size--MinWidth: 44px;
261
261
  --pf-v5-global--target-size--MinHeight: 44px;
262
+ --pf-v5-global--rtl--transform--flip: 1;
262
263
  }
263
264
 
264
265
  :where(.pf-v5-theme-dark) {
@@ -490,6 +491,27 @@
490
491
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
491
492
  }
492
493
 
494
+ .pf-v5-m-dir-rtl {
495
+ direction: rtl;
496
+ }
497
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
498
+ --pf-v5-global--rtl--transform--flip: -1;
499
+ }
500
+
501
+ .pf-v5-m-dir-ltr,
502
+ .ws-dir-ltr {
503
+ --pf-v5-global--rtl--transform--flip: 1;
504
+ direction: ltr;
505
+ }
506
+
507
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
508
+ scale: -1 1;
509
+ }
510
+
511
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
512
+ --pf-v5-global--rtl--transform--flip: -1;
513
+ }
514
+
493
515
  :where(html,
494
516
  body,
495
517
  p,
@@ -317,6 +317,7 @@
317
317
  --pf-v5-global--arrow--width-lg: 1.5625rem;
318
318
  --pf-v5-global--target-size--MinWidth: 44px;
319
319
  --pf-v5-global--target-size--MinHeight: 44px;
320
+ --pf-v5-global--rtl--transform--flip: 1;
320
321
  }
321
322
 
322
323
  :where(.pf-v5-theme-dark) .pf-v5-c-wizard__header .pf-v5-c-button, :where(.pf-v5-theme-dark) .pf-v5-c-page__sidebar-body.pf-m-menu .pf-v5-c-context-selector .pf-v5-c-button,
@@ -555,6 +556,27 @@
555
556
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
556
557
  }
557
558
 
559
+ .pf-v5-m-dir-rtl {
560
+ direction: rtl;
561
+ }
562
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
563
+ --pf-v5-global--rtl--transform--flip: -1;
564
+ }
565
+
566
+ .pf-v5-m-dir-ltr,
567
+ .ws-dir-ltr {
568
+ --pf-v5-global--rtl--transform--flip: 1;
569
+ direction: ltr;
570
+ }
571
+
572
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
573
+ scale: -1 1;
574
+ }
575
+
576
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
577
+ --pf-v5-global--rtl--transform--flip: -1;
578
+ }
579
+
558
580
  :where(.pf-v5-theme-dark) {
559
581
  color-scheme: dark;
560
582
  }
@@ -10709,7 +10731,7 @@ label.pf-v5-c-check, .pf-v5-c-check__label,
10709
10731
  position: absolute;
10710
10732
  inset-block-start: 0;
10711
10733
  inset-inline-start: var(--pf-v5-c-dual-list-selector__list__list__item-toggle--Left);
10712
- transform: translateX(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX));
10734
+ transform: translateX(calc(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
10713
10735
  }
10714
10736
  .pf-v5-c-dual-list-selector__list.pf-m-drag-over {
10715
10737
  overflow-anchor: none;
@@ -10809,6 +10831,10 @@ label.pf-v5-c-check, .pf-v5-c-check__label,
10809
10831
  padding-inline-end: var(--pf-v5-c-dual-list-selector__controls--PaddingRight);
10810
10832
  }
10811
10833
 
10834
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) :is(.pf-v5-c-dual-list-selector__controls-item, .pf-v5-c-dual-list-selector__item-toggle-icon) {
10835
+ scale: -1 1;
10836
+ }
10837
+
10812
10838
  .pf-v5-c-dual-list-selector__item-main {
10813
10839
  display: flex;
10814
10840
  min-width: 0;
@@ -21966,6 +21992,10 @@ label.pf-v5-c-menu__item:where(:not([disabled], .pf-m-disabled, .pf-m-aria-disab
21966
21992
  justify-content: flex-end;
21967
21993
  }
21968
21994
 
21995
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-pagination__nav-control {
21996
+ scale: -1 1;
21997
+ }
21998
+
21969
21999
  .pf-v5-c-pagination__nav-control .pf-v5-c-button {
21970
22000
  padding-inline-start: var(--pf-v5-c-pagination__nav-control--c-button--PaddingLeft);
21971
22001
  padding-inline-end: var(--pf-v5-c-pagination__nav-control--c-button--PaddingRight);
@@ -24897,7 +24927,7 @@ svg.pf-v5-c-spinner.pf-m-xl {
24897
24927
  background-color: var(--pf-v5-c-switch__input--checked__toggle--BackgroundColor);
24898
24928
  }
24899
24929
  .pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle::before {
24900
- transform: translateX(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX));
24930
+ transform: translateX(calc(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
24901
24931
  }
24902
24932
  .pf-v5-c-switch__input:checked ~ .pf-m-off {
24903
24933
  display: none;
@@ -30918,6 +30948,9 @@ label.pf-v5-c-tree-view__node-text {
30918
30948
  margin-inline-start: var(--pf-v5-c-wizard__toggle-separator--MarginLeft);
30919
30949
  color: var(--pf-v5-c-wizard__toggle-separator--Color);
30920
30950
  }
30951
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__toggle-separator {
30952
+ scale: -1 1;
30953
+ }
30921
30954
 
30922
30955
  .pf-v5-c-wizard__toggle-icon {
30923
30956
  line-height: var(--pf-v5-c-wizard__toggle-icon--LineHeight);
@@ -31035,7 +31068,7 @@ label.pf-v5-c-tree-view__node-text {
31035
31068
  color: var(--pf-v5-c-wizard__nav-link--before--Color);
31036
31069
  background-color: var(--pf-v5-c-wizard__nav-link--before--BackgroundColor);
31037
31070
  border-radius: var(--pf-v5-c-wizard__nav-link--before--BorderRadius);
31038
- transform: translateX(var(--pf-v5-c-wizard__nav-link--before--TranslateX));
31071
+ transform: translateX(calc(var(--pf-v5-c-wizard__nav-link--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
31039
31072
  }
31040
31073
 
31041
31074
  .pf-v5-c-wizard__nav-link::before {
@@ -31084,6 +31117,9 @@ label.pf-v5-c-tree-view__node-text {
31084
31117
  transition: var(--pf-v5-c-wizard__nav-link-toggle-icon--Transition);
31085
31118
  transform: rotate(var(--pf-v5-c-wizard__nav-link-toggle-icon--Rotate));
31086
31119
  }
31120
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__nav-link-toggle-icon {
31121
+ scale: -1 1;
31122
+ }
31087
31123
 
31088
31124
  .pf-v5-c-wizard__main {
31089
31125
  z-index: var(--pf-v5-c-wizard__main--ZIndex);
@@ -317,6 +317,7 @@
317
317
  --pf-v5-global--arrow--width-lg: 1.5625rem;
318
318
  --pf-v5-global--target-size--MinWidth: 44px;
319
319
  --pf-v5-global--target-size--MinHeight: 44px;
320
+ --pf-v5-global--rtl--transform--flip: 1;
320
321
  }
321
322
 
322
323
  :where(.pf-theme-dark) .pf-v5-c-wizard__header .pf-v5-c-button, :where(.pf-theme-dark) .pf-v5-c-page__sidebar-body.pf-m-menu .pf-v5-c-context-selector .pf-v5-c-button,
@@ -555,6 +556,27 @@
555
556
  --pf-v5-global--FontFamily--monospace: var(--pf-v5-global--FontFamily--monospace--vf);
556
557
  }
557
558
 
559
+ .pf-v5-m-dir-rtl {
560
+ direction: rtl;
561
+ }
562
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-dir-rtl {
563
+ --pf-v5-global--rtl--transform--flip: -1;
564
+ }
565
+
566
+ .pf-v5-m-dir-ltr,
567
+ .ws-dir-ltr {
568
+ --pf-v5-global--rtl--transform--flip: 1;
569
+ direction: ltr;
570
+ }
571
+
572
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-m-rtl-flip-inline {
573
+ scale: -1 1;
574
+ }
575
+
576
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) {
577
+ --pf-v5-global--rtl--transform--flip: -1;
578
+ }
579
+
558
580
  :where(html,
559
581
  body,
560
582
  p,
@@ -10826,7 +10848,7 @@ label.pf-v5-c-check, .pf-v5-c-check__label,
10826
10848
  position: absolute;
10827
10849
  inset-block-start: 0;
10828
10850
  inset-inline-start: var(--pf-v5-c-dual-list-selector__list__list__item-toggle--Left);
10829
- transform: translateX(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX));
10851
+ transform: translateX(calc(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
10830
10852
  }
10831
10853
  .pf-v5-c-dual-list-selector__list.pf-m-drag-over {
10832
10854
  overflow-anchor: none;
@@ -10926,6 +10948,10 @@ label.pf-v5-c-check, .pf-v5-c-check__label,
10926
10948
  padding-inline-end: var(--pf-v5-c-dual-list-selector__controls--PaddingRight);
10927
10949
  }
10928
10950
 
10951
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) :is(.pf-v5-c-dual-list-selector__controls-item, .pf-v5-c-dual-list-selector__item-toggle-icon) {
10952
+ scale: -1 1;
10953
+ }
10954
+
10929
10955
  .pf-v5-c-dual-list-selector__item-main {
10930
10956
  display: flex;
10931
10957
  min-width: 0;
@@ -22083,6 +22109,10 @@ label.pf-v5-c-menu__item:where(:not([disabled], .pf-m-disabled, .pf-m-aria-disab
22083
22109
  justify-content: flex-end;
22084
22110
  }
22085
22111
 
22112
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-pagination__nav-control {
22113
+ scale: -1 1;
22114
+ }
22115
+
22086
22116
  .pf-v5-c-pagination__nav-control .pf-v5-c-button {
22087
22117
  padding-inline-start: var(--pf-v5-c-pagination__nav-control--c-button--PaddingLeft);
22088
22118
  padding-inline-end: var(--pf-v5-c-pagination__nav-control--c-button--PaddingRight);
@@ -25014,7 +25044,7 @@ svg.pf-v5-c-spinner.pf-m-xl {
25014
25044
  background-color: var(--pf-v5-c-switch__input--checked__toggle--BackgroundColor);
25015
25045
  }
25016
25046
  .pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle::before {
25017
- transform: translateX(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX));
25047
+ transform: translateX(calc(var(--pf-v5-c-switch__input--checked__toggle--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
25018
25048
  }
25019
25049
  .pf-v5-c-switch__input:checked ~ .pf-m-off {
25020
25050
  display: none;
@@ -31035,6 +31065,9 @@ label.pf-v5-c-tree-view__node-text {
31035
31065
  margin-inline-start: var(--pf-v5-c-wizard__toggle-separator--MarginLeft);
31036
31066
  color: var(--pf-v5-c-wizard__toggle-separator--Color);
31037
31067
  }
31068
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__toggle-separator {
31069
+ scale: -1 1;
31070
+ }
31038
31071
 
31039
31072
  .pf-v5-c-wizard__toggle-icon {
31040
31073
  line-height: var(--pf-v5-c-wizard__toggle-icon--LineHeight);
@@ -31152,7 +31185,7 @@ label.pf-v5-c-tree-view__node-text {
31152
31185
  color: var(--pf-v5-c-wizard__nav-link--before--Color);
31153
31186
  background-color: var(--pf-v5-c-wizard__nav-link--before--BackgroundColor);
31154
31187
  border-radius: var(--pf-v5-c-wizard__nav-link--before--BorderRadius);
31155
- transform: translateX(var(--pf-v5-c-wizard__nav-link--before--TranslateX));
31188
+ transform: translateX(calc(var(--pf-v5-c-wizard__nav-link--before--TranslateX) * var(--pf-v5-global--rtl--transform--flip)));
31156
31189
  }
31157
31190
 
31158
31191
  .pf-v5-c-wizard__nav-link::before {
@@ -31201,6 +31234,9 @@ label.pf-v5-c-tree-view__node-text {
31201
31234
  transition: var(--pf-v5-c-wizard__nav-link-toggle-icon--Transition);
31202
31235
  transform: rotate(var(--pf-v5-c-wizard__nav-link-toggle-icon--Rotate));
31203
31236
  }
31237
+ :where(.ws-dir-rtl, .pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-wizard__nav-link-toggle-icon {
31238
+ scale: -1 1;
31239
+ }
31204
31240
 
31205
31241
  .pf-v5-c-wizard__main {
31206
31242
  z-index: var(--pf-v5-c-wizard__main--ZIndex);