@patternfly/patternfly 5.1.0-prerelease.9 → 5.2.0-prerelease.1

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 (118) hide show
  1. package/README.md +6 -6
  2. package/base/_common.scss +9 -8
  3. package/base/_variables.scss +5 -1
  4. package/base/patternfly-common.css +4 -11
  5. package/base/patternfly-variables.css +5 -1
  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 +6 -2
  30. package/components/DualListSelector/dual-list-selector.scss +7 -2
  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 +1 -1
  47. package/components/Pagination/pagination.scss +1 -1
  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 +5 -1
  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 +6 -3
  74. package/components/Wizard/wizard.scss +8 -3
  75. package/docs/components/Button/examples/Button.md +15 -3
  76. package/docs/components/Card/examples/Card.md +15 -15
  77. package/docs/components/Check/examples/Check.md +71 -59
  78. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +106 -0
  79. package/docs/components/CodeEditor/examples/CodeEditor.md +3 -3
  80. package/docs/components/DualListSelector/examples/DualListSelector.md +64 -16
  81. package/docs/components/LogViewer/examples/LogViewer.md +120 -30
  82. package/docs/components/Menu/examples/Menu.css +8 -0
  83. package/docs/components/Menu/examples/Menu.md +90 -73
  84. package/docs/components/MenuToggle/examples/MenuToggle.md +60 -39
  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/Radio/examples/Radio.md +63 -55
  91. package/docs/components/Select/deprecated/Select.md +184 -177
  92. package/docs/components/Table/examples/Table.md +2 -2
  93. package/docs/components/Toolbar/examples/Toolbar.md +525 -431
  94. package/docs/components/Tooltip/examples/Tooltip.css +4 -0
  95. package/docs/components/Tooltip/examples/Tooltip.md +3 -1
  96. package/docs/components/Truncate/examples/Truncate.md +2 -2
  97. package/docs/demos/Card/examples/Card.md +23 -7
  98. package/docs/demos/CardView/examples/CardView.md +24 -20
  99. package/docs/demos/DataList/examples/DataList.md +8 -2
  100. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +160 -124
  101. package/docs/demos/Skeleton/examples/Skeleton.md +7 -35
  102. package/docs/demos/Table/examples/Table.md +336 -252
  103. package/docs/demos/Tabs/examples/Tabs.md +28 -21
  104. package/docs/demos/Toolbar/examples/Toolbar.css +5 -0
  105. package/docs/demos/Toolbar/examples/Toolbar.md +44 -44
  106. package/package.json +6 -5
  107. package/patternfly-base-no-globals-theme-dark-unversioned.css +9 -12
  108. package/patternfly-base-no-globals.css +9 -12
  109. package/patternfly-base-theme-dark-unversioned.css +9 -12
  110. package/patternfly-base.css +9 -12
  111. package/patternfly-no-globals.css +356 -104
  112. package/patternfly-theme-dark-unversioned.css +356 -104
  113. package/patternfly.css +356 -104
  114. package/patternfly.min.css +1 -1
  115. package/patternfly.min.css.map +1 -1
  116. package/sass-utilities/functions.scss +6 -0
  117. package/sass-utilities/mixins.scss +55 -20
  118. package/sass-utilities/themes/dark/mixins.scss +3 -1
@@ -130,11 +130,15 @@
130
130
  --pf-v5-c-dual-list-selector__item-toggle--MarginBottom: 0;
131
131
  }
132
132
  .pf-v5-c-dual-list-selector__list .pf-v5-c-dual-list-selector__list .pf-v5-c-dual-list-selector__item-toggle {
133
+ transform: translateX(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX));
133
134
  position: absolute;
134
135
  inset-block-start: 0;
135
136
  inset-inline-start: var(--pf-v5-c-dual-list-selector__list__list__item-toggle--Left);
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
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-dual-list-selector__list .pf-v5-c-dual-list-selector__list .pf-v5-c-dual-list-selector__item-toggle {
139
+ transform: translateX(calc(var(--pf-v5-c-dual-list-selector__list__list__item-toggle--TranslateX) * var(--pf-v5-global--inverse--multiplier)));
140
+ }
141
+
138
142
  .pf-v5-c-dual-list-selector__list.pf-m-drag-over {
139
143
  overflow-anchor: none;
140
144
  }
@@ -233,7 +237,7 @@
233
237
  padding-inline-end: var(--pf-v5-c-dual-list-selector__controls--PaddingRight);
234
238
  }
235
239
 
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) {
240
+ :where(.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
241
  scale: -1 1;
238
242
  }
239
243
 
@@ -168,10 +168,15 @@ $pf-v5-c-dual-list-selector__item--MaxNesting: 10;
168
168
  --#{$dual-list-selector}__item-toggle--MarginBottom: 0;
169
169
 
170
170
  .#{$dual-list-selector}__item-toggle {
171
+ @include pf-v5-bidirectional-style(
172
+ $prop: transform,
173
+ $ltr-val: translateX(var(--#{$dual-list-selector}__list__list__item-toggle--TranslateX)),
174
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$dual-list-selector}__list__list__item-toggle--TranslateX))}),
175
+ );
176
+
171
177
  position: absolute;
172
178
  inset-block-start: 0;
173
179
  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
180
  }
176
181
  }
177
182
 
@@ -295,7 +300,7 @@ $pf-v5-c-dual-list-selector__item--MaxNesting: 10;
295
300
  }
296
301
 
297
302
  :is(.#{$dual-list-selector}__controls-item, .#{$dual-list-selector}__item-toggle-icon) {
298
- @include pf-v5-rtl("flip-inline");
303
+ @include pf-v5-mirror-inline-on-rtl;
299
304
  }
300
305
 
301
306
  .#{$dual-list-selector}__item-main {
@@ -117,6 +117,10 @@
117
117
  transition: var(--pf-v5-c-expandable-section__toggle-icon--Transition);
118
118
  transform: rotate(var(--pf-v5-c-expandable-section__toggle-icon--Rotate));
119
119
  }
120
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-expandable-section__toggle-icon {
121
+ scale: -1 1;
122
+ }
123
+
120
124
  .pf-v5-c-expandable-section__toggle-icon.pf-m-expand-top {
121
125
  --pf-v5-c-expandable-section__toggle-icon--Rotate: var(--pf-v5-c-expandable-section__toggle-icon--m-expand-top--Rotate);
122
126
  }
@@ -147,6 +147,8 @@
147
147
  }
148
148
 
149
149
  .#{$expandable-section}__toggle-icon {
150
+ @include pf-v5-mirror-inline-on-rtl;
151
+
150
152
  min-width: var(--#{$expandable-section}__toggle-icon--MinWidth);
151
153
  color: var(--#{$expandable-section}__toggle-icon--Color);
152
154
  transition: var(--#{$expandable-section}__toggle-icon--Transition);
@@ -453,6 +453,9 @@
453
453
  transition: var(--pf-v5-c-form__field-group-toggle-icon--Transition);
454
454
  transform: rotate(var(--pf-v5-c-form__field-group-toggle-icon--Rotate));
455
455
  }
456
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-form__field-group-toggle-icon {
457
+ scale: -1 1;
458
+ }
456
459
 
457
460
  .pf-v5-c-form__field-group-header {
458
461
  display: flex;
@@ -465,6 +465,8 @@ $pf-v5-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
465
465
  text-align: center;
466
466
  transition: var(--#{$form}__field-group-toggle-icon--Transition);
467
467
  transform: rotate(var(--#{$form}__field-group-toggle-icon--Rotate));
468
+
469
+ @include pf-v5-mirror-inline-on-rtl;
468
470
  }
469
471
 
470
472
  .#{$form}__field-group-header {
@@ -144,7 +144,7 @@
144
144
  // Progress element
145
145
  .#{$icon}__progress {
146
146
  position: absolute;
147
- inset-block-start: calc(50% + calc(.5 * var(--#{$icon}__content--svg--VerticalAlign)));
147
+ inset-block-start: calc(50% + calc(.5 * var(--#{$icon}__content--svg--VerticalAlign)));
148
148
  opacity: var(--#{$icon}__progress--Opacity, 0);
149
149
  transform: translateY(calc(-50% - calc(.5 * var(--#{$icon}__content--svg--VerticalAlign))));
150
150
  }
@@ -252,6 +252,9 @@
252
252
  transition: var(--pf-v5-c-jump-links__toggle-icon--Transition);
253
253
  transform: rotate(var(--pf-v5-c-jump-links__toggle-icon--Rotate));
254
254
  }
255
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-jump-links__toggle-icon {
256
+ scale: -1 1;
257
+ }
255
258
 
256
259
  .pf-v5-c-jump-links__toggle-text {
257
260
  margin-inline-start: var(--pf-v5-c-jump-links__toggle-text--MarginLeft);
@@ -230,6 +230,8 @@ $pf-v5-c-jump-links--m-expandable--breakpoint-map: build-breakpoint-map("base",
230
230
  }
231
231
 
232
232
  .#{$jump-links}__toggle-icon {
233
+ @include pf-v5-mirror-inline-on-rtl;
234
+
233
235
  display: inline-block;
234
236
  color: var(--#{$jump-links}__toggle-icon--Color);
235
237
  transition: var(--#{$jump-links}__toggle-icon--Transition);
@@ -259,6 +259,10 @@
259
259
  .pf-v5-c-menu.pf-m-drilldown.pf-m-drilled-in > .pf-v5-c-menu__list {
260
260
  transform: translateX(-100%);
261
261
  }
262
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-menu.pf-m-drilldown.pf-m-drilled-in > .pf-v5-c-menu__content > .pf-v5-c-menu__list, .pf-v5-c-menu.pf-m-drilldown.pf-m-drilled-in > .pf-v5-c-menu__list {
263
+ transform: translateX(calc(-100% * var(--pf-v5-global--inverse--multiplier)));
264
+ }
265
+
262
266
  .pf-v5-c-menu.pf-m-drilldown > .pf-v5-c-menu__content .pf-v5-c-menu {
263
267
  --pf-v5-c-menu--BoxShadow: none;
264
268
  position: absolute;
@@ -270,6 +274,10 @@
270
274
  .pf-v5-c-menu.pf-m-drilldown > .pf-v5-c-menu__content .pf-v5-c-menu.pf-m-drilled-in {
271
275
  transform: translateX(-100%);
272
276
  }
277
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-menu.pf-m-drilldown > .pf-v5-c-menu__content .pf-v5-c-menu.pf-m-drilled-in {
278
+ transform: translateX(calc(-100% * var(--pf-v5-global--inverse--multiplier)));
279
+ }
280
+
273
281
  .pf-v5-c-menu.pf-m-drilldown .pf-v5-c-menu__list {
274
282
  position: relative;
275
283
  overflow: hidden;
@@ -569,6 +577,9 @@ label.pf-v5-c-menu__item:where(:not([disabled], .pf-m-disabled, .pf-m-aria-disab
569
577
  padding-inline-end: var(--pf-v5-c-menu__item-toggle-icon--PaddingRight);
570
578
  color: var(--pf-v5-c-menu__item-toggle-icon, inherit);
571
579
  }
580
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-menu__item-toggle-icon {
581
+ scale: -1 1;
582
+ }
572
583
 
573
584
  .pf-v5-c-menu__item-text + .pf-v5-c-menu__item-toggle-icon {
574
585
  margin-inline-start: var(--pf-v5-c-menu__item-text--item-toggle-icon--MarginLeft);
@@ -282,7 +282,11 @@
282
282
  // target first list in menu
283
283
  > .#{$menu}__content > .#{$menu}__list,
284
284
  > .#{$menu}__list {
285
- transform: translateX(-100%);
285
+ @include pf-v5-bidirectional-style(
286
+ $prop: transform,
287
+ $ltr-val: translateX(-100%),
288
+ $rtl-val: translateX(#{pf-v5-calc-inverse(-100%)})
289
+ );
286
290
  }
287
291
  // stylelint-enable
288
292
  }
@@ -299,7 +303,11 @@
299
303
 
300
304
  // stylelint-disable selector-max-class
301
305
  &.pf-m-drilled-in {
302
- transform: translateX(-100%);
306
+ @include pf-v5-bidirectional-style(
307
+ $prop: transform,
308
+ $ltr-val: translateX(-100%),
309
+ $rtl-val: translateX(#{pf-v5-calc-inverse(-100%)})
310
+ );
303
311
  }
304
312
  // stylelint-enable
305
313
  }
@@ -686,6 +694,8 @@
686
694
 
687
695
  // Toggle icon
688
696
  .#{$menu}__item-toggle-icon {
697
+ @include pf-v5-mirror-inline-on-rtl;
698
+
689
699
  padding-inline-start: var(--#{$menu}__item-toggle-icon--PaddingLeft);
690
700
  padding-inline-end: var(--#{$menu}__item-toggle-icon--PaddingRight);
691
701
  color: var(--#{$menu}__item-toggle-icon, inherit);
@@ -414,6 +414,10 @@
414
414
  .pf-v5-c-nav .pf-v5-c-menu__item-toggle-icon {
415
415
  margin-inline-start: calc(var(--pf-v5-c-menu__item-toggle-icon--PaddingLeft) * -1);
416
416
  }
417
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-nav .pf-v5-c-menu__item-toggle-icon {
418
+ scale: -1 1;
419
+ }
420
+
417
421
  .pf-v5-c-nav.pf-m-horizontal .pf-v5-c-nav__link::after, .pf-v5-c-nav.pf-m-tertiary .pf-v5-c-nav__link::after {
418
422
  content: none;
419
423
  }
@@ -857,6 +861,10 @@
857
861
  display: inline-block;
858
862
  transition: var(--pf-v5-c-nav__toggle-icon--Transition);
859
863
  }
864
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-nav__toggle-icon {
865
+ scale: -1 1;
866
+ }
867
+
860
868
  .pf-v5-c-nav__item.pf-m-expanded .pf-v5-c-nav__toggle-icon {
861
869
  transform: rotate(var(--pf-v5-c-nav__item--m-expanded__toggle-icon--Rotate));
862
870
  }
@@ -912,6 +920,10 @@
912
920
  opacity: 0;
913
921
  transition: var(--pf-v5-c-nav__scroll-button--Transition);
914
922
  }
923
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-nav__scroll-button > * {
924
+ scale: -1 1;
925
+ }
926
+
915
927
  .pf-v5-c-nav__scroll-button::before {
916
928
  position: absolute;
917
929
  inset-block-start: 0;
@@ -939,6 +951,10 @@
939
951
  margin-inline-end: calc(var(--pf-v5-c-nav__scroll-button--Width) * -1);
940
952
  transform: translateX(-100%);
941
953
  }
954
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-nav__scroll-button:nth-of-type(1) {
955
+ transform: translateX(calc(-100% * var(--pf-v5-global--inverse--multiplier)));
956
+ }
957
+
942
958
  .pf-v5-c-nav__scroll-button:nth-of-type(1)::before {
943
959
  inset-inline-end: 0;
944
960
  }
@@ -947,6 +963,10 @@
947
963
  margin-inline-start: calc(var(--pf-v5-c-nav__scroll-button--Width) * -1);
948
964
  transform: translateX(100%);
949
965
  }
966
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-nav__scroll-button:nth-of-type(2) {
967
+ transform: translateX(calc(100% * var(--pf-v5-global--inverse--multiplier)));
968
+ }
969
+
950
970
  .pf-v5-c-nav__scroll-button:nth-of-type(2)::before {
951
971
  inset-inline-start: 0;
952
972
  }
@@ -508,6 +508,8 @@
508
508
  }
509
509
 
510
510
  .#{$menu}__item-toggle-icon {
511
+ @include pf-v5-mirror-inline-on-rtl;
512
+
511
513
  margin-inline-start: calc(var(--#{$menu}__item-toggle-icon--PaddingLeft) * -1);
512
514
  }
513
515
 
@@ -1064,6 +1066,8 @@
1064
1066
  display: inline-block;
1065
1067
  transition: var(--#{$nav}__toggle-icon--Transition);
1066
1068
 
1069
+ @include pf-v5-mirror-inline-on-rtl;
1070
+
1067
1071
  .#{$nav}__item.pf-m-expanded & {
1068
1072
  transform: rotate(var(--#{$nav}__item--m-expanded__toggle-icon--Rotate));
1069
1073
  }
@@ -1132,6 +1136,12 @@
1132
1136
  opacity: 0;
1133
1137
  transition: var(--#{$nav}__scroll-button--Transition);
1134
1138
 
1139
+ // Mirror only the contents to avoid flipping the borders
1140
+ // TODO at breaking change, add an icon wrapper to be mirrored
1141
+ > * {
1142
+ @include pf-v5-mirror-inline-on-rtl;
1143
+ }
1144
+
1135
1145
  &::before {
1136
1146
  position: absolute;
1137
1147
  inset-block-start: 0;
@@ -1163,8 +1173,13 @@
1163
1173
  --#{$nav}__scroll-button--before--BorderRightWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
1164
1174
 
1165
1175
  margin-inline-end: calc(var(--#{$nav}__scroll-button--Width) * -1);
1166
- transform: translateX(-100%);
1167
1176
 
1177
+ @include pf-v5-bidirectional-style(
1178
+ $prop: transform,
1179
+ $ltr-val: translateX(-100%),
1180
+ $rtl-val: translateX(#{pf-v5-calc-inverse(-100%)})
1181
+ );
1182
+
1168
1183
  &::before {
1169
1184
  inset-inline-end: 0;
1170
1185
  }
@@ -1174,7 +1189,12 @@
1174
1189
  --#{$nav}__scroll-button--before--BorderLeftWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
1175
1190
 
1176
1191
  margin-inline-start: calc(var(--#{$nav}__scroll-button--Width) * -1);
1177
- transform: translateX(100%);
1192
+
1193
+ @include pf-v5-bidirectional-style(
1194
+ $prop: transform,
1195
+ $ltr-val: translateX(100%),
1196
+ $rtl-val: translateX(#{pf-v5-calc-inverse(100%)})
1197
+ );
1178
1198
 
1179
1199
  &::before {
1180
1200
  inset-inline-start: 0;
@@ -267,6 +267,10 @@
267
267
  color: var(--pf-v5-c-notification-drawer__group-toggle-icon--Color);
268
268
  transition: var(--pf-v5-c-notification-drawer__group-toggle-icon--Transition);
269
269
  }
270
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-notification-drawer__group-toggle-icon {
271
+ scale: -1 1;
272
+ }
273
+
270
274
  .pf-v5-c-notification-drawer__group.pf-m-expanded .pf-v5-c-notification-drawer__group-toggle-icon {
271
275
  transform: rotate(var(--pf-v5-c-notification-drawer__group--m-expanded__group-toggle-icon--Rotate));
272
276
  }
@@ -307,6 +307,8 @@
307
307
  }
308
308
 
309
309
  .#{$notification-drawer}__group-toggle-icon {
310
+ @include pf-v5-mirror-inline-on-rtl;
311
+
310
312
  margin-inline-end: var(--#{$notification-drawer}__group-toggle-icon--MarginRight);
311
313
  color: var(--#{$notification-drawer}__group-toggle-icon--Color);
312
314
  transition: var(--#{$notification-drawer}__group-toggle-icon--Transition);
@@ -399,6 +399,10 @@
399
399
  transition: var(--pf-v5-c-page__sidebar--Transition);
400
400
  transform: translateX(var(--pf-v5-c-page__sidebar--TranslateX)) translateZ(var(--pf-v5-c-page__sidebar--TranslateZ));
401
401
  }
402
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-page__sidebar {
403
+ transform: translateX(calc(var(--pf-v5-c-page__sidebar--TranslateX) * var(--pf-v5-global--inverse--multiplier))) translateZ(var(--pf-v5-c-page__sidebar--TranslateZ));
404
+ }
405
+
402
406
  .pf-v5-c-page__sidebar.pf-m-expanded {
403
407
  --pf-v5-c-page__sidebar--TranslateX: var(--pf-v5-c-page__sidebar--m-expanded--TranslateX);
404
408
  box-shadow: var(--pf-v5-c-page__sidebar--BoxShadow);
@@ -404,7 +404,12 @@ $pf-page-v5--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
404
404
  -webkit-overflow-scrolling: touch;
405
405
  background-color: var(--#{$page}__sidebar--BackgroundColor);
406
406
  transition: var(--#{$page}__sidebar--Transition);
407
- transform: translateX(var(--#{$page}__sidebar--TranslateX)) translateZ(var(--#{$page}__sidebar--TranslateZ));
407
+
408
+ @include pf-v5-bidirectional-style(
409
+ $prop: transform,
410
+ $ltr-val: translateX(var(--#{$page}__sidebar--TranslateX)) translateZ(var(--#{$page}__sidebar--TranslateZ)),
411
+ $rtl-val: translateX(#{pf-v5-calc-inverse(var(--#{$page}__sidebar--TranslateX))}) translateZ(var(--#{$page}__sidebar--TranslateZ))
412
+ );
408
413
 
409
414
  // Mobile
410
415
  // Expanded nav
@@ -196,7 +196,7 @@
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 {
199
+ :where(.pf-v5-m-dir-rtl, [dir=rtl]) .pf-v5-c-pagination__nav-control {
200
200
  scale: -1 1;
201
201
  }
202
202
 
@@ -237,7 +237,7 @@ $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");
240
+ @include pf-v5-mirror-inline-on-rtl;
241
241
 
242
242
  .#{$button} {
243
243
  padding-inline-start: var(--#{$pagination}__nav-control--c-button--PaddingLeft);
@@ -61,39 +61,61 @@
61
61
  --pf-v5-c-popover--MinWidth: auto;
62
62
  --pf-v5-c-popover--MaxWidth: none;
63
63
  }
64
- .pf-v5-c-popover.pf-m-top .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-top-left .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-top-right .pf-v5-c-popover__arrow {
65
- inset-block-end: 0;
66
- inset-inline-start: 50%;
67
- transform: translateX(var(--pf-v5-c-popover__arrow--m-top--TranslateX)) translateY(var(--pf-v5-c-popover__arrow--m-top--TranslateY)) rotate(var(--pf-v5-c-popover__arrow--m-top--Rotate));
68
- }
69
- .pf-v5-c-popover.pf-m-bottom .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-bottom-left .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-bottom-right .pf-v5-c-popover__arrow {
70
- inset-block-start: 0;
71
- inset-inline-start: 50%;
72
- transform: translateX(var(--pf-v5-c-popover__arrow--m-bottom--TranslateX)) translateY(var(--pf-v5-c-popover__arrow--m-bottom--TranslateY)) rotate(var(--pf-v5-c-popover__arrow--m-bottom--Rotate));
73
- }
74
- .pf-v5-c-popover.pf-m-left .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-left-top .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-left-bottom .pf-v5-c-popover__arrow {
75
- inset-block-start: 50%;
76
- inset-inline-end: 0;
77
- transform: translateX(var(--pf-v5-c-popover__arrow--m-left--TranslateX)) translateY(var(--pf-v5-c-popover__arrow--m-left--TranslateY)) rotate(var(--pf-v5-c-popover__arrow--m-left--Rotate));
78
- }
79
- .pf-v5-c-popover.pf-m-right .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-right-top .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-right-bottom .pf-v5-c-popover__arrow {
80
- inset-block-start: 50%;
81
- inset-inline-start: 0;
82
- transform: translateX(var(--pf-v5-c-popover__arrow--m-right--TranslateX)) translateY(var(--pf-v5-c-popover__arrow--m-right--TranslateY)) rotate(var(--pf-v5-c-popover__arrow--m-right--Rotate));
83
- }
84
- .pf-v5-c-popover.pf-m-left-top .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-right-top .pf-v5-c-popover__arrow {
85
- inset-block-start: var(--pf-v5-c-popover__arrow--Height);
86
- }
87
- .pf-v5-c-popover.pf-m-left-bottom .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-right-bottom .pf-v5-c-popover__arrow {
88
- inset-block-start: auto;
89
- inset-block-end: 0;
90
- }
91
- .pf-v5-c-popover.pf-m-top-left .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-bottom-left .pf-v5-c-popover__arrow {
92
- inset-inline-start: var(--pf-v5-c-popover__arrow--Width);
93
- }
94
- .pf-v5-c-popover.pf-m-top-right .pf-v5-c-popover__arrow, .pf-v5-c-popover.pf-m-bottom-right .pf-v5-c-popover__arrow {
95
- inset-inline-start: auto;
96
- inset-inline-end: 0;
64
+ .pf-v5-c-popover:is(.pf-m-top,
65
+ .pf-m-top-left,
66
+ .pf-m-top-right) {
67
+ --pf-v5-c-popover__arrow--Bottom: var(--pf-v5-c-popover--m-top--Bottom, 0);
68
+ --pf-v5-c-popover__arrow--Left: var(--pf-v5-c-popover--m-top--Left, 50%);
69
+ --pf-v5-c-popover__arrow--TranslateX: var(--pf-v5-c-popover__arrow--m-top--TranslateX);
70
+ --pf-v5-c-popover__arrow--TranslateY: var(--pf-v5-c-popover__arrow--m-top--TranslateY);
71
+ --pf-v5-c-popover__arrow--Rotate: var(--pf-v5-c-popover__arrow--m-top--Rotate);
72
+ }
73
+ .pf-v5-c-popover:is(.pf-m-bottom,
74
+ .pf-m-bottom-left,
75
+ .pf-m-bottom-right) {
76
+ --pf-v5-c-popover__arrow--Top: var(--pf-v5-c-popover--m-bottom--Top, 0);
77
+ --pf-v5-c-popover__arrow--Left: var(--pf-v5-c-popover--m-bottom--Left, 50%);
78
+ --pf-v5-c-popover__arrow--TranslateX: var(--pf-v5-c-popover__arrow--m-bottom--TranslateX);
79
+ --pf-v5-c-popover__arrow--TranslateY: var(--pf-v5-c-popover__arrow--m-bottom--TranslateY);
80
+ --pf-v5-c-popover__arrow--Rotate: var(--pf-v5-c-popover__arrow--m-bottom--Rotate);
81
+ }
82
+ .pf-v5-c-popover:is(.pf-m-left,
83
+ .pf-m-left-top,
84
+ .pf-m-left-bottom) {
85
+ --pf-v5-c-popover__arrow--Top: var(--pf-v5-c-popover--m-left--Top, 50%);
86
+ --pf-v5-c-popover__arrow--Right: var(--pf-v5-c-popover--m-left--Right, 0);
87
+ --pf-v5-c-popover__arrow--TranslateX: var(--pf-v5-c-popover__arrow--m-left--TranslateX);
88
+ --pf-v5-c-popover__arrow--TranslateY: var(--pf-v5-c-popover__arrow--m-left--TranslateY);
89
+ --pf-v5-c-popover__arrow--Rotate: var(--pf-v5-c-popover__arrow--m-left--Rotate);
90
+ }
91
+ .pf-v5-c-popover:is(.pf-m-right,
92
+ .pf-m-right-top,
93
+ .pf-m-right-bottom) {
94
+ --pf-v5-c-popover__arrow--Top: var(--pf-v5-c-popover--m-right--Top, 50%);
95
+ --pf-v5-c-popover__arrow--Left: var(--pf-v5-c-popover--m-right--Left, 0);
96
+ --pf-v5-c-popover__arrow--TranslateX: var(--pf-v5-c-popover__arrow--m-right--TranslateX);
97
+ --pf-v5-c-popover__arrow--TranslateY: var(--pf-v5-c-popover__arrow--m-right--TranslateY);
98
+ --pf-v5-c-popover__arrow--Rotate: var(--pf-v5-c-popover__arrow--m-right--Rotate);
99
+ }
100
+ .pf-v5-c-popover:is(.pf-m-left-top,
101
+ .pf-m-right-top) {
102
+ --pf-v5-c-popover__arrow--Top: 0;
103
+ --pf-v5-c-popover__arrow--TranslateY: var(--pf-v5-c-popover__arrow--m-top--TranslateY);
104
+ }
105
+ .pf-v5-c-popover:is(.pf-m-left-bottom,
106
+ .pf-m-right-bottom) {
107
+ --pf-v5-c-popover__arrow--Top: auto;
108
+ --pf-v5-c-popover__arrow--Bottom: 0;
109
+ }
110
+ .pf-v5-c-popover:is(.pf-m-top-left,
111
+ .pf-m-bottom-left) {
112
+ --pf-v5-c-popover__arrow--Left: 0;
113
+ --pf-v5-c-popover__arrow--TranslateX: var(--pf-v5-c-popover__arrow--m-left--TranslateX);
114
+ }
115
+ .pf-v5-c-popover:is(.pf-m-top-right,
116
+ .pf-m-bottom-right) {
117
+ --pf-v5-c-popover__arrow--Right: 0;
118
+ --pf-v5-c-popover__arrow--Left: auto;
97
119
  }
98
120
  .pf-v5-c-popover.pf-m-danger {
99
121
  --pf-v5-c-popover__title-icon--Color: var(--pf-v5-c-popover--m-danger__title-icon--Color);
@@ -136,11 +158,18 @@
136
158
 
137
159
  .pf-v5-c-popover__arrow {
138
160
  position: absolute;
161
+ /* stylelint-disable liberty/use-logical-spec */
162
+ top: var(--pf-v5-c-popover__arrow--Top, auto);
163
+ right: var(--pf-v5-c-popover__arrow--Right, auto);
164
+ bottom: var(--pf-v5-c-popover__arrow--Bottom, auto);
165
+ left: var(--pf-v5-c-popover__arrow--Left, auto);
166
+ /* stylelint-enable */
139
167
  width: var(--pf-v5-c-popover__arrow--Width);
140
168
  height: var(--pf-v5-c-popover__arrow--Height);
141
169
  pointer-events: none;
142
170
  background-color: var(--pf-v5-c-popover__arrow--BackgroundColor);
143
171
  box-shadow: var(--pf-v5-c-popover__arrow--BoxShadow);
172
+ transform: translateX(var(--pf-v5-c-popover__arrow--TranslateX, 0)) translateY(var(--pf-v5-c-popover__arrow--TranslateY, 0)) rotate(var(--pf-v5-c-popover__arrow--Rotate, 0));
144
173
  }
145
174
 
146
175
  .pf-v5-c-popover__header {