webshims-rails 1.12.0 → 1.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +440 -440
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +132 -91
  5. data/vendor/assets/javascripts/webshims/shims/combos/10.js +248 -91
  6. data/vendor/assets/javascripts/webshims/shims/combos/11.js +237 -84
  7. data/vendor/assets/javascripts/webshims/shims/combos/15.js +21 -8
  8. data/vendor/assets/javascripts/webshims/shims/combos/16.js +21 -8
  9. data/vendor/assets/javascripts/webshims/shims/combos/17.js +237 -84
  10. data/vendor/assets/javascripts/webshims/shims/combos/18.js +237 -84
  11. data/vendor/assets/javascripts/webshims/shims/combos/19.js +11 -7
  12. data/vendor/assets/javascripts/webshims/shims/combos/2.js +18 -8
  13. data/vendor/assets/javascripts/webshims/shims/combos/20.js +11 -7
  14. data/vendor/assets/javascripts/webshims/shims/combos/21.js +1 -1
  15. data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -1
  16. data/vendor/assets/javascripts/webshims/shims/combos/24.js +9 -6
  17. data/vendor/assets/javascripts/webshims/shims/combos/25.js +11 -7
  18. data/vendor/assets/javascripts/webshims/shims/combos/26.js +11 -7
  19. data/vendor/assets/javascripts/webshims/shims/combos/28.js +10 -1
  20. data/vendor/assets/javascripts/webshims/shims/combos/3.js +11 -7
  21. data/vendor/assets/javascripts/webshims/shims/combos/30.js +18 -8
  22. data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -8
  23. data/vendor/assets/javascripts/webshims/shims/combos/32.js +7 -1
  24. data/vendor/assets/javascripts/webshims/shims/combos/33.js +7 -1
  25. data/vendor/assets/javascripts/webshims/shims/combos/4.js +11 -7
  26. data/vendor/assets/javascripts/webshims/shims/combos/5.js +237 -84
  27. data/vendor/assets/javascripts/webshims/shims/combos/6.js +244 -85
  28. data/vendor/assets/javascripts/webshims/shims/combos/7.js +18 -8
  29. data/vendor/assets/javascripts/webshims/shims/combos/8.js +11 -7
  30. data/vendor/assets/javascripts/webshims/shims/combos/9.js +255 -92
  31. data/vendor/assets/javascripts/webshims/shims/details.js +1 -1
  32. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +10 -7
  33. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +53 -56
  34. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +7 -1
  35. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +175 -60
  36. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +3 -0
  37. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +6 -6
  38. data/vendor/assets/javascripts/webshims/shims/form-validation.js +77 -28
  39. data/vendor/assets/javascripts/webshims/shims/form-validators.js +24 -16
  40. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +40 -68
  41. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +4 -4
  42. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +13 -6
  43. data/vendor/assets/javascripts/webshims/shims/range-ui.js +61 -24
  44. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +278 -95
  45. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  46. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +203 -0
  47. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +115 -0
  48. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +18 -2
  49. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +227 -113
  50. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +168 -159
  51. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +106 -69
  52. metadata +4 -7
  53. data/vendor/assets/javascripts/webshims/shims/styles/details-arrows.png +0 -0
  54. data/vendor/assets/javascripts/webshims/shims/styles/polyfill-loader.gif +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/styles/range-track.png +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/styles/vertical-range.png +0 -0
  57. data/vendor/assets/javascripts/webshims/shims/swf/localStorage.swf +0 -0
@@ -0,0 +1,203 @@
1
+ /* style picker api */
2
+ /* how to use:
3
+ *
4
+ Markup (good to style one input different than other):
5
+ <!-- simply use a placeholder as class on your input elment -->
6
+ <input type="date" class="show-week" />
7
+ CSS:
8
+ //replace the placeholder with .input-picker or (.input-date-picker)
9
+ .input-picker .ws-week {
10
+ display: table-cell;
11
+ }
12
+ SASS:
13
+ //use the placeholder(s) and go crazy
14
+ .input-picker {
15
+ @extend %show-week;
16
+ //@extend show-selectnav;
17
+ }
18
+ *
19
+ */
20
+
21
+
22
+ @function wsem($pixels, $context: 13) {
23
+ @return #{$pixels/$context}em
24
+ }
25
+
26
+ $pickerapis: show-week show-yearbtns hide-btnrow show-uparrow show-selectnav;
27
+
28
+ %show-week {
29
+ .ws-week {
30
+ display: table-cell;
31
+ }
32
+ }
33
+
34
+ %show-yearbtns {
35
+ .ws-picker-header {
36
+ margin: 0 wsem(55);
37
+ }
38
+
39
+ button.ws-year-btn {
40
+ display: inline-block;
41
+ }
42
+ }
43
+
44
+
45
+ %hide-btnrow {
46
+ .ws-button-row {
47
+ display: none;
48
+ }
49
+ }
50
+
51
+ %show-uparrow {
52
+ .ws-picker-header > button:after {
53
+ display: inline-block;
54
+ }
55
+ }
56
+
57
+ %show-selectnav {
58
+ @extend %show-uparrow;
59
+ .ws-picker-header {
60
+ > select {
61
+ display: inline-block;
62
+ }
63
+
64
+ > button {
65
+ width: auto;
66
+
67
+ > span {
68
+ display: none;
69
+ }
70
+ }
71
+
72
+ }
73
+ }
74
+
75
+ /* btn api */
76
+
77
+ $btnapis: hide-spinbtns hide-dropdownbtn hide-inputbtns inputbtns-outside a11yhide-inputbtns;
78
+
79
+ %hide-spinbtns {
80
+ + .input-buttons > .step-controls,
81
+ .input-buttons > .step-controls {
82
+ display: none;
83
+ }
84
+
85
+ &::-webkit-inner-spin-button,
86
+ ::-webkit-inner-spin-button {
87
+ display: none;
88
+ }
89
+ }
90
+
91
+ %hide-dropdownbtn {
92
+ + .input-buttons > .ws-popover-opener,
93
+ .input-buttons > .ws-popover-opener {
94
+ display: none;
95
+ }
96
+ }
97
+
98
+ %hide-inputbtns {
99
+ + .input-buttons,
100
+ .input-buttons {
101
+ display: none;
102
+ }
103
+
104
+ &::-webkit-inner-spin-button,
105
+ ::-webkit-inner-spin-button {
106
+ display: none;
107
+ }
108
+ }
109
+
110
+ %a11yhide-inputbtns {
111
+ + .input-buttons,
112
+ .input-buttons {
113
+ width: 0;
114
+ margin: 0;
115
+ overflow: visible;
116
+
117
+ > .step-controls {
118
+ display: none;
119
+ }
120
+
121
+ > .ws-popover-opener {
122
+ height: 0;
123
+ width: 0;
124
+ overflow: hidden;
125
+
126
+ &:focus,
127
+ &:active {
128
+ height: 19px;
129
+ width: 19px;
130
+ }
131
+ }
132
+ }
133
+ }
134
+
135
+ %inputbtns-outside {
136
+ + span.input-buttons,
137
+ span.input.input-buttons {
138
+ margin-left: 2px;
139
+
140
+ &.ws-is-rtl {
141
+ margin-left: 0;
142
+ margin-right: 2px;
143
+ }
144
+ }
145
+ }
146
+
147
+ $rangeapis: show-ticklabels show-tickvalues hide-ticks show-valuetooltip show-labeltooltip show-activevaluetooltip show-activelabeltooltip;
148
+
149
+ %show-ticklabels {
150
+ .ws-range-ticks[data-label]:after {
151
+ display: inline-block;
152
+ }
153
+ }
154
+
155
+ %show-tickvalues {
156
+ .ws-range-ticks:before {
157
+ display: inline-block;
158
+ }
159
+ }
160
+
161
+ %hide-ticks {
162
+ .ws-range-ticks {
163
+ display: none;
164
+ }
165
+ }
166
+
167
+ %show-valuetooltip {
168
+ span.ws-range-thumb > span {
169
+ &,
170
+ &:after {
171
+ display: inline-block;
172
+ }
173
+ }
174
+ }
175
+
176
+ %show-activevaluetooltip {
177
+
178
+ &.ws-active span.ws-range-thumb > span,
179
+ .ws-range.ws-active span.ws-range-thumb > span {
180
+ &,
181
+ &:after {
182
+ display: inline-block;
183
+ }
184
+ }
185
+ }
186
+ %show-labeltooltip {
187
+ span.ws-range-thumb > span {
188
+ &,
189
+ &:before {
190
+ display: inline-block;
191
+ }
192
+ }
193
+ }
194
+ %show-activelabeltooltip {
195
+
196
+ &.ws-active span.ws-range-thumb > span,
197
+ .ws-range.ws-active span.ws-range-thumb > span {
198
+ &,
199
+ &:before {
200
+ display: inline-block;
201
+ }
202
+ }
203
+ }
@@ -0,0 +1,115 @@
1
+ @mixin placeholder {
2
+ &::-moz-placeholder {
3
+ @content;
4
+ }
5
+ &::-webkit-input-placeholder {
6
+ @content;
7
+ }
8
+ &:-ms-input-placeholder {
9
+ @content;
10
+ }
11
+ &.placeholder-visible,
12
+ & + .placeholder-text {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ @mixin checked {
18
+ &:checked {
19
+ @content;
20
+ }
21
+
22
+ &.prop-checked {
23
+ @content;
24
+ }
25
+ }
26
+
27
+ @mixin progress {
28
+ -webkit-appearance: none;
29
+ -moz-appearance: none;
30
+ appearance: none;
31
+ border: 0;
32
+
33
+ @content;
34
+
35
+ &::-webkit-progress-bar {
36
+ @content;
37
+ border: 0 none;
38
+ }
39
+
40
+ &::-moz-progress-bar {
41
+ @content;
42
+ }
43
+
44
+ &::-ms-fill {
45
+ animation-name: none;
46
+ @content;
47
+ }
48
+ }
49
+ @mixin progressbar {
50
+ &::-webkit-progress-value {
51
+ @content;
52
+ }
53
+ &::-moz-progress-bar {
54
+ @content;
55
+ }
56
+ &::-ms-fill {
57
+ animation-name: none;
58
+ @content;
59
+ }
60
+ > span.progress-value {
61
+ display: block !important;
62
+ @content;
63
+ }
64
+ }
65
+ @mixin indeterminate-progressbar {
66
+ &:indeterminate::-webkit-progress-bar {
67
+ @content;
68
+ }
69
+ &:indeterminate::-moz-progress-bar {
70
+ @content;
71
+ }
72
+ &:indeterminate {
73
+ animation-name: none;
74
+ @content;
75
+ }
76
+ &.ws-indeterminate > span.progress-value {
77
+ display: block !important;
78
+ width: 100%;
79
+ right: 0;
80
+ @content;
81
+ }
82
+ }
83
+
84
+
85
+ @mixin summary-marker {
86
+ &::-webkit-details-marker {
87
+ display: none;
88
+ }
89
+ > .details-open-indicator {
90
+ display: none;
91
+ }
92
+ &:before {
93
+ display: inline-block;
94
+ content: ">";
95
+ @content;
96
+ }
97
+ }
98
+
99
+ @mixin cue($c: false) {
100
+ @if $c == false {
101
+ &::cue {
102
+ @content;
103
+ }
104
+ & + .cue-display span.cue {
105
+ @content;
106
+ }
107
+ } @else {
108
+ &::cue(#{$c}) {
109
+ @content;
110
+ }
111
+ & + .cue-display span.cue #{$c} {
112
+ @content;
113
+ }
114
+ }
115
+ }
@@ -8,8 +8,24 @@
8
8
  content: ' ';
9
9
  }
10
10
  }
11
+ %contentbox {
12
+ -moz-box-sizing: content-box;
13
+ box-sizing: content-box;
14
+
15
+ *,
16
+ &:before,
17
+ &:after,
18
+ :after,
19
+ :before {
20
+ -moz-box-sizing: content-box;
21
+ box-sizing: content-box;
22
+ }
23
+
24
+ }
25
+
11
26
  $browser-context: 13; // Default
12
27
 
13
28
  @function em($pixels, $context: $browser-context) {
14
- @return #{$pixels/$context}em
15
- }
29
+ @return #{$pixels/$context}em
30
+ }
31
+
@@ -1,10 +1,20 @@
1
1
  @import "_extends.scss";
2
+ @import "_api-forms-ext.scss";
2
3
 
3
4
  /* spinner control for time, number (usable for date, datetime-local) */
4
5
  .has-input-buttons,
5
6
  html > body input.ws-inputreplace.has-input-buttons,
6
7
  span.has-input-buttons {
7
8
  display: inline-block;
9
+ vertical-align: middle;
10
+ }
11
+
12
+ .ws-inputreplace[readonly][aria-readonly="false"] {
13
+ cursor: pointer;
14
+ &[disabled] {
15
+ cursor: default;
16
+ cursor: not-allowed;
17
+ }
8
18
  }
9
19
 
10
20
  .input-buttons,
@@ -13,9 +23,7 @@ span.has-input-buttons {
13
23
  zoom: 1;
14
24
  overflow: hidden;
15
25
  display: inline-block;
16
- font-size: 0;
17
26
  vertical-align: middle;
18
- margin-top: -3px;
19
27
  margin-left: -20px;
20
28
  }
21
29
 
@@ -26,6 +34,10 @@ span.has-input-buttons {
26
34
  margin: 0;
27
35
  height: 19px;
28
36
  width: 15px;
37
+
38
+ .ws-is-rtl & {
39
+ float: right;
40
+ }
29
41
  }
30
42
 
31
43
  .ws-popover-opener {
@@ -38,6 +50,11 @@ span.has-input-buttons {
38
50
  cursor: pointer;
39
51
  background: #ccc;
40
52
 
53
+
54
+ .ws-is-rtl & {
55
+ margin: 0 2px 0 0;
56
+ }
57
+
41
58
  span {
42
59
  display: block;
43
60
  position: absolute;
@@ -67,7 +84,7 @@ span.has-input-buttons {
67
84
  }
68
85
 
69
86
  input[type="color"] {
70
- width: 6.5em;
87
+ width: 7.5em;
71
88
  }
72
89
 
73
90
  .input-buttons {
@@ -76,15 +93,7 @@ input[type="color"] {
76
93
  &.color-input-buttons {
77
94
  margin-left: 2px;
78
95
  }
79
- &.input-button-size-1 {
80
- &.month-input-buttons,
81
- &.date-input-buttons {
82
- margin-left: -24px;
83
- }
84
- }
85
- &.input-button-size-2 {
86
- margin-left: -39px;
87
- }
96
+
88
97
  &.ws-disabled {
89
98
  opacity: 0.95;
90
99
  }
@@ -94,10 +103,33 @@ input[type="color"] {
94
103
  }
95
104
  }
96
105
 
106
+ .input-button-size-1 {
107
+ &.month-input-buttons,
108
+ &.date-input-buttons,
109
+ &.datetime-local-input-buttons {
110
+ margin-left: -24px;
111
+
112
+
113
+ &.ws-is-rtl {
114
+ margin-left: 0;
115
+ margin-right: -24px;
116
+ }
117
+ }
118
+ }
119
+ .input-button-size-2 {
120
+ margin-left: -39px;
121
+
122
+ &.ws-is-rtl {
123
+ margin-left: 0;
124
+ margin-right: -39px;
125
+ }
126
+ }
127
+
97
128
  .step-controls {
98
129
 
99
130
  span {
100
131
  position: absolute;
132
+ left: 0;
101
133
  display: inline-block;
102
134
  overflow: hidden;
103
135
  margin: 0 !important;
@@ -139,16 +171,27 @@ input[type="color"] {
139
171
  }
140
172
  }
141
173
 
174
+ /* helper classes to hide show/hide specific btn features features */
175
+ @each $class in $btnapis {
176
+ .#{$class} {
177
+ @extend %#{$class};
178
+ }
179
+ }
142
180
 
143
181
  .ws-input {
144
-
145
182
  letter-spacing: -0.31em;
146
183
  word-spacing: -0.43em;
147
-
184
+
185
+
186
+
148
187
  > * {
149
188
  text-align: center;
150
189
  letter-spacing: normal;
151
190
  word-spacing: normal;
191
+
192
+ > option {
193
+ text-align: left;
194
+ }
152
195
  }
153
196
  .ws-input-seperator {
154
197
  vertical-align: middle;
@@ -167,8 +210,10 @@ input[type="color"] {
167
210
  text-align: center;
168
211
  display: inline-block;
169
212
  }
170
-
171
-
213
+ }
214
+
215
+ span.ws-input {
216
+ display: inline-block;
172
217
  }
173
218
 
174
219
  .ws-date {
@@ -210,11 +255,10 @@ input[type="color"] {
210
255
 
211
256
  /* range */
212
257
  .ws-range {
213
-
214
258
  position: relative;
215
259
  display: inline-block;
216
260
  vertical-align: middle;
217
- margin: 5px 0 10px;
261
+ margin: em(7.5) 0;
218
262
  zoom: 1;
219
263
  border: none;
220
264
  height: em(8);
@@ -227,14 +271,19 @@ input[type="color"] {
227
271
  transition: background-color 400ms, border-color 400ms;
228
272
  background-color: #ddd;
229
273
  box-shadow: 0 em(-1) em(1.5) rgba(0, 0, 0, 0.2) inset;
230
-
274
+
275
+ [list] + & {
276
+ margin: em(2.5) 0 em(12.5);
277
+ }
278
+
231
279
  .ws-range-thumb {
232
- $dim: 16;
280
+ @extend %contentbox;
281
+ $dim: 20;
233
282
  top: 0;
234
283
  position: absolute;
235
284
  display: block;
236
285
  z-index: 4;
237
- margin: em($dim / -2) 0 0 em($dim / -2);
286
+ margin: em(($dim - 8) / -2) 0 0 em($dim / -2);
238
287
  height: em($dim);
239
288
  width: em($dim);
240
289
  border-radius: 50%;
@@ -243,28 +292,37 @@ input[type="color"] {
243
292
  cursor: pointer;
244
293
  transition: background-color 400ms, border-color 400ms;
245
294
 
246
- &:after,
247
- &:before {
295
+ > span {
248
296
  position: absolute;
249
- top: em(-28);
250
- left: -.3em;
251
- display: inline-block;
252
- content: attr(data-value);
253
- padding: em(3) em(1);
254
- min-width: 2em;
297
+ margin: 0 0 3px -90px;
298
+ padding: 0;
299
+ border: 0;
300
+ left: 50%;
301
+ bottom: em($dim + 1);
255
302
  visibility: hidden;
303
+ width: 180px;
256
304
  text-align: center;
257
- background: #fff;
258
- border: em(1) solid #ccc;
259
- transition: all 400ms;
305
+ background: none;
306
+
307
+ &:after,
308
+ &:before {
309
+ content: attr(data-value);
310
+ padding: em(1) em(3.5);
311
+ text-align: center;
312
+ background: #fff;
313
+ border: em(1) solid #ccc;
314
+ border-radius: em(4);
315
+ visibility: visible;
316
+ }
317
+
318
+ &:after {
319
+ content: attr(data-value);
320
+ }
321
+ &:before {
322
+ content: attr(data-valuetext);
323
+ }
260
324
  }
261
325
 
262
- &:after {
263
- content: attr(data-value);
264
- }
265
- &:before {
266
- content: attr(data-valuetext);
267
- }
268
326
  }
269
327
 
270
328
  &.ws-focus .ws-range-thumb {
@@ -320,76 +378,99 @@ input[type="color"] {
320
378
 
321
379
  .ws-range-ticks {
322
380
  position: absolute;
323
- bottom: em(-7.5);
381
+ bottom: em(-10);
324
382
  left: 0;
325
- height: em(6.8);
326
- width: em(1.5);
327
- margin: 0 0 0 em(-2);
383
+ height: em(8);
384
+ width: em(1);
385
+ margin: 0 0 0 em(-1);
328
386
  background: #ccc;
387
+ transition: background-color 400ms, color 400ms;
388
+
389
+ &.ws-selected-option {
390
+ background: #09c;
391
+ color: #09c;
392
+ }
329
393
  }
330
394
 
331
- .ws-range-ticks[data-label]:after {
332
- visibility: hidden;
333
- content: attr(data-label);
334
- display: inline-block;
335
- font-size: em(9);
336
- min-width: 2em;
337
- text-align: center;
338
- margin: em(7) 0 0 -1em;
395
+ &.ws-is-rtl {
396
+ .ws-range-progress {
397
+ left: auto;
398
+ right: 0;
399
+ }
400
+ .ws-range-ticks {
401
+ left: auto;
402
+ right: 0;
403
+ }
339
404
  }
340
-
405
+
341
406
  &.vertical-range {
342
- background: url(vertical-range.png) center bottom no-repeat;
343
- width: 20px;
344
-
345
- .ws-range-thumb {
346
- top: 0;
347
- left: 3px;
407
+ width: em(8);
408
+ margin: 0 10px 0 5px;
409
+
410
+ .ws-range-ticks {
348
411
  bottom: auto;
349
- background: url(vertical-range.png) 0 -51px no-repeat;
350
- margin: -6px 0 0 0;
351
- height: 11px;
352
- width: 22px;
353
-
354
- }
355
- .ws-range-thumb:hover,
356
- &.ws-focus .ws-range-thumb {
357
- background-position: 0 -34px;
358
- }
359
- &.ws-active .ws-range-thumb {
360
- background-position: 0 -17px;
361
- }
362
-
363
- &[aria-disabled="true"] .ws-range-thumb {
364
- background-position: 0 0;
412
+ left: auto;
413
+ margin: em(-0.75) 0 0 0;
414
+ right: em(-7.5);
415
+ height: em(1.5);
416
+ width: em(6.8);
365
417
  }
366
-
418
+
367
419
  .ws-range-progress {
368
420
  top: auto;
369
421
  bottom: 1px;
370
422
  left: 0;
371
- width: 1px;
423
+ width: 100%;
372
424
  height: 0;
373
425
  }
426
+
427
+ }
428
+ }
374
429
 
375
- .ws-range-rail {
376
- top: 5px;
377
- left: 0;
378
- right: 0;
379
- bottom: 5px;
380
- }
381
430
 
382
- .ws-range-ticks {
383
- bottom: auto;
384
- left: auto;
385
- right: 0;
386
- height: 1px;
387
- width: 4px;
431
+ .ws-range-ticks[data-label]:after,
432
+ .ws-range-ticks:before {
433
+ display: none;
434
+ content: attr(data-label);
435
+ font-size: em(10);
436
+ min-width: 2em;
437
+ text-align: center;
438
+ margin: em(9) 0 0 -0.95em;
439
+
440
+ .ws-is-rtl & {
441
+ margin: em(9) -0.95em 0 0;
442
+ }
443
+
444
+ .vertical-range & {
445
+ margin: 0 0 0 5px;
446
+ position: relative;
447
+ top: -0.7em;
448
+ left: em(7);
449
+ min-width: 0;
450
+ }
451
+ }
452
+
453
+ .ws-range-ticks:before {
454
+ content: attr(data-value);
455
+ }
456
+
457
+ .ws-range-thumb {
458
+ > span {
459
+ &,
460
+ &:after,
461
+ &:before {
462
+ display: none;
388
463
  }
389
464
  }
390
465
  }
391
466
 
392
467
 
468
+ /* helper classes to hide show/hide specific range features features */
469
+ @each $class in $rangeapis {
470
+ .#{$class} {
471
+ @extend %#{$class};
472
+ }
473
+ }
393
474
 
394
475
 
395
476
  //date popover
@@ -402,24 +483,29 @@ $button-bgcolor: #f5f5f5;
402
483
  display: inline-block;
403
484
  border: em(1) solid transparent;
404
485
  }
486
+ .ws-inline-picker {
487
+ @extend %contentbox;
488
+ position: relative;
489
+ z-index: 99;
490
+ }
405
491
  .input-picker {
406
492
  overflow: visible;
407
493
  font-size: 13px;
408
494
  outline: none;
409
495
  text-align: center;
410
496
  font-family: sans-serif;
411
- width: em(330);
412
- max-width: 100%;
497
+ width: em(360);
413
498
  min-width: em(300);
414
499
 
415
500
  .ws-po-outerbox {
416
501
  -webkit-transform: translate(0, 30%);
417
502
  transform: translate(0, 30%);
418
503
 
419
- [data-vertical="bottom"] & {
420
- -webkit-transform: translate(0, -3%);
421
- transform: translate(0, -30%);
422
- }
504
+
505
+ }
506
+ &[data-vertical="bottom"] .ws-po-outerbox {
507
+ -webkit-transform: translate(0, -30%);
508
+ transform: translate(0, -30%);
423
509
  }
424
510
 
425
511
  &.time-popover,
@@ -435,7 +521,6 @@ $button-bgcolor: #f5f5f5;
435
521
  display: none;
436
522
  }
437
523
  }
438
-
439
524
 
440
525
  &.ws-size-2 {
441
526
  width: em(645);
@@ -469,16 +554,17 @@ $button-bgcolor: #f5f5f5;
469
554
 
470
555
  .ws-po-box {
471
556
  position: relative;
472
- padding: em(10) em(20) em(15);
473
- border-radius: 5px;
557
+ padding: em(15) em(20);
558
+ border-radius: em(5);
474
559
  box-shadow: 0 0 2px rgba(0, 0, 0, .3);
560
+ direction: ltr;
475
561
  }
476
562
 
477
563
  .ws-picker-controls {
478
564
  position: absolute;
479
- top: em(10);
565
+ top: em(15);
480
566
 
481
- > button{
567
+ > button {
482
568
  border: em(1) solid #ccc;
483
569
  border-radius: em(5);
484
570
  padding: 0;
@@ -495,6 +581,7 @@ $button-bgcolor: #f5f5f5;
495
581
  width: 0px;
496
582
  height: 0px;
497
583
  border-style: solid;
584
+ margin-top: em(3.8);
498
585
  }
499
586
 
500
587
  span {
@@ -514,18 +601,21 @@ $button-bgcolor: #f5f5f5;
514
601
  }
515
602
  }
516
603
 
517
- .prev-controls {
604
+ .prev-controls,
605
+ .ws-po-box[dir="rtl"] .next-controls {
518
606
  left: em(20);
607
+ right: auto;
519
608
 
520
- .ws-super-prev:after,
521
- .ws-super-prev:before,
522
- .ws-prev:before {
609
+ [class*="ws-super-"]:after,
610
+ button:before {
523
611
  border-width: 0.35em 0.6em 0.35em 0;
524
612
  border-color: transparent #333 transparent transparent;
525
613
  margin-left: -0.1em;
526
614
  }
527
- .ws-super-prev {
615
+
616
+ [class*="ws-super-"] {
528
617
  margin-right: em(3);
618
+ margin-left: 0;
529
619
 
530
620
  &[disabled] {
531
621
  display: none;
@@ -534,29 +624,37 @@ $button-bgcolor: #f5f5f5;
534
624
 
535
625
  }
536
626
 
537
- .next-controls {
627
+ .next-controls,
628
+ .ws-po-box[dir="rtl"] .prev-controls {
538
629
  right: em(20);
630
+ left: auto;
539
631
 
540
632
  button:before {
541
633
  margin-left: em(1.5);
542
634
  }
543
635
 
544
- .ws-super-next:before,
545
- .ws-super-next:after,
546
- .ws-next:before {
636
+
637
+ [class*="ws-super-"]:after,
638
+ button:before {
547
639
  border-width: 0.35em 0 0.35em 0.6em;
548
640
  border-color: transparent transparent transparent #333;
549
641
  margin-right: -0.1em;
550
642
  }
551
643
 
552
- .ws-super-next {
644
+ [class*="ws-super-"] {
553
645
  margin-left: em(3);
646
+ margin-right: 0;
554
647
 
555
648
  &[disabled] {
556
649
  display: none;
557
650
  }
558
651
  }
559
652
  }
653
+
654
+ .ws-po-box[dir="rtl"] {
655
+ direction: rtl;
656
+
657
+ }
560
658
 
561
659
  &.time-popover .ws-picker-body {
562
660
  padding-top: em(36);
@@ -598,6 +696,14 @@ $button-bgcolor: #f5f5f5;
598
696
  }
599
697
  }
600
698
 
699
+ .ws-po-box[dir="rtl"] .ws-button-row button {
700
+ float: right;
701
+
702
+ &.ws-empty {
703
+ float: left;
704
+ }
705
+ }
706
+
601
707
 
602
708
  &[data-currentview="setMonthList"] .ws-picker-header > select,
603
709
  &[data-currentview="setYearList"] .ws-picker-header > select{
@@ -626,7 +732,7 @@ $button-bgcolor: #f5f5f5;
626
732
  top: em(-40);
627
733
  right: 0;
628
734
  left: 0;
629
- margin: 0 em(55);
735
+ margin: 0 em(35);
630
736
 
631
737
  > button {
632
738
  display: inline-block;
@@ -756,6 +862,7 @@ $button-bgcolor: #f5f5f5;
756
862
  margin: 0;
757
863
  border: 0 none;
758
864
  border-collapse: collapse;
865
+ table-layout: fixed;
759
866
  }
760
867
 
761
868
  th,
@@ -824,16 +931,23 @@ $button-bgcolor: #f5f5f5;
824
931
  /* Selector API: */
825
932
  .ws-week,
826
933
  .ws-year-btn {
827
- display: none;
828
- }
934
+ display: none;
935
+ }
829
936
  }
830
937
  .ws-picker-controls > button {
831
- display: inline-block;
938
+ display: inline-block;
832
939
  }
833
940
  .ws-picker-header > button:after {
834
941
  display: none;
835
942
  }
836
943
 
837
944
  .ws-picker-header select {
838
- display: none;
945
+ display: none;
946
+ }
947
+ /* helper classes to hide show/hide specific picker features */
948
+ @each $class in $pickerapis {
949
+ .input-picker[data-class~="#{$class}"],
950
+ .#{$class} .input-picker {
951
+ @extend %#{$class};
952
+ }
839
953
  }