webshims-rails 1.14.1 → 1.14.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) 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 +0 -0
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +3 -8
  5. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
  6. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
  9. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
  10. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
  11. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  12. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  13. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +0 -0
  14. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
  15. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
  16. data/vendor/assets/javascripts/webshims/shims/color-picker.js +2 -2
  17. data/vendor/assets/javascripts/webshims/shims/combos/1.js +66 -43
  18. data/vendor/assets/javascripts/webshims/shims/combos/10.js +66 -31
  19. data/vendor/assets/javascripts/webshims/shims/combos/11.js +66 -31
  20. data/vendor/assets/javascripts/webshims/shims/combos/12.js +96 -59
  21. data/vendor/assets/javascripts/webshims/shims/combos/13.js +96 -59
  22. data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -0
  23. data/vendor/assets/javascripts/webshims/shims/combos/15.js +4 -1
  24. data/vendor/assets/javascripts/webshims/shims/combos/16.js +70 -44
  25. data/vendor/assets/javascripts/webshims/shims/combos/17.js +66 -31
  26. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1241 -1126
  27. data/vendor/assets/javascripts/webshims/shims/combos/19.js +1272 -1214
  28. data/vendor/assets/javascripts/webshims/shims/combos/2.js +66 -43
  29. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1272 -1214
  30. data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -92
  31. data/vendor/assets/javascripts/webshims/shims/combos/22.js +30 -16
  32. data/vendor/assets/javascripts/webshims/shims/combos/23.js +66 -43
  33. data/vendor/assets/javascripts/webshims/shims/combos/25.js +41 -85
  34. data/vendor/assets/javascripts/webshims/shims/combos/26.js +1556 -2316
  35. data/vendor/assets/javascripts/webshims/shims/combos/27.js +12 -10
  36. data/vendor/assets/javascripts/webshims/shims/combos/28.js +4 -1
  37. data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
  38. data/vendor/assets/javascripts/webshims/shims/combos/3.js +0 -0
  39. data/vendor/assets/javascripts/webshims/shims/combos/30.js +0 -0
  40. data/vendor/assets/javascripts/webshims/shims/combos/31.js +0 -0
  41. data/vendor/assets/javascripts/webshims/shims/combos/32.js +1175 -1095
  42. data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
  43. data/vendor/assets/javascripts/webshims/shims/combos/34.js +30 -16
  44. data/vendor/assets/javascripts/webshims/shims/combos/4.js +0 -0
  45. data/vendor/assets/javascripts/webshims/shims/combos/5.js +66 -31
  46. data/vendor/assets/javascripts/webshims/shims/combos/6.js +66 -31
  47. data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -43
  48. data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -43
  49. data/vendor/assets/javascripts/webshims/shims/combos/9.js +66 -31
  50. data/vendor/assets/javascripts/webshims/shims/combos/97.js +63 -28
  51. data/vendor/assets/javascripts/webshims/shims/combos/98.js +149 -74
  52. data/vendor/assets/javascripts/webshims/shims/combos/99.js +149 -74
  53. data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -1
  54. data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/es5.js +1175 -1095
  57. data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/filereader.js +10 -9
  59. data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -0
  60. data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -0
  61. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
  62. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
  63. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/form-message.js +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
  66. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +40 -11
  68. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +4 -1
  69. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +2 -1
  70. data/vendor/assets/javascripts/webshims/shims/form-validation.js +80 -47
  71. data/vendor/assets/javascripts/webshims/shims/form-validators.js +19 -8
  72. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +21 -1
  73. data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
  74. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
  75. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
  76. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
  77. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
  78. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
  79. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
  80. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
  81. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +130 -0
  82. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
  83. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
  84. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
  85. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
  86. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
  87. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
  88. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
  89. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
  90. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
  91. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
  92. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
  93. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
  94. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
  95. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
  96. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
  97. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-TW.js +130 -0
  98. data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
  99. data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +186 -0
  100. data/vendor/assets/javascripts/webshims/shims/jme/b.js +63 -28
  101. data/vendor/assets/javascripts/webshims/shims/jme/c.js +86 -46
  102. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +317 -211
  103. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +59 -223
  104. data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
  105. data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
  106. data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
  107. data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
  108. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +66 -14
  109. data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
  110. data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
  111. data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
  112. data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
  113. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
  114. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
  115. data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
  116. data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
  117. data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
  118. data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
  119. data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
  120. data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
  121. data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
  122. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +55 -48
  123. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +66 -43
  124. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +833 -0
  125. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +31 -76
  126. data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
  127. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +0 -0
  128. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
  129. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.min.swf +0 -0
  130. data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +1542 -2303
  131. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
  132. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
  133. data/vendor/assets/javascripts/webshims/shims/picture.js +160 -79
  134. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
  135. data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
  136. data/vendor/assets/javascripts/webshims/shims/range-ui.js +26 -20
  137. data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
  138. data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
  139. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +444 -326
  140. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +379 -300
  141. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  142. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  143. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +8 -8
  144. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +0 -0
  145. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +0 -14
  146. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +104 -85
  147. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +20 -32
  148. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +0 -0
  149. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +14 -34
  150. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +920 -728
  151. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +471 -391
  152. data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
  153. data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
  154. data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
  155. data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
  156. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  157. data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
  158. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
  159. data/vendor/assets/javascripts/webshims/shims/track-ui.js +0 -0
  160. data/vendor/assets/javascripts/webshims/shims/track.js +30 -16
  161. metadata +8 -4
  162. data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -12
  163. data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
@@ -3,13 +3,19 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
3
3
  var props = {};
4
4
  var fns = {};
5
5
  var slice = Array.prototype.slice;
6
-
6
+ var readyLength = 0;
7
7
  var options = $.extend({selector: '.mediaplayer'}, webshims.cfg.mediaelement.jme);
8
+ var baseSelector = options.selector;
9
+
8
10
  webshims.cfg.mediaelement.jme = options;
9
11
 
10
12
 
11
13
  $.jme = {
14
+ pluginsClasses: [],
15
+ pluginsSel: '',
12
16
  plugins: {},
17
+ props: props,
18
+ fns: fns,
13
19
  data: function(elem, name, value){
14
20
  var data = $(elem).data('jme') || $.data(elem, 'jme', {});
15
21
  if(value === undefined){
@@ -18,6 +24,16 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
18
24
  data[name] = value;
19
25
  }
20
26
  },
27
+ runPlugin: function(sel){
28
+ if(readyLength){
29
+ $(document.querySelectorAll(baseSelector)).each(function(){
30
+ var controls = this.querySelectorAll(sel);
31
+ if(controls.length){
32
+ $(this).jmeFn('addControls', controls);
33
+ }
34
+ });
35
+ }
36
+ },
21
37
  registerPlugin: function(name, plugin){
22
38
  this.plugins[name] = plugin;
23
39
  if(!plugin.nodeName){
@@ -27,6 +43,10 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
27
43
  plugin.className = name;
28
44
  }
29
45
 
46
+ this.pluginsClasses.push('.'+plugin.className);
47
+
48
+ this.pluginsSel = this.pluginsClasses.join(', ');
49
+
30
50
  options[name] = $.extend(plugin.options || {}, options[name]);
31
51
 
32
52
  if(options[name] && options[name].text){
@@ -34,6 +54,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
34
54
  } else if(options.i18n && options.i18n[name]){
35
55
  plugin.text = options.i18n[name];
36
56
  }
57
+ this.runPlugin('.'+plugin.className);
37
58
  },
38
59
  defineMethod: function(name, fn){
39
60
  fns[name] = fn;
@@ -100,10 +121,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
100
121
  };
101
122
 
102
123
 
103
- var baseSelector = options.selector;
104
-
105
124
  $.jme.initJME = function(context, insertedElement){
106
- $(baseSelector, context).add(insertedElement.filter(baseSelector)).jmePlayer();
125
+ readyLength += $(context.querySelectorAll(baseSelector)).add(insertedElement.filter(baseSelector)).jmePlayer().length;
107
126
  };
108
127
 
109
128
 
@@ -286,7 +305,9 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
286
305
  base.attr('data-volume', volume);
287
306
  })
288
307
  ;
289
-
308
+ if($.jme.pluginsSel){
309
+ base.jmeFn('addControls', $(base[0].querySelectorAll($.jme.pluginsSel)));
310
+ }
290
311
  if(mediaUpdateFn){
291
312
  media.on('updateJMEState', mediaUpdateFn).triggerHandler('updateJMEState');
292
313
  }
@@ -365,37 +386,51 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
365
386
  if(!data.media){return;}
366
387
  var oldControls = $.jme.data(data.player[0], 'controlElements') || $([]);
367
388
  controls = $(controls);
368
- $.each($.jme.plugins, function(name, plugin){
369
- controls
370
- .filter('.'+plugin.className)
371
- .add(controls.find('.'+plugin.className))
372
- .each(function(){
373
- var control = $(this);
374
- var options = $.jme.data(this);
389
+ if($.jme.pluginsSel){
390
+ controls = controls.find($.jme.pluginsSel).add(controls.filter($.jme.pluginsSel));
391
+ }
392
+ if(controls.length){
393
+ $.each($.jme.plugins, function(name, plugin){
394
+ var control, options, i, opt;
395
+ var pluginControls = controls.filter('.'+plugin.className);
396
+
397
+ for(i = 0; i < pluginControls.length; i++){
398
+ control = $(pluginControls[i]);
399
+ options = $.jme.data(pluginControls[i]);
375
400
  options.player = data.player;
376
401
  options.media = data.media;
377
- if(options._rendered){return;}
378
- options._rendered = true;
402
+ if(!options._rendered){
403
+ options._rendered = true;
379
404
 
380
- if(plugin.options){
381
- $.each(plugin.options, function(option, value){
382
- if(!(option in options)){
383
- options[option] = value;
405
+ if(plugin.options){
406
+ for(opt in plugin.options){
407
+ if(!(opt in options)){
408
+ options[opt] = plugin.options[opt];
409
+ }
384
410
  }
385
- });
386
- }
387
- plugin._create(control, data.media, data.player, options);
388
- control = null;
389
- })
390
- ;
391
- });
411
+ }
392
412
 
393
- $.jme.data(data.player[0], 'controlElements', oldControls.add(controls));
413
+ plugin._create(control, data.media, data.player, options);
414
+ }
415
+ }
394
416
 
395
- data.player.triggerHandler('controlsadded');
396
- });
417
+ });
397
418
 
419
+ $.jme.data(data.player[0], 'controlElements', oldControls.add(controls));
398
420
 
421
+ data.player.triggerHandler('controlsadded');
422
+ }
423
+ });
424
+ webshims.isReady('jme', true);
399
425
  webshims.addReady($.jme.initJME);
400
426
  webshims._polyfill(['mediaelement']);
427
+ webshims.isReady('jme-base', true);
428
+
429
+ if(webshims.cfg.debug !== false){
430
+ $(function(){
431
+ if(document.getElementsByTagName('video').length && !document.querySelector(baseSelector)){
432
+ webshims.warn("found video element but video wasn't wrapped inside a ."+ baseSelector +" element. Will not add control UI");
433
+ }
434
+ });
435
+ }
401
436
  });
@@ -4,7 +4,8 @@ webshims.register('mediacontrols', function($, webshims, window){
4
4
 
5
5
  var options = webshims.cfg.mediaelement.jme;
6
6
  var baseSelector = options.selector;
7
-
7
+ var jme = $.jme;
8
+ var unknowStructure = '<div class="{%class%}"></div>'
8
9
  var btnStructure = '<button class="{%class%}" type="button" aria-label="{%text%}"></button>';
9
10
  var slideStructure = '<div class="{%class%} media-range"></div>';
10
11
  var timeStructure = '<div class="{%class%}">00:00</div>';
@@ -12,10 +13,14 @@ webshims.register('mediacontrols', function($, webshims, window){
12
13
  var noVolumeClass = (function(){
13
14
  var audio;
14
15
  var ret = '';
15
- if(typeof window.Audio == 'function'){
16
- audio = new Audio();
17
- audio.volume = 0.55;
18
- ret = audio.volume = 0.55 ? '' : ' no-volume-api';
16
+
17
+ if(window.Audio){
18
+ try {
19
+ audio = new Audio();
20
+ audio.volume = 0.55;
21
+ ret = ((Math.round(audio.volume * 100) / 100) == 0.55) ? '' : ' no-volume-api';
22
+ } catch(e){}
23
+
19
24
  }
20
25
  return ret;
21
26
  })();
@@ -30,8 +35,12 @@ webshims.register('mediacontrols', function($, webshims, window){
30
35
  }
31
36
  if(!cache[template] || invalidCache){
32
37
  cache[template] = template.replace(regTemplate, function(match, matchName){
33
- var plugin = $.jme.plugins[matchName];
34
- if(plugin && plugin.structure){
38
+ var plugin = jme.plugins[matchName];
39
+ if(plugin){
40
+ if(!plugin.structure){
41
+ webshims.warn('no structure option provided for plugin: '+ matchName +'. Fallback to standard div');
42
+ plugin.structure = unknowStructure;
43
+ }
35
44
  return plugin.structure.replace('{%class%}', matchName).replace('{%text%}', plugin.text || '');
36
45
  }
37
46
  return match;
@@ -41,7 +50,7 @@ webshims.register('mediacontrols', function($, webshims, window){
41
50
  return cache[template] || '';
42
51
  };
43
52
  })();
44
-
53
+ var ios6 = /iP(hone|od|ad)/i.test(navigator.platform) && parseInt(((navigator.appVersion).match(/OS (\d+)_\d+/) || ['','8'])[1], 10) < 7;
45
54
  var loadLazy = function(){
46
55
  if(!loadLazy.loaded){
47
56
  loadLazy.loaded = true;
@@ -67,13 +76,6 @@ webshims.register('mediacontrols', function($, webshims, window){
67
76
  return rfn;
68
77
  };
69
78
 
70
- if(!options.barTemplate){
71
- options.barTemplate = '<div class="play-pause-container">{{play-pause}}</div><div class="playlist-container"><div class="playlist-box">{{playlist-prev}}{{playlist-next}}</div></div><div class="currenttime-container">{{currenttime-display}}</div><div class="progress-container">{{time-slider}}</div><div class="duration-container">{{duration-display}}</div><div class="mute-container">{{mute-unmute}}</div><div class="volume-container">{{volume-slider}}</div><div class="subtitle-container"><div class="subtitle-controls">{{captions}}</div></div><div class="fullscreen-container">{{fullscreen}}</div>';
72
- }
73
- if(!options.barStructure){
74
- options.barStructure = '<div class="jme-media-overlay"></div><div class="jme-controlbar'+ noVolumeClass +'" tabindex="-1"><div class="jme-cb-box"></div></div>';
75
- }
76
-
77
79
  webshims.loader.addModule('mediacontrols-lazy', {
78
80
  src: 'jme/mediacontrols-lazy'
79
81
  });
@@ -81,43 +83,48 @@ webshims.register('mediacontrols', function($, webshims, window){
81
83
  var userActivity = {
82
84
  _create: lazyLoadPlugin()
83
85
  };
84
- $.jme.plugins.useractivity = userActivity;
86
+ jme.plugins.useractivity = userActivity;
85
87
 
86
- $.jme.defineProp('controlbar', {
88
+ jme.defineProp('controlbar', {
87
89
  set: function(elem, value){
88
90
  value = !!value;
89
91
  var controls, playerSize;
90
- var data = $.jme.data(elem);
92
+ var data = jme.data(elem);
91
93
  var controlBar = $('div.jme-mediaoverlay, div.jme-controlbar', data.player);
92
94
  var structure = '';
93
95
  if(value && !controlBar[0]){
94
96
  if(data._controlbar){
95
97
  data._controlbar.appendTo(data.player);
96
98
  } else {
99
+ if(ios6){
100
+ data.media.removeAttr('controls');
101
+ data.media.mediaLoad();
102
+ }
97
103
  data.media.prop('controls', false);
98
-
99
104
  structure = getBarHtml();
100
105
  data._controlbar = $( options.barStructure );
101
106
  controlBar = data._controlbar.find('div.jme-cb-box').addClass('media-controls');
102
- controls = data._controlbar.filter('.jme-media-overlay').addClass('play-pause');
107
+ controls = data._controlbar.filter('.jme-media-overlay');
103
108
  controls = controls.add( controlBar );
104
109
  $(structure).appendTo(controlBar);
105
110
  data._controlbar.appendTo(data.player);
106
111
  data.player.jmeFn('addControls', controls);
107
112
 
108
113
  playerSize = (function(){
109
- var lastSize;
114
+ var lastSize = {};
110
115
  var sizes = [
111
- {size: 290, name: 'xx-small'},
112
- {size: 380, name: 'x-small'},
113
- {size: 490, name: 'small'},
114
- {size: 756, name: 'medium'},
115
- {size: 1024, name: 'large'}
116
+ {size: 290, name: 'xx-small', names: 's xs xxs'},
117
+ {size: 380, name: 'x-small', names: 's xs'},
118
+ {size: 478, name: 'small', names: 's'},
119
+ {size: 756, name: 'medium', names: 'm'},
120
+ {size: 1024, name: 'large', names: 'l'},
121
+ {size: Number.MAX_VALUE, name: 'x-large', names: 'l xl'}
116
122
  ];
117
123
 
124
+
118
125
  var len = sizes.length;
119
126
  return function(){
120
- var size = 'x-large';
127
+ var size;
121
128
  var i = 0;
122
129
  var width = data.player.outerWidth();
123
130
  var fSize = Math.max(parseInt(data.player.css('fontSize'), 10) || 16, 13);
@@ -125,14 +132,33 @@ webshims.register('mediacontrols', function($, webshims, window){
125
132
  width = width * (16 / fSize);
126
133
  for(; i < len; i++){
127
134
  if(sizes[i].size >= width){
128
- size = sizes[i].name;
135
+ size = sizes[i];
129
136
  break;
130
137
  }
131
138
  }
132
139
 
133
- if(lastSize != size){
140
+ if(lastSize.name != size.name){
134
141
  lastSize = size;
135
- data.player.attr('data-playersize', size);
142
+ data.player.attr('data-playersize', size.name);
143
+ data.player.attr('data-playersizes', size.names);
144
+ }
145
+ };
146
+ })();
147
+ var posterState = (function(){
148
+ var lastPosterState, lastYoutubeState;
149
+ var hasFlash = window.swfmini && swfmini.hasFlashPlayerVersion('10.0.3');
150
+ var regYt = /youtube\.com\/[watch\?|v\/]+/i;
151
+ return function(){
152
+ var hasPoster = !!data.media.attr('poster');
153
+ var hasYt = (hasFlash && hasPoster) ? false : regYt.test(data.media.prop('currentSrc') || '');
154
+ if(lastPosterState !== hasPoster){
155
+ lastPosterState = hasPoster;
156
+ data.player[hasPoster ? 'removeClass' : 'addClass']('no-poster');
157
+ }
158
+
159
+ if(lastYoutubeState !== hasYt){
160
+ lastYoutubeState = hasYt;
161
+ data.player[hasYt ? 'addClass' : 'removeClass']('has-ytposter');
136
162
  }
137
163
  };
138
164
  })();
@@ -140,7 +166,10 @@ webshims.register('mediacontrols', function($, webshims, window){
140
166
 
141
167
  userActivity._create(data.player, data.media, data.player);
142
168
 
169
+ data.media.on('emptied', posterState);
170
+
143
171
  playerSize();
172
+ posterState();
144
173
  webshims.ready('dom-support', function(){
145
174
  data.player.onWSOff('updateshadowdom', playerSize);
146
175
  controls.add(data._controlbar).addClass(webshims.shadowClass);
@@ -155,28 +184,32 @@ webshims.register('mediacontrols', function($, webshims, window){
155
184
  }
156
185
  });
157
186
 
158
- $.jme.registerPlugin('play-pause', {
159
-
187
+ jme.registerPlugin('play-pause', {
160
188
  structure: btnStructure,
161
189
  text: 'play / pause',
162
190
  _create: lazyLoadPlugin()
163
191
  });
164
192
 
165
- $.jme.registerPlugin('mute-unmute', {
166
-
193
+ jme.registerPlugin('mute-unmute', {
167
194
  structure: btnStructure,
168
195
  text: 'mute / unmute',
169
196
  _create: lazyLoadPlugin()
170
197
  });
171
198
 
199
+ jme.registerPlugin('jme-media-overlay', {
200
+ _create: lazyLoadPlugin()
201
+ });
202
+
203
+
204
+
172
205
 
173
- $.jme.registerPlugin('volume-slider', {
206
+ jme.registerPlugin('volume-slider', {
174
207
  structure: slideStructure,
175
208
 
176
209
  _create: lazyLoadPlugin()
177
210
  });
178
211
 
179
- $.jme.registerPlugin('time-slider', {
212
+ jme.registerPlugin('time-slider', {
180
213
  structure: slideStructure,
181
214
 
182
215
  options: {
@@ -186,12 +219,12 @@ webshims.register('mediacontrols', function($, webshims, window){
186
219
  });
187
220
 
188
221
 
189
- $.jme.defineProp('format', {
222
+ jme.defineProp('format', {
190
223
  set: function(elem, format){
191
224
  if(!$.isArray(format)){
192
225
  format = format.split(':');
193
226
  }
194
- var data = $.jme.data(elem);
227
+ var data = jme.data(elem);
195
228
  data.format = format;
196
229
  $(elem).triggerHandler('updatetimeformat');
197
230
  data.player.triggerHandler('updatetimeformat');
@@ -199,7 +232,7 @@ webshims.register('mediacontrols', function($, webshims, window){
199
232
  }
200
233
  });
201
234
 
202
- $.jme.registerPlugin('duration-display', {
235
+ jme.registerPlugin('duration-display', {
203
236
  structure: timeStructure,
204
237
  options: {
205
238
  format: "mm:ss"
@@ -207,10 +240,10 @@ webshims.register('mediacontrols', function($, webshims, window){
207
240
  _create: lazyLoadPlugin()
208
241
  });
209
242
 
210
- $.jme.defineProp('countdown', {
243
+ jme.defineProp('countdown', {
211
244
  set: function(elem, value){
212
245
 
213
- var data = $.jme.data(elem);
246
+ var data = jme.data(elem);
214
247
  data.countdown = !!value;
215
248
  $(elem).triggerHandler('updatetimeformat');
216
249
  data.player.triggerHandler('updatetimeformat');
@@ -218,7 +251,7 @@ webshims.register('mediacontrols', function($, webshims, window){
218
251
  }
219
252
  });
220
253
 
221
- $.jme.registerPlugin('currenttime-display', {
254
+ jme.registerPlugin('currenttime-display', {
222
255
  structure: timeStructure,
223
256
  options: {
224
257
  format: "mm:ss",
@@ -237,7 +270,7 @@ webshims.register('mediacontrols', function($, webshims, window){
237
270
  * the old technique wasn't fully bullet proof
238
271
  * beside this, jme2 adovactes to use the new improved state-classes to handle visual effect on specific state (see CSS change)
239
272
  */
240
- $.jme.registerPlugin('poster-display', {
273
+ jme.registerPlugin('poster-display', {
241
274
  structure: '<div />',
242
275
  options: {
243
276
  },
@@ -245,7 +278,7 @@ webshims.register('mediacontrols', function($, webshims, window){
245
278
  });
246
279
 
247
280
 
248
- $.jme.registerPlugin('fullscreen', {
281
+ jme.registerPlugin('fullscreen', {
249
282
 
250
283
  options: {
251
284
  fullscreen: true,
@@ -257,7 +290,7 @@ webshims.register('mediacontrols', function($, webshims, window){
257
290
  });
258
291
 
259
292
 
260
- $.jme.registerPlugin('captions', {
293
+ jme.registerPlugin('captions', {
261
294
  structure: btnStructure,
262
295
  text: 'subtitles',
263
296
  _create: function(control, media, base){
@@ -269,7 +302,14 @@ webshims.register('mediacontrols', function($, webshims, window){
269
302
  }
270
303
  });
271
304
 
272
- webshims.ready(webshims.cfg.mediaelement.plugins.concat(['mediaelement']), function(){
305
+ webshims.ready(webshims.cfg.mediaelement.plugins.concat(['mediaelement', 'jme-base']), function(){
306
+ if(!options.barTemplate){
307
+ options.barTemplate = '<div class="play-pause-container">{{play-pause}}</div><div class="playlist-container"><div class="playlist-box">{{playlist-prev}}{{playlist-next}}</div></div><div class="currenttime-container">{{currenttime-display}}</div><div class="progress-container">{{time-slider}}</div><div class="duration-container">{{duration-display}}</div><div class="mute-container">{{mute-unmute}}</div><div class="volume-container">{{volume-slider}}</div><div class="subtitle-container"><div class="subtitle-controls">{{captions}}</div></div><div class="fullscreen-container">{{fullscreen}}</div>';
308
+ }
309
+ if(!options.barStructure){
310
+ options.barStructure = '<div class="jme-media-overlay"></div><div class="jme-controlbar'+ noVolumeClass +'" tabindex="-1"><div class="jme-cb-box"></div></div>';
311
+ }
312
+
273
313
  webshims.addReady(function(context, insertedElement){
274
314
  $(baseSelector, context).add(insertedElement.filter(baseSelector)).jmeProp('controlbar', true);
275
315
  });
@@ -1,12 +1,4 @@
1
1
  /* thx to http://icomoon.io */
2
- @font-face {
3
- font-family: 'jme';
4
- src: url("jme.eot"); }
5
- @font-face {
6
- font-family: 'jme';
7
- src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff"), url("jme.ttf") format("truetype");
8
- font-weight: normal;
9
- font-style: normal; }
10
2
  .mediaplayer[data-state="waiting"] > .jme-media-overlay, .mediaplayer .fullscreen, .mediaplayer .fullscreen.state-exitfullscreen, .mediaplayer[data-state="idle"] > .jme-media-overlay, .mediaplayer button.play-pause, .mediaplayer button.play-pause.state-playing, .mediaplayer .mute-unmute, .mediaplayer[data-volume="medium"] .mute-unmute, .mediaplayer[data-volume="low"] .mute-unmute, .mediaplayer[data-volume="no"] .mute-unmute, .mediaplayer .state-unmute.mute-unmute, .mediaplayer .captions, .mediaplayer .subtitle-menu button[aria-checked="true"], .mediaplayer .subtitle-menu button, .mediaplayer .playlist-next, .mediaplayer .playlist-prev, .mediaplayer[data-state="ended"] > .jme-media-overlay {
11
3
  font-family: 'jme';
12
4
  speak: none;
@@ -18,129 +10,163 @@
18
10
  zoom: 1;
19
11
  /* Better Font Rendering =========== */
20
12
  -webkit-font-smoothing: antialiased;
21
- -moz-osx-font-smoothing: grayscale; }
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
22
15
 
23
16
  .mediaplayer[data-state="waiting"] > .jme-media-overlay:before {
24
- content: "\e612"; }
17
+ content: "\e612";
18
+ }
25
19
 
26
20
  .mediaplayer .fullscreen:before {
27
- content: "\e604"; }
21
+ content: "\e604";
22
+ }
28
23
 
29
24
  .mediaplayer .fullscreen.state-exitfullscreen:before {
30
- content: "\e605"; }
25
+ content: "\e605";
26
+ }
31
27
 
32
28
  .mediaplayer[data-state="idle"] > .jme-media-overlay:before {
33
- content: "\e608"; }
29
+ content: "\e608";
30
+ }
34
31
 
35
32
  .mediaplayer button.play-pause:before {
36
- content: "\e60a"; }
33
+ content: "\e60a";
34
+ }
37
35
 
38
36
  .mediaplayer button.play-pause.state-playing:before {
39
- content: "\e60b"; }
37
+ content: "\e60b";
38
+ }
40
39
 
41
40
  .mediaplayer .mute-unmute:before {
42
- content: "\e60c"; }
41
+ content: "\e60c";
42
+ }
43
43
 
44
44
  .mediaplayer[data-volume="medium"] .mute-unmute:before {
45
- content: "\e60d"; }
45
+ content: "\e60d";
46
+ }
46
47
 
47
48
  .mediaplayer[data-volume="low"] .mute-unmute:before {
48
- content: "\e60e"; }
49
+ content: "\e60e";
50
+ }
49
51
 
50
52
  .mediaplayer[data-volume="no"] .mute-unmute:before {
51
- content: "\e60f"; }
53
+ content: "\e60f";
54
+ }
52
55
 
53
56
  .mediaplayer .state-unmute.mute-unmute:before {
54
- content: "\e610"; }
57
+ content: "\e610";
58
+ }
55
59
 
56
60
  .mediaplayer .captions:before {
57
- content: "\e600"; }
61
+ content: "\e600";
62
+ }
58
63
 
59
64
  .mediaplayer .subtitle-menu button[aria-checked="true"]:before {
60
- content: "\e616"; }
65
+ content: "\e616";
66
+ }
61
67
 
62
68
  .mediaplayer .subtitle-menu button:before {
63
- content: "\e617"; }
69
+ content: "\e617";
70
+ }
64
71
 
65
72
  .mediaplayer .playlist-next:before {
66
- content: "\e602"; }
73
+ content: "\e602";
74
+ }
67
75
 
68
76
  .mediaplayer .playlist-prev:before {
69
- content: "\e603"; }
77
+ content: "\e603";
78
+ }
70
79
 
71
80
  .mediaplayer[data-state="ended"] > .jme-media-overlay:before {
72
- content: "\e601"; }
81
+ content: "\e601";
82
+ }
73
83
 
84
+ @font-face {
85
+ font-family: 'jme';
86
+ src: url("jme.eot");
87
+ }
88
+ @font-face {
89
+ font-family: 'jme';
90
+ src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff"), url("jme.ttf") format("truetype");
91
+ font-weight: normal;
92
+ font-style: normal;
93
+ }
74
94
  @keyframes jmespin {
75
95
  0% {
76
96
  -webkit-transform: rotate(0deg);
77
- transform: rotate(0deg); }
97
+ transform: rotate(0deg);
98
+ }
78
99
 
79
100
  100% {
80
101
  -webkit-transform: rotate(360deg);
81
- transform: rotate(360deg); } }
82
- .jme-controlbar,
83
- .jme-controlbar * {
84
- -moz-box-sizing: border-box;
85
- -webkit-box-sizing: border-box;
86
- box-sizing: border-box; }
87
-
102
+ transform: rotate(360deg);
103
+ }
104
+ }
88
105
  .jme-controlbar {
89
106
  display: table;
90
- width: 100%; }
107
+ width: 100%;
108
+ }
91
109
 
92
110
  .jme-cb-box {
93
- display: table-row; }
94
- .jme-cb-box > * {
95
- display: table-cell;
96
- padding: 0.21875em;
97
- vertical-align: middle; }
98
- .jme-cb-box .progress-container {
99
- width: 100%; }
100
- .jme-cb-box .mute-container {
101
- padding-right: 0.0625em; }
102
- .jme-cb-box .volume-container {
103
- padding-left: 0.0625em; }
111
+ display: table-row;
112
+ }
113
+ .jme-cb-box > div {
114
+ display: table-cell;
115
+ padding: 0.21875em;
116
+ vertical-align: middle;
117
+ }
118
+ .jme-cb-box .progress-container {
119
+ width: 100%;
120
+ }
121
+ .jme-cb-box .mute-container {
122
+ padding-right: 0.0625em;
123
+ }
124
+ .jme-cb-box .volume-container {
125
+ padding-left: 0.0625em;
126
+ }
104
127
 
105
- [data-playersize="x-small"] > .jme-controlbar,
106
- [data-playersize="xx-small"] > .jme-controlbar {
107
- padding-top: 0.25em; }
108
- [data-playersize="x-small"] > .jme-controlbar .time-slider,
109
- [data-playersize="xx-small"] > .jme-controlbar .time-slider {
110
- position: absolute;
111
- top: -0.125em;
112
- left: 0;
113
- right: 0; }
114
- [data-playersize="x-small"] > .jme-controlbar .progress-container,
115
- [data-playersize="xx-small"] > .jme-controlbar .progress-container {
116
- width: auto; }
117
- [data-playersize="x-small"] > .jme-controlbar .progress-container:before,
118
- [data-playersize="xx-small"] > .jme-controlbar .progress-container:before {
119
- content: "/"; }
120
- [data-playersize="x-small"] > .jme-controlbar .duration-container,
121
- [data-playersize="xx-small"] > .jme-controlbar .duration-container {
122
- width: 100%; }
128
+ [data-playersizes~="xs"] > .jme-controlbar {
129
+ padding-top: 0.25em;
130
+ }
131
+ [data-playersizes~="xs"] > .jme-controlbar .time-slider {
132
+ position: absolute;
133
+ top: -0.125em;
134
+ left: 0;
135
+ right: 0;
136
+ }
137
+ [data-playersizes~="xs"] > .jme-controlbar .progress-container {
138
+ width: auto;
139
+ }
140
+ [data-playersizes~="xs"] > .jme-controlbar .progress-container:before {
141
+ content: "/";
142
+ }
143
+ [data-playersizes~="xs"] > .jme-controlbar .duration-container {
144
+ width: 100%;
145
+ }
123
146
 
124
147
  [data-playersize="xx-small"] > .jme-controlbar .progress-container:before {
125
- content: ""; }
148
+ content: "";
149
+ }
126
150
  [data-playersize="xx-small"] > .jme-controlbar .duration-display,
127
151
  [data-playersize="xx-small"] > .jme-controlbar .volume-container {
128
- display: none; }
152
+ display: none;
153
+ }
129
154
 
130
155
  .mediaplayer {
131
156
  position: relative;
132
157
  display: block;
133
158
  width: 512px;
134
- font-size: 16px; }
135
- .mediaplayer video {
136
- display: block;
137
- width: 100%;
138
- height: auto; }
159
+ font-size: 16px;
160
+ }
161
+ .mediaplayer video {
162
+ display: block;
163
+ width: 100%;
164
+ height: auto;
165
+ }
139
166
 
140
- .audioplayer .media-controls .fullscreen-container,
141
- .mobile .media-controls .volume-container,
142
- .mobile.no-fullscreen .media-controls .fullscreen-container {
143
- display: none; }
167
+ .audioplayer .media-controls .fullscreen-container {
168
+ display: none;
169
+ }
144
170
 
145
171
  .mediaplayer button {
146
172
  overflow: visible;
@@ -149,10 +175,12 @@
149
175
  padding: 0;
150
176
  border: 0;
151
177
  font-size: inherit;
152
- outline: none; }
178
+ outline: none;
179
+ }
153
180
  .mediaplayer button::-moz-focus-inner {
154
181
  padding: 0;
155
- border: 0; }
182
+ border: 0;
183
+ }
156
184
  .mediaplayer > .jme-media-overlay {
157
185
  position: absolute;
158
186
  top: 0;
@@ -161,43 +189,62 @@
161
189
  bottom: 0;
162
190
  font-size: 400%;
163
191
  color: #f6f6f6;
164
- text-align: center; }
165
- .mediaplayer > .jme-media-overlay:before {
166
- position: absolute;
167
- display: block;
168
- width: 1em;
169
- height: 1em;
170
- top: 50%;
171
- left: 50%;
172
- margin: -0.5em 0 0 -0.5em;
173
- text-shadow: 0 0 0.4em rgba(0, 0, 0, 0.6); }
192
+ text-align: center;
193
+ }
194
+ .mediaplayer > .jme-media-overlay:before {
195
+ position: absolute;
196
+ display: block;
197
+ width: 1em;
198
+ height: 1em;
199
+ top: 50%;
200
+ left: 50%;
201
+ margin: -0.5em 0 0 -0.5em;
202
+ text-shadow: 0 0 0.5em rgba(0, 0, 0, 0.5);
203
+ }
204
+ .mediaplayer[data-playersize="x-large"] > .jme-media-overlay {
205
+ font-size: 550%;
206
+ }
174
207
  .mediaplayer[data-playersize="large"] > .jme-media-overlay {
175
- font-size: 450%; }
208
+ font-size: 450%;
209
+ }
176
210
  .mediaplayer[data-playersize="small"] > .jme-media-overlay {
177
- font-size: 350%; }
211
+ font-size: 350%;
212
+ }
178
213
  .mediaplayer[data-playersize="x-small"] > .jme-media-overlay {
179
- font-size: 300%; }
214
+ font-size: 300%;
215
+ }
180
216
  .mediaplayer[data-playersize="xx-small"] > .jme-media-overlay {
181
- font-size: 240%; }
217
+ font-size: 240%;
218
+ }
182
219
  .mediaplayer[data-state="idle"] {
183
- cursor: pointer; }
220
+ cursor: pointer;
221
+ }
222
+ .mediaplayer[data-state="idle"].has-ytposter > .jme-media-overlay:before {
223
+ content: "";
224
+ }
184
225
  .mediaplayer[data-state="ended"] {
185
- cursor: pointer; }
226
+ cursor: pointer;
227
+ }
186
228
  .mediaplayer[data-state="waiting"] {
187
- cursor: default; }
188
- .mediaplayer[data-state="waiting"] > .jme-media-overlay {
189
- animation-name: jmespin;
190
- animation-iteration-count: infinite;
191
- animation-duration: 1100ms;
192
- animation-timing-function: linear; }
229
+ cursor: default;
230
+ }
231
+ .mediaplayer[data-state="waiting"] > .jme-media-overlay {
232
+ animation-name: jmespin;
233
+ animation-iteration-count: infinite;
234
+ animation-duration: 1100ms;
235
+ animation-timing-function: linear;
236
+ }
193
237
  .mediaplayer[data-state="playing"][data-useractivity="false"] .jme-controlbar {
194
238
  opacity: 0;
195
- visibility: hidden; }
239
+ visibility: hidden;
240
+ }
196
241
  .mediaplayer .cue-display span.cue-wrapper {
197
242
  transition: bottom 300ms;
198
- bottom: 0; }
243
+ bottom: 0;
244
+ }
199
245
  .mediaplayer[data-state="playing"][data-useractivity="false"] .cue-display span.cue-wrapper {
200
- bottom: -35px; }
246
+ bottom: -35px;
247
+ }
201
248
  .mediaplayer > .jme-controlbar {
202
249
  position: absolute;
203
250
  left: 0;
@@ -209,191 +256,248 @@
209
256
  background: #333;
210
257
  background: rgba(0, 0, 0, 0.6);
211
258
  color: #e1e1e1;
212
- transition: all 300ms; }
213
- .mediaplayer > .jme-controlbar button {
214
- display: inline-block;
215
- color: inherit;
216
- width: 1.5em;
217
- height: 1.5em;
218
- cursor: pointer;
219
- text-align: center;
220
- transition: color 400ms;
221
- text-shadow: 0 0 0.1em #000; }
222
- .mediaplayer > .jme-controlbar button:hover, .mediaplayer > .jme-controlbar button:focus {
223
- color: #fefefe; }
224
- .mediaplayer > .jme-controlbar button:active {
225
- color: #fff; }
226
- .mediaplayer > .jme-controlbar button[disabled] {
227
- color: #ccc;
228
- cursor: default;
229
- cursor: not-allowed; }
259
+ transition: all 300ms;
260
+ }
261
+ .mediaplayer > .jme-controlbar button {
262
+ display: inline-block;
263
+ color: inherit;
264
+ width: 1.5em;
265
+ height: 1.5em;
266
+ cursor: pointer;
267
+ text-align: center;
268
+ transition: color 400ms;
269
+ }
270
+ .mediaplayer > .jme-controlbar button:hover, .mediaplayer > .jme-controlbar button:focus {
271
+ color: #fefefe;
272
+ }
273
+ .mediaplayer > .jme-controlbar button:active {
274
+ color: #fff;
275
+ }
276
+ .mediaplayer > .jme-controlbar button[disabled] {
277
+ color: #ccc;
278
+ cursor: default;
279
+ cursor: not-allowed;
280
+ }
230
281
  .mediaplayer .currenttime-display,
231
282
  .mediaplayer .duration-display,
232
283
  .mediaplayer .time-select {
233
284
  font-size: 81.3%;
234
285
  font-family: sans-serif;
235
- margin-top: 0.03em; }
286
+ margin-top: 0.03em;
287
+ }
236
288
  .mediaplayer .playlist-container {
237
- display: none; }
289
+ display: none;
290
+ }
238
291
  .mediaplayer.has-playlist .playlist-container {
239
- display: table-cell; }
292
+ display: table-cell;
293
+ }
240
294
  .mediaplayer .playlist-box {
241
- width: 3.09em; }
295
+ width: 3.09em;
296
+ }
242
297
  .mediaplayer .no-volume-api .volume-container,
243
298
  .mediaplayer .no-volume-api .mute-container {
244
- padding: 0; }
299
+ padding: 0;
300
+ }
245
301
  .mediaplayer .no-volume-api .mute-unmute,
246
302
  .mediaplayer .no-volume-api .volume-slider {
247
- display: none; }
303
+ display: none;
304
+ }
248
305
  .mediaplayer .captions[role="checkbox"] {
249
- color: #999; }
250
- .mediaplayer .captions[role="checkbox"][aria-checked="true"] {
251
- color: inherit; }
306
+ color: #999;
307
+ }
308
+ .mediaplayer .captions[role="checkbox"][aria-checked="true"] {
309
+ color: inherit;
310
+ }
252
311
  .mediaplayer[data-tracks="0"] .subtitle-container {
253
- display: none; }
312
+ display: none;
313
+ }
254
314
  .mediaplayer[data-tracks="1"] .captions[aria-haspopup],
255
315
  .mediaplayer[data-tracks="1"] .subtitle-menu {
256
- display: none; }
316
+ display: none;
317
+ }
257
318
  .mediaplayer[data-tracks="many"] .captions[role="checkbox"] {
258
- display: none; }
319
+ display: none;
320
+ }
259
321
  .mediaplayer .subtitle-controls {
260
322
  position: relative;
261
- zoom: 1; }
323
+ zoom: 1;
324
+ }
262
325
  .mediaplayer .subtitle-menu {
263
326
  position: absolute;
264
327
  bottom: 1.75em;
265
328
  margin-bottom: 10px;
266
329
  width: 400px;
267
330
  right: -0.625em;
268
- visibility: hidden; }
269
- .mediaplayer .subtitle-menu ul, .mediaplayer .subtitle-menu li {
270
- margin: 0;
271
- padding: 0;
272
- list-style: none; }
273
- .mediaplayer .subtitle-menu button {
274
- position: relative;
275
- zoom: 1;
276
- width: auto;
277
- height: auto;
278
- padding: 2px;
279
- font-size: 81.3%; }
280
- .mediaplayer .subtitle-menu button:before {
281
- display: inline-block;
282
- vertical-align: middle;
283
- padding: 0 5px 0 0; }
284
- .mediaplayer .subtitle-menu > div {
285
- position: relative;
286
- zoom: 1;
287
- visibility: hidden;
288
- float: right;
289
- padding: 0.1875em 0.3125em 0.3125em;
290
- background: #333;
291
- opacity: 0;
292
- transform: translateY(30%);
293
- transition: all 200ms; }
294
- .mediaplayer .subtitle-menu > div:after {
295
- content: " ";
296
- position: absolute;
297
- display: block;
298
- bottom: -0.625em;
299
- right: 0.8125em;
300
- width: 0px;
301
- height: 0px;
302
- border-style: solid;
303
- border-width: 0.625em 0.5em 0 0.5em;
304
- border-color: #333 transparent transparent transparent; }
305
- .mediaplayer .subtitle-menu.visible-menu > div {
306
- visibility: visible;
307
- opacity: 1;
308
- transform: translateY(0); }
331
+ visibility: hidden;
332
+ }
333
+ .mediaplayer .subtitle-menu ul, .mediaplayer .subtitle-menu li {
334
+ margin: 0;
335
+ padding: 0;
336
+ list-style: none;
337
+ }
338
+ .mediaplayer .subtitle-menu button {
339
+ position: relative;
340
+ zoom: 1;
341
+ width: auto;
342
+ height: auto;
343
+ padding: 2px;
344
+ font-size: 81.3%;
345
+ }
346
+ .mediaplayer .subtitle-menu button:before {
347
+ display: inline-block;
348
+ vertical-align: middle;
349
+ padding: 0 5px 0 0;
350
+ }
351
+ .mediaplayer .subtitle-menu > div {
352
+ position: relative;
353
+ zoom: 1;
354
+ visibility: hidden;
355
+ float: right;
356
+ padding: 0.1875em 0.3125em 0.3125em;
357
+ background: #333;
358
+ background: rgba(0, 0, 0, 0.6);
359
+ opacity: 0;
360
+ transform: translateY(30%);
361
+ transition: all 200ms;
362
+ }
363
+ .mediaplayer .subtitle-menu > div:after {
364
+ content: " ";
365
+ position: absolute;
366
+ display: block;
367
+ bottom: -0.625em;
368
+ right: 0.8125em;
369
+ width: 0px;
370
+ height: 0px;
371
+ border-style: solid;
372
+ border-width: 0.625em 0.5em 0 0.5em;
373
+ border-color: #333 transparent transparent transparent;
374
+ border-color: rgba(0, 0, 0, 0.6) transparent transparent transparent;
375
+ }
376
+ .mediaplayer .subtitle-menu.visible-menu > div {
377
+ visibility: visible;
378
+ opacity: 1;
379
+ transform: translateY(0);
380
+ }
309
381
  .mediaplayer .buffer-progress {
310
382
  position: absolute;
311
383
  top: 0;
312
384
  left: 0;
313
385
  right: 0;
314
386
  bottom: 0;
315
- border-radius: 0.1875em;
316
- overflow: hidden; }
387
+ overflow: hidden;
388
+ }
317
389
  .mediaplayer .buffer-progress-indicator {
318
390
  cursor: pointer;
319
391
  height: 100%;
320
392
  background: #bbb;
321
- border-radius: 0.1875em; }
393
+ background: rgba(255, 255, 255, 0.2);
394
+ }
322
395
  .mediaplayer .media-range {
323
396
  position: relative;
324
397
  zoom: 1;
325
398
  height: 0.4375em;
326
399
  border: 1px solid #999;
400
+ border-color: rgba(255, 255, 255, 0.4);
327
401
  outline: none;
328
- border-radius: 0.1875em; }
402
+ }
329
403
  .mediaplayer .ws-range-progress,
330
404
  .mediaplayer .ws-range-track,
331
405
  .mediaplayer .ws-range-thumb,
332
406
  .mediaplayer .time-select {
333
407
  position: absolute;
334
- display: block; }
408
+ display: block;
409
+ }
335
410
  .mediaplayer .time-select {
336
411
  display: inline-block;
337
- margin: 0 0 4px -1.55em;
338
- padding: 0.25em 0.125em 0.125em;
339
- min-width: 2.8em;
412
+ width: 0;
413
+ overflow: hidden;
340
414
  text-align: center;
341
- bottom: 0.5625em;
342
415
  visibility: hidden;
343
416
  opacity: 0;
344
417
  transition: 400ms opacity, 400ms visibility;
345
418
  background: #333;
346
419
  background: rgba(0, 0, 0, 0.6);
347
- color: #eee; }
348
- .mediaplayer .time-select.show-time-select {
349
- opacity: 1;
350
- visibility: visible; }
420
+ color: #eee;
421
+ }
422
+ .mediaplayer .time-select.show-time-select {
423
+ margin: 0 0 4px -1.55em;
424
+ padding: 0.25em 0.125em 0.125em;
425
+ min-width: 2.8em;
426
+ opacity: 1;
427
+ visibility: visible;
428
+ bottom: 1.25em;
429
+ }
351
430
  .mediaplayer .ws-range-track {
352
431
  top: 0;
353
432
  left: 0;
354
- bottom: 0; }
433
+ bottom: 0;
434
+ }
355
435
  .mediaplayer .ws-range-progress {
356
436
  -moz-box-sizing: content-box;
357
437
  box-sizing: content-box;
358
438
  cursor: pointer;
359
439
  background: #e1e1e1;
440
+ background: rgba(255, 255, 255, 0.3);
360
441
  left: 0;
361
442
  height: 100%;
362
- border-radius: 0.1875em 0 0 0.1875em; }
443
+ }
363
444
  .mediaplayer .ws-range-thumb {
364
- background: #f1f1f1;
365
445
  cursor: pointer;
366
- border-radius: 50%;
367
- width: 0.6875em;
368
- height: 0.6875em; }
446
+ width: 0.5625em;
447
+ height: 0.5625em;
448
+ background: #f1f1f1;
449
+ background: rgba(255, 255, 255, 0.9);
450
+ }
451
+ .mediaplayer [aria-disabled="true"] .ws-range-thumb {
452
+ cursor: default;
453
+ }
369
454
  .mediaplayer .ws-focus .ws-range-thumb {
370
- background: #fff; }
455
+ background: #fff;
456
+ }
371
457
  .mediaplayer .time-slider .ws-range-thumb {
372
- width: 1em;
373
- height: 0.6875em;
374
- border-radius: 0.1875em; }
458
+ width: 0.75em;
459
+ }
375
460
  .mediaplayer .volume-slider {
376
- width: 60px; }
461
+ width: 60px;
462
+ }
463
+ .mediaplayer[data-playersize="medium"] .volume-slider {
464
+ width: 80px;
465
+ }
377
466
  .mediaplayer[data-playersize="large"] .volume-slider {
378
- width: 90px; }
467
+ width: 110px;
468
+ }
469
+ .mediaplayer[data-playersize="x-large"] .volume-slider {
470
+ width: 130px;
471
+ }
379
472
  .mediaplayer.state-muted .volume-slider .ws-range-progress {
380
- width: 0 !important; }
473
+ width: 0 !important;
474
+ }
381
475
  .mediaplayer.state-muted .volume-slider .ws-range-thumb {
382
- left: 0 !important; }
476
+ left: 0 !important;
477
+ }
478
+ .mediaplayer .ws-a11y-focus {
479
+ outline: 1px dotted #eee;
480
+ outline: 1px dotted rgba(255, 255, 255, 0.8);
481
+ }
482
+ .mediaplayer .ws-a11y-focus:hover {
483
+ outline: none;
484
+ }
383
485
 
384
- html.has-media-fullscreen,
385
- body.has-media-fullscreen {
386
- overflow: hidden; }
486
+ .has-media-fullscreen {
487
+ overflow: hidden;
488
+ }
387
489
 
388
490
  .player-fullscreen {
389
491
  position: fixed !important;
390
492
  z-index: 999999;
391
- background: #000; }
493
+ background: #000;
494
+ }
392
495
 
393
- .mediaplayer[data-useractivity="false"][data-state="playing"].player-fullscreen {
394
- cursor: none !important; }
395
- .mediaplayer[data-useractivity="false"][data-state="playing"].player-fullscreen * {
396
- cursor: none !important; }
496
+ .mediaplayer[data-useractivity="false"][data-state="playing"].player-fullscreen,
497
+ .mediaplayer[data-useractivity="false"][data-state="playing"].player-fullscreen .jme-media-overlay,
498
+ .mediaplayer[data-useractivity="false"][data-state="playing"].player-fullscreen .cue-display {
499
+ cursor: none !important;
500
+ }
397
501
 
398
502
  .media-fullscreen,
399
503
  .player-fullscreen .polyfill-mediaelement,
@@ -406,7 +510,9 @@ body.has-media-fullscreen {
406
510
  height: 100% !important;
407
511
  max-width: none !important;
408
512
  padding: 0 !important;
409
- margin: 0 !important; }
513
+ margin: 0 !important;
514
+ }
410
515
 
411
516
  .media-fullscreen {
412
- position: relative; }
517
+ position: relative;
518
+ }