import{s as e,d9 as i,da as t,db as a,y as s,bj as r,bk as o,bl as d,bn as l,cP as n,bQ as h,cQ as u,cM as v,l as c,cS as g,cU as f,cO as p,di as m,c5 as w,d7 as y,d8 as C,de as _,ck as b,cl as $,dj as M,dk as P,dl as R,dm as x}from"./card-555679fd.js";import{L as q,A as V,i as S,w as I,p as T,h as F,s as k,M as z}from"./lazyload-c2d6254a.js";import"./ha-hls-player-aef987da.js";import{m as W}from"./audio-557099cb.js";import{u as j}from"./media-layout-8e0c974f.js";import{a as E}from"./media-b0eb3f2a.js";let D=class extends e{render(){if(this.hass&&this.view&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.view.queryResults?.hasResults()){const e=this.view.getDefaultMediaType();if(!e)return;return"recordings"===e?i(this,this.hass,this.cameraManager,this.cardWideConfig,this.view,{targetView:"recording",select:"latest"}):t(this,this.hass,this.cameraManager,this.cardWideConfig,this.view,{targetView:"media",mediaType:e,select:"latest"}),a({cardWideConfig:this.cardWideConfig})}return s`
`}}static get styles(){return r(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};o([d({attribute:!1})],D.prototype,"hass",void 0),o([d({attribute:!1})],D.prototype,"view",void 0),o([d({attribute:!1})],D.prototype,"viewerConfig",void 0),o([d({attribute:!1})],D.prototype,"resolvedMediaCache",void 0),o([d({attribute:!1})],D.prototype,"cameraManager",void 0),o([d({attribute:!1})],D.prototype,"cardWideConfig",void 0),D=o([l("frigate-card-viewer")],D);const H="frigate-card-viewer-provider";let L=class extends e{constructor(){super(...arguments),this._refMediaCarousel=n()}updated(e){if(super.updated(e),e.has("view")){const i=e.get("view");this.view?.context?.mediaViewer!==i?.context?.mediaViewer&&this._seekHandler()}}_getTransitionEffect(){return this.viewerConfig?.transition_effect??h.media_viewer.transition_effect}_getPlayer(e){return e||(e=this._refMediaCarousel.value?.frigateCardCarousel()?.getCarouselSelected()?.element),e?.querySelector(H)??null}_getPlugins(){return[...this.view?.queryResults?.getResultsCount()?[u({forceWheelAxis:"y"})]:[],q({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),V({playerSelector:H,...this.viewerConfig?.auto_play&&{autoPlayCondition:this.viewerConfig.auto_play},...this.viewerConfig?.auto_pause&&{autoPauseCondition:this.viewerConfig.auto_pause},...this.viewerConfig?.auto_mute&&{autoMuteCondition:this.viewerConfig.auto_mute},...this.viewerConfig?.auto_unmute&&{autoUnmuteCondition:this.viewerConfig.auto_unmute}})]}_getMediaNeighbors(){const e=this.view?.queryResults?.getSelectedIndex()??null,i=this.view?.queryResults?.getResultsCount()??0;if(!this.view||!this.view.queryResults||null===e)return[null,null];return[e>0?this.view.queryResults.getResult(e-1):null,e+1{const i=this.view?.queryResults?.getSelectedIndex()??null;if(!this.view||!this.view?.queryResults||null===i)return;const t="previous"===e?i-1:i+1;t>=0&&t({draggable:this.viewerConfig?.draggable??!0})))}
.carouselPlugins=${S([this.viewerConfig,this.view.queryResults.getResults()],this._getPlugins.bind(this))}
.label=${i.getTitle()??void 0}
.logo=${o?.engineLogo}
.titlePopupConfig=${this.viewerConfig?.controls.title}
.selected=${this.view?.queryResults?.getSelectedIndex()??0}
transitionEffect=${this._getTransitionEffect()}
@frigate-card:media-carousel:select=${this._setViewHandler.bind(this)}
@frigate-card:media:loaded=${this._seekHandler.bind(this)}
>
{r("previous"),f(e)}}
>
${S(this.view?.queryResults?.getResults(),(()=>this._getSlides()))}
{r("next"),f(e)}}
>
`}async _seekHandler(){const e=this.view?.context?.mediaViewer?.seek,i=this.view?.queryResults?.getSelectedResult();if(!this.hass||!i||!e)return;const t=await(this.cameraManager?.getMediaSeekTime(this.hass,i,e))??null,a=this._getPlayer();a&&null!==t&&a.seek(t)}_renderMediaItem(e,i){return this.hass&&this.view&&this.viewerConfig?s`