@keenmate/pure-admin-core 1.3.0 → 1.4.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 (39) hide show
  1. package/README.md +25 -1
  2. package/dist/css/main.css +892 -762
  3. package/package.json +6 -5
  4. package/src/scss/_core.scss +4 -0
  5. package/src/scss/_fonts.scss +1 -17
  6. package/src/scss/_rtl-helpers.scss +161 -0
  7. package/src/scss/core-components/_alerts.scss +3 -3
  8. package/src/scss/core-components/_base.scss +4 -3
  9. package/src/scss/core-components/_buttons.scss +9 -9
  10. package/src/scss/core-components/_callouts.scss +14 -9
  11. package/src/scss/core-components/_cards.scss +41 -0
  12. package/src/scss/core-components/_checkbox-lists.scss +6 -6
  13. package/src/scss/core-components/_code.scss +10 -10
  14. package/src/scss/core-components/_command-palette.scss +5 -14
  15. package/src/scss/core-components/_comparison.scss +3 -3
  16. package/src/scss/core-components/_data-display.scss +6 -6
  17. package/src/scss/core-components/_detail-panel.scss +43 -26
  18. package/src/scss/core-components/_file-selector.scss +2 -2
  19. package/src/scss/core-components/_grid.scss +13 -24
  20. package/src/scss/core-components/_lists.scss +12 -12
  21. package/src/scss/core-components/_modals.scss +2 -8
  22. package/src/scss/core-components/_pagers.scss +1 -1
  23. package/src/scss/core-components/_profile.scss +11 -6
  24. package/src/scss/core-components/_settings-panel.scss +22 -9
  25. package/src/scss/core-components/_tables.scss +76 -30
  26. package/src/scss/core-components/_tabs.scss +27 -14
  27. package/src/scss/core-components/_timeline.scss +5 -5
  28. package/src/scss/core-components/_toasts.scss +57 -21
  29. package/src/scss/core-components/_tooltips.scss +11 -6
  30. package/src/scss/core-components/_utilities.scss +80 -31
  31. package/src/scss/core-components/forms/_input-groups.scss +23 -22
  32. package/src/scss/core-components/forms/_input-wrapper.scss +3 -3
  33. package/src/scss/core-components/forms/_query-editor.scss +1 -1
  34. package/src/scss/core-components/layout/_layout-responsive.scss +3 -4
  35. package/src/scss/core-components/layout/_navbar-elements.scss +17 -6
  36. package/src/scss/core-components/layout/_navbar.scss +11 -22
  37. package/src/scss/core-components/layout/_sidebar-states.scss +25 -16
  38. package/src/scss/core-components/layout/_sidebar.scss +22 -16
  39. package/src/scss/variables/_system.scss +1 -0
@@ -79,7 +79,7 @@
79
79
  content: 'Click to copy';
80
80
  font-size: $font-size-2xs;
81
81
  opacity: 0;
82
- margin-left: $spacing-sm;
82
+ margin-inline-start: $spacing-sm; // RTL: flips to right
83
83
  transition: opacity 0.15s;
84
84
  }
85
85
 
@@ -167,8 +167,8 @@
167
167
  display: flex;
168
168
  flex-direction: column;
169
169
  gap: $fields-gap;
170
- border-left: $fields-border-left;
171
- padding-left: $fields-padding-left;
170
+ border-inline-start: $fields-border-left; // RTL: flips to right
171
+ padding-inline-start: $fields-padding-left; // RTL: flips to right
172
172
 
173
173
  // ------------------------------------------------------------------
174
174
  // GRID COLUMNS: multi-column layouts using CSS grid
@@ -338,10 +338,10 @@
338
338
  }
339
339
 
340
340
  // ------------------------------------------------------------------
341
- // NO BORDER: remove left border
341
+ // NO BORDER: remove start border
342
342
  // ------------------------------------------------------------------
343
343
  &--no-border {
344
- border-left: none;
345
- padding-left: 0;
344
+ border-inline-start: none; // RTL: flips to right
345
+ padding-inline-start: 0; // RTL: flips to right
346
346
  }
347
347
  }
@@ -33,20 +33,20 @@
33
33
  overflow: auto;
34
34
  }
35
35
 
36
- // Right side: detail panel (hidden by default)
36
+ // End side: detail panel (hidden by default, right in LTR, left in RTL)
37
37
  &__panel {
38
38
  width: 0;
39
39
  min-width: 0;
40
40
  overflow: hidden;
41
41
  flex-shrink: 0;
42
- border-left: 0 solid var(--pa-border-color);
42
+ border-inline-start: 0 solid var(--pa-border-color); // RTL: flips to right
43
43
 
44
44
  // Open state: show panel with configured width
45
45
  &--open {
46
46
  width: var(--pa-local-detail-panel-width);
47
47
  min-width: $detail-panel-min-width;
48
48
  max-width: var(--pa-local-detail-panel-max-width);
49
- border-left-width: $border-width-base;
49
+ border-inline-start-width: $border-width-base; // RTL: flips to right
50
50
  overflow: visible;
51
51
  }
52
52
  }
@@ -64,21 +64,23 @@
64
64
  .pa-detail-view__panel {
65
65
  position: absolute;
66
66
  top: 0;
67
- right: 0;
67
+ inset-inline-end: 0; // RTL: flips to left
68
68
  height: 100%;
69
- z-index: 2;
69
+ z-index: $z-index-detail-panel-card + 1; // 3501 - Below header (4000)
70
+
71
+ // In card overlay mode, constrain panel width to container
72
+ &--open {
73
+ max-width: 100%; // Don't exceed container width
74
+ }
70
75
  }
71
76
  }
72
77
 
73
78
  // Backdrop for card overlay mode
74
79
  .pa-detail-view__overlay {
75
80
  position: absolute;
76
- top: 0;
77
- left: 0;
78
- width: 100%;
79
- height: 100%;
81
+ inset: 0; // Covers full container
80
82
  background-color: var(--pa-detail-panel-overlay-bg);
81
- z-index: 1;
83
+ z-index: $z-index-detail-panel-card; // 3500 - Below panel and header
82
84
  opacity: 0;
83
85
  visibility: hidden;
84
86
  cursor: pointer;
@@ -96,9 +98,7 @@
96
98
 
97
99
  .pa-detail-panel--overlay {
98
100
  position: fixed;
99
- top: 0;
100
- right: 0;
101
- height: 100vh;
101
+ inset: 0; // Cover full viewport for backdrop
102
102
  z-index: var(--pa-detail-panel-z-index);
103
103
  pointer-events: none;
104
104
  opacity: 0;
@@ -127,26 +127,36 @@
127
127
  background-color: var(--pa-card-bg);
128
128
  position: relative;
129
129
 
130
- // In overlay mode: slide-in from right
130
+ // In overlay mode: slide-in from end side (right in LTR, left in RTL)
131
131
  .pa-detail-panel--overlay & {
132
132
  position: absolute;
133
133
  top: 0;
134
134
  right: 0;
135
+ left: auto;
135
136
  height: 100vh;
136
137
  width: var(--pa-local-detail-panel-width);
137
138
  max-width: var(--pa-local-detail-panel-max-width);
138
139
  box-shadow: $detail-panel-shadow;
139
140
  transform: translateX(100%);
140
141
  }
142
+
143
+ // RTL: position on left and slide from left
144
+ [dir="rtl"] .pa-detail-panel--overlay & {
145
+ right: auto;
146
+ left: 0;
147
+ transform: translateX(-100%);
148
+ }
149
+
150
+ // RTL open state
151
+ [dir="rtl"] .pa-detail-panel--overlay.pa-detail-panel--open & {
152
+ transform: translateX(0);
153
+ }
141
154
  }
142
155
 
143
156
  // Backdrop overlay (overlay mode only)
144
157
  .pa-detail-panel__overlay {
145
158
  position: absolute;
146
- top: 0;
147
- left: 0;
148
- width: 100vw;
149
- height: 100vh;
159
+ inset: 0; // Covers full viewport
150
160
  background-color: var(--pa-detail-panel-overlay-bg);
151
161
  cursor: pointer;
152
162
  }
@@ -248,7 +258,7 @@
248
258
  .pa-detail-panel-resize {
249
259
  position: absolute;
250
260
  top: 0;
251
- left: 0;
261
+ inset-inline-start: 0; // RTL: flips to right
252
262
  width: $detail-panel-resize-handle-width;
253
263
  height: 100%;
254
264
  cursor: col-resize;
@@ -293,9 +303,7 @@
293
303
  .pa-detail-panel--mobile-overlay {
294
304
  display: block;
295
305
  position: fixed;
296
- top: 0;
297
- right: 0;
298
- height: 100vh;
306
+ inset: 0; // Cover full viewport for backdrop
299
307
  z-index: var(--pa-detail-panel-z-index);
300
308
  pointer-events: none;
301
309
  opacity: 0;
@@ -315,6 +323,7 @@
315
323
  position: absolute;
316
324
  top: 0;
317
325
  right: 0;
326
+ left: auto;
318
327
  height: 100vh;
319
328
  width: $detail-panel-mobile-width;
320
329
  max-width: none;
@@ -322,12 +331,20 @@
322
331
  transform: translateX(100%);
323
332
  }
324
333
 
334
+ // RTL: position on left and slide from left
335
+ [dir="rtl"] & .pa-detail-panel__content {
336
+ right: auto;
337
+ left: 0;
338
+ transform: translateX(-100%);
339
+ }
340
+
341
+ [dir="rtl"] &.pa-detail-panel--open .pa-detail-panel__content {
342
+ transform: translateX(0);
343
+ }
344
+
325
345
  .pa-detail-panel__overlay {
326
346
  position: absolute;
327
- top: 0;
328
- left: 0;
329
- width: 100vw;
330
- height: 100vh;
347
+ inset: 0; // Covers full viewport
331
348
  background-color: var(--pa-detail-panel-overlay-bg);
332
349
  cursor: pointer;
333
350
  }
@@ -102,7 +102,7 @@
102
102
 
103
103
  &-icon {
104
104
  display: inline-block;
105
- margin-right: $spacing-xs;
105
+ margin-inline-end: $spacing-xs; // RTL: flips to left
106
106
  font-size: $font-size-lg;
107
107
  }
108
108
  }
@@ -374,7 +374,7 @@
374
374
  }
375
375
 
376
376
  th {
377
- text-align: left;
377
+ text-align: start; // RTL: flips to right
378
378
  padding: $spacing-xs $spacing-sm;
379
379
  border-bottom: $border-width-base solid var(--pa-border-color);
380
380
  color: var(--pa-text-color-2);
@@ -47,24 +47,20 @@ $grid-columns-fractions: (
47
47
  .pa-row {
48
48
  display: flex;
49
49
  flex-wrap: wrap;
50
- margin-left: -$grid-gutter;
51
- margin-right: -$grid-gutter;
50
+ margin-inline: -$grid-gutter; // RTL: flips automatically
52
51
 
53
52
  // Nested rows reset margins
54
53
  .pa-row {
55
- margin-left: 0;
56
- margin-right: 0;
54
+ margin-inline: 0;
57
55
  }
58
56
  }
59
57
 
60
58
  // Row modifiers
61
59
  .pa-row--no-gutter {
62
- margin-left: 0;
63
- margin-right: 0;
60
+ margin-inline: 0;
64
61
 
65
62
  > [class*="pa-col"] {
66
- padding-left: 0;
67
- padding-right: 0;
63
+ padding-inline: 0;
68
64
  }
69
65
  }
70
66
 
@@ -113,8 +109,7 @@ $grid-columns-fractions: (
113
109
  // ============================================================================
114
110
  .pa-col {
115
111
  flex: 1;
116
- padding-left: $grid-gutter;
117
- padding-right: $grid-gutter;
112
+ padding-inline: $grid-gutter; // RTL: flips automatically
118
113
  min-width: 0; // Prevent content overflow
119
114
  }
120
115
 
@@ -122,8 +117,7 @@ $grid-columns-fractions: (
122
117
  .pa-col-auto {
123
118
  flex: 0 0 auto;
124
119
  width: auto;
125
- padding-left: $grid-gutter;
126
- padding-right: $grid-gutter;
120
+ padding-inline: $grid-gutter;
127
121
  }
128
122
 
129
123
  // ============================================================================
@@ -133,8 +127,7 @@ $grid-columns-fractions: (
133
127
  .pa-col-#{$size} {
134
128
  flex: 0 0 math.percentage(math.div($size, 100));
135
129
  max-width: math.percentage(math.div($size, 100));
136
- padding-left: $grid-gutter;
137
- padding-right: $grid-gutter;
130
+ padding-inline: $grid-gutter; // RTL: flips automatically
138
131
  min-width: 0; // Prevent content overflow
139
132
  }
140
133
  }
@@ -146,8 +139,7 @@ $grid-columns-fractions: (
146
139
  .pa-col-#{$name} {
147
140
  flex: 0 0 $width;
148
141
  max-width: $width;
149
- padding-left: $grid-gutter;
150
- padding-right: $grid-gutter;
142
+ padding-inline: $grid-gutter; // RTL: flips automatically
151
143
  min-width: 0; // Prevent content overflow
152
144
  }
153
145
  }
@@ -158,7 +150,7 @@ $grid-columns-fractions: (
158
150
  @each $size in $grid-columns-5 {
159
151
  @if $size < 100 {
160
152
  .pa-offset-#{$size} {
161
- margin-left: math.percentage(math.div($size, 100));
153
+ margin-inline-start: math.percentage(math.div($size, 100)); // RTL: flips to margin-right
162
154
  }
163
155
  }
164
156
  }
@@ -173,8 +165,7 @@ $grid-columns-fractions: (
173
165
  .pa-col-#{$bp}-#{$size} {
174
166
  flex: 0 0 math.percentage(math.div($size, 100));
175
167
  max-width: math.percentage(math.div($size, 100));
176
- padding-left: $grid-gutter;
177
- padding-right: $grid-gutter;
168
+ padding-inline: $grid-gutter; // RTL: flips automatically
178
169
  min-width: 0; // Prevent content overflow
179
170
  }
180
171
  }
@@ -184,8 +175,7 @@ $grid-columns-fractions: (
184
175
  .pa-col-#{$bp}-#{$name} {
185
176
  flex: 0 0 $width;
186
177
  max-width: $width;
187
- padding-left: $grid-gutter;
188
- padding-right: $grid-gutter;
178
+ padding-inline: $grid-gutter; // RTL: flips automatically
189
179
  min-width: 0; // Prevent content overflow
190
180
  }
191
181
  }
@@ -194,7 +184,7 @@ $grid-columns-fractions: (
194
184
  @each $size in $grid-columns-5 {
195
185
  @if $size < 100 {
196
186
  .pa-offset-#{$bp}-#{$size} {
197
- margin-left: math.percentage(math.div($size, 100));
187
+ margin-inline-start: math.percentage(math.div($size, 100)); // RTL: flips to margin-right
198
188
  }
199
189
  }
200
190
  }
@@ -211,8 +201,7 @@ $grid-columns-fractions: (
211
201
  // COLUMN MODIFIERS
212
202
  // ============================================================================
213
203
  .pa-col--no-padding {
214
- padding-left: 0;
215
- padding-right: 0;
204
+ padding-inline: 0;
216
205
  }
217
206
 
218
207
  .pa-col--grow {
@@ -7,7 +7,7 @@
7
7
  // Basic HTML Lists (ul, ol, dl)
8
8
  .pa-list-basic {
9
9
  margin: 0;
10
- padding-left: $spacing-lg;
10
+ padding-inline-start: $spacing-lg; // RTL: flips to right
11
11
 
12
12
  li {
13
13
  margin-bottom: $spacing-sm;
@@ -24,12 +24,12 @@
24
24
 
25
25
  &--unstyled {
26
26
  list-style: none;
27
- padding-left: 0;
27
+ padding-inline-start: 0; // RTL: flips to right
28
28
  }
29
29
 
30
30
  &--inline {
31
31
  list-style: none;
32
- padding-left: 0;
32
+ padding-inline-start: 0; // RTL: flips to right
33
33
  display: flex;
34
34
  flex-wrap: wrap;
35
35
  gap: $spacing-base;
@@ -37,7 +37,7 @@
37
37
 
38
38
  &--bordered {
39
39
  list-style: none;
40
- padding-left: 0;
40
+ padding-inline-start: 0; // RTL: flips to right
41
41
 
42
42
  li {
43
43
  padding: $spacing-sm $spacing-base;
@@ -51,7 +51,7 @@
51
51
 
52
52
  &--striped {
53
53
  list-style: none;
54
- padding-left: 0;
54
+ padding-inline-start: 0; // RTL: flips to right
55
55
 
56
56
  li {
57
57
  padding: $spacing-sm $spacing-base;
@@ -64,7 +64,7 @@
64
64
 
65
65
  &--icon {
66
66
  list-style: none;
67
- padding-left: 0;
67
+ padding-inline-start: 0; // RTL: flips to right
68
68
 
69
69
  li {
70
70
  display: flex;
@@ -98,12 +98,12 @@
98
98
 
99
99
  .pa-list-ordered {
100
100
  margin: 0;
101
- padding-left: $spacing-lg;
101
+ padding-inline-start: $spacing-lg; // RTL: flips to right
102
102
 
103
103
  li {
104
104
  margin-bottom: $spacing-sm;
105
105
  line-height: 1.6;
106
- padding-left: $spacing-xs;
106
+ padding-inline-start: $spacing-xs; // RTL: flips to right
107
107
  }
108
108
 
109
109
  &--roman {
@@ -130,7 +130,7 @@
130
130
  }
131
131
 
132
132
  dd {
133
- margin-left: $spacing-lg;
133
+ margin-inline-start: $spacing-lg; // RTL: flips to right
134
134
  margin-bottom: $spacing-sm;
135
135
  color: var(--pa-text-color-2);
136
136
  line-height: 1.6;
@@ -139,7 +139,7 @@
139
139
  &--inline {
140
140
  dt {
141
141
  display: inline;
142
- margin-right: $spacing-xs;
142
+ margin-inline-end: $spacing-xs; // RTL: flips to left
143
143
 
144
144
  &::after {
145
145
  content: ':';
@@ -148,8 +148,8 @@
148
148
 
149
149
  dd {
150
150
  display: inline;
151
- margin-left: 0;
152
- margin-right: $spacing-base;
151
+ margin-inline-start: 0; // RTL: flips to right
152
+ margin-inline-end: $spacing-base; // RTL: flips to left
153
153
 
154
154
  &::after {
155
155
  content: '';
@@ -9,10 +9,7 @@
9
9
  // Modal wrapper
10
10
  .pa-modal {
11
11
  position: fixed;
12
- top: 0;
13
- left: 0;
14
- width: 100%;
15
- height: 100%;
12
+ inset: 0; // RTL: full screen works in both directions
16
13
  display: none;
17
14
  justify-content: center;
18
15
  align-items: center;
@@ -32,10 +29,7 @@
32
29
  // Modal backdrop (the dark overlay)
33
30
  .pa-modal__backdrop {
34
31
  position: fixed;
35
- top: 0;
36
- left: 0;
37
- width: 100%;
38
- height: 100%;
32
+ inset: 0; // RTL: full screen works in both directions
39
33
  background-color: var(--pa-modal-overlay-bg);
40
34
  z-index: $z-index-modal-backdrop;
41
35
  }
@@ -135,7 +135,7 @@
135
135
  &__count {
136
136
  color: var(--pa-text-color-2);
137
137
  font-size: $font-size-xs;
138
- margin-left: $spacing-xs;
138
+ margin-inline-start: $spacing-xs; // RTL: flips to right
139
139
  }
140
140
  }
141
141
 
@@ -53,7 +53,7 @@
53
53
  .pa-profile-panel {
54
54
  position: fixed;
55
55
  top: 0;
56
- right: 0;
56
+ inset-inline-end: 0; // RTL: flips to left
57
57
  height: 100vh;
58
58
  z-index: $z-index-profile-panel;
59
59
  pointer-events: none;
@@ -75,7 +75,7 @@
75
75
  &__overlay {
76
76
  position: absolute;
77
77
  top: 0;
78
- left: 0;
78
+ inset-inline-start: 0; // RTL: flips to right
79
79
  width: 100vw;
80
80
  height: 100vh;
81
81
  background-color: var(--pa-profile-overlay-bg);
@@ -85,7 +85,7 @@
85
85
  &__content {
86
86
  position: absolute;
87
87
  top: 0;
88
- right: 0;
88
+ inset-inline-end: 0; // RTL: flips to left
89
89
  height: 100vh;
90
90
  background-color: var(--pa-card-bg);
91
91
  box-shadow: $shadow-profile-panel;
@@ -94,6 +94,11 @@
94
94
  display: flex;
95
95
  flex-direction: column;
96
96
  overflow: hidden;
97
+
98
+ // RTL: slide from left instead of right
99
+ [dir="rtl"] & {
100
+ transform: translateX(-100%);
101
+ }
97
102
  }
98
103
 
99
104
  &__header {
@@ -132,7 +137,7 @@
132
137
  &__info {
133
138
  flex: 1;
134
139
  min-width: 0;
135
- padding-right: $profile-close-size; // Space for close button
140
+ padding-inline-end: $profile-close-size; // RTL: flips to padding-left (space for close button)
136
141
  }
137
142
 
138
143
  &__name {
@@ -170,7 +175,7 @@
170
175
  &__close {
171
176
  position: absolute;
172
177
  top: $spacing-base;
173
- right: $spacing-base;
178
+ inset-inline-end: $spacing-base; // RTL: flips to left
174
179
  width: $profile-close-size;
175
180
  height: $profile-close-size;
176
181
  background: none;
@@ -357,7 +362,7 @@
357
362
  // Favorite remove button
358
363
  &__favorite-remove {
359
364
  opacity: 0;
360
- margin-left: auto;
365
+ margin-inline-start: auto; // RTL: flips to margin-right
361
366
  background: none;
362
367
  border: none;
363
368
  padding: $spacing-xs;
@@ -6,22 +6,25 @@
6
6
 
7
7
  .pa-settings-panel {
8
8
  position: fixed;
9
- right: -$profile-panel-width-fixed; // Panel hidden by default
9
+ inset-inline-end: -$profile-panel-width-fixed; // RTL: flips to left, panel hidden by default
10
10
  top: $settings-panel-top; // Position higher up for larger panel
11
11
  z-index: 10000;
12
12
  width: $profile-panel-width-fixed;
13
- transition: right $settings-panel-transition-duration $settings-panel-transition-easing;
13
+ transition: inset-inline-end $settings-panel-transition-duration $settings-panel-transition-easing;
14
14
 
15
15
  &__toggle {
16
16
  position: absolute;
17
- right: $profile-panel-width-fixed; // Position button at the right edge
17
+ inset-inline-end: $profile-panel-width-fixed; // RTL: flips to left
18
18
  top: 0;
19
19
  width: $profile-panel-toggle-size;
20
20
  height: $profile-panel-toggle-size;
21
21
  background: $accent-color;
22
22
  color: white;
23
23
  border: none;
24
- border-radius: $border-radius 0 0 $border-radius;
24
+ border-start-start-radius: $border-radius; // RTL: top-right in RTL
25
+ border-end-start-radius: $border-radius; // RTL: bottom-right in RTL
26
+ border-start-end-radius: 0;
27
+ border-end-end-radius: 0;
25
28
  cursor: pointer;
26
29
  font-size: $font-size-xl;
27
30
  display: flex;
@@ -33,15 +36,18 @@
33
36
  &:hover {
34
37
  background: $accent-hover;
35
38
  width: $profile-panel-toggle-size-open;
36
- right: calc($profile-panel-width-fixed + $settings-panel-hover-offset);
39
+ inset-inline-end: calc($profile-panel-width-fixed + $settings-panel-hover-offset);
37
40
  }
38
41
  }
39
42
 
40
43
  &__content {
41
44
  background: var(--pa-subtle-bg);
42
45
  border: $border-width-base solid var(--pa-border-color);
43
- border-right: none;
44
- border-radius: $border-radius 0 0 $border-radius;
46
+ border-inline-end: none; // RTL: flips to border-left: none
47
+ border-start-start-radius: $border-radius; // RTL: top-right in RTL
48
+ border-end-start-radius: $border-radius; // RTL: bottom-right in RTL
49
+ border-start-end-radius: 0;
50
+ border-end-end-radius: 0;
45
51
  box-shadow: $shadow-sidebar-open;
46
52
  padding: $spacing-lg;
47
53
  width: 100%;
@@ -93,6 +99,13 @@
93
99
  }
94
100
  }
95
101
 
102
+ &__hint {
103
+ display: block;
104
+ margin-top: $spacing-xs;
105
+ color: var(--pa-text-color-3);
106
+ font-size: $font-size-xs;
107
+ }
108
+
96
109
  &__checkbox-group {
97
110
  display: flex;
98
111
  flex-direction: column;
@@ -107,7 +120,7 @@
107
120
  font-size: $font-size-sm;
108
121
 
109
122
  input[type="checkbox"] {
110
- margin-right: $btn-icon-margin;
123
+ margin-inline-end: $btn-icon-margin; // RTL: flips to margin-left
111
124
  cursor: pointer;
112
125
  }
113
126
 
@@ -118,7 +131,7 @@
118
131
 
119
132
  // Panel states
120
133
  &--open {
121
- right: 0; // Slide panel into view
134
+ inset-inline-end: 0; // RTL: flips to left: 0, slide panel into view
122
135
 
123
136
  .pa-settings-panel__toggle {
124
137
  background: $accent-hover;