Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

Commit db72b39

Browse files
EladBezalelThomasBurleson
authored andcommitted
style(input): fixed support in rtl
rtl was broke in 035a4ef, Fixed and re-factored to full support rtl fixes #5946 Closes #5956
1 parent 88ba1fd commit db72b39

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

src/components/input/input.scss

+26-15
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ md-input-container {
4040
> md-icon {
4141
position: absolute;
4242
top: 5px;
43-
left: 2px;
44-
+ input {
45-
}
43+
@include rtl(left, 2px, auto);
44+
@include rtl(right, auto, 2px);
4645
}
4746

4847
textarea,
@@ -84,14 +83,17 @@ md-input-container {
8483
label:not(.md-container-ignore) {
8584
position: absolute;
8685
bottom: 100%;
87-
left: 0;
86+
@include rtl(left, 0, auto);
87+
@include rtl(right, auto, 0);
8888
}
8989

9090
// icon offset should have higher priority as normal label
9191
&.md-has-icon {
92-
padding-left: $icon-offset;
92+
@include rtl(padding-left, $icon-offset, 0);
93+
@include rtl(padding-right, 0, $icon-offset);
9394
> label {
94-
left: $icon-offset;
95+
@include rtl(left, $icon-offset, auto);
96+
@include rtl(right, auto, $icon-offset);
9597
}
9698
}
9799

@@ -100,7 +102,8 @@ md-input-container {
100102
order: 1;
101103
pointer-events: none;
102104
-webkit-font-smoothing: antialiased;
103-
padding-left: $input-container-padding;
105+
@include rtl(padding-left, $input-container-padding, 0);
106+
@include rtl(padding-right, 0, $input-container-padding);
104107
z-index: 1;
105108
transform: translate3d(0, $input-label-default-offset + 4, 0) scale($input-label-default-scale);
106109
transition: transform $swift-ease-out-timing-function 0.25s;
@@ -165,7 +168,7 @@ md-input-container {
165168
// Hacky fix to force vertical alignment between `input` and `textarea`
166169
// Input and textarea do not align by default:
167170
// http://jsbin.com/buqomevage/1/edit?html,css,js,output
168-
float: left;
171+
@include rtl(float, left, right);
169172

170173
&:focus {
171174
outline: none;
@@ -182,7 +185,8 @@ md-input-container {
182185

183186
.md-char-counter {
184187
position: absolute;
185-
right: $input-container-padding;
188+
@include rtl(right, $input-container-padding, auto);
189+
@include rtl(left, auto, $input-container-padding);
186190
bottom: 7px;
187191
}
188192

@@ -202,12 +206,13 @@ md-input-container {
202206
transition: $swift-ease-out;
203207
transition-duration: $swift-ease-out-duration / 1.5;
204208
opacity: 0;
205-
clear: left;
209+
@include rtl(clear, left, right);
206210

207211
.md-char-counter {
208212
position: absolute;
209213
top: 0;
210-
right: 0;
214+
@include rtl(right, 0, auto);
215+
@include rtl(left, auto, 0);
211216
bottom: auto;
212217
}
213218
}
@@ -228,7 +233,8 @@ md-input-container {
228233
padding-top: $error-padding-top;
229234

230235
&:not(.md-char-counter) {
231-
padding-right: rem(5);
236+
@include rtl(padding-right, rem(5), 0);
237+
@include rtl(padding-left, 0, rem(5));
232238
}
233239

234240
&.ng-enter {
@@ -304,7 +310,8 @@ md-input-container.md-icon-float {
304310

305311
> md-icon {
306312
top: 2px;
307-
left: 2px;
313+
@include rtl(left, 2px, auto);
314+
@include rtl(right, auto, 2px);
308315
}
309316

310317
&.md-input-focused,
@@ -320,11 +327,15 @@ md-input-container.md-icon-float {
320327

321328
md-input-container.md-icon-right {
322329
input {
323-
margin-right: $icon-offset;
330+
@include rtl(margin-right, $icon-offset, 0);
331+
@include rtl(margin-left, 0, $icon-offset);
324332
+ md-icon {
325333
top: 26px;
326-
right: 2px;
327334
margin-right: 0;
335+
margin-left: 0;
336+
337+
@include rtl(right, 2px, auto);
338+
@include rtl(left, auto, 2px);
328339
}
329340
}
330341
}

0 commit comments

Comments
 (0)