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
@@ -1,16 +1,16 @@
1
1
  webshims.validityMessages.pl = {
2
2
  "typeMismatch": {
3
3
  "defaultMessage": "Wprowadź poprawną wartość.",
4
- "email": "Wprowadź adres e-mail.",
5
- "url": "Wprowadź adres URL."
4
+ "email": "Wprowadź poprawny adres e-mail.",
5
+ "url": "Wprowadź poprawny adres URL."
6
6
  },
7
7
  "badInput": {
8
8
  "defaultMessage": "Wprowadź poprawną wartość.",
9
9
  "number": "Wprowadź numer.",
10
10
  "date": "Wprowadź datę.",
11
11
  "time": "Wprowadź czas.",
12
- "range": "Invalid input.",
13
- "month": "Wprowadź prawidłową wartość.",
12
+ "range": "Niepoprawny zakres.",
13
+ "month": "Wprowadź poprawny miesiąc.",
14
14
  "datetime-local": "Wprowadź datę i czas."
15
15
  },
16
16
  "rangeUnderflow": {
@@ -1,20 +1,24 @@
1
1
  webshims.validityMessages.sv = {
2
2
  "typeMismatch": {
3
+ "defaultMessage": "Fyll i det här fältet.",
3
4
  "email": "Fyll i en e-postadress.",
4
5
  "url": "Fyll i en URL."
5
6
  },
6
7
  "badInput": {
8
+ "defaultMessage": "Fyll i det här fältet.",
7
9
  "number": "Fyll i ett nummer.",
8
- "date": "Fyll i ett datum.",
10
+ "date": "Fyll i en datum.",
9
11
  "time": "Fyll i en tid.",
10
12
  "range": "Felaktig inmatning.",
13
+ "month": "Fyll i en månad.",
11
14
  "datetime-local": "Fyll i datum och tid."
12
15
  },
13
- "tooLong": "Fyll i max {%maxlength} tecken. Du fyllde i {%valueLen} tecken.",
16
+ "tooLong": "Fyll i max {%maxlength} tecken. Du fyllde i {%valueLen}.",
17
+ "tooShort": "Fyll i minst {%minlength} tecken. Du fyllde i {%valueLen}.",
14
18
  "patternMismatch": "Felaktig inmatning. {%title}",
15
19
  "valueMissing": {
16
20
  "defaultMessage": "Fyll i detta fält.",
17
- "checkbox": "Bocka dennaa ruta för att gå vidare.",
21
+ "checkbox": "Bocka denna ruta för att gå vidare.",
18
22
  "select": "Välj något ur listan.",
19
23
  "radio": "Välj ett av valen."
20
24
  },
@@ -22,13 +26,15 @@ webshims.validityMessages.sv = {
22
26
  "defaultMessage": "Värdet måste vara större eller lika med {%min}.",
23
27
  "date": "Datumet måste vara efter eller lika med {%min}.",
24
28
  "time": "Tiden måste vara efter eller lika med {%min}.",
25
- "datetime-local": "Värdet måste vara efter eller lika med {%min}."
29
+ "datetime-local": "Värdet måste vara efter eller lika med {%min}.",
30
+ "month": "Värdet måste vara efter eller lika med {%min}."
26
31
  },
27
32
  "rangeOverflow": {
28
33
  "defaultMessage": "Värdet måste vara mindre eller lika med {%max}.",
29
34
  "date": "Datumet måste vara före eller lika med {%max}.",
30
35
  "time": "Tiden måste vara före eller lika med {%max}.",
31
- "datetime-local": "Värdet måste vara före eller lika med {%max}."
36
+ "datetime-local": "Värdet måste vara före eller lika med {%max}.",
37
+ "month": "Värdet måste vara före eller lika med {%max}."
32
38
  },
33
39
  "stepMismatch": "Felaktig inmatning."
34
40
  };
@@ -46,6 +52,7 @@ webshims.formcfg.sv = {
46
52
  },
47
53
  date: {
48
54
  closeText: 'Stäng',
55
+ clear: "Rensa",
49
56
  prevText: '«Förra',
50
57
  nextText: 'Nästa»',
51
58
  currentText: 'Idag',
@@ -63,4 +70,4 @@ webshims.formcfg.sv = {
63
70
  showMonthAfterYear: false,
64
71
  yearSuffix: ''
65
72
  }
66
- };
73
+ };
@@ -15,8 +15,7 @@
15
15
  _create: function(){
16
16
  var i;
17
17
 
18
-
19
- this.element.addClass('ws-range').attr({role: 'slider'}).append('<span class="ws-range-min ws-range-progress" /><span class="ws-range-rail ws-range-track"><span class="ws-range-thumb" /></span>');
18
+ this.element.addClass('ws-range').attr({role: 'slider'}).append('<span class="ws-range-min ws-range-progress" /><span class="ws-range-rail ws-range-track"><span class="ws-range-thumb"><span data-value="" data-valuetext="" /></span></span>');
20
19
  this.trail = $('.ws-range-track', this.element);
21
20
  this.range = $('.ws-range-progress', this.element);
22
21
  this.thumb = $('.ws-range-thumb', this.trail);
@@ -38,7 +37,7 @@
38
37
  },
39
38
  value: $.noop,
40
39
  _value: function(val, _noNormalize, animate){
41
- var left, posDif, textValue;
40
+ var left, posDif;
42
41
  var o = this.options;
43
42
  var oVal = val;
44
43
  var thumbStyle = {};
@@ -54,7 +53,7 @@
54
53
  left = 100 * ((val - o.min) / (o.max - o.min));
55
54
 
56
55
  if(this._init && val == o.value && oVal == val){return;}
57
- this.options.value = val;
56
+ o.value = val;
58
57
 
59
58
  if($.fn.stop){
60
59
  this.thumb.stop();
@@ -62,6 +61,7 @@
62
61
  }
63
62
 
64
63
  rangeStyle[this.dirs.width] = left+'%';
64
+
65
65
  if(this.vertical){
66
66
  left = Math.abs(left - 100);
67
67
  }
@@ -88,15 +88,26 @@
88
88
  this.options._change(val);
89
89
  }
90
90
 
91
- textValue = this.options.textValue ? this.options.textValue(this.options.value) : this.options.options[this.options.value] || this.options.value;
91
+ this._setValueMarkup();
92
+ },
93
+ _setValueMarkup: function(){
94
+ var o = this.options;
95
+ var textValue = o.textValue ? o.textValue(this.options.value) : o.options[o.value] || o.value;
92
96
  this.element.attr({
93
97
  'aria-valuenow': this.options.value,
94
98
  'aria-valuetext': textValue
95
99
  });
96
- this.thumb.attr({
100
+ $('span', this.thumb).attr({
97
101
  'data-value': this.options.value,
98
102
  'data-valuetext': textValue
99
103
  });
104
+ if(o.selectedOption){
105
+ $(o.selectedOption).removeClass('ws-selected-option');
106
+ o.selectedOption = null;
107
+ }
108
+ if(o.value in o.options){
109
+ o.selectedOption = $('[data-value="'+o.value+'"].ws-range-ticks').addClass('ws-selected-option');
110
+ }
100
111
  },
101
112
  initDataList: function(){
102
113
  if(this.orig){
@@ -139,9 +150,9 @@
139
150
  $.each(o.options, function(val, label){
140
151
  if(!isNumber(val) || val < min || val > max){return;}
141
152
  var left = 100 * ((val - min) / (max - min));
142
- var attr = '';
153
+ var attr = 'data-value="'+val+'"';
143
154
  if(label){
144
- attr += 'data-label="'+label+'"';
155
+ attr += ' data-label="'+label+'"';
145
156
  if(o.showLabels){
146
157
  attr += ' title="'+label+'"';
147
158
  }
@@ -154,6 +165,9 @@
154
165
  $('<span class="ws-range-ticks"'+ attr +' style="'+(that.dirs.left)+': '+left+'%;" />').appendTo(trail)
155
166
  );
156
167
  });
168
+ if(o.value in o.options){
169
+ this._setValueMarkup();
170
+ }
157
171
  },
158
172
  readonly: function(val){
159
173
  val = !!val;
@@ -197,12 +211,13 @@
197
211
  var step = val == 'any' ? 'any' : retDefault(val, 1);
198
212
 
199
213
  if(o.stepping){
200
- if(step != 'any' && o.stepping % step){
201
- webshims.error('wrong stepping value for type range:'+ (o.stepping % step));
202
- } else {
203
- step = o.stepping;
204
- }
214
+ webshims.error('stepping was removed. Use stepfactor instead.');
205
215
  }
216
+
217
+ if(o.stepfactor && step != 'any'){
218
+ step *= o.stepfactor;
219
+ }
220
+
206
221
  o.step = step;
207
222
  this.value(this.options.value);
208
223
  },
@@ -240,11 +255,11 @@
240
255
  var val, valModStep, alignValue, step;
241
256
 
242
257
  if(pos <= 0){
243
- val = this.options[this.dirs.min];
258
+ val = this.options[this.dirs[this.isRtl ? 'max' : 'min']];
244
259
  } else if(pos > 100) {
245
- val = this.options[this.dirs.max];
260
+ val = this.options[this.dirs[this.isRtl ? 'min' : 'max']];
246
261
  } else {
247
- if(this.vertical){
262
+ if(this.vertical || this.isRtl){
248
263
  pos = Math.abs(pos - 100);
249
264
  }
250
265
  val = ((this.options.max - this.options.min) * (pos / 100)) + this.options.min;
@@ -329,17 +344,20 @@
329
344
  return e;
330
345
  };
331
346
  })();
347
+ var updateValue = function(val, animate){
348
+ if(val != o.value){
349
+ that.value(val, false, animate);
350
+ eventTimer.call('input', val);
351
+ }
352
+ };
332
353
  var setValueFromPos = function(e, animate){
333
354
  if(e.type == 'touchmove'){
334
355
  e.preventDefault();
335
356
  normalizeTouch(e);
336
357
  }
337
358
 
338
- var val = that.getStepedValueFromPos((e[that.dirs.mouse] - leftOffset) * widgetUnits);
339
- if(val != o.value){
340
- that.value(val, false, animate);
341
- eventTimer.call('input', val);
342
- }
359
+ updateValue(that.getStepedValueFromPos((e[that.dirs.mouse] - leftOffset) * widgetUnits), animate);
360
+
343
361
  if(e && e.type == 'mousemove'){
344
362
  e.preventDefault();
345
363
  }
@@ -377,7 +395,12 @@
377
395
  outerWidth = that.thumb[that.dirs.outerWidth]();
378
396
  leftOffset = leftOffset[that.dirs.pos];
379
397
  widgetUnits = 100 / widgetUnits;
380
- setValueFromPos(e, o.animate);
398
+
399
+ if(e.target.className == 'ws-range-ticks'){
400
+ updateValue(e.target.getAttribute('data-value'), o.animate);
401
+ } else {
402
+ setValueFromPos(e, o.animate);
403
+ }
381
404
  isActive = true;
382
405
  $(document)
383
406
  .on(e.type == 'touchstart' ?
@@ -423,6 +446,13 @@
423
446
  var step = true;
424
447
  var code = e.keyCode;
425
448
  if(!o.readonly && !o.disabled){
449
+ if(that.isRtl){
450
+ if(code == 39){
451
+ code = 37;
452
+ } else if(code == 37){
453
+ code = 39;
454
+ }
455
+ }
426
456
  if (code == 39 || code == 38) {
427
457
  that.doStep(1);
428
458
  } else if (code == 37 || code == 40) {
@@ -522,10 +552,17 @@
522
552
  {mouse: 'pageY', pos: 'top', min: 'max', max: 'min', left: 'top', right: 'bottom', width: 'height', innerWidth: 'innerHeight', innerHeight: 'innerWidth', outerWidth: 'outerHeight', outerHeight: 'outerWidth', marginTop: 'marginLeft', marginLeft: 'marginTop'} :
523
553
  {mouse: 'pageX', pos: 'left', min: 'min', max: 'max', left: 'left', right: 'right', width: 'width', innerWidth: 'innerWidth', innerHeight: 'innerHeight', outerWidth: 'outerWidth', outerHeight: 'outerHeight', marginTop: 'marginTop', marginLeft: 'marginLeft'}
524
554
  ;
555
+ if(!this.vertical && this.element.css('direction') == 'rtl'){
556
+ this.isRtl = true;
557
+ this.dirs.left = 'right';
558
+ this.dirs.right = 'left';
559
+ this.dirs.marginLeft = 'marginRight';
560
+ }
525
561
  this.element
526
562
  [this.vertical ? 'addClass' : 'removeClass']('vertical-range')
527
- [this.vertical ? 'addClass' : 'removeClass']('horizontal-range')
563
+ [this.isRtl ? 'addClass' : 'removeClass']('ws-is-rtl')
528
564
  ;
565
+ this.updateMetrics = this.posCenter;
529
566
  this.posCenter();
530
567
  }
531
568
  };
@@ -562,4 +599,4 @@
562
599
  if(window.webshims && webshims.isReady){
563
600
  webshims.isReady('range-ui', true);
564
601
  }
565
- })(window.webshims ? webshims.$ : jQuery);
602
+ })(window.webshims ? webshims.$ : jQuery);
@@ -5,11 +5,131 @@
5
5
  clear: both;
6
6
  content: ' '; }
7
7
 
8
+ .ws-range .ws-range-thumb, .ws-inline-picker {
9
+ -moz-box-sizing: content-box;
10
+ box-sizing: content-box; }
11
+ .ws-range .ws-range-thumb *, .ws-inline-picker *, .ws-range .ws-range-thumb:before, .ws-inline-picker:before, .ws-range .ws-range-thumb:after, .ws-inline-picker:after,
12
+ .ws-range .ws-range-thumb :after,
13
+ .ws-inline-picker :after,
14
+ .ws-range .ws-range-thumb :before,
15
+ .ws-inline-picker :before {
16
+ -moz-box-sizing: content-box;
17
+ box-sizing: content-box; }
18
+
19
+ /* style picker api */
20
+ .input-picker[data-class~="show-week"] .ws-week,
21
+ .show-week .input-picker .ws-week {
22
+ display: table-cell; }
23
+
24
+ .input-picker[data-class~="show-yearbtns"] .ws-picker-header,
25
+ .show-yearbtns .input-picker .ws-picker-header {
26
+ margin: 0 4.23077em; }
27
+ .input-picker[data-class~="show-yearbtns"] button.ws-year-btn,
28
+ .show-yearbtns .input-picker button.ws-year-btn {
29
+ display: inline-block; }
30
+
31
+ .input-picker[data-class~="hide-btnrow"] .ws-button-row,
32
+ .hide-btnrow .input-picker .ws-button-row {
33
+ display: none; }
34
+
35
+ .input-picker[data-class~="show-selectnav"] .ws-picker-header > button:after,
36
+ .show-selectnav .input-picker .ws-picker-header > button:after, .input-picker[data-class~="show-uparrow"] .ws-picker-header > button:after,
37
+ .show-uparrow .input-picker .ws-picker-header > button:after {
38
+ display: inline-block; }
39
+
40
+ .input-picker[data-class~="show-selectnav"] .ws-picker-header > select,
41
+ .show-selectnav .input-picker .ws-picker-header > select {
42
+ display: inline-block; }
43
+ .input-picker[data-class~="show-selectnav"] .ws-picker-header > button,
44
+ .show-selectnav .input-picker .ws-picker-header > button {
45
+ width: auto; }
46
+ .input-picker[data-class~="show-selectnav"] .ws-picker-header > button > span,
47
+ .show-selectnav .input-picker .ws-picker-header > button > span {
48
+ display: none; }
49
+
50
+ /* btn api */
51
+ .hide-spinbtns + .input-buttons > .step-controls,
52
+ .hide-spinbtns .input-buttons > .step-controls {
53
+ display: none; }
54
+ .hide-spinbtns::-webkit-inner-spin-button,
55
+ .hide-spinbtns ::-webkit-inner-spin-button {
56
+ display: none; }
57
+
58
+ .hide-dropdownbtn + .input-buttons > .ws-popover-opener,
59
+ .hide-dropdownbtn .input-buttons > .ws-popover-opener {
60
+ display: none; }
61
+
62
+ .hide-inputbtns + .input-buttons,
63
+ .hide-inputbtns .input-buttons {
64
+ display: none; }
65
+ .hide-inputbtns::-webkit-inner-spin-button,
66
+ .hide-inputbtns ::-webkit-inner-spin-button {
67
+ display: none; }
68
+
69
+ .a11yhide-inputbtns + .input-buttons,
70
+ .a11yhide-inputbtns .input-buttons {
71
+ width: 0;
72
+ margin: 0;
73
+ overflow: visible; }
74
+ .a11yhide-inputbtns + .input-buttons > .step-controls,
75
+ .a11yhide-inputbtns .input-buttons > .step-controls {
76
+ display: none; }
77
+ .a11yhide-inputbtns + .input-buttons > .ws-popover-opener,
78
+ .a11yhide-inputbtns .input-buttons > .ws-popover-opener {
79
+ height: 0;
80
+ width: 0;
81
+ overflow: hidden; }
82
+ .a11yhide-inputbtns + .input-buttons > .ws-popover-opener:focus, .a11yhide-inputbtns + .input-buttons > .ws-popover-opener:active,
83
+ .a11yhide-inputbtns .input-buttons > .ws-popover-opener:focus,
84
+ .a11yhide-inputbtns .input-buttons > .ws-popover-opener:active {
85
+ height: 19px;
86
+ width: 19px; }
87
+
88
+ .inputbtns-outside + span.input-buttons,
89
+ .inputbtns-outside span.input.input-buttons {
90
+ margin-left: 2px; }
91
+ .inputbtns-outside + span.input-buttons.ws-is-rtl,
92
+ .inputbtns-outside span.input.input-buttons.ws-is-rtl {
93
+ margin-left: 0;
94
+ margin-right: 2px; }
95
+
96
+ .show-ticklabels .ws-range-ticks[data-label]:after {
97
+ display: inline-block; }
98
+
99
+ .show-tickvalues .ws-range-ticks:before {
100
+ display: inline-block; }
101
+
102
+ .hide-ticks .ws-range-ticks {
103
+ display: none; }
104
+
105
+ .show-valuetooltip span.ws-range-thumb > span, .show-valuetooltip span.ws-range-thumb > span:after {
106
+ display: inline-block; }
107
+
108
+ .ws-active.show-activevaluetooltip span.ws-range-thumb > span, .ws-active.show-activevaluetooltip span.ws-range-thumb > span:after,
109
+ .show-activevaluetooltip .ws-range.ws-active span.ws-range-thumb > span,
110
+ .show-activevaluetooltip .ws-range.ws-active span.ws-range-thumb > span:after {
111
+ display: inline-block; }
112
+
113
+ .show-labeltooltip span.ws-range-thumb > span, .show-labeltooltip span.ws-range-thumb > span:before {
114
+ display: inline-block; }
115
+
116
+ .ws-active.show-activelabeltooltip span.ws-range-thumb > span, .ws-active.show-activelabeltooltip span.ws-range-thumb > span:before,
117
+ .show-activelabeltooltip .ws-range.ws-active span.ws-range-thumb > span,
118
+ .show-activelabeltooltip .ws-range.ws-active span.ws-range-thumb > span:before {
119
+ display: inline-block; }
120
+
8
121
  /* spinner control for time, number (usable for date, datetime-local) */
9
122
  .has-input-buttons,
10
123
  html > body input.ws-inputreplace.has-input-buttons,
11
124
  span.has-input-buttons {
12
- display: inline-block; }
125
+ display: inline-block;
126
+ vertical-align: middle; }
127
+
128
+ .ws-inputreplace[readonly][aria-readonly="false"] {
129
+ cursor: pointer; }
130
+ .ws-inputreplace[readonly][aria-readonly="false"][disabled] {
131
+ cursor: default;
132
+ cursor: not-allowed; }
13
133
 
14
134
  .input-buttons,
15
135
  .step-controls,
@@ -17,9 +137,7 @@ span.has-input-buttons {
17
137
  zoom: 1;
18
138
  overflow: hidden;
19
139
  display: inline-block;
20
- font-size: 0;
21
140
  vertical-align: middle;
22
- margin-top: -3px;
23
141
  margin-left: -20px; }
24
142
 
25
143
  .step-controls,
@@ -29,6 +147,9 @@ span.has-input-buttons {
29
147
  margin: 0;
30
148
  height: 19px;
31
149
  width: 15px; }
150
+ .ws-is-rtl .step-controls, .ws-is-rtl
151
+ .ws-popover-opener {
152
+ float: right; }
32
153
 
33
154
  .ws-popover-opener {
34
155
  position: relative;
@@ -39,6 +160,8 @@ span.has-input-buttons {
39
160
  border-radius: 3px;
40
161
  cursor: pointer;
41
162
  background: #ccc; }
163
+ .ws-is-rtl .ws-popover-opener {
164
+ margin: 0 2px 0 0; }
42
165
  .ws-popover-opener span {
43
166
  display: block;
44
167
  position: absolute;
@@ -58,23 +181,32 @@ span.has-input-buttons {
58
181
  background: none; }
59
182
 
60
183
  input[type="color"] {
61
- width: 6.5em; }
184
+ width: 7.5em; }
62
185
 
63
186
  .input-buttons {
64
187
  text-align: left; }
65
188
  .input-buttons.color-input-buttons {
66
189
  margin-left: 2px; }
67
- .input-buttons.input-button-size-1.month-input-buttons, .input-buttons.input-button-size-1.date-input-buttons {
68
- margin-left: -24px; }
69
- .input-buttons.input-button-size-2 {
70
- margin-left: -39px; }
71
190
  .input-buttons.ws-disabled {
72
191
  opacity: 0.95; }
73
192
  .input-buttons.ws-disabled *, .input-buttons.ws-readonly * {
74
193
  cursor: default; }
75
194
 
195
+ .input-button-size-1.month-input-buttons, .input-button-size-1.date-input-buttons, .input-button-size-1.datetime-local-input-buttons {
196
+ margin-left: -24px; }
197
+ .input-button-size-1.month-input-buttons.ws-is-rtl, .input-button-size-1.date-input-buttons.ws-is-rtl, .input-button-size-1.datetime-local-input-buttons.ws-is-rtl {
198
+ margin-left: 0;
199
+ margin-right: -24px; }
200
+
201
+ .input-button-size-2 {
202
+ margin-left: -39px; }
203
+ .input-button-size-2.ws-is-rtl {
204
+ margin-left: 0;
205
+ margin-right: -39px; }
206
+
76
207
  .step-controls span {
77
208
  position: absolute;
209
+ left: 0;
78
210
  display: inline-block;
79
211
  overflow: hidden;
80
212
  margin: 0 !important;
@@ -104,6 +236,7 @@ input[type="color"] {
104
236
  .ws-disabled .step-controls span.step-down {
105
237
  background-position: -205px 0; }
106
238
 
239
+ /* helper classes to hide show/hide specific btn features features */
107
240
  .ws-input {
108
241
  letter-spacing: -0.31em;
109
242
  word-spacing: -0.43em; }
@@ -111,6 +244,8 @@ input[type="color"] {
111
244
  text-align: center;
112
245
  letter-spacing: normal;
113
246
  word-spacing: normal; }
247
+ .ws-input > * > option {
248
+ text-align: left; }
114
249
  .ws-input .ws-input-seperator {
115
250
  vertical-align: middle;
116
251
  width: 2%;
@@ -124,6 +259,9 @@ input[type="color"] {
124
259
  text-align: center;
125
260
  display: inline-block; }
126
261
 
262
+ span.ws-input {
263
+ display: inline-block; }
264
+
127
265
  .ws-date .mm,
128
266
  .ws-date .dd {
129
267
  width: 23.5%;
@@ -151,7 +289,7 @@ input[type="color"] {
151
289
  position: relative;
152
290
  display: inline-block;
153
291
  vertical-align: middle;
154
- margin: 5px 0 10px;
292
+ margin: 0.57692em 0;
155
293
  zoom: 1;
156
294
  border: none;
157
295
  height: 0.61538em;
@@ -164,36 +302,44 @@ input[type="color"] {
164
302
  transition: background-color 400ms, border-color 400ms;
165
303
  background-color: #ddd;
166
304
  box-shadow: 0 -0.07692em 0.11538em rgba(0, 0, 0, 0.2) inset; }
305
+ [list] + .ws-range {
306
+ margin: 0.19231em 0 0.96154em; }
167
307
  .ws-range .ws-range-thumb {
168
308
  top: 0;
169
309
  position: absolute;
170
310
  display: block;
171
311
  z-index: 4;
172
- margin: -0.61538em 0 0 -0.61538em;
173
- height: 1.23077em;
174
- width: 1.23077em;
312
+ margin: -0.46154em 0 0 -0.76923em;
313
+ height: 1.53846em;
314
+ width: 1.53846em;
175
315
  border-radius: 50%;
176
316
  background: #ccc;
177
317
  border: 0.07692em solid #aaaaaa;
178
318
  cursor: pointer;
179
319
  transition: background-color 400ms, border-color 400ms; }
180
- .ws-range .ws-range-thumb:after, .ws-range .ws-range-thumb:before {
320
+ .ws-range .ws-range-thumb > span {
181
321
  position: absolute;
182
- top: -2.15385em;
183
- left: -.3em;
184
- display: inline-block;
185
- content: attr(data-value);
186
- padding: 0.23077em 0.07692em;
187
- min-width: 2em;
322
+ margin: 0 0 3px -90px;
323
+ padding: 0;
324
+ border: 0;
325
+ left: 50%;
326
+ bottom: 1.61538em;
188
327
  visibility: hidden;
328
+ width: 180px;
189
329
  text-align: center;
190
- background: #fff;
191
- border: 0.07692em solid #cccccc;
192
- transition: all 400ms; }
193
- .ws-range .ws-range-thumb:after {
194
- content: attr(data-value); }
195
- .ws-range .ws-range-thumb:before {
196
- content: attr(data-valuetext); }
330
+ background: none; }
331
+ .ws-range .ws-range-thumb > span:after, .ws-range .ws-range-thumb > span:before {
332
+ content: attr(data-value);
333
+ padding: 0.07692em 0.26923em;
334
+ text-align: center;
335
+ background: #fff;
336
+ border: 0.07692em solid #cccccc;
337
+ border-radius: 0.30769em;
338
+ visibility: visible; }
339
+ .ws-range .ws-range-thumb > span:after {
340
+ content: attr(data-value); }
341
+ .ws-range .ws-range-thumb > span:before {
342
+ content: attr(data-valuetext); }
197
343
  .ws-range.ws-focus .ws-range-thumb {
198
344
  background: #eee;
199
345
  border-color: #999; }
@@ -231,55 +377,65 @@ input[type="color"] {
231
377
  box-shadow: 0 0.11538em 0.26923em rgba(255, 255, 255, 0.2) inset; }
232
378
  .ws-range .ws-range-ticks {
233
379
  position: absolute;
234
- bottom: -0.57692em;
380
+ bottom: -0.76923em;
235
381
  left: 0;
236
- height: 0.52308em;
237
- width: 0.11538em;
238
- margin: 0 0 0 -0.15385em;
239
- background: #ccc; }
240
- .ws-range .ws-range-ticks[data-label]:after {
241
- visibility: hidden;
242
- content: attr(data-label);
243
- display: inline-block;
244
- font-size: 0.69231em;
245
- min-width: 2em;
246
- text-align: center;
247
- margin: 0.53846em 0 0 -1em; }
382
+ height: 0.61538em;
383
+ width: 0.07692em;
384
+ margin: 0 0 0 -0.07692em;
385
+ background: #ccc;
386
+ transition: background-color 400ms, color 400ms; }
387
+ .ws-range .ws-range-ticks.ws-selected-option {
388
+ background: #09c;
389
+ color: #09c; }
390
+ .ws-range.ws-is-rtl .ws-range-progress {
391
+ left: auto;
392
+ right: 0; }
393
+ .ws-range.ws-is-rtl .ws-range-ticks {
394
+ left: auto;
395
+ right: 0; }
248
396
  .ws-range.vertical-range {
249
- background: url(vertical-range.png) center bottom no-repeat;
250
- width: 20px; }
251
- .ws-range.vertical-range .ws-range-thumb {
252
- top: 0;
253
- left: 3px;
397
+ width: 0.61538em;
398
+ margin: 0 10px 0 5px; }
399
+ .ws-range.vertical-range .ws-range-ticks {
254
400
  bottom: auto;
255
- background: url(vertical-range.png) 0 -51px no-repeat;
256
- margin: -6px 0 0 0;
257
- height: 11px;
258
- width: 22px; }
259
- .ws-range.vertical-range .ws-range-thumb:hover, .ws-range.vertical-range.ws-focus .ws-range-thumb {
260
- background-position: 0 -34px; }
261
- .ws-range.vertical-range.ws-active .ws-range-thumb {
262
- background-position: 0 -17px; }
263
- .ws-range.vertical-range[aria-disabled="true"] .ws-range-thumb {
264
- background-position: 0 0; }
401
+ left: auto;
402
+ margin: -0.05769em 0 0 0;
403
+ right: -0.57692em;
404
+ height: 0.11538em;
405
+ width: 0.52308em; }
265
406
  .ws-range.vertical-range .ws-range-progress {
266
407
  top: auto;
267
408
  bottom: 1px;
268
409
  left: 0;
269
- width: 1px;
410
+ width: 100%;
270
411
  height: 0; }
271
- .ws-range.vertical-range .ws-range-rail {
272
- top: 5px;
273
- left: 0;
274
- right: 0;
275
- bottom: 5px; }
276
- .ws-range.vertical-range .ws-range-ticks {
277
- bottom: auto;
278
- left: auto;
279
- right: 0;
280
- height: 1px;
281
- width: 4px; }
282
412
 
413
+ .ws-range-ticks[data-label]:after,
414
+ .ws-range-ticks:before {
415
+ display: none;
416
+ content: attr(data-label);
417
+ font-size: 0.76923em;
418
+ min-width: 2em;
419
+ text-align: center;
420
+ margin: 0.69231em 0 0 -0.95em; }
421
+ .ws-is-rtl .ws-range-ticks[data-label]:after, .ws-is-rtl
422
+ .ws-range-ticks:before {
423
+ margin: 0.69231em -0.95em 0 0; }
424
+ .vertical-range .ws-range-ticks[data-label]:after, .vertical-range
425
+ .ws-range-ticks:before {
426
+ margin: 0 0 0 5px;
427
+ position: relative;
428
+ top: -0.7em;
429
+ left: 0.53846em;
430
+ min-width: 0; }
431
+
432
+ .ws-range-ticks:before {
433
+ content: attr(data-value); }
434
+
435
+ .ws-range-thumb > span, .ws-range-thumb > span:after, .ws-range-thumb > span:before {
436
+ display: none; }
437
+
438
+ /* helper classes to hide show/hide specific range features features */
283
439
  .input-picker .ws-button-row button {
284
440
  border-radius: 0.30769em;
285
441
  background: #ccc;
@@ -287,22 +443,25 @@ input[type="color"] {
287
443
  display: inline-block;
288
444
  border: 0.07692em solid transparent; }
289
445
 
446
+ .ws-inline-picker {
447
+ position: relative;
448
+ z-index: 99; }
449
+
290
450
  .input-picker {
291
451
  overflow: visible;
292
452
  font-size: 13px;
293
453
  outline: none;
294
454
  text-align: center;
295
455
  font-family: sans-serif;
296
- width: 25.38462em;
297
- max-width: 100%;
456
+ width: 27.69231em;
298
457
  min-width: 23.07692em;
299
458
  /* Selector API: */ }
300
459
  .input-picker .ws-po-outerbox {
301
460
  -webkit-transform: translate(0, 30%);
302
461
  transform: translate(0, 30%); }
303
- [data-vertical="bottom"] .input-picker .ws-po-outerbox {
304
- -webkit-transform: translate(0, -3%);
305
- transform: translate(0, -30%); }
462
+ .input-picker[data-vertical="bottom"] .ws-po-outerbox {
463
+ -webkit-transform: translate(0, -30%);
464
+ transform: translate(0, -30%); }
306
465
  .input-picker.time-popover, .input-picker.datetime-local-popover {
307
466
  width: 31.92308em; }
308
467
  .input-picker.time-popover .ws-prev,
@@ -329,12 +488,13 @@ input[type="color"] {
329
488
  outline: 1px dotted black; }
330
489
  .input-picker .ws-po-box {
331
490
  position: relative;
332
- padding: 0.76923em 1.53846em 1.15385em;
333
- border-radius: 5px;
334
- box-shadow: 0 0 2px rgba(0, 0, 0, 0.3); }
491
+ padding: 1.15385em 1.53846em;
492
+ border-radius: 0.38462em;
493
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
494
+ direction: ltr; }
335
495
  .input-picker .ws-picker-controls {
336
496
  position: absolute;
337
- top: 0.76923em; }
497
+ top: 1.15385em; }
338
498
  .input-picker .ws-picker-controls > button {
339
499
  border: 0.07692em solid #cccccc;
340
500
  border-radius: 0.38462em;
@@ -349,7 +509,8 @@ input[type="color"] {
349
509
  content: " ";
350
510
  width: 0px;
351
511
  height: 0px;
352
- border-style: solid; }
512
+ border-style: solid;
513
+ margin-top: 0.29231em; }
353
514
  .input-picker .ws-picker-controls > button span {
354
515
  display: none; }
355
516
  .input-picker .ws-picker-controls > button:hover {
@@ -359,32 +520,47 @@ input[type="color"] {
359
520
  opacity: 0.4;
360
521
  border-color: #eee;
361
522
  color: #ddd; }
362
- .input-picker .prev-controls {
363
- left: 1.53846em; }
364
- .input-picker .prev-controls .ws-super-prev:after,
365
- .input-picker .prev-controls .ws-super-prev:before,
366
- .input-picker .prev-controls .ws-prev:before {
523
+ .input-picker .prev-controls,
524
+ .input-picker .ws-po-box[dir="rtl"] .next-controls {
525
+ left: 1.53846em;
526
+ right: auto; }
527
+ .input-picker .prev-controls [class*="ws-super-"]:after,
528
+ .input-picker .prev-controls button:before,
529
+ .input-picker .ws-po-box[dir="rtl"] .next-controls [class*="ws-super-"]:after,
530
+ .input-picker .ws-po-box[dir="rtl"] .next-controls button:before {
367
531
  border-width: 0.35em 0.6em 0.35em 0;
368
532
  border-color: transparent #333333 transparent transparent;
369
533
  margin-left: -0.1em; }
370
- .input-picker .prev-controls .ws-super-prev {
371
- margin-right: 0.23077em; }
372
- .input-picker .prev-controls .ws-super-prev[disabled] {
534
+ .input-picker .prev-controls [class*="ws-super-"],
535
+ .input-picker .ws-po-box[dir="rtl"] .next-controls [class*="ws-super-"] {
536
+ margin-right: 0.23077em;
537
+ margin-left: 0; }
538
+ .input-picker .prev-controls [class*="ws-super-"][disabled],
539
+ .input-picker .ws-po-box[dir="rtl"] .next-controls [class*="ws-super-"][disabled] {
373
540
  display: none; }
374
- .input-picker .next-controls {
375
- right: 1.53846em; }
376
- .input-picker .next-controls button:before {
541
+ .input-picker .next-controls,
542
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls {
543
+ right: 1.53846em;
544
+ left: auto; }
545
+ .input-picker .next-controls button:before,
546
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls button:before {
377
547
  margin-left: 0.11538em; }
378
- .input-picker .next-controls .ws-super-next:before,
379
- .input-picker .next-controls .ws-super-next:after,
380
- .input-picker .next-controls .ws-next:before {
548
+ .input-picker .next-controls [class*="ws-super-"]:after,
549
+ .input-picker .next-controls button:before,
550
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls [class*="ws-super-"]:after,
551
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls button:before {
381
552
  border-width: 0.35em 0 0.35em 0.6em;
382
553
  border-color: transparent transparent transparent #333333;
383
554
  margin-right: -0.1em; }
384
- .input-picker .next-controls .ws-super-next {
385
- margin-left: 0.23077em; }
386
- .input-picker .next-controls .ws-super-next[disabled] {
555
+ .input-picker .next-controls [class*="ws-super-"],
556
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls [class*="ws-super-"] {
557
+ margin-left: 0.23077em;
558
+ margin-right: 0; }
559
+ .input-picker .next-controls [class*="ws-super-"][disabled],
560
+ .input-picker .ws-po-box[dir="rtl"] .prev-controls [class*="ws-super-"][disabled] {
387
561
  display: none; }
562
+ .input-picker .ws-po-box[dir="rtl"] {
563
+ direction: rtl; }
388
564
  .input-picker.time-popover .ws-picker-body {
389
565
  padding-top: 2.76923em; }
390
566
  .input-picker .ws-picker-body {
@@ -410,6 +586,10 @@ input[type="color"] {
410
586
  float: left; }
411
587
  .input-picker .ws-button-row button.ws-empty {
412
588
  float: right; }
589
+ .input-picker .ws-po-box[dir="rtl"] .ws-button-row button {
590
+ float: right; }
591
+ .input-picker .ws-po-box[dir="rtl"] .ws-button-row button.ws-empty {
592
+ float: left; }
413
593
  .input-picker[data-currentview="setMonthList"] .ws-picker-header > select, .input-picker[data-currentview="setYearList"] .ws-picker-header > select {
414
594
  max-width: 90%; }
415
595
  .input-picker[data-currentview="setDayList"] .ws-picker-header > select {
@@ -425,7 +605,7 @@ input[type="color"] {
425
605
  top: -3.07692em;
426
606
  right: 0;
427
607
  left: 0;
428
- margin: 0 4.23077em; }
608
+ margin: 0 2.69231em; }
429
609
  .input-picker .ws-picker-header > button {
430
610
  display: inline-block;
431
611
  width: 100%;
@@ -503,7 +683,8 @@ input[type="color"] {
503
683
  width: 100%;
504
684
  margin: 0;
505
685
  border: 0 none;
506
- border-collapse: collapse; }
686
+ border-collapse: collapse;
687
+ table-layout: fixed; }
507
688
  .input-picker .picker-list th,
508
689
  .input-picker .picker-list td.week-cell {
509
690
  font-size: 1em;
@@ -556,3 +737,5 @@ input[type="color"] {
556
737
 
557
738
  .ws-picker-header select {
558
739
  display: none; }
740
+
741
+ /* helper classes to hide show/hide specific picker features */