PageSourceSearch

https://www.barcelo.com/etc.clientlibs/barcelo/clientlibs/clientli…/resources/bhg-video-utils.ae5d06a9.js

js barcelo.com collected 2026-10-02 02:42:56 UTC 14,440 bytes, 2 lines download raw bytes

1"use strict";(globalThis.webpackChunkaem_maven_archetype||=[]).push([[40010],{9165(e,t,i){let a,r;i.r(t);var n=i(57685);let l=new WeakSet,s=new WeakSet,o=new WeakSet,d=new WeakMap,c=new WeakMap,u=new WeakMap,p=!1,b=new WeakMap,v=new WeakMap,y=new WeakMap,m=function(){let e=window.bcl?.u?.browser,t=window.bcl?.u?.mobile;if(e?.isSafari?.()||t?.webView?.())return!0;let i=navigator.userAgent;if(window.chrome||i.includes("Chrome")||i.includes("Chromium")||i.includes("Edg"))return!1;let a=i.includes("Safari")&&!i.includes("Chrome")&&!i.includes("Chromium"),r=/\b(iPhone|iPad|iPod)\b/.test(i)&&!i.includes("Safari");return a||r},h=(e,t)=>e.getAttribute(t)?.toLowerCase()==="true",g=function(e){if(!m())return!1;try{let t=e||document.createElement("video"),i=t.canPlayType("application/vnd.apple.mpegURL"),a=t.canPlayType("application/x-mpegURL");return"probably"===i||"maybe"===i||"probably"===a||"maybe"===a}catch{return!1}},w=async function(){return a||(a=i.e(61202).then(i.bind(i,61202)).then(e=>e?.default||e)),a};i.d(t,["default",0,{addLazyVideos(e=document){this.cleanupDisconnectedPlayers(),this.initPosters(e);let t=this.getIntersectionObserver();[".video-generic",".video-youtube",".video-vimeo"].forEach(i=>e.querySelectorAll(i).forEach((e,i)=>{e.id||=`${e.id||"video"}-${Date.now()}-${i}`,h(e,"vdmodal")||"true"===e.getAttribute("data-background-autoplay-managed")||s.has(e)||d.has(e)||(s.add(e),t.observe(e))}))},getIntersectionObserver(){return r||(r=new IntersectionObserver(this.handleIntersection.bind(this),{rootMargin:"0px",threshold:.25})),r},initPosters(e){let t=e.querySelectorAll(".js-video-poster");t.length&&t.forEach(e=>{if(l.has(e))return;l.add(e);let t=e.closest(".c-video-responsive");if(!t)return;let i=t.querySelector("video");if(!i)return;let a=t=>{t.preventDefault(),t.stopPropagation(),e.classList.add("hidden"),e.removeEventListener("click",a);let r=i.play?.();r&&"function"==typeof r.catch&&r.catch(()=>{e.classList.remove("hidden")})};e.addEventListener("click",a,{passive:!1}),i.addEventListener("playing",()=>{e.classList.add("hidden")}),i.paused||i.ended||!(i.readyState>2)||e.classList.add("hidden")})},async handleIntersection(e,t){for(let{isIntersecting:i,target:a}of e)i&&await this.lazyLoad(a,!0)&&t.unobserve(a)},async lazyLoad(e,t=!1){let i=d.get(e);if("loading"!==i&&"loaded"!==i){if(d.set(e,"loading"),e.id.includes("GNPlayer"))try{if(h(e,"vdautoplay")&&!((e,t=!1)=>(t||(e=>{if(!e||!e.getBoundingClientRect)return!1;let t=e.getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight,a=window.innerWidth||document.documentElement.clientWidth;return t.top<i&&t.bottom>0&&t.left<a&&t.right>0})(e))&&(e=>{if(!e)return!1;let t=window.getComputedStyle(e);return!("none"===t.display||"hidden"===t.visibility||e.closest('[aria-hidden="true"]'))})(e)&&(e=>{let t=e.closest(".swiper-slide");if(!t)return!0;let i=t.closest(".swiper-wrapper");return!(!i||i.querySelector(".swiper-slide-active, .swiper-slide-visible"))||t.classList.contains("swiper-slide-active")||t.classList.contains("swiper-slide-visible")||t.classList.contains("swiper-slide-duplicate-active")})(e))(e,t))return d.delete(e),!1;return await this.setupCustomPlayer(e),d.set(e,"loaded"),!0}catch(t){throw d.delete(e),t}return h(e,"vdautoplay")?(e.src=e.src.replace("&autoplay=0","&autoplay=1"),d.set(e,"loaded")):d.delete(e),!0}},async setupCustomPlayer(e){(0,n.default)(e),this.isDynamicMediaConfigured(e)&&!g(e)&&(e.removeAttribute("src"),e.src="",e.querySelectorAll("source").forEach(e=>e.remove())),h(e,"vdautoplay")&&await new Promise(e=>{let t=!1,i=()=>{t||(t=!0,e())};window.addEventListener("scroll",i,{passive:!0,once:!0}),window.addEventListener("touchstart",i,{passive:!0,once:!0}),window.addEventListener("mousemove",i,{passive:!0,once:!0}),window.addEventListener("click",i,{passive:!0,once:!0}),setTimeout(i,12e3)}),await this.customPlayerLoadAndPlay(e)},async customPlayerLoadAndPlay(e){this.cleanupDisconnectedPlayers();let t=y.get(e);if(t)return h(e,"vdautoplay")&&await this.ensureStreamLoaded(e),t;let i=await w(),a=y.get(e);
1if(a)return h(e,"vdautoplay")&&await this.ensureStreamLoaded(e),a;let r=new i(e,this.getPlyrConfig(e));return y.set(e,r),this.setupPlyrEvents(r),h(e,"vdautoplay")?await this.ensureStreamLoaded(e):this.bindStreamLoadOnIntent(r,e),r},async nativeStreamLoadAndPlay(e){this.cleanupDisconnectedPlayers();let t=h(e,"vdmuted")||h(e,"vdautoplay"),i=h(e,"vdmuted");e.muted=t,e.defaultMuted=t,e.autoplay=!0,e.loop=i,e.playsInline=!0,e.setAttribute("playsinline",""),t&&e.setAttribute("muted",""),i&&(e.setAttribute("loop",""),o.has(e)||(o.add(e),e.addEventListener("ended",()=>{e.currentTime=0;let t=e.play?.();t?.catch&&t.catch(()=>{})}))),await this.ensureStreamLoaded(e);try{return await e.play?.()}catch{return}},bindStreamLoadOnIntent(e,t){if(!e?.elements?.container||!t)return;let i=async()=>{if("loaded"!==c.get(t))try{await this.ensureStreamLoaded(t),t.paused&&await e.play?.()}catch(e){((...e)=>0)("Unable to load video stream after play intent",e)}};(e.elements.buttons?.play||[]).forEach(e=>{e.addEventListener("pointerdown",i,{once:!0,passive:!0});let t=async a=>{("Enter"===a.key||" "===a.key)&&(e.removeEventListener("keydown",t),await i())};e.addEventListener("keydown",t)})},async ensureStreamLoaded(e){if("loaded"===c.get(e))return;let t=u.get(e);if(t)return t;c.set(e,"loading");let i=this.setupHlsIfNeeded(e).then(()=>{c.set(e,"loaded")}).catch(t=>{throw c.delete(e),t}).finally(()=>{u.delete(e)});return u.set(e,i),i},getPlyrConfig(e){let t=this.createTranslationGetter(this.getTranslationsFromDataset(e)),i=h(e,"vdcontrols")?["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"]:["play-large"],a=e.closest(".c-video-responsive"),r=a?.querySelector(".js-video-poster")?void 0:e.getAttribute("data-poster")||e.getAttribute("poster");return{debug:!1,iconUrl:"/etc.clientlibs/barcelo/clientlibs/clientlib-assetVideo/resources/plyr.svg",autoplay:h(e,"vdautoplay"),poster:r,muted:h(e,"vdmuted")||h(e,"vdautoplay"),loop:{active:h(e,"vdmuted")},playsinline:!0,controls:i,hideControls:!0,settings:["speed","loop"],clickToPlay:!0,disableContextMenu:!0,displayDuration:!0,invertTime:!0,autopause:!0,keyboard:{focused:!0,global:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!0,container:null},storage:{enabled:!1,key:"plyr"},speed:{selected:1,options:[.25,.5,.75,1,1.25,1.5,1.75,2]},captions:{active:!1},ads:{enabled:!1},i18n:{restart:t("i18n-bcl.videos.restart"),rewind:t("i18n-bcl.videos.rewind"),play:t("i18n-bcl.videos.play"),pause:t("i18n-bcl.videos.pause"),fastForward:t("i18n-bcl.videos.fastForward"),seek:t("i18n-bcl.videos.seek"),seekLabel:t("i18n-bcl.videos.seekLabel"),played:t("i18n-bcl.videos.played"),buffered:t("i18n-bcl.videos.buffered"),currentTime:t("i18n-bcl.videos.currentTime"),duration:t("i18n-bcl.videos.duration"),volume:t("i18n-bcl.videos.volume"),mute:t("i18n-bcl.videos.mute"),unmute:t("i18n-bcl.videos.unmute"),enableCaptions:t("i18n-bcl.videos.enableCaptions"),disableCaptions:t("i18n-bcl.videos.disableCaptions"),download:t("i18n-bcl.videos.download"),enterFullscreen:t("i18n-bcl.videos.enterFullscreen"),exitFullscreen:t("i18n-bcl.videos.exitFullscreen"),frameTitle:t("i18n-bcl.videos.frameTitle"),captions:t("i18n-bcl.videos.captions"),settings:t("i18n-bcl.videos.settings"),pip:t("i18n-bcl.videos.pipEnable"),menuBack:t("i18n-bcl.videos.menuBack"),speed:t("i18n-bcl.videos.speed"),normal:t("i18n-bcl.videos.normal"),quality:t("i18n-bcl.videos.quality"),loop:t("i18n-bcl.videos.loop"),start:t("i18n-bcl.videos.start"),end:t("i18n-bcl.videos.end"),all:t("i18n-bcl.videos.all"),reset:t("i18n-bcl.videos.reset"),disabled:t("i18n-bcl.videos.disabled"),enabled:t("i18n-bcl.videos.enabled"),advertisement:t("i18n-bcl.videos.advertisement"),qualityBadge:{2160:t("i18n-bcl.videos.qualityBadge.2160"),1440:t("i18n-bcl.videos.qualityBadge.1440"),1080:t("i18n-bcl.videos.qualityBadge.1080"),720:t("i18n-bcl.videos.qualityBadge.720"),576:t("i18n-bcl.videos.qualityBadge.576"),480:t("i18n-bcl.videos.qualityBadge.480")}}}},setupPlyrEvents(e){e.on("ready",()=>{let t=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"aria-pressed"===t.attributeName){let e=t.target;e.hasAttribute("aria-pressed")&&e.removeAttribute("aria-pressed")}}),i={attributes:!0};['[data-plyr="play"]','[data-plyr="settings"]'].forEach(a=>
1{e.elements.container.querySelectorAll(a).forEach(e=>{e&&(e.removeAttribute("aria-pressed"),t.observe(e,i))})}),e.observer=t;let a=this.getTranslationsFromDataset(e.elements.original),r=this.createTranslationGetter(a),n=e.elements.container.querySelector('[data-plyr="pip"]');n&&(e.on("enterpictureinpicture",()=>{n.setAttribute("aria-label",r("i18n-bcl.videos.pipDisable")),n.setAttribute("aria-pressed","true")}),e.on("leavepictureinpicture",()=>{n.setAttribute("aria-label",r("i18n-bcl.videos.pipEnable")),n.setAttribute("aria-pressed","false")}))});let t=e.elements.buttons?.play?.[0];t&&(t.style.display=e.autoplay?"none":"block"),["progress","playing","pause"].forEach(t=>e.on(t,e=>((...e)=>!1)(`Plyr ${t}`,e)));let i=window.barceloActivePlayers||=[];i.includes(e)||i.push(e)},async setupHlsIfNeeded(e){let t;this.cleanupDisconnectedPlayers();let a=this.isDynamicMediaConfigured(e),r=e.querySelector(".videoDynamicPath")||e.querySelector("source[src]"),n=this.getDynamicMediaFallbackPath(e),l=this.getMp4FallbackPath(e),s=(e=>{if(!e)return e;try{let t=new URL(e,window.location.href);return t.searchParams.delete("packagedStreaming"),t.toString()}catch{return e}})(r?.src||r?.getAttribute("src")||n);if(!a||!s){e.src=l,e.load();return}if(g(e)){e.src=s,e.load();return}if(!p)try{let e=await i.e(32558).then(i.t.bind(i,32558,19));window.Hls=e?.default||e,p=!0}catch{l&&(e.src=l,e.load());return}if(!window.Hls?.isSupported?.()){l&&(e.src=l,e.load());return}let o=b.get(e);if(o){if(v.get(e)===s)return;try{o.destroy()}catch{console.warn("Error destroying previous HLS instance for video",e)}b.delete(e),v.delete(e)}e.removeAttribute("src"),e.src="",e.querySelectorAll("source").forEach(e=>e.remove());try{t=new window.Hls(this.getHlsConfig())}catch{l&&(e.src=l,e.load());return}b.set(e,t),v.set(e,s),t.attachMedia(e),t.loadSource(s),t.on(window.Hls.Events.MANIFEST_PARSED,(i,a)=>{let r=(a?.levels||[]).map((e,t)=>({level:e,index:t})).filter(({level:e})=>Number.isFinite(e.width)&&e.width>0).sort((e,t)=>e.level.width-t.level.width);if(r.length){let i=(e.clientWidth||0)*(window.devicePixelRatio||1),a=r.find(({level:e})=>e.width>=i)||r[r.length-1];t.startLevel=a.index}t.startLoad()}),t.on(window.Hls.Events.ERROR,(i,a)=>{if(!a.fatal)return((...e)=>!1)("HLS warning",a);let{NETWORK_ERROR:r,MEDIA_ERROR:n}=window.Hls.ErrorTypes;a.type===r?t.startLoad():a.type===n?t.recoverMediaError():(t.destroy(),b.delete(e),v.delete(e))})},getDynamicMediaFallbackPath(e){let t=e.getAttribute("videodesktoppathdm"),i=e.getAttribute("videomobilepathdm"),a=t&&"DM-not-configured"!==t,r=i&&"DM-not-configured"!==i;return"mobile"===e.getAttribute("lastdevice")?r?i:a?t:"":a?t:r?i:""},getMp4FallbackPath(e){let t=e.getAttribute("videodesktoppath")||"",i=e.getAttribute("videomobilepath")||"";return"mobile"===e.getAttribute("lastdevice")?i||t:t||i},isDynamicMediaConfigured:e=>h(e,"dynamicmedia")&&("DM-not-configured"!==e.getAttribute("videodesktoppathdm")||"DM-not-configured"!==e.getAttribute("videomobilepathdm")),getHlsConfig:()=>({debug:!1,autoStartLoad:!1,startPosition:-1,startLevel:-1,capLevelToPlayerSize:!0,maxBufferLength:6,maxMaxBufferLength:12,backBufferLength:6,enableWorker:!0,startFragPrefetch:!1}),modalCheckEnableVideo(e){e.id.includes("GNPlayer")?this.setupCustomPlayer(e).then(()=>this.ensureStreamLoaded(e)).catch(e=>((...e)=>!1)("Unable to preload modal video",e)):h(e,"vdautoplay")&&(e.src=e.src.replace("&autoplay=0","&autoplay=1")),this.watchModalVideo(e)},modalCheckDisableVideo(e){e.id.includes("GNPlayer")?this.disableCustomPlayer(e):e.src=e.src.replace("&autoplay=1","&autoplay=0")},watchModalVideo(e){let t=e.closest(".tingle-modal, .brh-video__modal");if(!t)return;let i=new MutationObserver(t=>{t.some(({attributeName:e})=>"class"===e)&&(this.modalCheckDisableVideo(e),i.disconnect())});i.observe(t,{attributes:!0})},disableCustomPlayer(e){let t=y.get(e);if(t){t.observer&&t.observer.disconnect();try{t.destroy()}catch{console.warn("Error destroying Plyr instance for video",e)}y.delete(e)}let i=b.get(e);if(i){try{i.destroy()}catch{console.warn("Error destroying HLS instance for video",e)}b.delete(e),v.delete(e)}c.delete(e),u.delete(e);let a=window.barceloActivePlayers;if(!a?.length)return;let r=a.findIndex(t=>t.elements?.original===e);r>-1&&a.splice(r,1)},cleanupDisconnectedPlayers(){let e=window.barceloActivePlayers;if(e?.length)for(let t=e.length-1;t>=0;t--){let i=e[t],a=i.elements?.original||i.media;a&&!a.isConnected&&this.disableCustomPlayer(a)}},getTranslationsFromDataset(e){if(!e)return{};try{return JSON.parse(e.dataset.i18n||"{}")}catch{return{}}},createTranslationGetter:e=>function(t,i=t){return e&&"string"==typeof e[t]&&e[t].trim()?e[t]:i}}])},57685(e,t,i){i.r(t);let a=e=>{let t,i,a=window.bcl?.u?.mobile?.isMobile?.()??!1,r="true"===e.getAttribute("dynamicMedia");r?(e.setAttribute("canPlayNativeDM",(e=>{let t=window.bcl?.u?.browser,i=window.bcl?.u?.mobile,a=navigator.userAgent;if(window.chrome||a.includes("Chrome")||a.includes("Chromium")||a.includes("Edg")||!(t?.isSafari?.()||i?.webView?.()||a.includes("Safari")&&!a.includes("Chrome")&&!a.includes("Chromium")||/\b(iPhone|iPad|iPod)\b/.test(a)&&!a.includes("Safari")))return!1;let r=e.canPlayType("application/vnd.apple.mpegURL"),n=e.canPlayType("application/x-mpegURL");return"probably"===r||"maybe"===r||"probably"===n||"maybe"===n})(e).toString()),t="DM-not-configured"!==e.getAttribute("videoDesktopPathDM")?e.getAttribute("videoDesktopPathDM"):void 0,i="DM-not-configured"!==e.getAttribute("videoMobilePathDM")?e.getAttribute("videoMobilePathDM"):void 0):(t=e.getAttribute("videoDesktopPath")||void 0,i=e.getAttribute("videoMobilePath")||void 0);let n=a?i||t:t||i;if(!n)return;e.setAttribute("lastDevice",a?"mobile":"desktop");let l=e.querySelector(".videoDynamicPath");l&&(r&&"true"!==e.getAttribute("canPlayNativeDM")?l.removeAttribute("src"):(l.src=n,l.type=r?"application/x-mpegURL":"video/mp4"))};i.dn(a),i.d(t,["default",0,a])}}]);
2//# sourceMappingURL=/etc.clientlibs/barcelo/clientlibs/clientlib-components/resources/bhg-video-utils.ae5d06a9.js.map

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.