@camera.ui/server 2.2.5 → 2.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/dist/interface/assets/{404-CiOxoqnT.js → 404-C8EoOtBl.js} +1 -1
  2. package/dist/interface/assets/{About-DWOlfWEm.js → About-Q7ZmOGgl.js} +1 -1
  3. package/dist/interface/assets/{Assistant-CXx7EY1W.css → Assistant-BQ6Ld-bt.css} +1 -1
  4. package/dist/interface/assets/Assistant-DFLgklVe.js +1 -0
  5. package/dist/interface/assets/{Automation-BJgwUkUB.js → Automation-D__qvx8c.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-9GRAndAt.js → AutomationImport-CLQSdqg9.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-D_HR2Xby.js → AutomationStore-Dt6yTQDb.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9MxV2py.js → AutomationStoreDetail-DqBrBhUI.js} +2 -2
  9. package/dist/interface/assets/Automations-BH_7lYR7.js +2 -0
  10. package/dist/interface/assets/Camera-BW9ikKqh.css +1 -0
  11. package/dist/interface/assets/Camera-aquPHFwb.js +2 -0
  12. package/dist/interface/assets/{CameraConsole-BKPTLSTO.js → CameraConsole-rhle_cfW.js} +1 -1
  13. package/dist/interface/assets/{Cameras-DcrVCgLy.js → Cameras-Bzy3P0xN.js} +2 -2
  14. package/dist/interface/assets/{Camview-DasO326h.css → Camview-Bri_T7Tq.css} +1 -1
  15. package/dist/interface/assets/Camview-CjcQbtTl.js +1 -0
  16. package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-CWVu_52v.js} +1 -1
  17. package/dist/interface/assets/Config-Dc1zKIPq.js +2 -0
  18. package/dist/interface/assets/{ConfigActionAssistant-DM4tIhoa.js → ConfigActionAssistant-AfQfSqHZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionCameraControl-Deo0eDPS.js → ConfigActionCameraControl-BKQdHxqe.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B52HeJGb.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionHttp-BxJmoshF.js → ConfigActionHttp-BP5gvpQc.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionImageInput-KrzXFQDm.js → ConfigActionImageInput-DE2mSost.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionMqtt-BoYBomRC.js → ConfigActionMqtt-CYgnZjAE.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotification-CSAOijDt.js → ConfigActionNotification-C3q53I4n.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionNotificationControl-BOdyKiOs.js → ConfigActionNotificationControl-eDJ8r5ao.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionOutput-CwsPcnd_.js → ConfigActionOutput-DgYSYvy-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionPlugin-D3wyULpp.js → ConfigActionPlugin-utolgAXk.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSensor-BmeaIxYY.js → ConfigActionSensor-CmEKQPqs.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionSnapshot-DbyFKcYr.js → ConfigActionSnapshot-D7XucxVV.js} +1 -1
  30. package/dist/interface/assets/{ConfigActionVariable-cThGJ1Pc.js → ConfigActionVariable-C-Mjm3gr.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionIfElse-BugkJeXR.js → ConfigConditionIfElse-B24Rqb8y.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSensorState-Bf-mMf4E.js → ConfigConditionSensorState-42-yFDmK.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionSwitch-DcpFoYET.js → ConfigConditionSwitch-DezH_nwm.js} +1 -1
  34. package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-Cg2Lwznd.js} +1 -1
  35. package/dist/interface/assets/{ConfigSensorValueInput-CgAI34__.js → ConfigSensorValueInput-YHBDCTZm.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerDetection-BWK6gfwM.js → ConfigTriggerDetection-DxEpodjG.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerGeofence-Cm3CU7Tl.js → ConfigTriggerGeofence-Bye8syxc.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-s_lEDTV9.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerMqtt-BMFjTAso.js → ConfigTriggerMqtt-DqdZj7TU.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-Q559hn6g.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSensor-DOdJkZRo.js → ConfigTriggerSensor-DIKkdbTF.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerSystem-BFDIbZsE.js → ConfigTriggerSystem-CwNZ4xEg.js} +1 -1
  43. package/dist/interface/assets/{ConfigTriggerWebhook-DDoUEVHb.js → ConfigTriggerWebhook-9ZC6X4mK.js} +1 -1
  44. package/dist/interface/assets/Console-BqIDZ5vq.js +1 -0
  45. package/dist/interface/assets/CuiAssistantConversation-BmBhwrNh.css +1 -0
  46. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +5 -0
  47. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +1 -0
  48. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +1 -0
  49. package/dist/interface/assets/{CuiBottomSheet-FwsPnJ3n.js → CuiBottomSheet-D75L0Zny.js} +1 -1
  50. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +1 -0
  51. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +1 -0
  52. package/dist/interface/assets/{CuiCameraShares-CSFwIYsg.js → CuiCameraShares-8mtgFsQ_.js} +1 -1
  53. package/dist/interface/assets/{CuiCameraTable-DBRfGX3I.js → CuiCameraTable-CmCT-XQF.js} +2 -2
  54. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +1 -0
  55. package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
  56. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +1 -0
  57. package/dist/interface/assets/{CuiConsole-DQbAafiz.js → CuiConsole-DYV-FUE0.js} +2 -2
  58. package/dist/interface/assets/{CuiDataTable-JlD7Agky.js → CuiDataTable-C0gsYYpg.js} +1 -1
  59. package/dist/interface/assets/CuiLightControl-CFIwBj3C.js +1 -0
  60. package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-9TVV8SB6.js} +1 -1
  61. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +2 -0
  62. package/dist/interface/assets/{CuiPluginCategoryChip-B2bR5LQa.js → CuiPluginCategoryChip-DhnIBJHa.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DfEjfcY-.js → CuiPluginOAuthButton-DAuzNRAA.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-C6CW6Soh.js → CuiPluginTrustBadge-Bz710WwC.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-DGKBhDib.js → CuiQRCode-B8-4GHSY.js} +1 -1
  66. package/dist/interface/assets/{CuiSchema-pAAVh28m.js → CuiSchema-C_CHuKuf.js} +1 -1
  67. package/dist/interface/assets/{CuiTopNavbarItem-ve-3Dsc3.js → CuiTopNavbarItem-CNEnOPSh.js} +1 -1
  68. package/dist/interface/assets/Faces-DRHMrrxh.js +1 -0
  69. package/dist/interface/assets/FirstSteps-Ci2Iqbe2.js +1 -0
  70. package/dist/interface/assets/Floorplan-CqWIbDbh.js +1 -0
  71. package/dist/interface/assets/Instances-gzKFKB1l.js +1 -0
  72. package/dist/interface/assets/{Logs-BhRactvQ.js → Logs-DL1yw_Pe.js} +2 -2
  73. package/dist/interface/assets/{Menu-DMCmUVDs.js → Menu-C0GQ63aj.js} +1 -1
  74. package/dist/interface/assets/Metrics-BYnnb7M0.js +12 -0
  75. package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
  76. package/dist/interface/assets/{OAuthDeviceFlow-BMEwVkIa.js → OAuthDeviceFlow-Zd6r9IHU.js} +1 -1
  77. package/dist/interface/assets/Plugin-DJIrYUnZ.js +1 -0
  78. package/dist/interface/assets/{PluginConsole-C4Ba_U_1.js → PluginConsole-ag0jPZQ_.js} +1 -1
  79. package/dist/interface/assets/{PluginDetail-13OWIzdd.js → PluginDetail-DmElwUuV.js} +2 -2
  80. package/dist/interface/assets/{PluginSchema-DN0cSU8s.js → PluginSchema-CxUujnVs.js} +1 -1
  81. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +1 -0
  82. package/dist/interface/assets/PluginSearch-BqzngVRL.js +2 -0
  83. package/dist/interface/assets/{PluginUpdateProgress-CeWuRp3Z.js → PluginUpdateProgress-CFut0RAe.js} +1 -1
  84. package/dist/interface/assets/Plugins-ZFcB_j6v.js +1 -0
  85. package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-CqeHhECT.js} +1 -1
  86. package/dist/interface/assets/Recordings-BEKAn6QK.css +1 -0
  87. package/dist/interface/assets/Recordings-BJrtW9eG.js +1 -0
  88. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +1 -0
  89. package/dist/interface/assets/{SensorHistory-ClAcOgHj.js → SensorHistory-q0UR3qMG.js} +1 -1
  90. package/dist/interface/assets/Sensors-C_InhcHA.js +2 -0
  91. package/dist/interface/assets/Settings-Cv38rGWn.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-B05739dn.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +1 -0
  94. package/dist/interface/assets/{SettingsAppearance-CJt4xJEW.js → SettingsAppearance-DdyYUgmV.js} +1 -1
  95. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +1 -0
  96. package/dist/interface/assets/SettingsAssistant-B0PF3Rdg.css +1 -0
  97. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +1 -0
  98. package/dist/interface/assets/{SettingsBackup-DIJmci05.js → SettingsBackup-DKwlPQhD.js} +1 -1
  99. package/dist/interface/assets/{SettingsList-Cb_dLy5T.js → SettingsList-D6hqnvUo.js} +1 -1
  100. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +1 -0
  101. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +1 -0
  102. package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BeTCTrAf.js} +1 -1
  103. package/dist/interface/assets/{SettingsRecordings-BEpwMh-y.js → SettingsRecordings-mwL6Dalr.js} +1 -1
  104. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +2 -0
  105. package/dist/interface/assets/{SettingsSystem-Cncdpx8T.js → SettingsSystem-BXnzXgqm.js} +2 -2
  106. package/dist/interface/assets/{SettingsUsers-DZkz8WlI.js → SettingsUsers-D2mVlJin.js} +1 -1
  107. package/dist/interface/assets/Terminal-C1UoXDRK.js +4 -0
  108. package/dist/interface/assets/Training-A5ynOv_l.js +1 -0
  109. package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
  110. package/dist/interface/assets/{Updates-cCvbFq3w.js → Updates-kS_Tm8HD.js} +1 -1
  111. package/dist/interface/assets/{VariableInput-PVsqGYW0.js → VariableInput-D9PfI8Ut.js} +1 -1
  112. package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-DArWzQuE.js} +1 -1
  113. package/dist/interface/assets/{VersionsHandler-Df7dhddp.js → VersionsHandler-BZVMpB2v.js} +1 -1
  114. package/dist/interface/assets/{VirtualSensorCreate-FTKANjd-.js → VirtualSensorCreate-Cz-QFo4R.js} +1 -1
  115. package/dist/interface/assets/Workers-2sc4VMi9.js +2 -0
  116. package/dist/interface/assets/api-CGfJbsTz.css +2 -0
  117. package/dist/interface/assets/{api-DpqXhwcx.js → api-CzwdnGAH.js} +1 -1
  118. package/dist/interface/assets/api-DOpXVpef.js +4 -0
  119. package/dist/interface/assets/{assistant-Lz3mFLDo.js → assistant-hGCAgv-f.js} +1 -1
  120. package/dist/interface/assets/{auth-L7_5vsJs.js → auth-By-S-WEr.js} +1 -1
  121. package/dist/interface/assets/{automations-D1XFFSrm.js → automations-vwIwb2PQ.js} +1 -1
  122. package/dist/interface/assets/{cameraSources-DEGJDtmK.js → cameraSources-BMhXvtFt.js} +1 -1
  123. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +1 -0
  124. package/dist/interface/assets/{config-CVqy37fG.js → config-BQxEwrK6.js} +1 -1
  125. package/dist/interface/assets/esm-Bn9gXwX4.js +1 -0
  126. package/dist/interface/assets/esm-BzM6y2-F.js +1 -0
  127. package/dist/interface/assets/esm-CP3JWrtj.js +1 -0
  128. package/dist/interface/assets/esm-CjAXkqCf.js +1 -0
  129. package/dist/interface/assets/esm-Cqxk-j1S.js +1 -0
  130. package/dist/interface/assets/esm-DFHd3JNU.js +1 -0
  131. package/dist/interface/assets/esm-DfMLJtug.js +1 -0
  132. package/dist/interface/assets/esm-DhDrpq7a.js +1 -0
  133. package/dist/interface/assets/esm-DvhM-SOd.js +1 -0
  134. package/dist/interface/assets/esm-G63bqygQ.js +1 -0
  135. package/dist/interface/assets/esm-Gn-Y59hU.js +1 -0
  136. package/dist/interface/assets/esm-KJSOz2vj.js +1 -0
  137. package/dist/interface/assets/esm-Ryfc94Tm.js +1 -0
  138. package/dist/interface/assets/esm-rSfI5Poy.js +1 -0
  139. package/dist/interface/assets/{flowSchema-CppNBDy1.js → flowSchema-BPq6iHks.js} +1 -1
  140. package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-CXcjcPa9.js} +1 -1
  141. package/dist/interface/assets/main-By4L33Im.js +3 -0
  142. package/dist/interface/assets/{main-Bo0Lb1y2.css → main-DVa5U7UB.css} +1 -1
  143. package/dist/interface/assets/mqtt-DE1KQ8Td.js +1 -0
  144. package/dist/interface/assets/native-CZJE8bTs.js +1 -0
  145. package/dist/interface/assets/native-DKZwialB.js +1 -0
  146. package/dist/interface/assets/{notifications-By40oPng.js → notifications-BCyiD-TP.js} +1 -1
  147. package/dist/interface/assets/plugin-DSEMkqaK.js +1 -0
  148. package/dist/interface/assets/{plugins-09rEDbMz.js → plugins-BJPCV1YL.js} +1 -1
  149. package/dist/interface/assets/rooms-Dr4yiakO.js +1 -0
  150. package/dist/interface/assets/{sensorIcons-Csu5s0uk.js → sensorIcons-DofElQ3w.js} +1 -1
  151. package/dist/interface/assets/{sensorSlots-CtbKmsGG.js → sensorSlots-D2KJGvPw.js} +1 -1
  152. package/dist/interface/assets/{sensors-CbzNs18A.js → sensors-3llrL7s3.js} +1 -1
  153. package/dist/interface/assets/server-Dw5DD473.js +1 -0
  154. package/dist/interface/assets/{theme-GhzGwpqd.js → theme-C85LJhOY.js} +1 -1
  155. package/dist/interface/assets/{types-CklFkUXk.js → types-CPhy0Ovw.js} +1 -1
  156. package/dist/interface/assets/{types-D8QWPhe-.js → types-DYKmSGl4.js} +1 -1
  157. package/dist/interface/assets/types-i1kTodPP.js +1 -0
  158. package/dist/interface/assets/ungrouped-BlheTJCh.css +1 -0
  159. package/dist/interface/assets/ungrouped-C2CWO39a.js +1 -0
  160. package/dist/interface/assets/{updates-CGo0T4sn.js → updates-C2LhMkNR.js} +1 -1
  161. package/dist/interface/assets/{useAppVersion-CJlexqyz.js → useAppVersion-DkazK9Vu.js} +1 -1
  162. package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-BZP6NL18.js} +1 -1
  163. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +1 -0
  164. package/dist/interface/assets/{useCameraOptions-CFISVNgk.js → useCameraOptions-DnI0xLrX.js} +1 -1
  165. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +1 -0
  166. package/dist/interface/assets/{useLogsSocket-D-ndWAg0.js → useLogsSocket-C3Y8S0Ar.js} +1 -1
  167. package/dist/interface/assets/{useNavLayout-CG0X_3kt.js → useNavLayout-C9pcDuVP.js} +1 -1
  168. package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-CCTxwXF0.js} +1 -1
  169. package/dist/interface/assets/{usePluginUpdates-nW_dt66E.js → usePluginUpdates-DBhLWAua.js} +1 -1
  170. package/dist/interface/assets/{usePushRegistration-DCqOAxR4.js → usePushRegistration-CPRVdLAx.js} +2 -2
  171. package/dist/interface/assets/{useServerRestart-CxJGxAcU.js → useServerRestart-bScBLJ9r.js} +1 -1
  172. package/dist/interface/assets/{useStreamStatus-CXb1HbAq.js → useStreamStatus-Bfh-WmLH.js} +1 -1
  173. package/dist/interface/assets/{useTabSwipe-DHb8__wU.js → useTabSwipe-C_QOrvSW.js} +1 -1
  174. package/dist/interface/assets/{useUpdateChannel-BR4PMh1R.js → useUpdateChannel-g0h_4c55.js} +1 -1
  175. package/dist/interface/assets/{useUpdatesSocket-DKDRZhvc.js → useUpdatesSocket-CxrLRETs.js} +1 -1
  176. package/dist/interface/assets/{useUserOptions-lyc4WJ4L.js → useUserOptions-DN0t3gBr.js} +1 -1
  177. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +2326 -0
  178. package/dist/interface/assets/{vendor-capacitor-f9ShAzys.js → vendor-capacitor-Bs_WzL0Q.js} +2 -2
  179. package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-DIa0tPNH.js} +1 -1
  180. package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-CZKUAkMA.js} +77 -77
  181. package/dist/interface/assets/web-BDNQnMmA.js +1 -0
  182. package/dist/interface/assets/web-BhJykCtq.js +1 -0
  183. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +1 -0
  184. package/dist/interface/assets/web-C7nJwIOa.js +1 -0
  185. package/dist/interface/assets/web-CGJsJQDb.js +1 -0
  186. package/dist/interface/assets/web-CJwASxrl.js +1 -0
  187. package/dist/interface/assets/web-CLe0L31Y.js +1 -0
  188. package/dist/interface/assets/web-DEv1hAn1.js +1 -0
  189. package/dist/interface/assets/web-DaeQvsXT.js +1 -0
  190. package/dist/interface/assets/web-H3-wNunW.js +1 -0
  191. package/dist/interface/assets/web-LCdyqJq1.js +1 -0
  192. package/dist/interface/assets/web-XZWYTK65.js +1 -0
  193. package/dist/interface/assets/web-rU5hlxxW.js +1 -0
  194. package/dist/interface/ha/{404-B2T8Gktj.js → 404-tl2VQ3qy.js} +1 -1
  195. package/dist/interface/ha/{About-CrTKzU9_.js → About-Cn7KOblU.js} +3 -3
  196. package/dist/interface/ha/{Assistant-BDHJmYx_.js → Assistant-DG2GGda0.js} +2281 -2128
  197. package/dist/interface/ha/{Automation-Czo5EsAg.js → Automation-D0_WpXx4.js} +170 -170
  198. package/dist/interface/ha/{AutomationImport-CuFAQbiX.js → AutomationImport-DdC3dEaC.js} +6 -6
  199. package/dist/interface/ha/{AutomationStore-D-6x0JIt.js → AutomationStore-BrLn4oBx.js} +73 -73
  200. package/dist/interface/ha/{AutomationStoreDetail-Dad4q1MN.js → AutomationStoreDetail-DoppNsNc.js} +6 -6
  201. package/dist/interface/ha/{Automations-C-oGM5SR.js → Automations-BaUJ9pVq.js} +70 -70
  202. package/dist/interface/ha/Camera-Cj5ImvZG.js +657 -0
  203. package/dist/interface/ha/{CameraConsole-hRGwbjsD.js → CameraConsole-7MhlS2VK.js} +3 -3
  204. package/dist/interface/ha/{Cameras-Bk5TFXA8.js → Cameras-vHYz8uSO.js} +182 -182
  205. package/dist/interface/ha/{Camview-CsKKqxxY.js → Camview-BEglAx26.js} +361 -361
  206. package/dist/interface/ha/{Config-Vl4-K3A_.js → Config-CHiK--zP.js} +110 -110
  207. package/dist/interface/ha/{ConfigActionAssistant-OWUX8glZ.js → ConfigActionAssistant-DynduZYV.js} +4 -4
  208. package/dist/interface/ha/{ConfigActionCameraControl-DEaOot8w.js → ConfigActionCameraControl-BEYePssz.js} +3 -3
  209. package/dist/interface/ha/{ConfigActionHttp-CSr2BpKL.js → ConfigActionHttp-h0vRWqZ5.js} +2 -2
  210. package/dist/interface/ha/{ConfigActionImageInput--O8Tyca-.js → ConfigActionImageInput-B9GMZYAR.js} +1 -1
  211. package/dist/interface/ha/{ConfigActionMqtt-DQJ4-gs2.js → ConfigActionMqtt-BEQpHBgf.js} +4 -4
  212. package/dist/interface/ha/{ConfigActionNotification-wR8CCA_T.js → ConfigActionNotification-BYsz8_aS.js} +3 -3
  213. package/dist/interface/ha/{ConfigActionNotificationControl-DNMrHwPz.js → ConfigActionNotificationControl-BxmIWVE8.js} +2 -2
  214. package/dist/interface/ha/{ConfigActionOutput-C-LVFxFP.js → ConfigActionOutput-DTOQSa1S.js} +1 -1
  215. package/dist/interface/ha/{ConfigActionPlugin-BCREAkNo.js → ConfigActionPlugin-NOsUs3QI.js} +5 -5
  216. package/dist/interface/ha/{ConfigActionSensor-D48CQ6qR.js → ConfigActionSensor-YWnsH_LV.js} +5 -5
  217. package/dist/interface/ha/{ConfigActionSnapshot-DpDy88Mg.js → ConfigActionSnapshot-DHJnTvin.js} +2 -2
  218. package/dist/interface/ha/{ConfigActionVariable-D9BxmwvB.js → ConfigActionVariable-C7UFnvW0.js} +1 -1
  219. package/dist/interface/ha/{ConfigConditionIfElse-CW42tQFY.js → ConfigConditionIfElse-CAHbuhH3.js} +3 -3
  220. package/dist/interface/ha/{ConfigConditionSensorState-BZpij7kB.js → ConfigConditionSensorState-CE6okUeb.js} +4 -4
  221. package/dist/interface/ha/{ConfigConditionSwitch-DlTuJ9Sf.js → ConfigConditionSwitch-D5FULaTy.js} +5 -5
  222. package/dist/interface/ha/{ConfigSensorValueInput-2QLHESlE.js → ConfigSensorValueInput-mo6Gs_aZ.js} +8 -8
  223. package/dist/interface/ha/{ConfigTriggerDetection-DPmUkmUJ.js → ConfigTriggerDetection-Bt-OhHtM.js} +2 -2
  224. package/dist/interface/ha/{ConfigTriggerGeofence--T9OXhGl.js → ConfigTriggerGeofence-Cw3jV5qD.js} +5 -5
  225. package/dist/interface/ha/{ConfigTriggerMqtt-fZn_X6yY.js → ConfigTriggerMqtt-BXeV82UG.js} +1 -1
  226. package/dist/interface/ha/{ConfigTriggerSensor-_3O6iBFX.js → ConfigTriggerSensor-Baqq--nJ.js} +1 -1
  227. package/dist/interface/ha/{ConfigTriggerSystem-CC9lqi8Q.js → ConfigTriggerSystem-braUVGzW.js} +2 -2
  228. package/dist/interface/ha/{ConfigTriggerWebhook-BuBcgXqf.js → ConfigTriggerWebhook-Dm45r-1C.js} +2 -2
  229. package/dist/interface/ha/{Console-DNc49UEt.js → Console-q3TCsxYo.js} +4 -4
  230. package/dist/interface/ha/{CuiAutomationRunsDialog-Dj_iiZht.js → CuiAutomationRunsDialog-DO6h5Tc4.js} +2 -2
  231. package/dist/interface/ha/{CuiBottomSheet-DG7wOV7m.js → CuiBottomSheet-B7ldz0xi.js} +1 -1
  232. package/dist/interface/ha/{CuiCameraRecordings-BlOZTfQ4.js → CuiCameraRecordings-Dq1Vh3qA.js} +11 -11
  233. package/dist/interface/ha/{CuiCameraShares-BOn-mobi.js → CuiCameraShares-DBqcpevG.js} +6 -6
  234. package/dist/interface/ha/{CuiCameraTable-D50FLiK8.js → CuiCameraTable-kL8rK-Uv.js} +2 -2
  235. package/dist/interface/ha/{CuiChartTable-CfcVRvdZ.js → CuiChartTable-BrFyiSt_.js} +82 -67
  236. package/dist/interface/ha/{CuiConsole-UpN0Wihm.js → CuiConsole-DpeXZmJd.js} +1 -1
  237. package/dist/interface/ha/{CuiDataTable-CpADXKNF.js → CuiDataTable-BtqzIz0o.js} +2 -2
  238. package/dist/interface/ha/{CuiPluginCard-CT6ZfL9o.js → CuiPluginCard-lBLypaN4.js} +42 -42
  239. package/dist/interface/ha/{CuiPluginOAuthButton-BJVKd6Ac.js → CuiPluginOAuthButton-CuGauZJA.js} +3 -3
  240. package/dist/interface/ha/{CuiPluginTrustBadge-gb9GI24w.js → CuiPluginTrustBadge-BofBmRYc.js} +1 -1
  241. package/dist/interface/ha/{CuiQRCode-DqKDx9zR.js → CuiQRCode-CdK9bwKb.js} +2 -2
  242. package/dist/interface/ha/{CuiSchema-CHeJkx0k.js → CuiSchema-DqkCLv9Y.js} +152 -152
  243. package/dist/interface/ha/{CuiTopNavbarItem-CFeI6ZYU.js → CuiTopNavbarItem-C2VZB7WV.js} +1 -1
  244. package/dist/interface/ha/{Faces-CTfvhhCj.js → Faces-Crfi-75Z.js} +240 -240
  245. package/dist/interface/ha/{FirstSteps-C-WXJ8IL.js → FirstSteps-CKVG86pf.js} +30 -30
  246. package/dist/interface/ha/{Floorplan-CDKTYN7B.js → Floorplan-CH9_-6hk.js} +156 -156
  247. package/dist/interface/ha/{Instances-n23yvN3L.js → Instances-5gZdPPDA.js} +13 -13
  248. package/dist/interface/ha/{Logs-Dfm0BWOQ.js → Logs-BkzEM70F.js} +12 -12
  249. package/dist/interface/ha/{Menu-76kvdAEF.js → Menu-BuT3_Ggx.js} +15 -15
  250. package/dist/interface/ha/{Metrics-lnivlTWm.js → Metrics-BGrzu0bu.js} +401 -399
  251. package/dist/interface/ha/{OAuthDeviceFlow-4ChaymHu.js → OAuthDeviceFlow-BEJtegqy.js} +3 -3
  252. package/dist/interface/ha/{Plugin-BV8YA8aN.js → Plugin-Bnp2jiC2.js} +209 -209
  253. package/dist/interface/ha/{PluginConsole-csf1Km7f.js → PluginConsole-CmsuPVMz.js} +4 -4
  254. package/dist/interface/ha/{PluginDetail-DTff6cbA.js → PluginDetail-BCNx7vHr.js} +7 -7
  255. package/dist/interface/ha/{PluginSearch-CdjxmFPN.js → PluginSearch-DOdhuxgM.js} +96 -96
  256. package/dist/interface/ha/{PluginUpdateProgress-ClyF4pbA.js → PluginUpdateProgress-CwkKc8Tr.js} +3 -3
  257. package/dist/interface/ha/{Plugins-_xOrqP36.js → Plugins-BrFowCdC.js} +54 -54
  258. package/dist/interface/ha/{Recordings-dTZv0pkp.js → Recordings-BZhf39pJ.js} +332 -334
  259. package/dist/interface/ha/{SensorEdit-DDRkZjmm.js → SensorEdit-Ds6WbN4A.js} +377 -377
  260. package/dist/interface/ha/{SensorHistory-DSGlRITr.js → SensorHistory-CoTIYTJx.js} +2 -2
  261. package/dist/interface/ha/{Sensors-DjhGRUzM.js → Sensors-DZ2MKdlh.js} +103 -103
  262. package/dist/interface/ha/{Settings-DYuvz4de.js → Settings-D3JKr430.js} +10 -10
  263. package/dist/interface/ha/{SettingsAccount-DQAo8SnK.js → SettingsAccount-cvtlSKZw.js} +233 -233
  264. package/dist/interface/ha/{SettingsAppearance-_tbhpUA0.js → SettingsAppearance-CaKuOHRu.js} +7 -7
  265. package/dist/interface/ha/{SettingsAssistant-DSf-dYuD.js → SettingsAssistant-vWVjAUqQ.js} +666 -621
  266. package/dist/interface/ha/{SettingsBackup-wLOa7xtw.js → SettingsBackup-CvzL_bVf.js} +8 -8
  267. package/dist/interface/ha/{SettingsList-CYujivw5.js → SettingsList-C0Ec8x-H.js} +4 -4
  268. package/dist/interface/ha/{SettingsMqtt-DbxJ-h3J.js → SettingsMqtt-COnq-QM5.js} +180 -180
  269. package/dist/interface/ha/{SettingsNotifications-DO2-KJvq.js → SettingsNotifications-BZ68bQzO.js} +3 -3
  270. package/dist/interface/ha/{SettingsRecordings-C47i1UhI.js → SettingsRecordings-BPtNNpDa.js} +4 -4
  271. package/dist/interface/ha/{SettingsRemote-BPvb-KLI.js → SettingsRemote-BXG8IYjf.js} +54 -54
  272. package/dist/interface/ha/{SettingsSystem-BJPrv9JE.js → SettingsSystem-_jHBUhws.js} +9 -9
  273. package/dist/interface/ha/{SettingsUsers-CcpCz6Y1.js → SettingsUsers-CzGj_RJN.js} +25 -25
  274. package/dist/interface/ha/{Terminal-DT7-WNH1.js → Terminal-BP3b8IBP.js} +169 -174
  275. package/dist/interface/ha/{Training-CqGBf8k1.js → Training-C2-6DgY0.js} +224 -219
  276. package/dist/interface/ha/{Updates-CgdrqX6R.js → Updates-BMZsEhmy.js} +14 -14
  277. package/dist/interface/ha/{VariableInput-DOzSFgxT.js → VariableInput-DmI7skCD.js} +1 -1
  278. package/dist/interface/ha/{VersionsHandler-ItklhE2t.js → VersionsHandler-DJd4NqtD.js} +10 -10
  279. package/dist/interface/ha/{VirtualSensorCreate-DbS3VqHC.js → VirtualSensorCreate-DmtGYvAn.js} +7 -7
  280. package/dist/interface/ha/{Workers-6PU7yUv1.js → Workers-2HTPHgKV.js} +26 -26
  281. package/dist/interface/ha/{api-Dv3Lk_g5.js → api-BelbnLQO.js} +9595 -9370
  282. package/dist/interface/ha/{api-anWolhVj.js → api-sy4rqV2N.js} +1 -1
  283. package/dist/interface/ha/{assistant-B3m0Kgev.js → assistant-C6KYXJfi.js} +1 -1
  284. package/dist/interface/ha/{auth-CAkpM_7A.js → auth-Da66mVEd.js} +1 -1
  285. package/dist/interface/ha/{automationBlueprint-DwVvbKbw.js → automationBlueprint-hlqqM17r.js} +3 -3
  286. package/dist/interface/ha/{base-C-TYDHjS.js → base-XgWmQghV.js} +14 -3
  287. package/dist/interface/ha/cameraui-cards.js +1 -1
  288. package/dist/interface/ha/{cards-B0qagpBw.js → cards-BFRRfuM7.js} +1334 -1334
  289. package/dist/interface/ha/{config-C20itAPE.js → config-Cd7JNMpD.js} +1 -1
  290. package/dist/interface/ha/{dist-oFWkn6pD.js → dist-BybVYMVs.js} +19 -19
  291. package/dist/interface/ha/{esm-i8Tigknm.js → esm-C9XVFkXu.js} +4 -4
  292. package/dist/interface/ha/{mqtt-C6JvkA5E.js → mqtt-UZfptWJl.js} +1 -1
  293. package/dist/interface/ha/{native-DBH9ocSq.js → native-BVUxNLM1.js} +4 -4
  294. package/dist/interface/ha/{notifications-gLmNZxwZ.js → notifications-DTHM8fS-.js} +1 -1
  295. package/dist/interface/ha/{pinia-Du8AM917.js → pinia-BokSpDzj.js} +1 -0
  296. package/dist/interface/ha/{plugins-6x0kBuQb.js → plugins-Bwp_GfaX.js} +1 -1
  297. package/dist/interface/ha/{rooms-C-mLT6mX.js → rooms-BvaD0r0q.js} +1 -1
  298. package/dist/interface/ha/{server-DuikIt69.js → server-OWdtITVa.js} +2 -2
  299. package/dist/interface/ha/{types-C0NcQ4Cz.js → types-BFJjyMZe.js} +1 -1
  300. package/dist/interface/ha/{ungrouped-ooCH0Izh.js → ungrouped-x00DHNHO.js} +220 -197
  301. package/dist/interface/ha/{updates-H8MlOQLC.js → updates-C03Qf3Il.js} +6 -6
  302. package/dist/interface/ha/{useAppVersion-DAUCV_cn.js → useAppVersion-CrMd9CC9.js} +1 -1
  303. package/dist/interface/ha/useKeyboardInset-DwUQCWHC.js +27 -0
  304. package/dist/interface/ha/{useLogsSocket-BOLAXPuD.js → useLogsSocket-C6k217mW.js} +1 -1
  305. package/dist/interface/ha/{useNavLayout-B7VoHzM1.js → useNavLayout-DhuQE024.js} +2 -2
  306. package/dist/interface/ha/{useServerRestart-qSH0bqwY.js → useServerRestart-CYaen2r6.js} +1 -1
  307. package/dist/interface/ha/{useTabSwipe-DYzG_gVG.js → useTabSwipe-DAmCFlgg.js} +1 -1
  308. package/dist/interface/ha/{useUpdateChannel-CK7JiWbG.js → useUpdateChannel-Dr1EoU2X.js} +2 -2
  309. package/dist/interface/ha/{useUpdatesSocket-DrqkGMuR.js → useUpdatesSocket-C8Gmhemh.js} +1 -1
  310. package/dist/interface/ha/{useUserOptions-BteVUdaT.js → useUserOptions-BB5wk3Bq.js} +1 -1
  311. package/dist/interface/ha/{web-D_q41D0i.js → web-CLbVbnCW.js} +5 -5
  312. package/dist/interface/index.html +33 -33
  313. package/dist/interface/sw.js +1 -1
  314. package/dist/server/package.json +5 -5
  315. package/dist/server/requirements.txt +1 -1
  316. package/dist/server/src/api/controllers/api.controller.js +1 -1
  317. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  318. package/dist/server/src/api/controllers/rooms.controller.js +3 -1
  319. package/dist/server/src/api/controllers/rooms.controller.js.map +1 -1
  320. package/dist/server/src/api/database/types.d.ts +1 -0
  321. package/dist/server/src/api/schemas/assistant.schema.d.ts +2 -0
  322. package/dist/server/src/api/schemas/assistant.schema.js +1 -0
  323. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  324. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  325. package/dist/server/src/api/services/cameras.service.js +8 -0
  326. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  327. package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
  328. package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
  329. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  330. package/dist/server/src/assistant/automation-catalog.js +12 -2
  331. package/dist/server/src/assistant/automation-catalog.js.map +1 -1
  332. package/dist/server/src/assistant/manager.d.ts +1 -0
  333. package/dist/server/src/assistant/manager.js +1 -1
  334. package/dist/server/src/assistant/manager.js.map +1 -1
  335. package/dist/server/src/assistant/scheduler.js +8 -1
  336. package/dist/server/src/assistant/scheduler.js.map +1 -1
  337. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  338. package/dist/server/src/manager/notificationManager.js +11 -0
  339. package/dist/server/src/manager/notificationManager.js.map +1 -1
  340. package/dist/server/src/plugins/index.js +5 -4
  341. package/dist/server/src/plugins/index.js.map +1 -1
  342. package/dist/server/src/services/config/index.d.ts +1 -0
  343. package/dist/server/src/services/config/index.js +12 -1
  344. package/dist/server/src/services/config/index.js.map +1 -1
  345. package/dist/server/src/utils/ipc.js +23 -17
  346. package/dist/server/src/utils/ipc.js.map +1 -1
  347. package/npm-shrinkwrap.json +14 -14
  348. package/package.json +5 -5
  349. package/dist/interface/assets/Assistant-B1xdMAkA.js +0 -1
  350. package/dist/interface/assets/Automations-Bpw8olkc.js +0 -2
  351. package/dist/interface/assets/Camera-B4ojNnKb.css +0 -1
  352. package/dist/interface/assets/Camera-BpFfZDaS.js +0 -2
  353. package/dist/interface/assets/Camview-C16pyCZk.js +0 -1
  354. package/dist/interface/assets/Config-BmEL5EaW.js +0 -2
  355. package/dist/interface/assets/Console-BIj7cIqO.js +0 -1
  356. package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +0 -5
  357. package/dist/interface/assets/CuiAssistantConversation-DQ0wOJvV.css +0 -1
  358. package/dist/interface/assets/CuiAutomationRunsDialog-DMUfNcsf.js +0 -1
  359. package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +0 -1
  360. package/dist/interface/assets/CuiCameraPipCard-Cb_Qbly6.js +0 -1
  361. package/dist/interface/assets/CuiCameraRecordings-BeciatDY.js +0 -1
  362. package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +0 -1
  363. package/dist/interface/assets/CuiChartTable-CtasoxMM.js +0 -1
  364. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
  365. package/dist/interface/assets/CuiLightControl-CLYl5pfN.js +0 -1
  366. package/dist/interface/assets/CuiPluginCard-CC1oXY16.js +0 -2
  367. package/dist/interface/assets/Faces-1xd5yGuO.js +0 -1
  368. package/dist/interface/assets/FirstSteps-E9cMqa0a.js +0 -1
  369. package/dist/interface/assets/Floorplan-BovV_ATh.js +0 -1
  370. package/dist/interface/assets/Instances-BbxyB7vR.js +0 -1
  371. package/dist/interface/assets/Metrics-BgXrNl38.js +0 -12
  372. package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
  373. package/dist/interface/assets/Plugin-CDNywaVE.js +0 -1
  374. package/dist/interface/assets/PluginSearch-sPkO8aH3.js +0 -2
  375. package/dist/interface/assets/PluginSearch-xNIlfXk4.js +0 -1
  376. package/dist/interface/assets/Plugins-C8yjhxnQ.js +0 -1
  377. package/dist/interface/assets/Recordings-BHT8Vvv_.js +0 -1
  378. package/dist/interface/assets/Recordings-DwuojaAw.css +0 -1
  379. package/dist/interface/assets/SensorEdit-C-yJdJuP.js +0 -1
  380. package/dist/interface/assets/Sensors-Cza4Et2c.js +0 -2
  381. package/dist/interface/assets/Settings-Cj0leoGd.js +0 -1
  382. package/dist/interface/assets/SettingsAccount-COkcBBSz.js +0 -1
  383. package/dist/interface/assets/SettingsAccount-DjrJdssy.js +0 -1
  384. package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +0 -1
  385. package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +0 -1
  386. package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +0 -1
  387. package/dist/interface/assets/SettingsMqtt-LIuCRPT5.js +0 -1
  388. package/dist/interface/assets/SettingsNotifications-CZxqqH_8.js +0 -1
  389. package/dist/interface/assets/SettingsRemote-DRt-N_yA.js +0 -2
  390. package/dist/interface/assets/Terminal-U4yfJN3O.js +0 -4
  391. package/dist/interface/assets/Training-DfgE_dA8.js +0 -1
  392. package/dist/interface/assets/Workers-Ba37_3cY.js +0 -2
  393. package/dist/interface/assets/api-C1mraOYr.js +0 -4
  394. package/dist/interface/assets/api-z8ZVnoOl.css +0 -2
  395. package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +0 -1
  396. package/dist/interface/assets/esm-0kxqa_1s.js +0 -1
  397. package/dist/interface/assets/esm-4p_M5mFV.js +0 -1
  398. package/dist/interface/assets/esm-8G-vO1KQ.js +0 -1
  399. package/dist/interface/assets/esm-8cB56ICb.js +0 -1
  400. package/dist/interface/assets/esm-B92csSEb.js +0 -1
  401. package/dist/interface/assets/esm-BHiNTIiN.js +0 -1
  402. package/dist/interface/assets/esm-Bu9PMLmw.js +0 -1
  403. package/dist/interface/assets/esm-CS6Ra46d.js +0 -1
  404. package/dist/interface/assets/esm-CWvQWALL.js +0 -1
  405. package/dist/interface/assets/esm-D2UDrwmt.js +0 -1
  406. package/dist/interface/assets/esm-D8OHF2X1.js +0 -1
  407. package/dist/interface/assets/esm-DrXkS8eG.js +0 -1
  408. package/dist/interface/assets/esm-pfoHiO1a.js +0 -1
  409. package/dist/interface/assets/esm-tJSCF7Vh.js +0 -1
  410. package/dist/interface/assets/main-BK3kmiG2.js +0 -3
  411. package/dist/interface/assets/mqtt-BENV9Fx4.js +0 -1
  412. package/dist/interface/assets/native-BEkWOGyD.js +0 -1
  413. package/dist/interface/assets/native-ugMg173F.js +0 -1
  414. package/dist/interface/assets/plugin-eafNQWg2.js +0 -1
  415. package/dist/interface/assets/rooms-LBxn-Uuu.js +0 -1
  416. package/dist/interface/assets/server-Btp5KILd.js +0 -1
  417. package/dist/interface/assets/types-BAwhu9iv.js +0 -1
  418. package/dist/interface/assets/ungrouped-BMk56E3L.js +0 -1
  419. package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
  420. package/dist/interface/assets/useBackupRestore-_s8vS5WF.js +0 -1
  421. package/dist/interface/assets/useKeyboardInset-DkUn62i7.js +0 -1
  422. package/dist/interface/assets/vendor-cameraui-CK4yHsJi.js +0 -2326
  423. package/dist/interface/assets/web-3OOGlctS.js +0 -1
  424. package/dist/interface/assets/web-5NFVd9gs.js +0 -1
  425. package/dist/interface/assets/web-A4yovlXr.js +0 -1
  426. package/dist/interface/assets/web-BBC3YoWX.js +0 -1
  427. package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +0 -1
  428. package/dist/interface/assets/web-C2-YAfsx.js +0 -1
  429. package/dist/interface/assets/web-CUL_MhvM.js +0 -1
  430. package/dist/interface/assets/web-CZVCXYLV.js +0 -1
  431. package/dist/interface/assets/web-DJ-LUxlV.js +0 -1
  432. package/dist/interface/assets/web-DNsEGLGS.js +0 -1
  433. package/dist/interface/assets/web-DZsU0QT_.js +0 -1
  434. package/dist/interface/assets/web-MoyOTbiU.js +0 -1
  435. package/dist/interface/assets/web-avRH_3t7.js +0 -1
  436. package/dist/interface/ha/Camera-CerkQGbZ.js +0 -654
@@ -3,41 +3,41 @@ import { D as n, G as r, H as i, Jt as a, U as o, Wt as s, Y as c, _t as l, d as
3
3
  import { t as ee } from "./tooltip-BDrlgLof.js";
4
4
  import { t as M } from "./message-D6dIy_hz.js";
5
5
  import { t as N } from "./tag-mchuCAPR.js";
6
- import { Ar as P, B as F, Bn as I, Dr as L, Er as R, H as z, J as te, Kn as ne, Kr as B, Nn as V, On as re, Or as H, Pn as ie, Qn as ae, Si as U, U as oe, Un as W, V as se, W as ce, Y as G, Yn as le, Yt as ue, Z as de, _n as fe, _t as pe, ar as me, br as he, er as ge, g as _e, gi as ve, gr as ye, jr as be, kr as xe, or as Se, ot as Ce, st as we, tt as Te, ua as Ee, ut as De, wr as Oe, yi as ke, yr as Ae, z as je } from "./api-Dv3Lk_g5.js";
7
- import { F as Me, M as Ne, z as Pe } from "./protocol-BB4jdtUC-DW3jl2tV.js";
8
- import { h as Fe, u as Ie } from "./intercomService-B7HkLs6z.js";
9
- import { n as Le } from "./vue-i18n-D5EAy78K.js";
10
- import { C as Re, _ as ze, g as Be } from "./dist-BIngHzHx.js";
11
- import { i as Ve } from "./alert-outline-FcLLjoOK.js";
12
- import { t as He } from "./eventIcons-BFNUgeGr.js";
13
- import { t as Ue } from "./button-BouAFgf5.js";
14
- import { M as We } from "./dist-oFWkn6pD.js";
15
- import { t as Ge } from "./inputtext-C_ygnPrC.js";
16
- import { t as K } from "./checkbox-CAKzZcqk.js";
17
- import { t as Ke } from "./datepicker-DXk97lTw.js";
18
- import { t as qe } from "./close-CxFbonhd.js";
19
- import { t as q } from "./select-DV7p2EDj.js";
20
- import { t as Je } from "./progressbar-CaUaM8Bt.js";
21
- import { t as Ye } from "./multiselect-BOb4ScAZ.js";
22
- import { t as Xe } from "./textarea-ByXnzJzx.js";
23
- import { s as Ze, t as Qe } from "./assistant-B3m0Kgev.js";
24
- import { i as $e, n as J, t as Y } from "./eventLabels-B4C1_4vT.js";
25
- import { i as et, n as tt, r as nt, t as rt } from "./ungrouped-ooCH0Izh.js";
26
- import { t as it } from "./utils-DYtBrGDz.js";
27
- import { t as at } from "./settings-lWJfHaif.js";
28
- import { t as ot } from "./database-refresh-outline-PiqlCkA7.js";
29
- import { n as st, t as ct } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
6
+ import { Ar as P, B as F, Bn as te, Dn as I, Dr as L, Er as R, H as ne, In as re, J as ie, Jt as z, Kn as ae, Kr as oe, Mn as se, Or as B, R as ce, Si as le, U as V, V as ue, Wn as de, X as fe, Xn as H, ar as U, at as pe, br as me, et as he, g as ge, gi as _e, gn as ve, gr as ye, gt as be, ir as xe, jr as Se, kr as Ce, lt as we, ot as Te, q as Ee, tr as De, ua as Oe, wr as ke, yi as Ae, yr as je, z as Me, zn as Ne } from "./api-BelbnLQO.js";
7
+ import { F as Pe, M as Fe, z as Ie } from "./protocol-BB4jdtUC-DW3jl2tV.js";
8
+ import { h as Le, u as Re } from "./intercomService-B7HkLs6z.js";
9
+ import { n as ze } from "./vue-i18n-D5EAy78K.js";
10
+ import { C as Be, _ as Ve, g as He } from "./dist-BIngHzHx.js";
11
+ import { i as Ue } from "./alert-outline-FcLLjoOK.js";
12
+ import { t as We } from "./eventIcons-BFNUgeGr.js";
13
+ import { t as Ge } from "./button-BouAFgf5.js";
14
+ import { M as W } from "./dist-BybVYMVs.js";
15
+ import { t as Ke } from "./inputtext-C_ygnPrC.js";
16
+ import { t as G } from "./checkbox-CAKzZcqk.js";
17
+ import { t as qe } from "./datepicker-DXk97lTw.js";
18
+ import { t as Je } from "./close-CxFbonhd.js";
19
+ import { t as K } from "./select-DV7p2EDj.js";
20
+ import { t as Ye } from "./progressbar-CaUaM8Bt.js";
21
+ import { t as Xe } from "./multiselect-BOb4ScAZ.js";
22
+ import { t as Ze } from "./textarea-ByXnzJzx.js";
23
+ import { s as Qe, t as $e } from "./assistant-C6KYXJfi.js";
24
+ import { i as et, n as q, t as J } from "./eventLabels-B4C1_4vT.js";
25
+ import { i as tt, n as nt, r as rt, t as it } from "./ungrouped-x00DHNHO.js";
26
+ import { t as at } from "./utils-DYtBrGDz.js";
27
+ import { t as ot } from "./settings-lWJfHaif.js";
28
+ import { t as st } from "./database-refresh-outline-PiqlCkA7.js";
29
+ import { n as ct, t as lt } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
30
30
  //#region src/components/CuiDialog/templates/ClipReindex/ClipReindex.vue?vue&type=script&setup=true&lang.ts
31
- var lt = { class: "flex flex-col gap-4" }, ut = { class: "text-sm text-pretty" }, dt = {
31
+ var ut = { class: "flex flex-col gap-4" }, dt = { class: "text-sm text-pretty" }, ft = {
32
32
  key: 0,
33
33
  class: "flex flex-col gap-2"
34
- }, ft = {
34
+ }, pt = {
35
35
  key: 0,
36
36
  class: "flex justify-between text-sm text-muted"
37
- }, pt = { key: 0 }, mt = /* @__PURE__ */ D({
37
+ }, mt = { key: 0 }, ht = /* @__PURE__ */ D({
38
38
  __name: "ClipReindex",
39
39
  setup(e, { expose: t }) {
40
- let r = n("dialogRefProps"), { t: o } = Le(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = ne(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
40
+ let r = n("dialogRefProps"), { t: o } = ze(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = Ne(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
41
41
  if (y.value) {
42
42
  if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
43
43
  let { done: e, total: t, skipped: n } = s.value;
@@ -68,36 +68,36 @@ var lt = { class: "flex flex-col gap-4" }, ut = { class: "text-sm text-pretty" }
68
68
  s.value?.running && (g.value = !0);
69
69
  });
70
70
  }), t({ onConfirm: E }), (e, t) => {
71
- let n = Je;
72
- return i(), v("div", lt, [C("span", ut, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", dt, [k(n, {
71
+ let n = Ye;
72
+ return i(), v("div", ut, [C("span", dt, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", ft, [k(n, {
73
73
  mode: p(l) ? "indeterminate" : "determinate",
74
74
  value: p(T),
75
75
  "show-value": !1,
76
76
  class: "h-2"
77
- }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", ft, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
77
+ }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", pt, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
78
78
  done: p(s)?.done ?? 0,
79
79
  total: p(s)?.total ?? 0
80
- })), 1), p(s)?.skipped ? (i(), v("span", pt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
80
+ })), 1), p(s)?.skipped ? (i(), v("span", mt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
81
81
  };
82
82
  }
83
- }), X = {
83
+ }), Y = {
84
84
  viewBox: "0 0 24 24",
85
85
  width: "1.2em",
86
86
  height: "1.2em"
87
87
  };
88
- function ht(e, t) {
89
- return i(), v("svg", X, [...t[0] ||= [C("path", {
88
+ function gt(e, t) {
89
+ return i(), v("svg", Y, [...t[0] ||= [C("path", {
90
90
  fill: "currentColor",
91
91
  d: "m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4 18V9h-5V4H6v16zm-2-2l-2.5-1.7V18H8v-5h5.5v1.7L16 13z"
92
92
  }, null, -1)]]);
93
93
  }
94
- var gt = l({
94
+ var _t = l({
95
95
  name: "mdi-file-video-outline",
96
- render: ht
97
- }), _t = { class: "flex flex-col gap-6" }, vt = { class: "flex flex-col field-gap" }, Z = { class: "cui-label" }, yt = { class: "flex flex-col field-gap" }, bt = { class: "cui-label" }, xt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, St = { class: "flex flex-col gap-1" }, Ct = { class: "text-xs text-muted" }, wt = { class: "flex flex-col gap-1" }, Tt = { class: "text-xs text-muted" }, Et = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, Dt = { class: "flex flex-col field-gap" }, Ot = { class: "cui-label" }, kt = { class: "flex flex-col field-gap" }, At = { class: "cui-label" }, jt = { class: "flex flex-col field-gap" }, Mt = { class: "flex items-center gap-3" }, Nt = { class: "cui-label !mb-0" }, Q = {
96
+ render: gt
97
+ }), vt = { class: "flex flex-col gap-6" }, yt = { class: "flex flex-col field-gap" }, X = { class: "cui-label" }, bt = { class: "flex flex-col field-gap" }, xt = { class: "cui-label" }, St = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, Ct = { class: "flex flex-col gap-1" }, wt = { class: "text-xs text-muted" }, Tt = { class: "flex flex-col gap-1" }, Et = { class: "text-xs text-muted" }, Dt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, Ot = { class: "flex flex-col field-gap" }, kt = { class: "cui-label" }, At = { class: "flex flex-col field-gap" }, jt = { class: "cui-label" }, Mt = { class: "flex flex-col field-gap" }, Nt = { class: "flex items-center gap-3" }, Pt = { class: "cui-label !mb-0" }, Z = {
98
98
  key: 0,
99
99
  class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
100
- }, Pt = { class: "font-semibold" }, Ft = { class: "font-semibold" }, $ = { class: "border border-color rounded-xl card-background overflow-hidden" }, It = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Lt = {
100
+ }, Q = { class: "font-semibold" }, Ft = { class: "font-semibold" }, $ = { class: "border border-color rounded-xl card-background overflow-hidden" }, It = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Lt = {
101
101
  key: 0,
102
102
  class: "flex items-center justify-center gap-2 text-muted text-sm py-6"
103
103
  }, Rt = {
@@ -110,7 +110,7 @@ var gt = l({
110
110
  preselect: {}
111
111
  },
112
112
  setup(e, { expose: t }) {
113
- let o = e, { t: s } = Le(), c = U(), l = n("dialogRefProps"), { plugin: g } = We("@camera.ui/camera-ui-nvr"), _ = O([]), y = O(!1), x = O(o.preselect?.length ? [...o.preselect] : []), w = O("best"), E = O(0), D = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = O(/* @__PURE__ */ new Date()), j = m(() => [{
113
+ let o = e, { t: s } = ze(), c = le(), l = n("dialogRefProps"), { plugin: g } = W("@camera.ui/camera-ui-nvr"), _ = O([]), y = O(!1), x = O(o.preselect?.length ? [...o.preselect] : []), w = O("best"), E = O(0), D = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = O(/* @__PURE__ */ new Date()), j = m(() => [{
114
114
  label: s("views.recordings.export.quality_best"),
115
115
  value: "best"
116
116
  }, {
@@ -131,8 +131,8 @@ var gt = l({
131
131
  ].map((e) => ({
132
132
  label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
133
133
  value: e
134
- }))), P = m(() => E.value > 0), F = m(() => P.value ? "~" : ""), I = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), L = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), R = m(() => {
135
- if (!L.value) return [];
134
+ }))), P = m(() => E.value > 0), F = m(() => P.value ? "~" : ""), te = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), I = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), L = m(() => {
135
+ if (!I.value) return [];
136
136
  let e = [], t = D.value.getTime(), n = A.value.getTime(), r = new Date(D.value);
137
137
  r.setHours(0, 0, 0, 0);
138
138
  let i = new Date(A.value);
@@ -141,24 +141,24 @@ var gt = l({
141
141
  a.setDate(a.getDate() + 1);
142
142
  let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
143
143
  s > o && e.push({
144
- day: re(i),
144
+ day: ae(i),
145
145
  startUs: o * 1e3,
146
146
  endUs: s * 1e3
147
147
  }), r.setDate(r.getDate() + 1);
148
148
  }
149
149
  return e;
150
- }), z = m(() => _.value.map((e) => {
151
- let t = I.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : H(r);
150
+ }), R = m(() => _.value.map((e) => {
151
+ let t = te.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : oe(r);
152
152
  return {
153
153
  cameraId: e.cameraId,
154
154
  cameraName: t,
155
- name: `${ie(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
156
- span: i ? s("views.recordings.export.whole_day") : `${H(n)}–${a}`,
155
+ name: `${se(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
156
+ span: i ? s("views.recordings.export.whole_day") : `${oe(n)}–${a}`,
157
157
  bytes: P.value ? e.bytes / Ut : e.bytes
158
158
  };
159
- })), te = m(() => {
159
+ })), ne = m(() => {
160
160
  let e = /* @__PURE__ */ new Map();
161
- for (let t of z.value) {
161
+ for (let t of R.value) {
162
162
  let n = e.get(t.cameraId);
163
163
  n || (n = {
164
164
  cameraId: t.cameraId,
@@ -168,29 +168,29 @@ var gt = l({
168
168
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
169
169
  }
170
170
  return [...e.values()];
171
- }), ne = m(() => z.value.reduce((e, t) => e + t.bytes, 0)), B = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : L.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
172
- function V(e) {
171
+ }), re = m(() => R.value.reduce((e, t) => e + t.bytes, 0)), ie = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : I.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
172
+ function z(e) {
173
173
  return String(e).padStart(2, "0");
174
174
  }
175
- function re(e) {
176
- return `${e.getFullYear()}-${V(e.getMonth() + 1)}-${V(e.getDate())}`;
175
+ function ae(e) {
176
+ return `${e.getFullYear()}-${z(e.getMonth() + 1)}-${z(e.getDate())}`;
177
177
  }
178
- function H(e) {
179
- return `${V(e.getHours())}:${V(e.getMinutes())}`;
178
+ function oe(e) {
179
+ return `${z(e.getHours())}:${z(e.getMinutes())}`;
180
180
  }
181
- function ie(e) {
181
+ function se(e) {
182
182
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
183
183
  }
184
- function ae(e) {
184
+ function B(e) {
185
185
  if (e <= 0) return "0 MB";
186
186
  let t = e / 1e6;
187
187
  if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
188
188
  let n = e / 1e9;
189
189
  return `${n.toFixed(+(n < 10))} GB`;
190
190
  }
191
- async function oe() {
191
+ async function ce() {
192
192
  let e = g.value;
193
- if (!e?.nvrExportEstimate || x.value.length === 0 || R.value.length === 0) {
193
+ if (!e?.nvrExportEstimate || x.value.length === 0 || L.value.length === 0) {
194
194
  _.value = [], y.value = !1;
195
195
  return;
196
196
  }
@@ -198,7 +198,7 @@ var gt = l({
198
198
  try {
199
199
  let t = await e.nvrExportEstimate({
200
200
  cameras: x.value,
201
- slices: R.value,
201
+ slices: L.value,
202
202
  quality: w.value
203
203
  });
204
204
  _.value = t.files ?? [];
@@ -208,8 +208,8 @@ var gt = l({
208
208
  y.value = !1;
209
209
  }
210
210
  }
211
- async function W() {
212
- if (!L.value || x.value.length === 0 || R.value.length === 0) return null;
211
+ async function V() {
212
+ if (!I.value || x.value.length === 0 || L.value.length === 0) return null;
213
213
  let e = g.value;
214
214
  if (!e?.nvrExportBatch) return c.add({
215
215
  severity: "error",
@@ -218,29 +218,29 @@ var gt = l({
218
218
  }), null;
219
219
  let t = await e.nvrExportBatch({
220
220
  cameras: x.value,
221
- slices: R.value,
221
+ slices: L.value,
222
222
  quality: w.value,
223
223
  timelapseIntervalSec: P.value ? E.value : 0
224
224
  });
225
- await he({
225
+ await me({
226
226
  url: t.url,
227
227
  filename: t.filename
228
228
  });
229
229
  }
230
- return Pe([
230
+ return Ie([
231
231
  x,
232
- R,
232
+ L,
233
233
  w
234
- ], oe, {
234
+ ], ce, {
235
235
  debounce: 350,
236
236
  immediate: !0,
237
237
  deep: !0
238
238
  }), S(() => {
239
- l.disabled && (l.disabled.value = !L.value || x.value.length === 0 || !y.value && z.value.length === 0);
240
- }), t({ onConfirm: W }), (t, n) => {
241
- let o = Ye, s = Ke, c = M, l = Se, m = q, g = N, _ = Oe, S = gt;
242
- return i(), v("div", _t, [
243
- C("div", vt, [C("label", Z, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
239
+ l.disabled && (l.disabled.value = !I.value || x.value.length === 0 || !y.value && R.value.length === 0);
240
+ }), t({ onConfirm: V }), (t, n) => {
241
+ let o = Xe, s = qe, c = M, l = U, m = K, g = N, _ = ke, S = _t;
242
+ return i(), v("div", vt, [
243
+ C("div", yt, [C("label", X, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
244
244
  modelValue: p(x),
245
245
  "onUpdate:modelValue": n[0] ||= (e) => f(x) ? x.value = e : null,
246
246
  options: e.cameras,
@@ -255,16 +255,16 @@ var gt = l({
255
255
  "options",
256
256
  "placeholder"
257
257
  ])]),
258
- C("div", yt, [
259
- C("label", bt, a(t.$t("views.recordings.export.range")), 1),
260
- C("div", xt, [C("div", St, [C("span", Ct, a(t.$t("views.recordings.export.from")), 1), k(s, {
258
+ C("div", bt, [
259
+ C("label", xt, a(t.$t("views.recordings.export.range")), 1),
260
+ C("div", St, [C("div", Ct, [C("span", wt, a(t.$t("views.recordings.export.from")), 1), k(s, {
261
261
  modelValue: p(D),
262
262
  "onUpdate:modelValue": n[1] ||= (e) => f(D) ? D.value = e : null,
263
263
  "show-time": "",
264
264
  "hour-format": "24",
265
265
  fluid: "",
266
266
  "max-date": p(A)
267
- }, null, 8, ["modelValue", "max-date"])]), C("div", wt, [C("span", Tt, a(t.$t("views.recordings.export.to")), 1), k(s, {
267
+ }, null, 8, ["modelValue", "max-date"])]), C("div", Tt, [C("span", Et, a(t.$t("views.recordings.export.to")), 1), k(s, {
268
268
  modelValue: p(A),
269
269
  "onUpdate:modelValue": n[2] ||= (e) => f(A) ? A.value = e : null,
270
270
  "show-time": "",
@@ -272,7 +272,7 @@ var gt = l({
272
272
  fluid: "",
273
273
  "min-date": p(D)
274
274
  }, null, 8, ["modelValue", "min-date"])])]),
275
- p(L) ? (i(), u(c, {
275
+ p(I) ? (i(), u(c, {
276
276
  key: 1,
277
277
  severity: "secondary",
278
278
  variant: "simple",
@@ -292,7 +292,7 @@ var gt = l({
292
292
  _: 1
293
293
  }))
294
294
  ]),
295
- C("div", Et, [C("div", Dt, [C("label", Ot, a(t.$t("views.recordings.export.quality")), 1), k(l, {
295
+ C("div", Dt, [C("div", Ot, [C("label", kt, a(t.$t("views.recordings.export.quality")), 1), k(l, {
296
296
  modelValue: p(w),
297
297
  "onUpdate:modelValue": n[3] ||= (e) => f(w) ? w.value = e : null,
298
298
  options: p(j),
@@ -303,7 +303,7 @@ var gt = l({
303
303
  root: { class: "flex w-full" },
304
304
  pcToggleButton: { root: { class: "flex-1" } }
305
305
  }
306
- }, null, 8, ["modelValue", "options"])]), C("div", kt, [C("label", At, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
306
+ }, null, 8, ["modelValue", "options"])]), C("div", At, [C("label", jt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
307
307
  modelValue: p(E),
308
308
  "onUpdate:modelValue": n[4] ||= (e) => f(E) ? E.value = e : null,
309
309
  options: p(ee),
@@ -311,33 +311,33 @@ var gt = l({
311
311
  "option-value": "value",
312
312
  class: "w-full"
313
313
  }, null, 8, ["modelValue", "options"])])]),
314
- C("div", jt, [C("div", Mt, [C("label", Nt, a(t.$t("views.recordings.export.result")), 1), p(z).length ? (i(), v("div", Q, [
315
- C("span", Pt, a(p(z).length) + " " + a(p(z).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
314
+ C("div", Mt, [C("div", Nt, [C("label", Pt, a(t.$t("views.recordings.export.result")), 1), p(R).length ? (i(), v("div", Z, [
315
+ C("span", Q, a(p(R).length) + " " + a(p(R).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
316
316
  n[5] ||= C("span", { class: "text-muted" }, "·", -1),
317
- C("span", Ft, a(p(F)) + a(ae(p(ne))), 1),
317
+ C("span", Ft, a(p(F)) + a(B(p(re))), 1),
318
318
  k(g, {
319
- value: p(z).length === 1 ? "MP4" : "ZIP",
319
+ value: p(R).length === 1 ? "MP4" : "ZIP",
320
320
  severity: "info"
321
321
  }, null, 8, ["value"])
322
- ])) : d("", !0)]), C("div", $, [C("div", It, [p(y) && !p(z).length ? (i(), v("div", Lt, [k(_, {
322
+ ])) : d("", !0)]), C("div", $, [C("div", It, [p(y) && !p(R).length ? (i(), v("div", Lt, [k(_, {
323
323
  style: {
324
324
  width: "1rem",
325
325
  height: "1rem"
326
326
  },
327
327
  "stroke-width": "4",
328
328
  class: "m-0"
329
- }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(z).length ? (i(!0), v(b, { key: 2 }, r(p(te), (e) => (i(), v("div", {
329
+ }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(R).length ? (i(!0), v(b, { key: 2 }, r(p(ne), (e) => (i(), v("div", {
330
330
  key: e.cameraId,
331
331
  class: "flex flex-col gap-1"
332
- }, [C("span", zt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(F)) + a(ae(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
332
+ }, [C("span", zt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(F)) + a(B(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
333
333
  key: e.name,
334
334
  class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
335
335
  }, [
336
336
  k(S, { class: "w-4 h-4 text-muted shrink-0" }),
337
337
  C("span", Bt, a(e.name), 1),
338
338
  C("span", Vt, a(e.span), 1),
339
- C("span", Ht, a(p(F)) + a(ae(e.bytes)), 1)
340
- ]))), 128))]))), 128)) : (i(), v("div", Rt, a(p(B)), 1))])])])
339
+ C("span", Ht, a(p(F)) + a(B(e.bytes)), 1)
340
+ ]))), 128))]))), 128)) : (i(), v("div", Rt, a(p(ie)), 1))])])])
341
341
  ]);
342
342
  };
343
343
  }
@@ -377,16 +377,7 @@ function Yt(e, t) {
377
377
  var Xt = l({
378
378
  name: "tabler-chevron-up",
379
379
  render: Yt
380
- }), Zt = { class: "flex flex-col gap-2" }, Qt = { class: "sidebar-section-title" }, $t = {
381
- key: 0,
382
- class: "text-xs text-muted"
383
- }, en = { class: "flex flex-col gap-2" }, tn = { class: "sidebar-section-title" }, nn = { class: "p-input-icon-left w-full" }, rn = {
384
- key: 0,
385
- class: "text-xs text-muted"
386
- }, an = {
387
- key: 1,
388
- class: "text-xs text-muted"
389
- }, on = { class: "flex flex-col gap-2" }, sn = { class: "sidebar-section-title flex items-center gap-1.5" }, cn = {
380
+ }), Zt = { class: "flex flex-col gap-2" }, Qt = { class: "sidebar-section-title" }, $t = { class: "text-xs text-muted" }, en = { class: "text-xs text-muted" }, tn = { class: "flex flex-col gap-2" }, nn = { class: "sidebar-section-title" }, rn = { class: "p-input-icon-left w-full" }, an = { class: "text-xs text-muted" }, on = { class: "flex flex-col gap-2" }, sn = { class: "sidebar-section-title flex items-center gap-1.5" }, cn = {
390
381
  key: 0,
391
382
  class: "inline-flex items-center gap-1 text-xs text-muted"
392
383
  }, ln = {
@@ -440,25 +431,33 @@ var Xt = l({
440
431
  "close"
441
432
  ],
442
433
  setup(n, { expose: o, emit: s }) {
443
- let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Le(), { topbarOffset: w, bottombarHeight: E } = be(), { icons: D, generic: j } = He(), ee = D, M = Xt, N = qt, P = x("sidebarRef"), F = O(h.filters.semanticQuery ?? ""), I = O(""), L = A({
434
+ let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = ze(), { topbarOffset: w, bottombarHeight: E } = Se(), { icons: D, generic: j } = We(), ee = D, M = Xt, N = qt, P = x("sidebarRef"), F = O(h.filters.semanticQuery ?? ""), I = O(""), L = A({
444
435
  eventTypes: !0,
445
436
  attributes: !0,
446
437
  sensorEvents: !0
447
- }), R = m(() => h.isOpen ? Hn : 0), z = m(() => {
438
+ }), R = m(() => h.isOpen ? Hn : 0), ne = m(() => {
448
439
  let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
449
440
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
450
441
  id: e,
451
442
  name: e === "Default" ? S("components.form.label.room_default") : e
452
443
  }));
453
- }), te = m(() => {
444
+ }), re = m(() => {
454
445
  let e = h.filters.rooms;
455
446
  return (e.length > 0 ? h.cameras.filter((t) => e.includes(t.room ?? "")) : h.cameras).map((e) => ({
456
447
  id: e.id,
457
448
  name: e.name
458
449
  }));
459
- }), ne = m(() => {
450
+ }), ie = m(() => {
460
451
  if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
461
- }), B = m(() => h.filters.contentKind === "episodes"), re = m(() => [
452
+ }), z = m(() => h.filters.contentKind === "episodes"), ae = m(() => {
453
+ let e = z.value ? "episodes" : "recordings";
454
+ if (h.resultTotal === void 0) return S(`views.recordings.result_count_${e}`, { count: h.resultCount });
455
+ let t = h.resultCapped ? `${h.resultTotal}+` : h.resultTotal;
456
+ return S(`views.recordings.result_count_${e}_of`, {
457
+ count: h.resultCount,
458
+ total: t
459
+ });
460
+ }), oe = m(() => [
462
461
  {
463
462
  label: S("views.recordings.content_kind_all"),
464
463
  value: "all"
@@ -471,13 +470,13 @@ var Xt = l({
471
470
  label: S("views.recordings.content_kind_episodes"),
472
471
  value: "episodes"
473
472
  }
474
- ]), H = m(() => [{
473
+ ]), B = m(() => [{
475
474
  label: S("views.recordings.filter_and"),
476
475
  value: "and"
477
476
  }, {
478
477
  label: S("views.recordings.filter_or"),
479
478
  value: "or"
480
- }]), ie = m(() => [
479
+ }]), ce = m(() => [
481
480
  {
482
481
  label: S("views.recordings.time_1h"),
483
482
  value: "1h"
@@ -494,37 +493,37 @@ var Xt = l({
494
493
  label: S("views.recordings.time_1m"),
495
494
  value: "1m"
496
495
  }
497
- ]), ae = m(() => ze.filter((e) => !l.has(e)).map((e) => ({
496
+ ]), le = m(() => Ve.filter((e) => !l.has(e)).map((e) => ({
498
497
  label: S(`views.recordings.type_${e}`),
499
498
  value: e,
500
499
  icon: D[e] ?? j
501
- }))), U = m(() => ({
500
+ }))), V = m(() => ({
502
501
  label: S("views.recordings.type_other"),
503
- value: W,
502
+ value: te,
504
503
  icon: D.other ?? j
505
- })), oe = m(() => ve.map((e) => ({
506
- label: S($e(e)),
504
+ })), ue = m(() => _e.map((e) => ({
505
+ label: S(et(e)),
507
506
  value: e,
508
507
  icon: ee[e] ?? j
509
- }))), se = m(() => Re.map((e) => ({
510
- label: S(J(e)),
508
+ }))), de = m(() => Be.map((e) => ({
509
+ label: S(q(e)),
511
510
  value: e,
512
511
  icon: D[e] ?? j
513
- }))), ce = m(() => Be.map((e) => ({
514
- label: S(Y(e)),
512
+ }))), fe = m(() => He.map((e) => ({
513
+ label: S(J(e)),
515
514
  value: e,
516
515
  icon: D[e] ?? j
517
516
  })));
518
- function G(e, t) {
517
+ function H(e, t) {
519
518
  g("update:filters", {
520
519
  ...h.filters,
521
520
  [e]: t
522
521
  });
523
522
  }
524
- let le = Me((e) => {
525
- G("search", e);
523
+ let pe = Pe((e) => {
524
+ H("search", e);
526
525
  }, 300);
527
- function ue(e) {
526
+ function me(e) {
528
527
  let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
529
528
  g("update:filters", {
530
529
  ...h.filters,
@@ -532,40 +531,40 @@ var Xt = l({
532
531
  cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
533
532
  });
534
533
  }
535
- function de() {
534
+ function he() {
536
535
  let e = I.value.trim();
537
536
  e && !h.assistantSearchLoading && g("assistant-search", e);
538
537
  }
539
- function pe() {
538
+ function ge() {
540
539
  let e = F.value.trim();
541
- G("semanticQuery", e), g("semantic-search", e);
540
+ H("semanticQuery", e), g("semantic-search", e);
542
541
  }
543
- function he(e) {
542
+ function ye(e) {
544
543
  let t = [...h.filters.eventTypes], n = t.indexOf(e);
545
- n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
544
+ n >= 0 ? t.splice(n, 1) : t.push(e), H("eventTypes", t);
546
545
  }
547
- function ge(e) {
546
+ function be(e) {
548
547
  let t = [...h.filters.audioLabels], n = t.indexOf(e);
549
- n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
548
+ n >= 0 ? t.splice(n, 1) : t.push(e), H("audioLabels", t);
550
549
  }
551
- function _e(e) {
550
+ function Ce(e) {
552
551
  let t = [...h.filters.sensorEvents], n = t.indexOf(e);
553
- n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
552
+ n >= 0 ? t.splice(n, 1) : t.push(e), H("sensorEvents", t);
554
553
  }
555
- function ye(e) {
554
+ function we(e) {
556
555
  let t = [...h.filters.hasAttributes], n = t.indexOf(e);
557
- n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
556
+ n >= 0 ? t.splice(n, 1) : t.push(e), H("hasAttributes", t);
558
557
  }
559
- function xe(e) {
558
+ function Te(e) {
560
559
  L[e] = !L[e];
561
560
  }
562
561
  return _(F, (e) => {
563
- !e?.trim() && h.filters.semanticQuery && G("semanticQuery", "");
564
- }), Ie(P, (e) => {
562
+ !e?.trim() && h.filters.semanticQuery && H("semanticQuery", "");
563
+ }), Re(P, (e) => {
565
564
  let t = e.target;
566
565
  t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || h.isOpen && h.isOverlay && g("close");
567
566
  }), o({ sidebarWidth: R }), (o, s) => {
568
- let l = Se, m = Ge, h = V, g = Xe, _ = Ue, x = me, S = Ve, D = Ye, O = Ae, A = fe, j = K;
567
+ let l = U, m = Ke, h = se, g = Ze, _ = Ge, x = xe, S = Ue, D = Xe, O = je, A = ve, j = G;
569
568
  return i(), v("nav", {
570
569
  ref_key: "sidebarRef",
571
570
  ref: P,
@@ -583,29 +582,26 @@ var Xt = l({
583
582
  C("label", Qt, a(o.$t("views.recordings.content_kind")), 1),
584
583
  k(l, {
585
584
  "model-value": n.filters.contentKind,
586
- options: p(re),
585
+ options: p(oe),
587
586
  "option-label": "label",
588
587
  "option-value": "value",
589
588
  "allow-empty": !1,
590
589
  class: "content-kind-toggle",
591
- "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
590
+ "onUpdate:modelValue": s[0] ||= (e) => H("contentKind", e)
592
591
  }, null, 8, ["model-value", "options"]),
593
- p(B) ? (i(), v("span", $t, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
592
+ p(z) ? (i(), v(b, { key: 0 }, [C("span", $t, a(p(ae)), 1), C("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)], 64)) : d("", !0)
594
593
  ]),
595
594
  s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
596
- p(B) ? d("", !0) : (i(), v(b, { key: 0 }, [
597
- C("div", en, [
598
- C("label", tn, a(o.$t("views.recordings.search")), 1),
599
- C("span", nn, [k(m, {
595
+ p(z) ? d("", !0) : (i(), v(b, { key: 0 }, [
596
+ C("div", tn, [
597
+ C("label", nn, a(o.$t("views.recordings.search")), 1),
598
+ C("span", rn, [k(m, {
600
599
  "model-value": n.filters.search,
601
600
  placeholder: o.$t("views.recordings.search_placeholder"),
602
601
  class: "w-full text-sm",
603
- "onUpdate:modelValue": s[1] ||= (e) => p(le)(e)
602
+ "onUpdate:modelValue": s[1] ||= (e) => p(pe)(e)
604
603
  }, null, 8, ["model-value", "placeholder"])]),
605
- n.resultTotal === void 0 ? (i(), v("span", an, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)) : (i(), v("span", rn, a(o.$t("views.recordings.result_count_of", {
606
- count: n.resultCount,
607
- total: n.resultCapped ? `${n.resultTotal}+` : n.resultTotal
608
- })), 1))
604
+ C("span", an, a(p(ae)), 1)
609
605
  ]),
610
606
  s[16] ||= C("div", { class: "sidebar-divider" }, null, -1),
611
607
  C("div", on, [
@@ -630,7 +626,7 @@ var Xt = l({
630
626
  class: "w-full text-xs",
631
627
  loading: n.semanticSearchLoading,
632
628
  disabled: !n.semanticSearchAvailable || !p(F)?.trim(),
633
- onClick: pe
629
+ onClick: ge
634
630
  }, null, 8, [
635
631
  "label",
636
632
  "loading",
@@ -643,7 +639,7 @@ var Xt = l({
643
639
  max: 1,
644
640
  step: .05,
645
641
  class: "flex-1",
646
- "onUpdate:modelValue": s[3] ||= (e) => G("minSemanticScore", e)
642
+ "onUpdate:modelValue": s[3] ||= (e) => H("minSemanticScore", e)
647
643
  }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
648
644
  ]),
649
645
  s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
@@ -656,7 +652,7 @@ var Xt = l({
656
652
  placeholder: o.$t("views.recordings.assistant_search_placeholder"),
657
653
  class: "w-full text-sm",
658
654
  disabled: n.assistantSearchLoading,
659
- onKeydown: t(e(de, ["prevent"]), ["enter"])
655
+ onKeydown: t(e(he, ["prevent"]), ["enter"])
660
656
  }, null, 8, [
661
657
  "modelValue",
662
658
  "placeholder",
@@ -671,7 +667,7 @@ var Xt = l({
671
667
  class: "w-full text-xs",
672
668
  loading: n.assistantSearchLoading,
673
669
  disabled: !p(I).trim(),
674
- onClick: de
670
+ onClick: he
675
671
  }, null, 8, [
676
672
  "label",
677
673
  "loading",
@@ -679,9 +675,9 @@ var Xt = l({
679
675
  ]),
680
676
  n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
681
677
  ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
682
- p(z).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(D, {
678
+ p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(D, {
683
679
  "model-value": n.filters.rooms,
684
- options: p(z),
680
+ options: p(ne),
685
681
  "option-label": "name",
686
682
  "option-value": "id",
687
683
  placeholder: o.$t("views.recordings.all_rooms"),
@@ -689,7 +685,7 @@ var Xt = l({
689
685
  "max-selected-labels": 2,
690
686
  "show-toggle-all": !1,
691
687
  pt: { overlay: { style: "position: fixed" } },
692
- "onUpdate:modelValue": s[5] ||= (e) => ue(e)
688
+ "onUpdate:modelValue": s[5] ||= (e) => me(e)
693
689
  }, null, 8, [
694
690
  "model-value",
695
691
  "options",
@@ -697,7 +693,7 @@ var Xt = l({
697
693
  ])])) : d("", !0),
698
694
  C("div", vn, [C("label", yn, a(o.$t("views.recordings.cameras")), 1), k(D, {
699
695
  "model-value": n.filters.cameraIds,
700
- options: p(te),
696
+ options: p(re),
701
697
  "option-label": "name",
702
698
  "option-value": "id",
703
699
  placeholder: o.$t("views.recordings.all_cameras"),
@@ -705,20 +701,20 @@ var Xt = l({
705
701
  "max-selected-labels": 2,
706
702
  "show-toggle-all": !1,
707
703
  pt: { overlay: { style: "position: fixed" } },
708
- "onUpdate:modelValue": s[6] ||= (e) => G("cameraIds", e)
704
+ "onUpdate:modelValue": s[6] ||= (e) => H("cameraIds", e)
709
705
  }, null, 8, [
710
706
  "model-value",
711
707
  "options",
712
708
  "placeholder"
713
709
  ])]),
714
- p(ne) && !p(B) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
710
+ p(ie) && !p(z) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
715
711
  C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
716
712
  C("div", Sn, [k(O, {
717
- camera: p(ne),
713
+ camera: p(ie),
718
714
  "object-fit": "cover"
719
715
  }, null, 8, ["camera"]), k(A, {
720
716
  "model-value": n.filters.gridRegions,
721
- "onUpdate:modelValue": s[7] ||= (e) => G("gridRegions", e)
717
+ "onUpdate:modelValue": s[7] ||= (e) => H("gridRegions", e)
722
718
  }, null, 8, ["model-value"])]),
723
719
  k(_, {
724
720
  label: o.$t("views.recordings.grid_clear"),
@@ -727,54 +723,54 @@ var Xt = l({
727
723
  size: "small",
728
724
  class: "w-full text-xs",
729
725
  disabled: n.filters.gridRegions.length === 0,
730
- onClick: s[8] ||= (e) => G("gridRegions", [])
726
+ onClick: s[8] ||= (e) => H("gridRegions", [])
731
727
  }, null, 8, ["label", "disabled"])
732
728
  ])], 64)) : d("", !0),
733
- p(B) ? d("", !0) : (i(), v("div", Cn)),
734
- p(B) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
729
+ p(z) ? d("", !0) : (i(), v("div", Cn)),
730
+ p(z) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
735
731
  "model-value": n.filters.minConfidence,
736
732
  min: 0,
737
733
  max: 1,
738
734
  step: .05,
739
735
  class: "flex-1",
740
- "onUpdate:modelValue": s[9] ||= (e) => G("minConfidence", e)
736
+ "onUpdate:modelValue": s[9] ||= (e) => H("minConfidence", e)
741
737
  }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
742
738
  s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
743
- C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(ie), (e) => (i(), u(_, {
739
+ C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(ce), (e) => (i(), u(_, {
744
740
  key: e.value,
745
741
  label: e.label,
746
742
  severity: n.filters.timeRange === e.value ? void 0 : "secondary",
747
743
  outlined: n.filters.timeRange !== e.value,
748
744
  size: "small",
749
745
  class: "text-xs flex-1 min-w-0",
750
- onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
746
+ onClick: (t) => H("timeRange", n.filters.timeRange === e.value ? null : e.value)
751
747
  }, null, 8, [
752
748
  "label",
753
749
  "severity",
754
750
  "outlined",
755
751
  "onClick"
756
752
  ]))), 128))])]),
757
- p(B) ? d("", !0) : (i(), v(b, { key: 6 }, [
753
+ p(z) ? d("", !0) : (i(), v(b, { key: 6 }, [
758
754
  s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
759
755
  C("div", jn, [C("button", {
760
756
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
761
- onClick: s[10] ||= (e) => xe("sensorEvents")
762
- }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(L).sensorEvents ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(oe), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
757
+ onClick: s[10] ||= (e) => Te("sensorEvents")
758
+ }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(L).sensorEvents ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
763
759
  k(j, {
764
760
  "model-value": n.filters.sensorEvents.includes(e.value),
765
761
  binary: !0,
766
- "onUpdate:modelValue": (t) => _e(e.value)
762
+ "onUpdate:modelValue": (t) => Ce(e.value)
767
763
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
768
764
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
769
765
  C("span", null, a(e.label), 1)
770
- ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(se), (e) => (i(), v("label", {
766
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(de), (e) => (i(), v("label", {
771
767
  key: e.value,
772
768
  class: "flex items-center gap-2 cursor-pointer text-sm"
773
769
  }, [
774
770
  k(j, {
775
771
  "model-value": n.filters.audioLabels.includes(e.value),
776
772
  binary: !0,
777
- "onUpdate:modelValue": (t) => ge(e.value)
773
+ "onUpdate:modelValue": (t) => be(e.value)
778
774
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
779
775
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
780
776
  C("span", null, a(e.label), 1)
@@ -783,26 +779,26 @@ var Xt = l({
783
779
  s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
784
780
  k(l, {
785
781
  "model-value": n.filters.filterLogicTriggers,
786
- options: p(H),
782
+ options: p(B),
787
783
  "option-label": "label",
788
784
  "option-value": "value",
789
785
  "allow-empty": !1,
790
786
  class: "filter-logic-toggle",
791
- "onUpdate:modelValue": s[11] ||= (e) => G("filterLogicTriggers", e)
787
+ "onUpdate:modelValue": s[11] ||= (e) => H("filterLogicTriggers", e)
792
788
  }, null, 8, ["model-value", "options"]),
793
789
  s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
794
790
  ]),
795
791
  C("div", In, [C("button", {
796
792
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
797
- onClick: s[12] ||= (e) => xe("eventTypes")
798
- }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(L).eventTypes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(ae), (e) => (i(), v("label", {
793
+ onClick: s[12] ||= (e) => Te("eventTypes")
794
+ }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(L).eventTypes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
799
795
  key: e.value,
800
796
  class: "flex items-center gap-2 cursor-pointer text-sm"
801
797
  }, [
802
798
  k(j, {
803
799
  "model-value": n.filters.eventTypes.includes(e.value),
804
800
  binary: !0,
805
- "onUpdate:modelValue": (t) => he(e.value)
801
+ "onUpdate:modelValue": (t) => ye(e.value)
806
802
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
807
803
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
808
804
  C("span", null, a(e.label), 1)
@@ -811,43 +807,43 @@ var Xt = l({
811
807
  s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
812
808
  k(l, {
813
809
  "model-value": n.filters.filterLogicAttributes,
814
- options: p(H),
810
+ options: p(B),
815
811
  "option-label": "label",
816
812
  "option-value": "value",
817
813
  "allow-empty": !1,
818
814
  class: "filter-logic-toggle",
819
- "onUpdate:modelValue": s[13] ||= (e) => G("filterLogicAttributes", e)
815
+ "onUpdate:modelValue": s[13] ||= (e) => H("filterLogicAttributes", e)
820
816
  }, null, 8, ["model-value", "options"]),
821
817
  s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
822
818
  ]),
823
819
  C("div", zn, [C("button", {
824
820
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
825
- onClick: s[14] ||= (e) => xe("attributes")
826
- }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(L).attributes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v("label", {
821
+ onClick: s[14] ||= (e) => Te("attributes")
822
+ }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(L).attributes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(fe), (e) => (i(), v("label", {
827
823
  key: e.value,
828
824
  class: "flex items-center gap-2 cursor-pointer text-sm"
829
825
  }, [
830
826
  k(j, {
831
827
  "model-value": n.filters.hasAttributes.includes(e.value),
832
828
  binary: !0,
833
- "onUpdate:modelValue": (t) => ye(e.value)
829
+ "onUpdate:modelValue": (t) => we(e.value)
834
830
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
835
831
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
836
832
  C("span", null, a(e.label), 1)
837
833
  ]))), 128)), C("label", Vn, [
838
834
  k(j, {
839
- "model-value": n.filters.eventTypes.includes(p(U).value),
835
+ "model-value": n.filters.eventTypes.includes(p(V).value),
840
836
  binary: !0,
841
- "onUpdate:modelValue": s[15] ||= (e) => he(p(U).value)
837
+ "onUpdate:modelValue": s[15] ||= (e) => ye(p(V).value)
842
838
  }, null, 8, ["model-value"]),
843
- (i(), u(c(p(U).icon), { class: "w-4 h-4 text-muted" })),
844
- C("span", null, a(p(U).label), 1)
839
+ (i(), u(c(p(V).icon), { class: "w-4 h-4 text-muted" })),
840
+ C("span", null, a(p(V).label), 1)
845
841
  ])])) : d("", !0)])
846
842
  ], 64))
847
843
  ], 4)], 4);
848
844
  };
849
845
  }
850
- }), [["__scopeId", "data-v-859e8134"]]), Wn = { class: "font-semibold text-xl truncate" }, Gn = { class: "w-full h-full relative" }, Kn = {
846
+ }), [["__scopeId", "data-v-f2bbf9b7"]]), Wn = { class: "font-semibold text-xl truncate" }, Gn = { class: "w-full h-full relative" }, Kn = {
851
847
  key: 0,
852
848
  class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
853
849
  }, qn = { class: "relative z-2 page-title !m-0" }, Jn = {
@@ -862,15 +858,15 @@ var Xt = l({
862
858
  }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
863
859
  __name: "Recordings",
864
860
  setup(e) {
865
- let t = new Qe(), n = new ue(), r = new ke(), c = pe(), l = _e(), { bottombarHeight: f } = be(), { status: S, checking: T } = ne(), { openEventTrace: D } = we(), A = le("@camera.ui/camera-ui-nvr"), M = U(), { t: N, locale: R } = Le(), { smBreakpoint: W, xlBreakpoint: fe, mdBreakpoint: me } = P(), { registerScrollToTop: he } = G();
861
+ let t = new $e(), n = new z(), r = new Ae(), c = be(), l = ge(), { bottombarHeight: f } = Se(), { status: S, checking: T } = Ne(), { openEventTrace: D } = Te(), A = H("@camera.ui/camera-ui-nvr"), M = le(), { t: N, locale: te } = ze(), { smBreakpoint: R, xlBreakpoint: U, mdBreakpoint: me } = P(), { registerScrollToTop: _e } = ie();
866
862
  if (typeof VideoDecoder < "u") {
867
- let e = ge({ cacheSize: 20 });
868
- o(I, e), Ne(() => e.dispose());
863
+ let e = De({ cacheSize: 20 });
864
+ o(de, e), Fe(() => e.dispose());
869
865
  }
870
- let { results: ve, isSearching: Se, isAvailable: Oe, hasSearched: Ae, search: Me, clear: Pe } = ae(), { data: Ie } = t.getAssistantStatusQuery(), { data: Re } = n.getCamerasQuery({
866
+ let { results: ve, isSearching: xe, isAvailable: ke, hasSearched: je, search: Pe, clear: Ie } = ae(), { data: Re } = t.getAssistantStatusQuery(), { data: Be } = n.getCamerasQuery({
871
867
  page: 1,
872
868
  pageSize: -1
873
- }), { data: ze } = r.getUserQuery(m(() => l.user?.username ?? "")), Be = Array.from({ length: 24 }, (e, t) => t), Ve = {
869
+ }), { data: Ve } = r.getUserQuery(m(() => l.user?.username ?? "")), He = Array.from({ length: 24 }, (e, t) => t), Ue = {
874
870
  contentKind: "all",
875
871
  favoritesOnly: !1,
876
872
  search: "",
@@ -889,69 +885,69 @@ var Xt = l({
889
885
  minConfidence: .5,
890
886
  minSemanticScore: .5,
891
887
  onlyWithRecordings: !0
892
- }, He = {
888
+ }, We = {
893
889
  "1h": 36e5,
894
890
  "1d": 864e5,
895
891
  "1w": 6048e5,
896
892
  "1m": 2592e6
897
- }, We = x("gridRef"), Ge = x("viewMenuRef"), K = O("closed"), Ke = O(!1), q = O({ ...Ve }), Je = O(!1), Ye = O(""), Xe = E({
893
+ }, W = x("gridRef"), Ke = x("viewMenuRef"), G = O("closed"), qe = O(!1), K = O({ ...Ue }), Ye = O(!1), Xe = O(""), Ze = E({
898
894
  hasDetections: !0,
899
895
  withRecordingInfo: !0,
900
896
  hasRecording: !0
901
- }), $e = JSON.stringify(Xe.value), J = O(), Y = O(!1), lt = E([]), ut = O(null), dt = x("reindexAnchorRef"), { left: ft } = Fe(dt), pt = !1, X = m(() => fe.value ? !0 : K.value === "opened"), ht = m(() => me.value), gt = xe(() => We.value?.scrollY ?? 0), _t = m(() => X.value && ht.value ? !0 : gt.value && !S.value?.running), vt = m(() => me.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Re.value?.result ?? []).map((e) => ({
897
+ }), et = JSON.stringify(Ze.value), q = O(), J = O(!1), ut = E([]), dt = O(null), ft = x("reindexAnchorRef"), { left: pt } = Le(ft), mt = !1, Y = m(() => U.value ? !0 : G.value === "opened"), gt = m(() => me.value), _t = Ce(() => W.value?.scrollY ?? 0), vt = m(() => Y.value && gt.value ? !0 : _t.value && !S.value?.running), yt = m(() => me.value ? "0px" : Y.value ? `${Qn}px` : "0px"), X = m(() => (Be.value?.result ?? []).map((e) => ({
902
898
  id: e._id,
903
899
  name: e.name,
904
900
  room: e.room
905
- }))), yt = m(() => {
901
+ }))), bt = m(() => {
906
902
  let e = /* @__PURE__ */ new Map();
907
- for (let t of Z.value) e.set(t.id, t.name);
903
+ for (let t of X.value) e.set(t.id, t.name);
908
904
  return e;
909
- }), bt = m(() => {
905
+ }), xt = m(() => {
910
906
  let e = /* @__PURE__ */ new Map();
911
- for (let t of Re.value?.result ?? []) e.set(t._id, t);
907
+ for (let t of Be.value?.result ?? []) e.set(t._id, t);
912
908
  return e;
913
- }), xt = m(() => {
914
- let e = q.value.rooms;
915
- return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
916
- }), St = m(() => q.value.cameraIds.filter((e) => xt.value.includes(e))), Ct = m(() => xt.value);
917
- he(() => We.value?.scrollToTop());
918
- let { events: wt, isLoading: Tt, hasMore: Et, stats: Dt, loadMore: Ot, loadThumbnails: kt, deleteEvents: At, reset: jt, loadFailed: Mt, pluginUnavailable: Nt } = ie({
919
- availableCameraIds: Ct,
920
- cameraIds: St,
909
+ }), St = m(() => {
910
+ let e = K.value.rooms;
911
+ return (e.length > 0 ? X.value.filter((t) => e.includes(t.room ?? "")) : X.value).map((e) => e.id);
912
+ }), Ct = m(() => K.value.cameraIds.filter((e) => St.value.includes(e))), wt = m(() => St.value);
913
+ _e(() => W.value?.scrollToTop());
914
+ let { events: Tt, isLoading: Et, hasMore: Dt, stats: Ot, loadMore: kt, loadThumbnails: At, deleteEvents: jt, reset: Mt, loadFailed: Nt, pluginUnavailable: Pt } = re({
915
+ availableCameraIds: wt,
916
+ cameraIds: Ct,
921
917
  realtime: !0,
922
918
  pageSize: 40,
923
- filter: Xe,
919
+ filter: Ze,
924
920
  withEpisodes: !0,
925
921
  withStats: !0
926
- }), Q = m(() => {
922
+ }), Z = m(() => {
927
923
  let e = /* @__PURE__ */ new Map();
928
924
  for (let t of ve.value ?? []) {
929
925
  let n = e.get(t.eventId);
930
926
  (!n || t.score > n) && e.set(t.eventId, t.score);
931
927
  }
932
928
  return e;
933
- }), Pt = m(() => Ae.value), Ft = m(() => Nt.value ? N("views.recordings.recordings_unavailable") : Mt.value ? N("views.recordings.load_failed") : N("views.recordings.no_recordings")), $ = m(() => {
934
- let e = wt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = q.value;
935
- if (J.value !== void 0) {
936
- let t = J.value;
929
+ }), Q = m(() => je.value), Ft = m(() => Pt.value ? N("views.recordings.recordings_unavailable") : Nt.value ? N("views.recordings.load_failed") : N("views.recordings.no_recordings")), $ = m(() => {
930
+ let e = Tt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = K.value;
931
+ if (q.value !== void 0) {
932
+ let t = q.value;
937
933
  e = e.filter((e) => e.startTime >= t);
938
934
  }
939
- return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && it(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Pt.value && (e = e.filter((e) => {
940
- let n = Q.value.get(e.id);
935
+ return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && at(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Q.value && (e = e.filter((e) => {
936
+ let n = Z.value.get(e.id);
941
937
  return n != null && n >= t.minSemanticScore;
942
- }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
943
- }), It = m(() => q.value.contentKind === "episodes"), Lt = m(() => {
944
- let e = q.value;
938
+ }), e.sort((e, t) => (Z.value.get(t.id) ?? 0) - (Z.value.get(e.id) ?? 0))), e;
939
+ }), It = m(() => K.value.contentKind === "episodes"), Lt = m(() => {
940
+ let e = K.value;
945
941
  return e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5;
946
- }), Rt = m(() => Ie.value?.state === "ready"), zt = m(() => {
947
- if (q.value.contentKind === "events") return [];
942
+ }), Rt = m(() => Re.value?.state === "ready"), zt = m(() => {
943
+ if (K.value.contentKind === "events") return [];
948
944
  A.storeVersion.value;
949
- let e = q.value;
950
- if (!It.value && (Y.value || Pt.value || e.gridRegions.length > 0 || Lt.value)) return [];
951
- let t = St.value.length > 0 ? St.value : Ct.value, n = J.value ?? 0, r = Infinity;
952
- if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Et.value && !It.value) {
945
+ let e = K.value;
946
+ if (!It.value && (Q.value || e.gridRegions.length > 0 || Lt.value)) return [];
947
+ let t = Ct.value.length > 0 ? Ct.value : wt.value, n = q.value ?? 0, r = Infinity;
948
+ if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Dt.value && !It.value) {
953
949
  let e = Infinity;
954
- for (let t of wt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
950
+ for (let t of Tt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
955
951
  n = Math.max(n, e);
956
952
  }
957
953
  let i = [];
@@ -962,21 +958,19 @@ var Xt = l({
962
958
  }));
963
959
  return i;
964
960
  }), Bt = m(() => {
965
- if (It.value) return [...zt.value].sort((e, t) => tt(t) - tt(e));
966
- if (Y.value && lt.value.length) return lt.value;
967
- let e = $.value.map((e) => ({
961
+ if (It.value) return [...zt.value].sort(nt);
962
+ let e = J.value && ut.value.length ? [...ut.value] : $.value.map((e) => ({
968
963
  event: e,
969
964
  key: e.id
970
965
  }));
971
- return zt.value.length && (e.push(...zt.value), e.sort((e, t) => tt(t) - tt(e))), e;
966
+ return zt.value.length && (e.push(...zt.value), e.sort(nt)), e;
972
967
  }), Vt = m(() => {
973
- let e = Dt.value, t = q.value;
974
- if (!e || !Et.value || Pt.value || t.gridRegions.length > 0 || t.timeRange && J.value === void 0) return;
968
+ let e = Ot.value, t = K.value;
969
+ if (!e || !Dt.value || Q.value || t.gridRegions.length > 0 || t.timeRange && q.value === void 0) return;
975
970
  if (It.value) return e.episodes;
976
- if (Y.value) return e.segments;
977
- let n = t.contentKind !== "events" && !Lt.value;
978
- return e.total + (n ? e.episodes : 0);
979
- }), Ht = m(() => ye(void 0, "admin")), Ut = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Gt, selectedIds: Kt, allSelected: qt, bulkBusy: Jt, enterSelectionMode: Yt, exitSelectionMode: Xt, toggleSelectAll: Zt, toggleSelection: Qt } = je(Ut, (e) => e.id);
971
+ let n = J.value ? e.segments : e.total;
972
+ if (n !== void 0) return n + (t.contentKind !== "events" && !Lt.value ? e.episodes : 0);
973
+ }), Ht = m(() => ye(void 0, "admin")), Ut = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Gt, selectedIds: Kt, allSelected: qt, bulkBusy: Jt, enterSelectionMode: Yt, exitSelectionMode: Xt, toggleSelectAll: Zt, toggleSelection: Qt } = ce(Ut, (e) => e.id);
980
974
  function $t() {
981
975
  let e = [...Kt.value];
982
976
  e.length && !Jt.value && c.openTextDialog({
@@ -989,7 +983,7 @@ var Xt = l({
989
983
  onConfirm: async () => {
990
984
  Jt.value = !0;
991
985
  try {
992
- await At(e), Xt(), M.add({
986
+ await jt(e), Xt(), M.add({
993
987
  severity: "success",
994
988
  detail: N("views.recordings.delete_selected_done", { count: e.length }),
995
989
  life: 5e3
@@ -1012,9 +1006,9 @@ var Xt = l({
1012
1006
  label: N("views.recordings.ungroup"),
1013
1007
  description: N("views.recordings.ungroup_hint"),
1014
1008
  toggle: !0,
1015
- toggleState: Y.value,
1009
+ toggleState: J.value,
1016
1010
  onClick: () => {
1017
- pt = !0, Y.value = !Y.value, l.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1011
+ mt = !0, J.value = !J.value, l.updateUser({ preferences: { recordings: { ungrouped: J.value } } });
1018
1012
  }
1019
1013
  },
1020
1014
  {
@@ -1022,11 +1016,11 @@ var Xt = l({
1022
1016
  label: N("views.recordings.only_with_recordings"),
1023
1017
  description: N("views.recordings.only_with_recordings_hint"),
1024
1018
  toggle: !0,
1025
- toggleState: q.value.onlyWithRecordings,
1019
+ toggleState: K.value.onlyWithRecordings,
1026
1020
  onClick: () => {
1027
- q.value = {
1028
- ...q.value,
1029
- onlyWithRecordings: !q.value.onlyWithRecordings
1021
+ K.value = {
1022
+ ...K.value,
1023
+ onlyWithRecordings: !K.value.onlyWithRecordings
1030
1024
  };
1031
1025
  }
1032
1026
  },
@@ -1035,17 +1029,17 @@ var Xt = l({
1035
1029
  label: N("views.recordings.favorites_only"),
1036
1030
  description: N("views.recordings.favorites_hint"),
1037
1031
  toggle: !0,
1038
- toggleState: q.value.favoritesOnly,
1032
+ toggleState: K.value.favoritesOnly,
1039
1033
  onClick: () => {
1040
- q.value = {
1041
- ...q.value,
1042
- favoritesOnly: !q.value.favoritesOnly
1034
+ K.value = {
1035
+ ...K.value,
1036
+ favoritesOnly: !K.value.favoritesOnly
1043
1037
  };
1044
1038
  }
1045
1039
  }] : []
1046
1040
  ]);
1047
1041
  function tn() {
1048
- c.openComponentDialog(mt, { data: {
1042
+ c.openComponentDialog(ht, { data: {
1049
1043
  title: N("views.recordings.reindex.title"),
1050
1044
  contentProps: {},
1051
1045
  confirmText: N("views.recordings.reindex.start")
@@ -1055,31 +1049,31 @@ var Xt = l({
1055
1049
  c.openComponentDialog(Wt, { data: {
1056
1050
  title: N("views.recordings.export.title"),
1057
1051
  contentProps: {
1058
- cameras: Z.value,
1059
- preselect: q.value.cameraIds?.length ? q.value.cameraIds : []
1052
+ cameras: X.value,
1053
+ preselect: K.value.cameraIds?.length ? K.value.cameraIds : []
1060
1054
  },
1061
1055
  confirmText: N("views.recordings.export.confirm")
1062
1056
  } });
1063
1057
  }
1064
1058
  function rn() {
1065
- let e = K.value;
1066
- K.value = e === "opened" ? "closed" : "opened";
1059
+ let e = G.value;
1060
+ G.value = e === "opened" ? "closed" : "opened";
1067
1061
  }
1068
1062
  function an() {
1069
- K.value = "closed";
1063
+ G.value = "closed";
1070
1064
  }
1071
1065
  function on(e) {
1072
- !e.semanticQuery?.trim() && q.value.semanticQuery?.trim() && Pe(), q.value = e;
1066
+ !e.semanticQuery?.trim() && K.value.semanticQuery?.trim() && Ie(), K.value = e;
1073
1067
  }
1074
1068
  async function sn(e) {
1075
- Je.value = !0, Ye.value = "";
1069
+ Ye.value = !0, Xe.value = "";
1076
1070
  try {
1077
- let t = await Ze(e, R.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1071
+ let t = await Qe(e, te.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1078
1072
  on({
1079
- ...Ve,
1073
+ ...Ue,
1080
1074
  ...t.filters,
1081
1075
  favoritesOnly: Ht.value && t.filters.favoritesOnly
1082
- }), cn(t.filters.semanticQuery), Ye.value = t.note;
1076
+ }), cn(t.filters.semanticQuery), Xe.value = t.note;
1083
1077
  } catch (e) {
1084
1078
  M.add({
1085
1079
  severity: "error",
@@ -1087,23 +1081,23 @@ var Xt = l({
1087
1081
  life: 5e3
1088
1082
  });
1089
1083
  } finally {
1090
- Je.value = !1;
1084
+ Ye.value = !1;
1091
1085
  }
1092
1086
  }
1093
1087
  function cn(e) {
1094
1088
  if (!e.trim()) {
1095
- Pe();
1089
+ Ie();
1096
1090
  return;
1097
1091
  }
1098
- Me(e);
1092
+ Pe(e);
1099
1093
  }
1100
1094
  function ln(e, t) {
1101
- let n = bt.value.get(e.cameraId);
1095
+ let n = xt.value.get(e.cameraId);
1102
1096
  n && D(e, n, t);
1103
1097
  }
1104
1098
  function un(e, t) {
1105
- let n = bt.value.get(e.cameraId);
1106
- n && c.openComponentDialog(Ce, {
1099
+ let n = xt.value.get(e.cameraId);
1100
+ n && c.openComponentDialog(pe, {
1107
1101
  data: {
1108
1102
  title: n.name,
1109
1103
  dedupeKey: `camera-event:${n._id}:${t}`,
@@ -1115,7 +1109,7 @@ var Xt = l({
1115
1109
  eventTimestamp: t
1116
1110
  },
1117
1111
  headerActions: e.segments?.some((e) => e?.description) ? [{
1118
- icon: V,
1112
+ icon: se,
1119
1113
  toggle: !0,
1120
1114
  onClick: () => {}
1121
1115
  }] : void 0,
@@ -1133,11 +1127,11 @@ var Xt = l({
1133
1127
  } }
1134
1128
  });
1135
1129
  }
1136
- return _(fe, (e) => {
1137
- e && (K.value = "closed");
1138
- }), _(() => q.value.timeRange, (e) => {
1139
- J.value = e && He[e] ? Date.now() - He[e] : void 0;
1140
- }, { immediate: !0 }), _(q, (e) => {
1130
+ return _(U, (e) => {
1131
+ e && (G.value = "closed");
1132
+ }), _(() => K.value.timeRange, (e) => {
1133
+ q.value = e && We[e] ? Date.now() - We[e] : void 0;
1134
+ }, { immediate: !0 }), _(K, (e) => {
1141
1135
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
1142
1136
  types: e.eventTypes.length > 0 ? e.eventTypes : void 0,
1143
1137
  triggers: e.sensorEvents.length > 0 ? e.sensorEvents : void 0,
@@ -1151,29 +1145,33 @@ var Xt = l({
1151
1145
  withRecordingInfo: !0,
1152
1146
  hasRecording: e.onlyWithRecordings || void 0,
1153
1147
  favoritesOnly: e.favoritesOnly || void 0,
1154
- startedSinceMs: J.value
1148
+ startedSinceMs: q.value
1155
1149
  }, r = JSON.stringify(n);
1156
- r !== $e && ($e = r, Xe.value = n);
1150
+ r !== et && (et = r, Ze.value = n);
1157
1151
  }, {
1158
1152
  deep: !0,
1159
1153
  immediate: !0
1160
- }), _(ze, (e) => {
1161
- if (!e || pt) return;
1154
+ }), _(Ve, (e) => {
1155
+ if (!e || mt) return;
1162
1156
  let t = e.preferences?.recordings?.ungrouped;
1163
- t !== void 0 && (Y.value = t);
1164
- }, { immediate: !0 }), _([Y, $], ([e, t]) => {
1165
- lt.value = e ? rt(t) : [];
1166
- }), _(() => q.value.cameraIds, (e) => {
1167
- e.length !== 1 && q.value.gridRegions.length > 0 && (q.value = {
1168
- ...q.value,
1157
+ t !== void 0 && (J.value = t);
1158
+ }, { immediate: !0 }), _([
1159
+ J,
1160
+ $,
1161
+ Q
1162
+ ], ([e, t, n]) => {
1163
+ ut.value = e ? it(t, n) : [];
1164
+ }), _(() => K.value.cameraIds, (e) => {
1165
+ e.length !== 1 && K.value.gridRegions.length > 0 && (K.value = {
1166
+ ...K.value,
1169
1167
  gridRegions: []
1170
1168
  });
1171
1169
  }), j(() => {
1172
1170
  requestAnimationFrame(() => {
1173
- Ke.value = !0;
1171
+ qe.value = !0;
1174
1172
  });
1175
1173
  }), (e, t) => {
1176
- let n = te, r = oe, o = z, c = Ue, l = at, m = ct, _ = st, x = de, E = et, D = nt, O = Ee, A = Te, j = B, M = L, N = H, P = ee;
1174
+ let n = Ee, r = ne, o = ue, c = Ge, l = ot, m = lt, _ = ct, x = fe, E = tt, D = rt, O = Oe, A = he, j = oe, M = L, N = B, P = ee;
1177
1175
  return i(), v("div", null, [
1178
1176
  k(n, { position: "center" }, {
1179
1177
  default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
@@ -1188,7 +1186,7 @@ var Xt = l({
1188
1186
  rounded: "",
1189
1187
  onClick: rn
1190
1188
  }, {
1191
- icon: h(() => [p(K) === "closed" ? (i(), u(r, {
1189
+ icon: h(() => [p(G) === "closed" ? (i(), u(r, {
1192
1190
  key: 0,
1193
1191
  width: "100%",
1194
1192
  height: "100%"
@@ -1207,7 +1205,7 @@ var Xt = l({
1207
1205
  class: "cui-button p-2 text-color",
1208
1206
  text: "",
1209
1207
  rounded: "",
1210
- onClick: t[0] ||= (e) => p(Ge)?.toggleMenu(e)
1208
+ onClick: t[0] ||= (e) => p(Ke)?.toggleMenu(e)
1211
1209
  }, {
1212
1210
  icon: h(() => [k(l, {
1213
1211
  width: "100%",
@@ -1218,19 +1216,19 @@ var Xt = l({
1218
1216
  _: 1
1219
1217
  }),
1220
1218
  k(Un, {
1221
- filters: p(q),
1222
- cameras: p(Z),
1223
- "is-open": p(X),
1224
- "is-overlay": p(ht),
1219
+ filters: p(K),
1220
+ cameras: p(X),
1221
+ "is-open": p(Y),
1222
+ "is-overlay": p(gt),
1225
1223
  "result-count": p(Bt).length,
1226
1224
  "result-total": p(Vt),
1227
- "result-capped": p(Dt)?.capped,
1228
- "semantic-count": p(Pt) ? p(Q).size : void 0,
1229
- "semantic-search-available": p(Oe),
1230
- "semantic-search-loading": p(Se),
1225
+ "result-capped": p(Ot)?.capped,
1226
+ "semantic-count": p(Q) ? p(Z).size : void 0,
1227
+ "semantic-search-available": p(ke),
1228
+ "semantic-search-loading": p(xe),
1231
1229
  "assistant-search-available": p(Rt),
1232
- "assistant-search-loading": p(Je),
1233
- "assistant-search-note": p(Ye),
1230
+ "assistant-search-loading": p(Ye),
1231
+ "assistant-search-note": p(Xe),
1234
1232
  "onUpdate:filters": on,
1235
1233
  onSemanticSearch: cn,
1236
1234
  onAssistantSearch: sn,
@@ -1253,23 +1251,23 @@ var Xt = l({
1253
1251
  (i(), u(g, {
1254
1252
  to: "#container",
1255
1253
  defer: ""
1256
- }, [p(X) && p(ht) ? (i(), v("div", {
1254
+ }, [p(Y) && p(gt) ? (i(), v("div", {
1257
1255
  key: 0,
1258
1256
  class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1259
1257
  onClick: an
1260
1258
  })) : d("", !0)])),
1261
1259
  C("main", {
1262
1260
  ref_key: "reindexAnchorRef",
1263
- ref: dt,
1261
+ ref: ft,
1264
1262
  class: "relative w-full h-full",
1265
1263
  style: y({
1266
- paddingLeft: p(vt),
1267
- transition: p(Ke) ? "padding-left 200ms" : void 0
1264
+ paddingLeft: p(yt),
1265
+ transition: p(qe) ? "padding-left 200ms" : void 0
1268
1266
  })
1269
1267
  }, [C("div", Gn, [
1270
- p(W) ? d("", !0) : (i(), v("div", Kn, [
1268
+ p(R) ? d("", !0) : (i(), v("div", Kn, [
1271
1269
  t[3] ||= C("div", { class: "ml-2" }, null, -1),
1272
- p(fe) ? d("", !0) : (i(), u(c, {
1270
+ p(U) ? d("", !0) : (i(), u(c, {
1273
1271
  key: 0,
1274
1272
  id: "recordings-sidebar-toggle",
1275
1273
  severity: "secondary",
@@ -1278,7 +1276,7 @@ var Xt = l({
1278
1276
  rounded: "",
1279
1277
  onClick: rn
1280
1278
  }, {
1281
- icon: h(() => [p(X) ? (i(), u(m, {
1279
+ icon: h(() => [p(Y) ? (i(), u(m, {
1282
1280
  key: 0,
1283
1281
  width: "100%",
1284
1282
  height: "100%"
@@ -1299,12 +1297,12 @@ var Xt = l({
1299
1297
  C("div")
1300
1298
  ], -1)
1301
1299
  ])),
1302
- p(W) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1300
+ p(R) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1303
1301
  severity: "secondary",
1304
1302
  text: "",
1305
1303
  rounded: "",
1306
1304
  class: "cui-icon-lg relative z-2",
1307
- onClick: t[1] ||= (e) => p(Ge)?.toggleMenu(e)
1305
+ onClick: t[1] ||= (e) => p(Ke)?.toggleMenu(e)
1308
1306
  }, {
1309
1307
  icon: h(() => [k(l, {
1310
1308
  width: "100%",
@@ -1318,25 +1316,25 @@ var Xt = l({
1318
1316
  { bottom: !0 }
1319
1317
  ]])])),
1320
1318
  C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1321
- "pt-4": p(W),
1322
- "pt-[calc(40px+2rem)]": !p(W)
1319
+ "pt-4": p(R),
1320
+ "pt-[calc(40px+2rem)]": !p(R)
1323
1321
  }]) }, [
1324
1322
  p(Bt).length ? (i(), u(D, {
1325
1323
  key: 0,
1326
1324
  ref_key: "gridRef",
1327
- ref: We,
1325
+ ref: W,
1328
1326
  items: p(Bt),
1329
- "min-item-width": p(W) ? 160 : 180,
1327
+ "min-item-width": p(R) ? 160 : 180,
1330
1328
  gap: 8,
1331
- "has-more": p(Et),
1332
- "load-more": p(Ot),
1329
+ "has-more": p(Dt),
1330
+ "load-more": p(kt),
1333
1331
  "item-key": (e) => e.key,
1334
1332
  class: "flex-1 min-h-0"
1335
1333
  }, {
1336
1334
  item: h(({ item: e }) => [e.episode ? (i(), u(x, {
1337
1335
  key: 0,
1338
1336
  episode: e.episode,
1339
- "camera-by-id": p(bt),
1337
+ "camera-by-id": p(xt),
1340
1338
  fluid: "",
1341
1339
  "click-disabled": p(Gt)
1342
1340
  }, null, 8, [
@@ -1346,19 +1344,19 @@ var Xt = l({
1346
1344
  ])) : (i(), u(E, {
1347
1345
  key: 1,
1348
1346
  event: e.event,
1349
- "camera-name": p(yt).get(e.event.cameraId),
1350
- camera: p(bt).get(e.event.cameraId),
1351
- "load-thumbnails": p(kt),
1352
- "semantic-score": p(Q).get(e.event.id),
1347
+ "camera-name": p(bt).get(e.event.cameraId),
1348
+ camera: p(xt).get(e.event.cameraId),
1349
+ "load-thumbnails": p(At),
1350
+ "semantic-score": p(Z).get(e.event.id),
1353
1351
  "seg-index": e.segIndex,
1354
1352
  "selection-mode": p(Gt) && e.event.state === "ended",
1355
1353
  selected: p(Kt).has(e.event.id),
1356
- "sibling-active": e.segIndex !== void 0 && p(ut) === e.event.id,
1354
+ "sibling-active": e.segIndex !== void 0 && p(dt) === e.event.id,
1357
1355
  onSelect: (t) => p(Qt)(e.event.id),
1358
1356
  onScrollToEvent: (t) => un(e.event, t),
1359
1357
  onOpenTrace: (t) => ln(e.event, t),
1360
- onMouseenter: (t) => ut.value = e.segIndex === void 0 ? null : e.event.id,
1361
- onMouseleave: t[2] ||= (e) => ut.value = null
1358
+ onMouseenter: (t) => dt.value = e.segIndex === void 0 ? null : e.event.id,
1359
+ onMouseleave: t[2] ||= (e) => dt.value = null
1362
1360
  }, null, 8, [
1363
1361
  "event",
1364
1362
  "camera-name",
@@ -1381,10 +1379,10 @@ var Xt = l({
1381
1379
  "has-more",
1382
1380
  "load-more",
1383
1381
  "item-key"
1384
- ])) : p(Tt) ? (i(), u(D, {
1382
+ ])) : p(Et) ? (i(), u(D, {
1385
1383
  key: 1,
1386
- items: p(Be),
1387
- "min-item-width": p(W) ? 160 : 180,
1384
+ items: p(He),
1385
+ "min-item-width": p(R) ? 160 : 180,
1388
1386
  gap: 8,
1389
1387
  "item-key": (e) => e,
1390
1388
  class: "flex-1 min-h-0 pointer-events-none"
@@ -1400,31 +1398,31 @@ var Xt = l({
1400
1398
  "min-item-width",
1401
1399
  "item-key"
1402
1400
  ])) : d("", !0),
1403
- p(Tt) && p(Bt).length || p(Se) ? (i(), v("div", Yn, [k(A, {
1401
+ p(Et) && p(Bt).length || p(xe) ? (i(), v("div", Yn, [k(A, {
1404
1402
  width: "24px",
1405
1403
  height: "24px",
1406
1404
  class: "text-muted"
1407
1405
  })])) : d("", !0),
1408
- !p($).length && !p(Tt) && !p(Se) ? (i(), v("div", Xn, [
1406
+ !p($).length && !p(Et) && !p(xe) ? (i(), v("div", Xn, [
1409
1407
  k(j, { class: "w-12 h-12 text-muted" }),
1410
1408
  C("span", Zn, a(p(Ft)), 1),
1411
- p(Mt) && !p(Nt) ? (i(), u(c, {
1409
+ p(Nt) && !p(Pt) ? (i(), u(c, {
1412
1410
  key: 0,
1413
1411
  severity: "secondary",
1414
1412
  class: "cui-button-small",
1415
1413
  label: e.$t("views.recordings.load_failed_retry"),
1416
- onClick: p(jt)
1414
+ onClick: p(Mt)
1417
1415
  }, null, 8, ["label", "onClick"])) : d("", !0)
1418
1416
  ])) : d("", !0)
1419
1417
  ], 2)
1420
1418
  ])], 4),
1421
- p(Ht) && p(Z).length ? (i(), v("div", {
1419
+ p(Ht) && p(X).length ? (i(), v("div", {
1422
1420
  key: 0,
1423
- class: s(["fixed z-10", p(_t) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1421
+ class: s(["fixed z-10", p(vt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1424
1422
  style: y({
1425
- left: `calc(${p(ft)}px + ${p(vt)} + 0.75rem + var(--safe-area-inset-left))`,
1423
+ left: `calc(${p(pt)}px + ${p(yt)} + 0.75rem + var(--safe-area-inset-left))`,
1426
1424
  bottom: `calc(${p(f)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1427
- transition: p(Ke) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1425
+ transition: p(qe) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1428
1426
  })
1429
1427
  }, [k(c, {
1430
1428
  severity: "secondary",
@@ -1437,20 +1435,20 @@ var Xt = l({
1437
1435
  }) : e.$t("views.recordings.reindex.button"),
1438
1436
  onClick: tn
1439
1437
  }, {
1440
- icon: h(() => [p(S)?.running ? (i(), u(p(Te), { key: 0 })) : (i(), u(p(ot), { key: 1 }))]),
1438
+ icon: h(() => [p(S)?.running ? (i(), u(p(he), { key: 0 })) : (i(), u(p(st), { key: 1 }))]),
1441
1439
  _: 1
1442
1440
  }, 8, ["disabled", "label"])], 6)) : d("", !0),
1443
- p(Z).length ? (i(), u(N, {
1441
+ p(X).length ? (i(), u(N, {
1444
1442
  key: 1,
1445
1443
  "force-visible": p(Gt),
1446
- "scroll-y": p(We)?.scrollY ?? 0
1444
+ "scroll-y": p(W)?.scrollY ?? 0
1447
1445
  }, {
1448
1446
  default: h(() => [p(Gt) ? (i(), v(b, { key: 1 }, [
1449
1447
  k(M, {
1450
1448
  grouped: "",
1451
1449
  "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
1452
1450
  "button-props": { severity: "secondary" },
1453
- icon: p(qe),
1451
+ icon: p(Je),
1454
1452
  "icon-props": {
1455
1453
  width: "100%",
1456
1454
  height: "100%"
@@ -1465,7 +1463,7 @@ var Xt = l({
1465
1463
  grouped: "",
1466
1464
  "tooltip-props": { value: p(qt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1467
1465
  "button-props": { severity: p(qt) ? "primary" : "secondary" },
1468
- icon: p(ce),
1466
+ icon: p(V),
1469
1467
  "icon-props": {
1470
1468
  width: "100%",
1471
1469
  height: "100%"
@@ -1484,7 +1482,7 @@ var Xt = l({
1484
1482
  severity: "danger",
1485
1483
  disabled: !p(Kt).size || p(Jt)
1486
1484
  },
1487
- icon: p(se),
1485
+ icon: p(F),
1488
1486
  "icon-props": {
1489
1487
  width: "100%",
1490
1488
  height: "100%"
@@ -1500,7 +1498,7 @@ var Xt = l({
1500
1498
  grouped: "",
1501
1499
  "tooltip-props": { value: e.$t("views.recordings.select") },
1502
1500
  "button-props": { severity: "secondary" },
1503
- icon: p(F),
1501
+ icon: p(Me),
1504
1502
  "icon-props": {
1505
1503
  width: "100%",
1506
1504
  height: "100%"
@@ -1514,7 +1512,7 @@ var Xt = l({
1514
1512
  grouped: "",
1515
1513
  "tooltip-props": { value: e.$t("views.recordings.export.title") },
1516
1514
  "button-props": { class: "text-white" },
1517
- icon: p(De),
1515
+ icon: p(we),
1518
1516
  "icon-props": {
1519
1517
  width: "26px",
1520
1518
  height: "26px"
@@ -1523,9 +1521,9 @@ var Xt = l({
1523
1521
  }, null, 8, ["tooltip-props", "icon"])], 64))]),
1524
1522
  _: 1
1525
1523
  }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1526
- k(re, {
1524
+ k(I, {
1527
1525
  ref_key: "viewMenuRef",
1528
- ref: Ge,
1526
+ ref: Ke,
1529
1527
  items: p(en),
1530
1528
  "auto-hide": !1,
1531
1529
  popover: { pt: {