+ ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""}
+ ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""}
+ ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""}
+ ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""}
+ ${this.value?.key?e(this.value.key):""}
+
+ `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign frigate-card-icon {\n color: var(--warning-color);\n}\n\nfrigate-card-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([n({attribute:!1})],_n.prototype,"label",void 0),t([n({attribute:!1})],_n.prototype,"value",void 0),_n=t([a("frigate-card-key-assigner")],_n);const gn="cameras",bn="options",pn={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vn=class extends s{constructor(){super(...arguments),this._defaults=u(dn),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=m(e);const i=h.safeParse(this._config.profiles);if(i.success){const e=u(dn);_(this._config,e,i.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,i){const t=pn[e];return o`
+
+
+ ${this._expandedMenus[gn]===i?o`
+
+ !n&&c((e=>!!(Array.isArray(e.cameras)&&i>0)&&(dt(e.cameras,i,i-1),this._openMenu(gn,i-1),!0)))}
+ >
+
+
+ =this._config.cameras.length-1}
+ @click=${()=>!n&&c((e=>!!(Array.isArray(e.cameras)&&i
+
+
+ {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(i,1),this._closeMenu(gn),!0)))}}
+ >
+
+
+
+ ${this._renderEntitySelector(ie(ut,i),"camera")}
+ ${this._renderOptionSelector(ie(mt,i),a)}
+ ${this._renderStringInput(ie(ht,i))}
+ ${this._renderIconSelector(ie(_t,i),{label:l("config.cameras.icon")})}
+ ${this._renderStringInput(ie(gt,i))}
+ ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",i,"config.cameras.frigate.editor_label","frigate",o`
+ ${this._renderStringInput(ie(bt,i))}
+ ${this._renderStringInput(ie(pt,i))}
+ ${this._renderOptionSelector(ie(vt,i),[],{multiple:!0,label:l("config.cameras.frigate.labels")})}
+ ${this._renderOptionSelector(ie(ft,i),[],{multiple:!0,label:l("config.cameras.frigate.zones")})}
+ ${this._renderStringInput(ie($t,i))}
+ `)}
+ ${this._putInSubmenu("cameras.motioneye",i,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ie(yt,i))}
+ ${this._renderStringInput(ie(wt,i))}
+ ${this._renderStringInput(ie(St,i))}
+ ${this._renderStringInput(ie(xt,i))}
+ ${this._renderStringInput(ie(Mt,i))}`)}
+ ${this._putInSubmenu("cameras.reolink",i,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ie(It,i))}
+ ${this._renderOptionSelector(ie(kt,i),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)}
+ ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",i,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ie(Ot,i),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})}
+ ${this._renderStringInput(ie(Ct,i))}`)}
+ ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ie(zt,i),ie(At,i),ie(Nt,i),ie(Tt,i),ie(Bt,i)))}
+ ${this._putInSubmenu("cameras.webrtc_card",i,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ie(Et,i),"camera")}
+ ${this._renderStringInput(ie(Pt,i))}`)}`)}
+ ${this._putInSubmenu("cameras.dependencies",i,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ie(Ht,i),this._defaults.cameras.dependencies.all_cameras)}
+ ${this._renderOptionSelector(ie(Lt,i),s,{multiple:!0})}`)}
+ ${this._putInSubmenu("cameras.triggers",i,"config.cameras.triggers.editor_label","mdi:magnify-scan",o`
+ ${this._renderSwitch(ie(Vt,i),this._defaults.cameras.triggers.occupancy)}
+ ${this._renderSwitch(ie(Kt,i),this._defaults.cameras.triggers.motion)}
+ ${this._renderOptionSelector(ie(Ut,i),t,{multiple:!0})}
+ ${this._renderOptionSelector(ie(jt,i),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})}
+ `)}
+ ${this._putInSubmenu("cameras.cast",i,"config.cameras.cast.editor_label","mdi:cast",o`
+ ${this._renderOptionSelector(ie(qt,i),this._castMethods)}
+ ${this._renderStringInput(ie(Rt,i))}
+ ${this._renderStringInput(ie(Dt,i))}
+ `)}
+ ${this._putInSubmenu("cameras.dimensions",i,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o`
+ ${this._renderStringInput(ie(Ft,i))}
+ ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ie(Gt,i),ie(Jt,i),ie(Qt,i),ie(Wt,i),ie(Xt,i),ie(Yt,i),ie(Zt,i),ie(en,i),ie(tn,i),ie(nn,i))}
+ `)}
+ ${this._putInSubmenu("cameras.capabilities",i,"config.cameras.capabilities.editor_label","mdi:cog-stop",o`
+ ${this._renderOptionSelector(ie(an,i),this._capabilities,{multiple:!0})}
+ ${this._renderOptionSelector(ie(sn,i),this._capabilities,{multiple:!0})}
+ `)}
+ ${this._putInSubmenu("cameras.proxy",i,"config.cameras.proxy.editor_label","mdi:arrow-decision",o`
+ ${this._renderOptionSelector(ie(on,i),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})}
+ ${this._renderSwitch(ie(rn,i),this._defaults.cameras.proxy.dynamic)}
+ ${this._renderOptionSelector(ie(ln,i),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})}
+ ${this._renderOptionSelector(ie(cn,i),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})}
+ `)}
+
`:""}
+
+ `}_renderStringInput(e,i){if(this._config)return o`
+
+ ${this._renderOptionSetHeader("cameras")}
+ ${"cameras"===this._expandedMenus[bn]?o`
+
+ ${i.map(((t,n)=>this._renderCamera(i,n,e)))}
+ ${this._renderCamera(i,i.length,e,!0)}
+
+ `:""}
+ ${this._renderOptionSetHeader("profiles")}
+ ${"profiles"===this._expandedMenus[bn]?o`
+ ${this._renderOptionSelector(ae,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})}
+
`:""}
+ ${this._renderOptionSetHeader("view")}
+ ${"view"===this._expandedMenus[bn]?o`
+
+ ${this._renderOptionSelector(se,this._viewModes)}
+ ${this._renderOptionSelector(oe,this._cameraSelectViewModes)}
+ ${this._renderOptionSelector(re,this._darkModes)}
+ ${this._renderNumberInput(le)}
+ ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)}
+ ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()}
+ ${this._renderViewKeyboardShortcutMenu()}
+
+ `:""}
+ ${this._renderOptionSetHeader("menu")}
+ ${"menu"===this._expandedMenus[bn]?o`
+
+ ${this._renderOptionSelector(de,this._menuStyles)}
+ ${this._renderOptionSelector(ue,this._menuPositions)}
+ ${this._renderOptionSelector(me,this._menuAlignments)}
+ ${this._renderNumberInput(he,{min:X})}
+ ${this._renderMenuButton("frigate")}
+ ${this._renderMenuButton("cameras")}
+ ${this._renderMenuButton("substreams")}
+ ${this._renderMenuButton("live")}
+ ${this._renderMenuButton("clips")}
+ ${this._renderMenuButton("snapshots")}
+ ${this._renderMenuButton("recordings")}
+ ${this._renderMenuButton("image")}
+ ${this._renderMenuButton("download")}
+ ${this._renderMenuButton("camera_ui")}
+ ${this._renderMenuButton("fullscreen")}
+ ${this._renderMenuButton("expand")}
+ ${this._renderMenuButton("timeline")}
+ ${this._renderMenuButton("media_player")}
+ ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)}
+ ${this._renderMenuButton("play")}
+ ${this._renderMenuButton("mute")}
+ ${this._renderMenuButton("screenshot")}
+ ${this._renderMenuButton("display_mode")}
+ ${this._renderMenuButton("ptz_controls")}
+ ${this._renderMenuButton("ptz_home")}
+
+ `:""}
+ ${this._renderOptionSetHeader("status_bar")}
+ ${"status_bar"===this._expandedMenus[bn]?o`
+
+ ${this._renderOptionSelector(_e,this._statusBarStyles)}
+ ${this._renderOptionSelector(ge,this._statusBarPositions)}
+ ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})}
+ ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})}
+ ${this._renderStatusBarItem("title")}
+ ${this._renderStatusBarItem("resolution")}
+ ${this._renderStatusBarItem("technology")}
+ ${this._renderStatusBarItem("engine")}
+
+ `:""}
+ ${this._renderOptionSetHeader("live")}
+ ${"live"===this._expandedMenus[bn]?o`
+
+ ${this._renderSwitch(fe,this._defaults.live.preload)}
+ ${this._renderSwitch($e,this._defaults.live.draggable)}
+ ${this._renderSwitch(ye,this._defaults.live.zoomable)}
+ ${this._renderSwitch(we,this._defaults.live.lazy_load)}
+ ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})}
+ ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})}
+ ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})}
+ ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})}
+ ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})}
+ ${this._renderOptionSelector(Oe,this._transitionEffects)}
+ ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)}
+ ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)}
+ ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o`
+ ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})}
+ ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})}
+ ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})}
+ ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)}
+ ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o`
+ ${this._renderOptionSelector(Ye,this._ptzModes)}
+ ${this._renderOptionSelector(Ze,this._ptzPositions)}
+ ${this._renderOptionSelector(ei,this._ptzOrientations)}
+ ${this._renderSwitch(ii,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})}
+ ${this._renderSwitch(ti,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})}
+ ${this._renderSwitch(ni,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})}
+ `)}
+ `)}
+ ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o`
+ ${this._renderNumberInput(ai)}
+ ${this._renderSwitch(si,this._defaults.live.microphone.always_connected)}
+ ${this._renderNumberInput(oi)}
+ `)}
+
+ `:""}
+ ${this._renderOptionSetHeader("media_gallery")}
+ ${"media_gallery"===this._expandedMenus[bn]?o`
+ ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ri,li,ci,di,ui,this._defaults.media_gallery.controls.thumbnails)}
+ ${this._renderFilterControls("media_gallery.controls.filter",mi)}
+
`:""}
+ ${this._renderOptionSetHeader("media_viewer")}
+ ${"media_viewer"===this._expandedMenus[bn]?o`
+ ${this._renderOptionSelector(hi,this._mediaActionPositiveConditions,{multiple:!0})}
+ ${this._renderOptionSelector(_i,this._mediaActionNegativeConditions,{multiple:!0})}
+ ${this._renderOptionSelector(gi,this._mediaActionNegativeConditions,{multiple:!0})}
+ ${this._renderOptionSelector(bi,this._mediaActionPositiveConditions,{multiple:!0})}
+ ${this._renderSwitch(pi,this._defaults.media_viewer.draggable)}
+ ${this._renderSwitch(vi,this._defaults.media_viewer.zoomable)}
+ ${this._renderSwitch(fi,this._defaults.media_viewer.lazy_load)}
+ ${this._renderOptionSelector($i,this._transitionEffects)}
+ ${this._renderSwitch(yi,this._defaults.media_viewer.snapshot_click_plays_clip)}
+ ${this._renderViewDisplay("media_viewer.display",wi,Si,xi,Mi)}
+ ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o`
+ ${this._renderSwitch(Ii,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})}
+ ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ki,Oi,{allowThumbnails:!0})}
+ ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ci,zi,Ai,Ni,Ti,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Bi})}
+ ${this._renderMiniTimeline("media_viewer.controls.timeline",Ei,Pi,Hi,Li,Vi,Ki,this._defaults.media_viewer.controls.timeline.show_recordings,Ui)}
+ `)}
+
`:""}
+ ${this._renderOptionSetHeader("image")}
+ ${"image"===this._expandedMenus[bn]?o`
+ ${this._renderImageOptions(ji,qi,Ri,Di,Fi)}
+
`:""}
+ ${this._renderOptionSetHeader("timeline")}
+ ${"timeline"===this._expandedMenus[bn]?o`
+ ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)}
+ ${this._renderThumbnailsControls("timeline.controls.thumbnails",Gi,Ji,Qi,Wi,Xi,this._defaults.timeline.controls.thumbnails,{configPathMode:Yi})}
+
`:""}
+ ${this._renderOptionSetHeader("dimensions")}
+ ${"dimensions"===this._expandedMenus[bn]?o`
+ ${this._renderOptionSelector(Zi,this._aspectRatioModes)}
+ ${this._renderStringInput(et)}
+ ${this._renderStringInput(it)}
+
`:""}
+ ${this._renderOptionSetHeader("performance","low"===b(this._config,mn)?"warning":void 0)}
+ ${"performance"===this._expandedMenus[bn]?o`
+ ${"low"===b(this._config,mn)?this._renderInfo(l("config.performance.warning")):o``}
+ ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o`
+ ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)}
+ ${this._renderNumberInput(nt,{max:at})}
+ ${this._renderNumberInput(st,{min:1})}
+ `)}
+ ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o`
+ ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)}
+ ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)}
+ `)}
+
`:""}
+ ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")}
+ ${"overrides"===this._expandedMenus[bn]?o`
+ ${this._renderInfo(l("config.overrides.info"))}
+
`:""}`:o``}
+
+ `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,i){this._expandedMenus[e]=i,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const i=e.target.domain,t=e.target.key;this._expandedMenus[i]===t?this._closeMenu(i):this._openMenu(i,t)}}_valueChangedHandler(e,i){if(!this._config||!this.hass)return;let t;if(i.detail&&void 0!==i.detail.value&&(t=i.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const n=u(this._config);""===t||void 0===t?lt(n,e):ct(n,e,t),this._updateConfig(n)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header frigate-card-icon {\n margin-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([n({attribute:!1})],vn.prototype,"hass",void 0),t([d()],vn.prototype,"_config",void 0),t([d()],vn.prototype,"_defaults",void 0),t([d()],vn.prototype,"_expandedMenus",void 0),vn=t([a("frigate-card-editor")],vn);export{vn as FrigateCardEditor};
diff --git a/config/www/community/frigate-hass-card/editor-238b96c0.js.gz b/config/www/community/frigate-hass-card/editor-238b96c0.js.gz
new file mode 100644
index 00000000..8bf64ca9
Binary files /dev/null and b/config/www/community/frigate-hass-card/editor-238b96c0.js.gz differ
diff --git a/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js
new file mode 100644
index 00000000..21a501ad
--- /dev/null
+++ b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js
@@ -0,0 +1 @@
+import{c_ as r}from"./card-e5d55e5b.js";function o(o){const s=r(o);return s.setHours(23,59,59,999),s}export{o as e};
diff --git a/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz
new file mode 100644
index 00000000..18abd50d
Binary files /dev/null and b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz differ
diff --git a/config/www/community/frigate-hass-card/endpoint-c9cec68c.js b/config/www/community/frigate-hass-card/endpoint-c9cec68c.js
new file mode 100644
index 00000000..9ba5a795
--- /dev/null
+++ b/config/www/community/frigate-hass-card/endpoint-c9cec68c.js
@@ -0,0 +1 @@
+import{dp as t,d6 as n}from"./card-e5d55e5b.js";const r=async(r,a,e)=>{if(!a.sign)return a.endpoint;let s;try{s=await t(r,a.endpoint,e)}catch(t){n(t)}return s?s.replace(/^http/i,"ws"):null};export{r as c};
diff --git a/config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz b/config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz
new file mode 100644
index 00000000..07601453
Binary files /dev/null and b/config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz differ
diff --git a/config/www/community/frigate-hass-card/engine-86b0096c.js.gz b/config/www/community/frigate-hass-card/engine-86b0096c.js.gz
index 0280383b..08f33685 100644
Binary files a/config/www/community/frigate-hass-card/engine-86b0096c.js.gz and b/config/www/community/frigate-hass-card/engine-86b0096c.js.gz differ
diff --git a/config/www/community/frigate-hass-card/engine-frigate-be325e58.js b/config/www/community/frigate-hass-card/engine-frigate-be325e58.js
new file mode 100644
index 00000000..d3a3d6b8
--- /dev/null
+++ b/config/www/community/frigate-hass-card/engine-frigate-be325e58.js
@@ -0,0 +1,3 @@
+import{c_ as e,dW as t,dX as n,dY as a,dZ as r,d_ as i,l as s,d$ as o,e0 as c,e1 as g,e2 as l,d6 as u,dP as m,k as d,i as f,dc as h,e3 as p,di as _,d4 as y,d2 as b,e4 as w,e5 as D,e6 as C,dM as v,j as T,d7 as I,d9 as S,d8 as M}from"./card-e5d55e5b.js";import{C as F}from"./engine-86b0096c.js";import{C as $,G as z,g as N}from"./engine-generic-93cdbee6.js";import{a as E,V as R}from"./media-c9012082.js";import{s as Y,e as x}from"./startOfHour-34edc6a8.js";function H(t){return e(1e3*t)}const j=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),Z=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),q=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:Z.array()}).array(),U=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),W=n.object({success:n.boolean(),message:n.string()}),Q=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),k=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),A=n.object({before:k,after:k,type:n.enum(["new","update","end"])});const O=async(e,t)=>await r(e,j,{type:"frigate/events/get",...t},!0),L=e=>"birdseye"===e.frigate.camera_name;class V extends ${constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=L(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?