1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85453],{5453(e,t,i){i.r(t),i.d(t,{default:()=>a});var s=i(4335);class a extends s.A{static #e=this.options={storageKey:"sw-cms-video-volume",defaultVolume:0};init(){this._video=this.el.querySelector("video"),this._playingStateTimeout=null,this._video&&(this._applyStoredVolume(),this._registerVolumeEvents(),this._registerPlaybackEvents(),this._updatePlayingState(),this._video.hasAttribute("controls")||this._registerToggleEvent())}_applyStoredVolume(){let e=null;try{e=window.localStorage.getItem(this.options.storageKey)}catch(e){console.warn("Failed to read from localStorage:",e)}let t=parseFloat(e);(Number.isNaN(t)||t<0||t>1)&&(t=this.options.defaultVolume),this._video.volume=t}_registerVolumeEvents(){this._video.addEventListener("volumechange",this._onVolumeChange.bind(this))}_registerPlaybackEvents(){this._video.addEventListener("play",this._onPlay.bind(this)),this._video.addEventListener("pause",this._updatePlayingState.bind(this,{delay:0})),this._video.addEventListener("ended",this._updatePlayingState.bind(this,{delay:0}))}_onPlay(){this._updatePlayingState({delay:180}),this._video.currentTime>0&&this._triggerTapAnimation()}_updatePlayingState(){let{delay:e=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!this._video.paused&&!this._video.ended,i=this._video.paused||this._video.ended;if(this._playingStateTimeout&&(window.clearTimeout(this._playingStateTimeout),this._playingStateTimeout=null),t&&e>0){this._playingStateTimeout=window.setTimeout(()=>{this.el.classList.toggle("is-playing",!0),this.el.classList.toggle("is-paused",!1),this._playingStateTimeout=null},e);return}this.el.classList.toggle("is-playing",t),this.el.classList.toggle("is-paused",i)}_onVolumeChange(){try{window.localStorage.setItem(this.options.storageKey,String(this._video.volume))}catch(e){console.warn("Failed to write to localStorage:",e)}}_registerToggleEvent(){this.el.addEventListener("click",this._onToggleClick.bind(this)),this.el.addEventListener("keydown",this._onToggleKeydown.bind(this))}_onToggleClick(){if(this._triggerTapAnimation(),this._video.paused){let e=this._video.play();e&&"function"==typeof e.catch&&e.catch(()=>{});return}this._video.pause()}_onToggleKeydown(e){e.defaultPrevented||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this._onToggleClick())}_triggerTapAnimation(){this.el.classList.remove("is-animating"),this.el.offsetHeight,this.el.classList.add("is-animating");let e=this.el.querySelector(".cms-video-play-icon");e&&e.addEventListener("animationend",()=>{this.el.classList.remove("is-animating")},{once:!0})}}}}]);
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.