webshims-rails 1.12.0 → 1.12.2

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 (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
  }