webshims-rails 1.14.4 → 1.14.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Rakefile +58 -0
  4. data/lib/webshims-rails/version.rb +2 -2
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +45 -26
  6. data/vendor/assets/javascripts/webshims/shims/combos/1.js +18 -5
  7. data/vendor/assets/javascripts/webshims/shims/combos/10.js +26 -22
  8. data/vendor/assets/javascripts/webshims/shims/combos/11.js +24 -21
  9. data/vendor/assets/javascripts/webshims/shims/combos/12.js +4 -0
  10. data/vendor/assets/javascripts/webshims/shims/combos/13.js +4 -0
  11. data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -1
  12. data/vendor/assets/javascripts/webshims/shims/combos/15.js +17 -7
  13. data/vendor/assets/javascripts/webshims/shims/combos/16.js +21 -7
  14. data/vendor/assets/javascripts/webshims/shims/combos/17.js +24 -22
  15. data/vendor/assets/javascripts/webshims/shims/combos/18.js +122 -97
  16. data/vendor/assets/javascripts/webshims/shims/combos/2.js +20 -6
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +4 -3
  18. data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -0
  19. data/vendor/assets/javascripts/webshims/shims/combos/25.js +7 -5
  20. data/vendor/assets/javascripts/webshims/shims/combos/26.js +1 -1
  21. data/vendor/assets/javascripts/webshims/shims/combos/27.js +29 -9
  22. data/vendor/assets/javascripts/webshims/shims/combos/28.js +1 -2
  23. data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -1
  24. data/vendor/assets/javascripts/webshims/shims/combos/3.js +16 -6
  25. data/vendor/assets/javascripts/webshims/shims/combos/30.js +16 -6
  26. data/vendor/assets/javascripts/webshims/shims/combos/31.js +16 -6
  27. data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -1
  28. data/vendor/assets/javascripts/webshims/shims/combos/34.js +2 -1
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +2 -1
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +24 -22
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +24 -22
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +20 -6
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +20 -6
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +26 -22
  35. data/vendor/assets/javascripts/webshims/shims/combos/97.js +0 -24
  36. data/vendor/assets/javascripts/webshims/shims/combos/98.js +22 -25
  37. data/vendor/assets/javascripts/webshims/shims/combos/99.js +22 -25
  38. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +2 -1
  39. data/vendor/assets/javascripts/webshims/shims/filereader.js +1 -1
  40. data/vendor/assets/javascripts/webshims/shims/form-core.js +14 -5
  41. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +8 -4
  42. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -1
  43. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +24 -21
  44. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1 -1
  45. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +28 -8
  46. data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -20
  47. data/vendor/assets/javascripts/webshims/shims/form-validators.js +17 -10
  48. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +3 -3
  49. data/vendor/assets/javascripts/webshims/shims/jme/base.js +0 -24
  50. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +23 -9
  51. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +21 -3
  52. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +13 -4
  53. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +22 -1
  54. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -0
  55. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -3
  56. data/vendor/assets/javascripts/webshims/shims/picture.js +122 -97
  57. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +470 -452
  58. data/vendor/assets/javascripts/webshims/shims/sizzle.js +35 -27
  59. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +10 -2
  60. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +1 -1
  61. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +10 -0
  62. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +4 -2
  63. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +1 -1
  64. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +6 -24
  65. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +15 -21
  66. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +5 -19
  67. data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
  68. metadata +2 -3
  69. data/vendor/assets/javascripts/webshims/shims/promise.js +0 -684
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 70dcbd524eee50b457561f3a2a2aede14fe1d80e
4
- data.tar.gz: 6cc097ca6de460a7b3ac400e77ef52288a6050e0
3
+ metadata.gz: fb14a14f9a0126a142216b430620a282015327e1
4
+ data.tar.gz: a12e38b142fd8fc6a618518d6c6554be12e1af4e
5
5
  SHA512:
6
- metadata.gz: d25d1510ee2b1c31aaa293434c8cc65bea8b5f133ec29e2cccce47979c50d3e8447470f66d921414cbba3975884ddae4b3bca4d388db75b22f5bb3458a488495
7
- data.tar.gz: 6f8de25dcde6680323df9d2966a65a2cc314b7e2cdc16e9278cff6c06dc6e394369dcd5121109f55d85be9daecd122bc8db0a60a37211c4762fa5d1450539e5a
6
+ metadata.gz: b85682625ab66fad121917cd6a5260afec7f5636748a7809c78c74f9221f4e0bbc13bb7320ce14536dbea7060f5fee611375b64f4fa38298552032cff80280e0
7
+ data.tar.gz: 4e2b1a4a78dc81fe7db86b52227cc656ca0bad1d56619f4ef64b644170689d4d7a83c434d26bc06bee58f24c4044b85d0145f494967d5c16e42c8b01063094e3
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ tmp
data/Rakefile CHANGED
@@ -1 +1,59 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ task :update do
4
+ if ! ENV['REF']
5
+ raise "No REF value given. Set branch/tag/id, e.g., REF=1.2.2"
6
+ end
7
+ if ! ENV['VERSION']
8
+ raise "No VERSION value given. Set version, e.g., VERSION=1.2.2"
9
+ end
10
+ ref = ENV['REF']
11
+ version = ENV['VERSION']
12
+
13
+ cmd = <<EOT
14
+ mkdir tmp
15
+ cd tmp
16
+ rm -rf webshim
17
+ git clone https://github.com/aFarkas/webshim.git
18
+ cd webshim
19
+ git checkout #{ref}
20
+ cd ../..
21
+ rm -rf vendor/assets/javascripts/webshims
22
+ mv tmp/webshim/src vendor/assets/javascripts/webshims
23
+ EOT
24
+ system cmd
25
+
26
+ version_rb = <<EOT
27
+ module Webshims
28
+ module Rails
29
+ VERSION = "***"
30
+ WEBSHIMS_VERSION = "***"
31
+ end
32
+ end
33
+ EOT
34
+
35
+ version_rb.gsub!('***', version)
36
+ File.open('lib/webshims-rails/version.rb','w') do |f|
37
+ f.write version_rb
38
+ end
39
+
40
+
41
+ puts "Ok, check your work. If you are the gem owner, run rake :push VERSION=#{version} to generate and push the gem."
42
+ input = STDIN.gets.strip
43
+ end
44
+
45
+ task :push do
46
+ if ! ENV['VERSION']
47
+ raise "No VERSION value given. Set version, e.g., VERSION=1.2.2"
48
+ end
49
+ version = ENV['VERSION']
50
+
51
+ cmd = <<EOT
52
+ git add -A .
53
+ git commit -m "Update webshims to #{version}"
54
+ gem build webshims-rails.gemspec
55
+ gem push webshims-rails-#{version}.gem
56
+ EOT
57
+ system cmd
58
+
59
+ end
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.14.4"
4
- WEBSHIMS_VERSION = "1.14.4"
3
+ VERSION = "1.14.5"
4
+ WEBSHIMS_VERSION = "1.14.5"
5
5
  end
6
6
  end
@@ -104,6 +104,11 @@
104
104
  var getAutoEnhance = function(prop){
105
105
  return !webCFG.enhanceAuto && prop == 'auto' ? false : prop;
106
106
  };
107
+ var featureAlias = {
108
+ matchmedia: 'matchMedia',
109
+ xhr2: 'filereader',
110
+ promise: 'es6'
111
+ };
107
112
 
108
113
  clearInterval(webshims.timer);
109
114
  support.advancedObjectProperties = support.objectAccessor = support.ES5 = !!('create' in Object && 'seal' in Object);
@@ -121,7 +126,7 @@
121
126
  }
122
127
 
123
128
  $.extend(webshims, {
124
- version: '1.14.4',
129
+ version: '1.14.5',
125
130
 
126
131
  cfg: {
127
132
  enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
@@ -244,12 +249,9 @@
244
249
  }
245
250
 
246
251
  $.each(features, function(i, feature){
247
- if(feature == 'xhr2'){
248
- feature = 'filereader';
249
- }
250
- if(feature == 'promise'){
251
- feature = 'es6';
252
- }
252
+
253
+ feature = featureAlias[feature] || feature;
254
+
253
255
  if(!webshimsFeatures[feature]){
254
256
  WSDEBUG && webshims.error("could not find webshims-feature (aborted): "+ feature);
255
257
  isReady(feature, true);
@@ -1010,7 +1012,7 @@
1010
1012
 
1011
1013
  support.inputtypes = inputtypes;
1012
1014
 
1013
- $.each(['number', 'range', 'date', 'datetime-local', 'month', 'color'], function(i, type){
1015
+ $.each(['range', 'date', 'datetime-local', 'month', 'color', 'number'], function(i, type){
1014
1016
  input.setAttribute('type', type);
1015
1017
  inputtypes[type] = (input.type == type && (input.value = '(') && input.value != '(');
1016
1018
  });
@@ -1026,7 +1028,7 @@
1026
1028
  try {
1027
1029
  if(fieldset.querySelector(':invalid')){
1028
1030
  fieldset.disabled = true;
1029
- tmp = !fieldset.querySelector(':invalid');
1031
+ tmp = !fieldset.querySelector(':invalid') && fieldset.querySelector(':disabled');
1030
1032
  }
1031
1033
  } catch(er){}
1032
1034
  support.fieldsetdisabled = !!tmp;
@@ -1035,15 +1037,39 @@
1035
1037
  if(support[formvalidation]){
1036
1038
  bustedWidgetUi = !support.fieldsetdisabled || !support.fieldsetelements || !('value' in progress) || !('value' in output);
1037
1039
  replaceBustedUI = bustedWidgetUi && (/Android/i).test(navigator.userAgent);
1038
- bugs.bustedValidity = bustedValidity = window.opera || bugs.bustedValidity || bustedWidgetUi || !support.datalist;
1039
- } else {
1040
- bugs.bustedValidity = false;
1040
+ bustedValidity = window.opera || bugs.bustedValidity || bustedWidgetUi || !support.datalist;
1041
+
1042
+ if(!bustedValidity && inputtypes.number){
1043
+ bustedValidity = true;
1044
+ try {
1045
+ input.type = 'number';
1046
+ input.value = '';
1047
+ input.stepUp();
1048
+ bustedValidity = input.value != '1';
1049
+ } catch(e){}
1050
+ }
1051
+
1041
1052
  }
1042
1053
 
1054
+ bugs.bustedValidity = bustedValidity;
1055
+
1043
1056
  formExtend = support[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
1044
1057
  initialFormTest = $.noop;
1045
1058
  return false;
1046
1059
  };
1060
+ var typeTest = function(o){
1061
+ var ret = true;
1062
+ if(!o._types){
1063
+ o._types = o.types.split(' ');
1064
+ }
1065
+ $.each(o._types, function(i, name){
1066
+ if((name in inputtypes) && !inputtypes[name]){
1067
+ ret = false;
1068
+ return false;
1069
+ }
1070
+ });
1071
+ return ret;
1072
+ };
1047
1073
 
1048
1074
 
1049
1075
  webshims.validationMessages = webshims.validityMessages = {
@@ -1129,19 +1155,13 @@
1129
1155
  types: 'date time range number'
1130
1156
  },
1131
1157
  test: function(){
1132
- var ret = true;
1133
- var o = this.options;
1134
- if(!o._types){
1135
- o._types = o.types.split(' ');
1136
- }
1137
1158
  initialFormTest();
1138
- $.each(o._types, function(i, name){
1139
- if((name in inputtypes) && !inputtypes[name]){
1140
- ret = false;
1141
- return false;
1142
- }
1143
- });
1144
-
1159
+ var ret = !bustedValidity;
1160
+
1161
+ if(ret){
1162
+ ret = typeTest(this.options);
1163
+ }
1164
+
1145
1165
  return ret;
1146
1166
  },
1147
1167
  methodNames: ['stepUp', 'stepDown'],
@@ -1169,7 +1189,7 @@
1169
1189
  if(!o.replaceUI && replaceBustedUI){
1170
1190
  o.replaceUI = true;
1171
1191
  }
1172
- return !o.replaceUI && modules[fNuAPI].test();
1192
+ return !o.replaceUI && typeTest(o);
1173
1193
  },
1174
1194
  d: ['forms', DOMSUPPORT, fNuAPI, 'range-ui'],
1175
1195
  options: {
@@ -1177,7 +1197,6 @@
1177
1197
  calculateWidth: true,
1178
1198
  animate: true
1179
1199
  }
1180
- // ,replaceUI: false
1181
1200
  },
1182
1201
  c: [6, 5, 9, 10, 17, 11]
1183
1202
  });
@@ -250,6 +250,9 @@ webshims.isReady('swfmini', true);
250
250
  };
251
251
  var lazyLoad = function(){
252
252
  var toLoad = ['form-validation'];
253
+
254
+ $(document).off('.lazyloadvalidation');
255
+
253
256
  if(options.lazyCustomMessages){
254
257
  options.customMessages = true;
255
258
  toLoad.push('form-message');
@@ -264,7 +267,6 @@ webshims.isReady('swfmini', true);
264
267
  toLoad.push('form-validators');
265
268
  }
266
269
  webshims.reTest(toLoad);
267
- $(document).off('.lazyloadvalidation');
268
270
  };
269
271
  /*
270
272
  * Selectors for all browsers
@@ -321,11 +323,11 @@ webshims.isReady('swfmini', true);
321
323
  };
322
324
  $.extend(exp, {
323
325
  "enabled": function( elem ) {
324
- return elem.disabled === false && !$(elem).is('fieldset[disabled] *');
326
+ return 'disabled' in elem && elem.disabled === false && !$.find.matchesSelector(elem, 'fieldset[disabled] *');
325
327
  },
326
328
 
327
329
  "disabled": function( elem ) {
328
- return elem.disabled === true || ('disabled' in elem && $(elem).is('fieldset[disabled] *'));
330
+ return elem.disabled === true || ('disabled' in elem && $.find.matchesSelector(elem, 'fieldset[disabled] *'));
329
331
  }
330
332
  });
331
333
  }
@@ -504,8 +506,7 @@ webshims.isReady('swfmini', true);
504
506
  };
505
507
 
506
508
 
507
-
508
- $(document).on('focusin.lazyloadvalidation', function(e){
509
+ $(document).on('focusin.lazyloadvalidation mousedown.lazyloadvalidation touchstart.lazyloadvalidation', function(e){
509
510
  if('form' in e.target){
510
511
  lazyLoad();
511
512
  }
@@ -536,6 +537,14 @@ webshims.isReady('swfmini', true);
536
537
  });
537
538
  }
538
539
  });
540
+
541
+ if(options.addValidators && options.fastValidators){
542
+ webshims.reTest(['form-validators', 'form-validation']);
543
+ }
544
+
545
+ if(document.readyState == 'complete'){
546
+ webshims.isReady('WINDOWLOAD', true);
547
+ }
539
548
  });
540
549
  ;(function(webshims){
541
550
  "use strict";
@@ -1070,6 +1079,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1070
1079
  webshims.ready(swfType, initMediaElements);
1071
1080
  }
1072
1081
  webshims.ready('track', loadTrackUi);
1082
+
1083
+ if(document.readyState == 'complete'){
1084
+ webshims.isReady('WINDOWLOAD', true);
1085
+ }
1073
1086
  });
1074
1087
 
1075
1088
  })(webshims);
@@ -549,8 +549,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
549
549
  webshims.warn(type +' already implemented for element #'+elem.id);
550
550
  return false;
551
551
  }
552
+
552
553
  data[type] = true;
553
- return true;
554
+ return !$(elem).hasClass('ws-nopolyfill');
554
555
  },
555
556
  extendUNDEFProp: function(obj, props){
556
557
  $.each(props, function(name, prop){
@@ -2015,9 +2016,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2015
2016
  $(element).attr({'aria-labelledby': labels.map(getId).get().join(' ')});
2016
2017
  if(!noFocus){
2017
2018
  labels.on('click', function(e){
2018
- element.getShadowFocusElement().focus();
2019
- e.preventDefault();
2020
- return false;
2019
+ if(!e.isDefaultPrevented()){
2020
+ element.getShadowFocusElement().focus();
2021
+ e.preventDefault();
2022
+ return false;
2023
+ }
2021
2024
  });
2022
2025
  }
2023
2026
  };
@@ -3675,7 +3678,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3675
3678
  });
3676
3679
  });
3677
3680
  }
3678
-
3681
+
3679
3682
  if(opts.calculateWidth){
3680
3683
  sizeInput(data.shim);
3681
3684
  } else {
@@ -3705,28 +3708,28 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3705
3708
  }
3706
3709
 
3707
3710
  var replace = {};
3708
-
3709
-
3711
+
3710
3712
  if(options.replaceUI){
3711
- if( $.isPlainObject(options.replaceUI) ){
3712
- $.extend(replace, options.replaceUI);
3713
- } else {
3714
- $.extend(replace, {
3715
- 'range': 1,
3716
- 'number': 1,
3717
- 'time': 1,
3718
- 'month': 1,
3719
- 'date': 1,
3720
- 'color': 1,
3721
- 'datetime-local': 1
3722
- });
3723
- }
3713
+ $.each($.extend(replace, $.isPlainObject(options.replaceUI) ? options.replaceUI : {
3714
+ 'range': 1,
3715
+ 'number': 1,
3716
+ 'time': 1,
3717
+ 'month': 1,
3718
+ 'date': 1,
3719
+ 'color': 1,
3720
+ 'datetime-local': 1
3721
+ }), function(name, val){
3722
+ if(supportInputTypes[name] && val == 'auto'){
3723
+ replace[name] = webshims._getAutoEnhance(val);
3724
+ }
3725
+ });
3724
3726
  }
3727
+
3725
3728
  if(supportInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
3726
3729
  replace.number = 1;
3727
3730
  }
3728
3731
 
3729
- if(!supportInputTypes.range || replace.range){
3732
+ if(replace.range !== false && (!supportInputTypes.range || replace.range)){
3730
3733
  extendType('range', {
3731
3734
  _create: function(opts, set){
3732
3735
  var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
@@ -3737,12 +3740,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3737
3740
 
3738
3741
 
3739
3742
  ['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
3740
- if(!supportInputTypes[name] || replace[name]){
3743
+ if(replace[name] !== false && (!supportInputTypes[name] || replace[name])){
3741
3744
  extendType(name, {
3742
3745
  _create: function(opts, set){
3743
3746
  if(opts.monthSelect || opts.daySelect || opts.yearSelect){
3744
3747
  opts.splitInput = true;
3745
3748
  }
3749
+
3746
3750
  if(opts.splitInput && !splitInputs[name]){
3747
3751
  webshims.warn('splitInput not supported for '+ name);
3748
3752
  opts.splitInput = false;
@@ -803,9 +803,11 @@
803
803
  $(element).attr({'aria-labelledby': labels.map(getId).get().join(' ')});
804
804
  if(!noFocus){
805
805
  labels.on('click', function(e){
806
- element.getShadowFocusElement().focus();
807
- e.preventDefault();
808
- return false;
806
+ if(!e.isDefaultPrevented()){
807
+ element.getShadowFocusElement().focus();
808
+ e.preventDefault();
809
+ return false;
810
+ }
809
811
  });
810
812
  }
811
813
  };
@@ -2463,7 +2465,7 @@
2463
2465
  });
2464
2466
  });
2465
2467
  }
2466
-
2468
+
2467
2469
  if(opts.calculateWidth){
2468
2470
  sizeInput(data.shim);
2469
2471
  } else {
@@ -2493,28 +2495,28 @@
2493
2495
  }
2494
2496
 
2495
2497
  var replace = {};
2496
-
2497
-
2498
+
2498
2499
  if(options.replaceUI){
2499
- if( $.isPlainObject(options.replaceUI) ){
2500
- $.extend(replace, options.replaceUI);
2501
- } else {
2502
- $.extend(replace, {
2503
- 'range': 1,
2504
- 'number': 1,
2505
- 'time': 1,
2506
- 'month': 1,
2507
- 'date': 1,
2508
- 'color': 1,
2509
- 'datetime-local': 1
2510
- });
2511
- }
2500
+ $.each($.extend(replace, $.isPlainObject(options.replaceUI) ? options.replaceUI : {
2501
+ 'range': 1,
2502
+ 'number': 1,
2503
+ 'time': 1,
2504
+ 'month': 1,
2505
+ 'date': 1,
2506
+ 'color': 1,
2507
+ 'datetime-local': 1
2508
+ }), function(name, val){
2509
+ if(supportInputTypes[name] && val == 'auto'){
2510
+ replace[name] = webshims._getAutoEnhance(val);
2511
+ }
2512
+ });
2512
2513
  }
2514
+
2513
2515
  if(supportInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
2514
2516
  replace.number = 1;
2515
2517
  }
2516
2518
 
2517
- if(!supportInputTypes.range || replace.range){
2519
+ if(replace.range !== false && (!supportInputTypes.range || replace.range)){
2518
2520
  extendType('range', {
2519
2521
  _create: function(opts, set){
2520
2522
  var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
@@ -2525,12 +2527,13 @@
2525
2527
 
2526
2528
 
2527
2529
  ['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
2528
- if(!supportInputTypes[name] || replace[name]){
2530
+ if(replace[name] !== false && (!supportInputTypes[name] || replace[name])){
2529
2531
  extendType(name, {
2530
2532
  _create: function(opts, set){
2531
2533
  if(opts.monthSelect || opts.daySelect || opts.yearSelect){
2532
2534
  opts.splitInput = true;
2533
2535
  }
2536
+
2534
2537
  if(opts.splitInput && !splitInputs[name]){
2535
2538
  webshims.warn('splitInput not supported for '+ name);
2536
2539
  opts.splitInput = false;