1/** 2 * Copyright (c) 2023 The Nuevodevel Team. All rights reserved. 3 * Filters plugin for video.js 4 * Version 1.2.0 5 */ 6/* eslint-disable */ /* eslint-env node */ function _interopDefault(e) { 7 return e && 'object' === typeof e && 'default' in e ? e.default : e; 8} 9var videojs = _interopDefault(require('video.js')); 10var supportsPassive = !1; 11function fint(e) { 12 return e; 13} 14var opts = Object.defineProperty({}, 'passive', { 15 get: function () { 16 supportsPassive = !0; 17 return !0; 18 }, 19}); 20window.addEventListener('testPassive', null, opts); 21window.removeEventListener('testPassive', null, opts); 22var filter_b = 100, 23 filter_s = 100, 24 filter_c = 100; 25const onMenusReady = (e, t) => { 26 const i = { filtersMenu: !0 }; 27 let s = 100, 28 r = 100, 29 a = 100, 30 l = e.el(); 31 try { 32 t = videojs.obj.merge(i, t); 33 } catch (e) { 34 t = videojs.mergeOptions(i, t); 35 } 36 if (t.filtersMenu) { 37 let t = videojs.dom.createEl( 38 'li', 39 { className: 'vjs-settings-item vjs-filters-button' }, 40 { 41 tabIndex: 0, 42 'aria-label': e.localize('Open filters container'), 43 role: 'menuitem', 44 'aria-disabled': 'false', 45 } 46 ); 47 t.innerHTML = 48 e.localize('Filters') + 49 '<span><span class="vjs-filters-icon vjs-icon-placeholder" data-id="filters" aria-hidden="true"></span></span>'; 50 let i = l.querySelector('.vjs-settings-list'); 51 if (i) { 52 if (i.children.length > 0) i.insertBefore(t, i.firstChild.nextSibling); 53 else { 54 i.appendChild(t); 55 videojs.dom.removeClass(l.querySelector('.vjs-cog-menu-button'), 'vjs-hidden'); 56 } 57 } 58 let h = videojs.dom.createEl( 59 'div', 60 { className: 'vjs-filters vjs-hidden' }, 61 { 'aria-label': e.localize('Video filters'), 'aria-hidden': !0 } 62 ); 63 h.style.zIndex = 7; 64 let m = videojs.dom.createEl( 65 'div', 66 { className: 'vjs-filter-body vjs-filter-brightness' }, 67 { 68 tabindex: 0, 69 'aria-live': 'polite', 70 role: 'slider', 71 'aria-valuetext': '50%', 72 'aria-valuenow': 50, 73 'aria-valuemin': 0, 74 'aria-valuemax': 100, 75 } 76 ); 77 m.setAttribute('aria-label', 'video brigtness'); 78 let j = videojs.dom.createEl( 79 'div', 80 { className: 'vjs-filter-body vjs-filter-saturation' }, 81 { 82 tabindex: 0, 83 'aria-live': 'polite', 84 role: 'slider', 85 'aria-valuetext': '50%', 86 'aria-valuenow': 50, 87 'aria-valuemin': 0, 88 'aria-valuemax': 100, 89 } 90 ); 91 j.setAttribute('aria-label', 'video saturation'); 92 let y = videojs.dom.createEl( 93 'div', 94 { className: 'vjs-filter-body vjs-filter-contrast' }, 95 { 96 tabindex: 0, 97 'aria-live': 'polite', 98 role: 'slider', 99 'aria-valuetext': '50%', 100 'aria-valuenow': 50, 101 'aria-valuemin': 0, 102 'aria-valuemax': 100, 103 } 104 ); 105 y.setAttribute('aria-label', 'video contrast'); 106 let b = 107 '<div class="vjs-filter-bar"><div class="vjs-filter-level"></div><div class="filter-tip"></div></div>'; 108 m.innerHTML = 109 '<span aria-hidden="true" data-id="brightness" class="vjs-icon-placeholder"></span>' + b; 110 j.innerHTML = 111 '<span aria-hidden="true" data-id="saturation" class="vjs-icon-placeholder"></span>' + b; 112 y.innerHTML = 113 '<span aria-hidden="true" data-id="contrast" class="vjs-icon-placeholder"></span>' + b; 114 let w = videojs.dom.createEl( 115 'button', 116 { className: 'filter-btn filter-close' }, 117 { tabindex: 0, 'aria-disabled': !1, 'aria-label': e.localize('Close filters') }, 118 e.localize('Close') 119 ), 120 g = videojs.dom.createEl( 121 'button', 122 { className: 'filter-btn filter-reset' }, 123 { tabindex: 0, 'aria-disabled': !1, 'aria-label': e.localize('Reset filters') }, 124 e.localize('Reset') 125 ); 126 h.appendChild(m); 127 h.appendChild(j); 128 h.appendChild(y); 129 h.appendChild(g); 130 h.appendChild(w); 131 function o(t) { 132 let i = t.which; 133 if (27 === i) w.click(); 134 if (37 === i || 39 === i) { 135 var l = document.activeElement; 136 if (l === m || l === j || l === y) { 137 let t = l.querySelector('.vjs-filter-level'), 138 d = parseInt(t.style.width); 139 if (!t.style.width) d = 50; 140 if (39 === i) if ((d += 5) > 99) d = 100; 141 if (37 === i) if ((d -= 5) < 0) d = 0; 142 t.style.width = d + '%';
143 var o = 100 + 2 * (d - 50); 144 if (l === m) s = o; 145 if (l === j) r = o; 146 if (l === y) a = o; 147 var n = ''; 148 if (100 !== s) n = 'brightness(' + s + '%)'; 149 if (100 !== r) { 150 if ('' !== n) n += ' '; 151 n += 'saturate(' + r + '%)'; 152 } 153 if (100 !== a) { 154 if ('' !== n) n += ' '; 155 n += 'contrast(' + a + '%)'; 156 } 157 l.querySelector('.filter-tip').innerText = d; 158 l.setAttribute('aria-valuetext', d + '%'); 159 l.setAttribute('aria-valuenow', d); 160 let v = e.el_.querySelector('.vjs-tech'); 161 v.style.webkitFilter = n; 162 v.style.filter = n; 163 } 164 } 165 if (9 === i) { 166 let e = document.activeElement; 167 if (w == e) { 168 m.focus(); 169 t.preventDefault(); 170 } else if (e !== m && e !== j && e !== y && e !== g) t.preventDefault(); 171 } 172 } 173 l.appendChild(h); 174 h.addEventListener('keydown', o); 175 t.onkeydown = function (e) { 176 setTimeout(function () { 177 m.focus(); 178 }, 150); 179 }; 180 var n = function (e) { 181 let t = L, 182 i = t.querySelector('.vjs-filter-bar'), 183 o = null; 184 if ('mousemove' === e.type || 'mousedown' === e.type) o = e.clientX || null; 185 else if ('touchmove' === e.type || 'touchstart' === e.type) 186 o = e.touches[0].pageX || null; 187 if (null === o) return; 188 o = parseInt(o, 10); 189 var n = i.getBoundingClientRect(), 190 d = i.offsetWidth, 191 v = o - (n.left - window.scrollX); 192 if (v > d) v = d; 193 if (v < 0) v = 0; 194 var u = parseInt((v / d) * 100, 10); 195 if (u < 0) u = 0; 196 if (u > 100) u = 100; 197 t.querySelector('.vjs-filter-level').style.width = u + '%'; 198 let c = t.querySelector('.filter-tip'); 199 videojs.dom.addClass(c, 'tip-show'); 200 c.style.left = d * (u / 100) - c.offsetWidth / 2 + 'px'; 201 let f = l.querySelector('.vjs-brightness-bar'); 202 if (f) f.querySelector('.bar-level').style.height = u + '%'; 203 vv = 2 * (u - 50); 204 var p = 2 * (u - 50); 205 if (p < -100) p = -100; 206 if (p > 100) p = 100; 207 var b = 100 + 2 * (u - 50); 208 c.innerText = u; 209 t.setAttribute('aria-valuetext', u + '%'); 210 t.setAttribute('aria-valuenow', u); 211 if (L === m) s = b; 212 if (L === j) r = b; 213 if (L === y) a = b; 214 var w = ''; 215 if (100 !== s) w = 'brightness(' + s + '%)'; 216 if (100 !== r) { 217 if ('' !== w) w += ' '; 218 w += 'saturate(' + r + '%)'; 219 } 220 if (100 !== a) { 221 if ('' !== w) w += ' '; 222 w += 'contrast(' + a + '%)'; 223 } 224 let g = l.querySelector('.vjs-tech'); 225 g.style.webkitFilter = h; 226 g.style.filter = w; 227 }, 228 d = function (t) { 229 t.preventDefault(); 230 t.stopPropagation(); 231 let i = e.el_.querySelector('.vjs-filters'); 232 i.setAttribute('aria-hidden', 'true'); 233 i.classList.add('vjs-hidden'); 234 e.$('.vjs-tech').style.removeProperty('pointer-events'); 235 e.el_.classList.remove('vjs-filters-on'); 236 setTimeout(function () { 237 e.el_.focus(); 238 t.preventDefault(); 239 t.stopPropagation(); 240 }, 100); 241 e.userActive(!1); 242 }, 243 v = function (t) { 244 t.preventDefault(); 245 t.stopPropagation(); 246 videojs.dom.removeClass(h, 'vjs-hidden'); 247 h.setAttribute('aria-hidden', 'false'); 248 e.trigger('filters'); 249 e.$('.vjs-tech').style.setProperty('pointer-events', 'none'); 250 videojs.dom.addClass(l, 'vjs-filters-on'); 251 let i = l.querySelector('.vjs-sharing-overlay'), 252 s = l.querySelector('.vjs-grid'); 253 if (i) videojs.dom.addClass(i, 'vjs-hidden'); 254 if (s) videojs.dom.addClass(s, 'vjs-hidden'); 255 let r = l.querySelector('.vjs-menu-settings'); 256 setTimeout(function () { 257 videojs.dom.removeClass(r, 'vjs-lock-showing'); 258 videojs.dom.addClass(r, 'vjs-hidden'); 259 h.focus(); 260 }, 500); 261 }, 262 u = function (e) { 263 e.preventDefault(); 264 e.stopPropagation(); 265 s = 100; 266 a = 100; 267 r = 100; 268 l.querySelector('.vjs-tech').removeAttribute('style'); 269 m.querySelector('.vjs-filter-level').style.width = '50%'; 270 j.querySelector('.vjs-filter-level').style.width = '50%'; 271 y.querySelector('.vjs-filter-level').style.width = '50%'; 272 }, 273 c = function (e) { 274 e.stopPropagation(); 275 let t = e.target; 276 L = t; 277 n(e); 278 window.addEventListener('mousemove', f, !1); 279 window.addEventListener('mouseup', p, !1); 280 window.addEventListener('touchmove', f, { passive: !1 }); 281 L.addEventListener('touchend', p); 282 }, 283 f = function (e) { 284 e.preventDefault(); 285 n(e); 286 }, 287 p = function (e) { 288 e.preventDefault(); 289 videojs.dom.removeClass(l, 'vjs-touch-active'); 290 videojs.dom.removeClass(L.querySelector('.filter-tip'), 'tip-show'); 291 window.removeEventListener('mousemove', f); 292 window.removeEventListener('mouseup', p); 293 window.removeEventListener('touchmove', f); 294 L.removeEventListener('touchend', p); 295 }; 296 g.addEventListener('click', u, !1); 297 g.addEventListener('touchend', u, !1); 298 w.addEventListener('click', d, !1); 299 w.addEventListener('touchend', d, !1); 300 let E = l.querySelector('.vjs-filters-button'); 301 E.addEventListener('click', v, !1); 302 E.addEventListener('touchstart', v, supportsPassive ? { passive: !1 } : !1); 303 let L = null; 304 m.addEventListener('mousedown', c, !1); 305 m.addEventListener('touchstart', c, supportsPassive ? { passive: !0 } : !1); 306 j.addEventListener('mousedown', c, !1); 307 j.addEventListener('touchstart', c, supportsPassive ? { passive: !0 } : !1); 308 y.addEventListener('mousedown', c, !1); 309 y.addEventListener('touchstart', c, supportsPassive ? { passive: !0 } : !1); 310 } 311 }, 312 onPlayerReady = (e, t) => { 313 const i = { touchBrightness: !0 }; 314 try { 315 t = videojs.obj.merge(i, t); 316 } catch (e) { 317 t = videojs.mergeOptions(i, t); 318 } 319 videojs.dom; 320 let s = e.el(); 321 if (!0 === t.touchBrightness) { 322 var r = videojs.dom.createEl( 323 'div', 324 { className: 'vjs-brightness' }, 325 { 326 tabindex: 0, 327 'aria-live': 'polite', 328 role: 'slider', 329 'aria-valuetext': '50%', 330 'aria-valuenow': 50, 331 'aria-valuemin': 0, 332 'aria-valuemax': 100, 333 } 334 ); 335 r.innerHTML = 336 '<span data-id="brightness" class="vjs-icon-placeholder"></span><div class="vjs-brightness-bar"><div class="bar"></div><div class="bar-level"></div></div>'; 337 s.appendChild(r); 338 r.setAttribute('aria-label', 'Video brightness'); 339 r.addEventListener( 340 'touchstart', 341 function (e) { 342 e.stopImmediatePropagation(); 343 videojs.dom.addClass(s, 'vjs-touch-active'); 344 o(e); 345 window.addEventListener('touchmove', a, { passive: !1 }); 346 r.addEventListener('touchend', l); 347 }, 348 supportsPassive ? { passive: !0 } : !1 349 ); 350 return this; 351 } 352 function a(t) { 353 t.preventDefault(); 354 t.stopImmediatePropagation(); 355 clearInterval(e.touchtimer); 356 videojs.dom.addClass(s, 'vjs-touch-acitve'); 357 o(t); 358 } 359 function l(t) { 360 t.preventDefault(); 361 e.touchtimer = setTimeout(function () { 362 videojs.dom.removeClass(s, 'vjs-touch-active'); 363 }, 1e3); 364 window.removeEventListener('touchmove', a); 365 r.removeEventListener('touchend', l); 366 } 367 function o(e) { 368 let t = null; 369 if ('mousemove' === e.type || 'mousedown' === e.type) t = e.pageY || null; 370 else if ('touchmove' === e.type || 'touchstart' === e.type) t = e.touches[0].pageY || null; 371 if (null === t) return; 372 var i = r.offsetHeight, 373 a = t - (r.getBoundingClientRect().top + window.scrollY); 374 if (a > i) a = i; 375 if (a < 0) a = 0; 376 var l = parseInt(100 - (a / i) * 100, 10); 377 if (l < 0) l = 0; 378 if (l > 100) l = 100; 379 r.querySelector('.bar-level').style.height = l + '%'; 380 r.setAttribute('aria-valuenow', l); 381 r.setAttribute('aria-valuetext', l + '%'); 382 let o = s.querySelector('.vjs-filters'); 383 if (o) { 384 let e = o.querySelector('.vjs-filter-brightness'); 385 if (e) { 386 e.querySelector('.vjs-filter-level').style.width = l + '%'; 387 e.setAttribute('aria-valuenow', l); 388 e.setAttribute('aria-valuetext', l + '%'); 389 } 390 } 391 if (100 !== (filter_b = 100 + 2 * (l - 50))) filterss = 'brightness(' + filter_b + '%)'; 392 if (100 !== filter_s) { 393 if ('' !== filterss) filterss += ' '; 394 filterss += 'saturate(' + filter_s + '%)'; 395 } 396 if (100 !== filter_c) { 397 if ('' !== filterss) filterss += ' '; 398 filterss += 'contrast(' + filter_c + '%)'; 399 }
400 s.querySelector('.vjs-tech').style.webkitFilter = filterss; 401 s.querySelector('.vjs-tech').style.filter = filterss; 402 } 403 }, 404 filters = function (e) { 405 this.ready(() => { 406 onPlayerReady(this, e); 407 }); 408 this.on('menusReady', function () { 409 onMenusReady(this, e); 410 }); 411 }; 412if ('undefined' != typeof window) videojs.registerPlugin('filters', filters); 413module.exports = filters;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.