@camera.ui/server 2.2.7 → 2.2.8

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 (528) hide show
  1. package/dist/interface/assets/{404-C8EoOtBl.js → 404-BYV0u5qE.js} +1 -1
  2. package/dist/interface/assets/{About-Q7ZmOGgl.js → About-DBOS1rfw.js} +1 -1
  3. package/dist/interface/assets/{Assistant-DFLgklVe.js → Assistant-BRcHj8hq.js} +1 -1
  4. package/dist/interface/assets/Automation-C0Emde7z.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-CLQSdqg9.js → AutomationImport-Iu-K82Os.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-Dt6yTQDb.js → AutomationStore-C2G0Bk8c.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DqBrBhUI.js → AutomationStoreDetail-BbvLRJ5u.js} +2 -2
  8. package/dist/interface/assets/Automations-D-vfqRnZ.js +2 -0
  9. package/dist/interface/assets/Camera-BpurrgAr.js +2 -0
  10. package/dist/interface/assets/Camera-D0B7yyVD.css +1 -0
  11. package/dist/interface/assets/{CameraConsole-rhle_cfW.js → CameraConsole-JBD3ZmJ6.js} +2 -2
  12. package/dist/interface/assets/{Cameras-Bzy3P0xN.js → Cameras-R5mJGMK9.js} +2 -2
  13. package/dist/interface/assets/{Camview-Bri_T7Tq.css → Camview-DH6_8CxH.css} +1 -1
  14. package/dist/interface/assets/Camview-IbOVRx20.js +1 -0
  15. package/dist/interface/assets/{CertificateUpload-CWVu_52v.js → CertificateUpload-B9S4EOQs.js} +1 -1
  16. package/dist/interface/assets/Config-CbFl5Wcp.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-AfQfSqHZ.js → ConfigActionAssistant-DIOh6-np.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-BKQdHxqe.js → ConfigActionCameraControl-Bw_egtpP.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-B52HeJGb.js → ConfigActionDelay-B9i4YZjy.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-BP5gvpQc.js → ConfigActionHttp-DFtxAa3U.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-DE2mSost.js → ConfigActionImageInput-CuTH4Nw2.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-CYgnZjAE.js → ConfigActionMqtt-B9SfWP-G.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-C3q53I4n.js → ConfigActionNotification-BGMIByJT.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl-eDJ8r5ao.js → ConfigActionNotificationControl-Cz72szMd.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-DgYSYvy-.js → ConfigActionOutput-BG6DoIRe.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-utolgAXk.js → ConfigActionPlugin-B5oRSE9n.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-CmEKQPqs.js → ConfigActionSensor-BErRRYfl.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-D7XucxVV.js → ConfigActionSnapshot-Di-uxMrg.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-C-Mjm3gr.js → ConfigActionVariable-BBpUti5A.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-B24Rqb8y.js → ConfigConditionIfElse-DjOKPXQw.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-42-yFDmK.js → ConfigConditionSensorState-BzvvZvD0.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-DezH_nwm.js → ConfigConditionSwitch-DQvdfUxR.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-Cg2Lwznd.js → ConfigConditionTime-BqOElX5C.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-YHBDCTZm.js → ConfigSensorValueInput-BT-0LhSH.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-DxEpodjG.js → ConfigTriggerDetection-1OkudUah.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerGeofence-Bye8syxc.js → ConfigTriggerGeofence-HGatk3C5.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerManual-s_lEDTV9.js → ConfigTriggerManual-DpRr_vVq.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-DqdZj7TU.js → ConfigTriggerMqtt-C_MId3BY.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-Q559hn6g.js → ConfigTriggerSchedule-BmwDqd6N.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-DIKkdbTF.js → ConfigTriggerSensor-Rgx8q4g8.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-CwNZ4xEg.js → ConfigTriggerSystem-4VsHPmbn.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-9ZC6X4mK.js → ConfigTriggerWebhook-Bs7zEfY0.js} +1 -1
  43. package/dist/interface/assets/{Console-BqIDZ5vq.js → Console-oCuuVKET.js} +1 -1
  44. package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +5 -0
  45. package/dist/interface/assets/{CuiAutomationRunsDialog-CVjCLiVW.js → CuiAutomationRunsDialog-sRh_K6JI.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +1 -0
  47. package/dist/interface/assets/{CuiBottomSheet-D75L0Zny.js → CuiBottomSheet-Dd3uOtnC.js} +1 -1
  48. package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +1 -0
  49. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  50. package/dist/interface/assets/{CuiCameraRecordings-DdEWkJrO.js → CuiCameraRecordings-C2tvrbbw.js} +1 -1
  51. package/dist/interface/assets/{CuiCameraShares-8mtgFsQ_.js → CuiCameraShares-jrrUEHoZ.js} +1 -1
  52. package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +1 -0
  53. package/dist/interface/assets/{CuiCameraTable-CmCT-XQF.js → CuiCameraTable-C7WLZ2pA.js} +2 -2
  54. package/dist/interface/assets/{CuiChartTable-v8sGY6PD.js → CuiChartTable-BYrIX7LV.js} +1 -1
  55. package/dist/interface/assets/{CuiConsole-DYV-FUE0.js → CuiConsole-CkZML0iY.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-BFIhx1D3.js +1 -0
  57. package/dist/interface/assets/{CuiLightControl-CFIwBj3C.js → CuiLightControl-DitIWqUr.js} +1 -1
  58. package/dist/interface/assets/{CuiList-9TVV8SB6.js → CuiList-BewTNr2X.js} +1 -1
  59. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  60. package/dist/interface/assets/{CuiMarkdownContent-BYBQX_aF.js → CuiMarkdownContent-qOPm3VEi.js} +1 -1
  61. package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +2 -0
  62. package/dist/interface/assets/{CuiPluginCategoryChip-DhnIBJHa.js → CuiPluginCategoryChip-DlzOwRgc.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DAuzNRAA.js → CuiPluginOAuthButton-BQZkTcgo.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-Bz710WwC.js → CuiPluginTrustBadge-DbqdfdaL.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-B8-4GHSY.js → CuiQRCode-2WsWJQFi.js} +1 -1
  66. package/dist/interface/assets/{CuiSchema-C_CHuKuf.js → CuiSchema-BL0QZmP2.js} +1 -1
  67. package/dist/interface/assets/{CuiTopNavbarItem-CNEnOPSh.js → CuiTopNavbarItem-Ti2TueU1.js} +1 -1
  68. package/dist/interface/assets/Faces-DARrGLXf.js +1 -0
  69. package/dist/interface/assets/{FirstSteps-Ci2Iqbe2.js → FirstSteps-DBYPBvGr.js} +1 -1
  70. package/dist/interface/assets/Floorplan-BaZvzoyv.js +1 -0
  71. package/dist/interface/assets/{Instances-gzKFKB1l.js → Instances-r0xReURi.js} +1 -1
  72. package/dist/interface/assets/{Logs-DL1yw_Pe.js → Logs-DMehPk0t.js} +2 -2
  73. package/dist/interface/assets/{Menu-C0GQ63aj.js → Menu-C34RRyLd.js} +1 -1
  74. package/dist/interface/assets/Metrics-BjoC71_O.js +12 -0
  75. package/dist/interface/assets/{OAuthDeviceFlow-Zd6r9IHU.js → OAuthDeviceFlow-CdZxelf2.js} +1 -1
  76. package/dist/interface/assets/Plugin-npx7CnwV.js +1 -0
  77. package/dist/interface/assets/{PluginConsole-ag0jPZQ_.js → PluginConsole-D1BRQCO9.js} +2 -2
  78. package/dist/interface/assets/PluginDetail-nwTrJmO6.js +2 -0
  79. package/dist/interface/assets/{PluginSchema-CxUujnVs.js → PluginSchema-B9VsBHOU.js} +1 -1
  80. package/dist/interface/assets/PluginSearch-CP2kQWKf.js +1 -0
  81. package/dist/interface/assets/{PluginSearch-BqzngVRL.js → PluginSearch-WEvbKMRs.js} +2 -2
  82. package/dist/interface/assets/{PluginUpdateProgress-CFut0RAe.js → PluginUpdateProgress-uj0XPV-_.js} +1 -1
  83. package/dist/interface/assets/Plugins-CPx9Hszm.js +1 -0
  84. package/dist/interface/assets/{RecentEventsFilter-CqeHhECT.js → RecentEventsFilter-D5VSH2K1.js} +1 -1
  85. package/dist/interface/assets/Recordings-De6Zcv0M.js +1 -0
  86. package/dist/interface/assets/{SensorEdit-Bi0gg-CL.js → SensorEdit-SD_oHBRo.js} +1 -1
  87. package/dist/interface/assets/{SensorHistory-q0UR3qMG.js → SensorHistory-SxiLOloa.js} +1 -1
  88. package/dist/interface/assets/Sensors-Djl64M-W.js +2 -0
  89. package/dist/interface/assets/{Settings-Cv38rGWn.js → Settings-CAf2reGs.js} +1 -1
  90. package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +1 -0
  91. package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +1 -0
  92. package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +1 -0
  93. package/dist/interface/assets/{SettingsAppearance-DdyYUgmV.js → SettingsAppearance-DQzQmVzE.js} +1 -1
  94. package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +1 -0
  95. package/dist/interface/assets/{SettingsBackup-DKwlPQhD.js → SettingsBackup-CVExGnOo.js} +1 -1
  96. package/dist/interface/assets/{SettingsList-D6hqnvUo.js → SettingsList-vo7sz_MY.js} +1 -1
  97. package/dist/interface/assets/{SettingsMqtt-C01fgLY0.js → SettingsMqtt-B1CuOcML.js} +1 -1
  98. package/dist/interface/assets/{SettingsNotifications-D47cIquQ.js → SettingsNotifications-CCQ6eiq8.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-BeTCTrAf.js → SettingsPermissions-BlOf6HEy.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-mwL6Dalr.js → SettingsRecordings-7tTBg6m1.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  102. package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +2 -0
  103. package/dist/interface/assets/{SettingsSystem-BXnzXgqm.js → SettingsSystem-DaFMsZpN.js} +2 -2
  104. package/dist/interface/assets/{SettingsUsers-D2mVlJin.js → SettingsUsers-DXACwVPi.js} +1 -1
  105. package/dist/interface/assets/{Terminal-C1UoXDRK.js → Terminal-DtGqlHbk.js} +2 -2
  106. package/dist/interface/assets/Training-Ca11D1Vj.js +1 -0
  107. package/dist/interface/assets/{Updates-kS_Tm8HD.js → Updates-yenwuqnD.js} +2 -2
  108. package/dist/interface/assets/{VariableInput-D9PfI8Ut.js → VariableInput-CcILik4M.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-DArWzQuE.js → VariableSuggestions-Bj0HdrYW.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-BZVMpB2v.js → VersionsHandler-BA8Lcysg.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-Cz-QFo4R.js → VirtualSensorCreate-DvHyw7I2.js} +1 -1
  112. package/dist/interface/assets/{Workers-DH59zE1C.css → Workers-Dey1snI4.css} +1 -1
  113. package/dist/interface/assets/Workers-Dyo44zxe.js +2 -0
  114. package/dist/interface/assets/{account-DwW7pBOb.js → account-DjBQulDn.js} +1 -1
  115. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  116. package/dist/interface/assets/{ace.config-CCyX_Ohk.js → ace.config-CvKE-yp1.js} +1 -1
  117. package/dist/interface/assets/{alert-circle-BdUVAt1B.js → alert-circle-B-JCMbb9.js} +1 -1
  118. package/dist/interface/assets/{alert-outline-IRxYbw0j.js → alert-outline-B4ZZowEj.js} +1 -1
  119. package/dist/interface/assets/{api-CGfJbsTz.css → api-CHQlxVtZ.css} +1 -1
  120. package/dist/interface/assets/{api-CzwdnGAH.js → api-CKbL5jC7.js} +1 -1
  121. package/dist/interface/assets/api-CLazgL-g.js +4 -0
  122. package/dist/interface/assets/{arrow-left-Bk-ZrOVr.js → arrow-left-PeaVwpHd.js} +1 -1
  123. package/dist/interface/assets/{assistant-hGCAgv-f.js → assistant-CwmHp5bB.js} +1 -1
  124. package/dist/interface/assets/{assistantModels-BsSgRsws.js → assistantModels-D3ncWWu0.js} +1 -1
  125. package/dist/interface/assets/{auth-By-S-WEr.js → auth-AfZrkJ2f.js} +1 -1
  126. package/dist/interface/assets/automations-DOCG0q8-.js +1 -0
  127. package/dist/interface/assets/{back-filled-D-X19YMO.js → back-filled-CJoz7Gkl.js} +1 -1
  128. package/dist/interface/assets/{bell-ring-DreEHgoT.js → bell-ring-CBf0Yn3H.js} +1 -1
  129. package/dist/interface/assets/{brain-DuDAg544.js → brain-uZ03n3LW.js} +1 -1
  130. package/dist/interface/assets/cameraSources-mHEz9ROa.js +1 -0
  131. package/dist/interface/assets/{cctv-DM-C_8_6.js → cctv-VgKQ-dBV.js} +1 -1
  132. package/dist/interface/assets/{check-circle-Bevuw8-0.js → check-circle-BU-KNgPB.js} +1 -1
  133. package/dist/interface/assets/{check-circle-outline-aMxkvksr.js → check-circle-outline-BsxzAMed.js} +1 -1
  134. package/dist/interface/assets/{chevron-down-CCFn9Z56.js → chevron-down-CxK4Sfjs.js} +1 -1
  135. package/dist/interface/assets/{chevron-up-CSImUM3_.js → chevron-up-DWfNH8va.js} +1 -1
  136. package/dist/interface/assets/{clock-outline-DH3WIEJt.js → clock-outline-BtWx4GaF.js} +1 -1
  137. package/dist/interface/assets/{close-CMxyM4v9.js → close-Be7oB7d_.js} +1 -1
  138. package/dist/interface/assets/{close-circle-CfgJCZ9A.js → close-circle-D7Jmhp_7.js} +1 -1
  139. package/dist/interface/assets/{cloud-check-CbdFLIdR.js → cloud-check-zCGJxpWI.js} +1 -1
  140. package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +1 -0
  141. package/dist/interface/assets/{config-BQxEwrK6.js → config-AG0SnOiY.js} +1 -1
  142. package/dist/interface/assets/{content-copy-Bz49QPOI.js → content-copy-BcYlfuFc.js} +1 -1
  143. package/dist/interface/assets/{copy-DA6QQHRt.js → copy-DuY-M96E.js} +1 -1
  144. package/dist/interface/assets/{cube-scan-IiH8zwm2.js → cube-scan-Cae03i_N.js} +1 -1
  145. package/dist/interface/assets/{database-refresh-outline-CIUDpcuq.js → database-refresh-outline-B3OEQFF7.js} +1 -1
  146. package/dist/interface/assets/{delete-Btu-UVx9.js → delete-BWgOAzKl.js} +1 -1
  147. package/dist/interface/assets/{dist-D_qWDAKp.js → dist-DmpuuM9s.js} +1 -1
  148. package/dist/interface/assets/{dots-vertical-D496SIss.js → dots-vertical-Kby1GY8_.js} +1 -1
  149. package/dist/interface/assets/{download-BSC7lwq_.js → download-C291Yq7I.js} +1 -1
  150. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  151. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  152. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  153. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  154. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  155. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  156. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  157. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  158. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  159. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  160. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  161. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  162. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  163. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  164. package/dist/interface/assets/{eventIcons-UQutPG3p.js → eventIcons-C3JWChgS.js} +1 -1
  165. package/dist/interface/assets/{eye-off-CSU0U8g7.js → eye-off-zGCIHKOK.js} +1 -1
  166. package/dist/interface/assets/{flowSchema-BPq6iHks.js → flowSchema-B0d3VjU7.js} +1 -1
  167. package/dist/interface/assets/{help-circle-outline-Cr_yNhPi.js → help-circle-outline-DXFepDAG.js} +1 -1
  168. package/dist/interface/assets/{history-anuCbp1T.js → history-D-FlZdKD.js} +1 -1
  169. package/dist/interface/assets/{home-N3bDR1vX.js → home-DPdzRxcM.js} +1 -1
  170. package/dist/interface/assets/{information-outline-CMWIvLNB.js → information-outline-ChOM9qgI.js} +1 -1
  171. package/dist/interface/assets/{intercomService-CXcjcPa9.js → intercomService-DG3EeZ6s.js} +1 -1
  172. package/dist/interface/assets/{lan-CYXjdk7L.js → lan-DvYEO83l.js} +1 -1
  173. package/dist/interface/assets/{main-DVa5U7UB.css → main-CGY9cVyi.css} +1 -1
  174. package/dist/interface/assets/main-DkHV6YgB.js +3 -0
  175. package/dist/interface/assets/{microphone-BB2pATI_.js → microphone-D-T9xga4.js} +1 -1
  176. package/dist/interface/assets/{minus-BCp3ZNKO.js → minus-4T4INuO4.js} +1 -1
  177. package/dist/interface/assets/mqtt-DE2VbNdt.js +1 -0
  178. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  179. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  180. package/dist/interface/assets/{nodeDefinitions-ByrqsENY.js → nodeDefinitions-Dp8cnne1.js} +1 -1
  181. package/dist/interface/assets/{notifications-BCyiD-TP.js → notifications-8FH4ApEz.js} +1 -1
  182. package/dist/interface/assets/{pause-BQlxwAW2.js → pause-DHqHYA3V.js} +1 -1
  183. package/dist/interface/assets/{pencil-outline-CIQL5Kui.js → pencil-outline-D-GmPf8M.js} +1 -1
  184. package/dist/interface/assets/{pencil-CDsNnEXi.js → pencil-vACi-JzY.js} +1 -1
  185. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  186. package/dist/interface/assets/plugins-2JLUEMYc.js +1 -0
  187. package/dist/interface/assets/{plus-Bp4q9G7S.js → plus-BBUb8_uL.js} +1 -1
  188. package/dist/interface/assets/{plus-CySoovdr.js → plus-BJb7U4bN.js} +1 -1
  189. package/dist/interface/assets/{power-WmBLDR0-.js → power-Dm_aNIz-.js} +1 -1
  190. package/dist/interface/assets/{radar-CyYAmume.js → radar-Dcvdz--e.js} +1 -1
  191. package/dist/interface/assets/{refresh-CHTA3jVN.js → refresh-CO4F18Je.js} +1 -1
  192. package/dist/interface/assets/{restore-C8RNM5yX.js → restore-xRBt3Grb.js} +1 -1
  193. package/dist/interface/assets/rooms-DoAfzA8W.js +1 -0
  194. package/dist/interface/assets/{round-alt-arrow-left-bold-Gh5mi_yR.js → round-alt-arrow-left-bold-CZHXzGS5.js} +1 -1
  195. package/dist/interface/assets/{search-BajCVmOI.js → search-D75YW08B.js} +1 -1
  196. package/dist/interface/assets/{sensorIcons-DofElQ3w.js → sensorIcons-BntiOPX7.js} +1 -1
  197. package/dist/interface/assets/{sensorSlots-D2KJGvPw.js → sensorSlots-biaL-O8E.js} +1 -1
  198. package/dist/interface/assets/sensors-DyAMdS-H.js +1 -0
  199. package/dist/interface/assets/{server-Dw5DD473.js → server-BDRUGj61.js} +1 -1
  200. package/dist/interface/assets/{settings-DnksaK7m.js → settings-DDOgc5BX.js} +1 -1
  201. package/dist/interface/assets/{source-branch-CzqIPffP.js → source-branch-DVHuYlkZ.js} +1 -1
  202. package/dist/interface/assets/{theme-C85LJhOY.js → theme-CLxrnR60.js} +1 -1
  203. package/dist/interface/assets/{trash-2-DJeEhHf4.js → trash-2-DDKPtl2x.js} +1 -1
  204. package/dist/interface/assets/{trash-can-outline-DrT6iw7I.js → trash-can-outline-DVH3zgo0.js} +1 -1
  205. package/dist/interface/assets/{trash-fill-Bb_-UicM.js → trash-fill-C_IJ4Vu2.js} +1 -1
  206. package/dist/interface/assets/{trash2-Dsl8gfxq.js → trash2-DY0XTaJD.js} +1 -1
  207. package/dist/interface/assets/{types-CPhy0Ovw.js → types-8JXzkoC8.js} +1 -1
  208. package/dist/interface/assets/{types-DYKmSGl4.js → types-B4LLKzDW.js} +1 -1
  209. package/dist/interface/assets/types-a7Nw-P-m.js +1 -0
  210. package/dist/interface/assets/{undo-DoqJW-k7.js → undo-YRkBYCnf.js} +1 -1
  211. package/dist/interface/assets/ungrouped-BoAbb9w3.js +1 -0
  212. package/dist/interface/assets/ungrouped-ChmBvcXp.css +1 -0
  213. package/dist/interface/assets/updates-F-veEP1I.js +1 -0
  214. package/dist/interface/assets/{upload-DtIcwiNC.js → upload-2WcHRjTq.js} +1 -1
  215. package/dist/interface/assets/{upload-C3w1XH-o.js → upload-BiE7VzTj.js} +1 -1
  216. package/dist/interface/assets/{useAppVersion-DkazK9Vu.js → useAppVersion-BjUQmB7M.js} +1 -1
  217. package/dist/interface/assets/{useAssistantActions-BZP6NL18.js → useAssistantActions-CNEJol4o.js} +1 -1
  218. package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +1 -0
  219. package/dist/interface/assets/{useCameraOptions-DnI0xLrX.js → useCameraOptions-D_oduve2.js} +1 -1
  220. package/dist/interface/assets/{useKeyboardInset-Cr7SxKGN.js → useKeyboardInset-CPWSVYlA.js} +1 -1
  221. package/dist/interface/assets/{useLogsSocket-C3Y8S0Ar.js → useLogsSocket-B_jXUqv8.js} +1 -1
  222. package/dist/interface/assets/{useNavLayout-C9pcDuVP.js → useNavLayout-DEngIIeU.js} +1 -1
  223. package/dist/interface/assets/{usePermissions-CCTxwXF0.js → usePermissions-DAO92InI.js} +1 -1
  224. package/dist/interface/assets/{usePluginUpdates-DBhLWAua.js → usePluginUpdates-CJi8Y_wl.js} +1 -1
  225. package/dist/interface/assets/{usePushRegistration-CPRVdLAx.js → usePushRegistration-j9WCeFbv.js} +2 -2
  226. package/dist/interface/assets/{useServerRestart-bScBLJ9r.js → useServerRestart-BVks5tuC.js} +1 -1
  227. package/dist/interface/assets/{useStreamStatus-Bfh-WmLH.js → useStreamStatus-DQ0NSyU8.js} +1 -1
  228. package/dist/interface/assets/{useTabSwipe-C_QOrvSW.js → useTabSwipe-CVq7EcIY.js} +1 -1
  229. package/dist/interface/assets/{useUpdateChannel-g0h_4c55.js → useUpdateChannel-C0fjDvNP.js} +1 -1
  230. package/dist/interface/assets/{useUpdatesSocket-CxrLRETs.js → useUpdatesSocket-DXKF9hzc.js} +1 -1
  231. package/dist/interface/assets/useUserOptions-UjMeAL5n.js +1 -0
  232. package/dist/interface/assets/{variable-ywTlRfo5.js → variable-Cp8o-q8t.js} +1 -1
  233. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  234. package/dist/interface/assets/{vendor-ace-CvEoip98.js → vendor-ace-QSsGUspX.js} +1 -1
  235. package/dist/interface/assets/{vendor-cameraui-B28aGJJD.js → vendor-cameraui-GmMRyJ2R.js} +3 -3
  236. package/dist/interface/assets/{vendor-capacitor-Bs_WzL0Q.js → vendor-capacitor-t5EIN1GG.js} +2 -2
  237. package/dist/interface/assets/{vendor-chart-DBK083Hu.js → vendor-chart-BiJYkx5_.js} +1 -1
  238. package/dist/interface/assets/{vendor-core-DIa0tPNH.js → vendor-core-BeAannbA.js} +1 -1
  239. package/dist/interface/assets/{vendor-dnd-DGQLvX6Y.js → vendor-dnd-C1kMh9_t.js} +1 -1
  240. package/dist/interface/assets/{vendor-draggabilly-D8CK6M-y.js → vendor-draggabilly-Cw1oJ6qc.js} +1 -1
  241. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  242. package/dist/interface/assets/{vendor-markdown-qHIinIUE.js → vendor-markdown-DTWiWKBj.js} +1 -1
  243. package/dist/interface/assets/{vendor-primevue-CZKUAkMA.js → vendor-primevue-Zx6t06A4.js} +1 -1
  244. package/dist/interface/assets/{vendor-vueflow-bSwRZ9X8.js → vendor-vueflow-DWU_IzGe.js} +1 -1
  245. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  246. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  247. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  248. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  249. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  250. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  251. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  252. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  253. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  254. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  255. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  256. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  257. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  258. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  259. package/dist/interface/assets/{webhook-CWKf2Qxu.js → webhook-DIjChTrs.js} +1 -1
  260. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  261. package/dist/interface/assets/{zoom-in-CHkXAWHy.js → zoom-in-rMB152Uz.js} +1 -1
  262. package/dist/interface/ha/{404-tl2VQ3qy.js → 404-D5gfy0Cd.js} +1 -1
  263. package/dist/interface/ha/{About-Cn7KOblU.js → About-JzlpCzBN.js} +3 -3
  264. package/dist/interface/ha/{Assistant-DG2GGda0.js → Assistant-DgOfGesf.js} +2409 -1917
  265. package/dist/interface/ha/{Automation-D0_WpXx4.js → Automation-BDaWYiBu.js} +146 -146
  266. package/dist/interface/ha/{AutomationImport-DdC3dEaC.js → AutomationImport-BNB_PJ9R.js} +6 -6
  267. package/dist/interface/ha/{AutomationStore-BrLn4oBx.js → AutomationStore-_TeOt1wz.js} +73 -73
  268. package/dist/interface/ha/{AutomationStoreDetail-DoppNsNc.js → AutomationStoreDetail-jjIEZoRi.js} +20 -20
  269. package/dist/interface/ha/{Automations-BaUJ9pVq.js → Automations-DM6FEVOw.js} +110 -110
  270. package/dist/interface/ha/Camera-sH9fRv18.js +670 -0
  271. package/dist/interface/ha/{CameraConsole-7MhlS2VK.js → CameraConsole-BoVql05l.js} +4 -4
  272. package/dist/interface/ha/{Cameras-vHYz8uSO.js → Cameras-cQBGvXq7.js} +349 -347
  273. package/dist/interface/ha/{Camview-BEglAx26.js → Camview-mkG5FXZM.js} +357 -353
  274. package/dist/interface/ha/{Config-CHiK--zP.js → Config-BNPDzo_h.js} +11 -11
  275. package/dist/interface/ha/{ConfigActionAssistant-DynduZYV.js → ConfigActionAssistant-C-8P3DYz.js} +4 -4
  276. package/dist/interface/ha/{ConfigActionCameraControl-BEYePssz.js → ConfigActionCameraControl-x1ksGL7m.js} +3 -3
  277. package/dist/interface/ha/{ConfigActionHttp-h0vRWqZ5.js → ConfigActionHttp-DzCJp85z.js} +2 -2
  278. package/dist/interface/ha/{ConfigActionImageInput-B9GMZYAR.js → ConfigActionImageInput-C5C5U_2z.js} +1 -1
  279. package/dist/interface/ha/{ConfigActionMqtt-BEQpHBgf.js → ConfigActionMqtt-T29xb75r.js} +4 -4
  280. package/dist/interface/ha/{ConfigActionNotification-BYsz8_aS.js → ConfigActionNotification-BcnyilF9.js} +3 -3
  281. package/dist/interface/ha/{ConfigActionNotificationControl-BxmIWVE8.js → ConfigActionNotificationControl-D3wIVKuU.js} +2 -2
  282. package/dist/interface/ha/{ConfigActionOutput-DTOQSa1S.js → ConfigActionOutput-hD-yVczw.js} +1 -1
  283. package/dist/interface/ha/{ConfigActionPlugin-NOsUs3QI.js → ConfigActionPlugin-Bz1O-O4Q.js} +5 -5
  284. package/dist/interface/ha/{ConfigActionSensor-YWnsH_LV.js → ConfigActionSensor-FOz-PYl_.js} +5 -5
  285. package/dist/interface/ha/{ConfigActionSnapshot-DHJnTvin.js → ConfigActionSnapshot-CmxEOuK1.js} +2 -2
  286. package/dist/interface/ha/{ConfigActionVariable-C7UFnvW0.js → ConfigActionVariable-BCvkrdCh.js} +1 -1
  287. package/dist/interface/ha/{ConfigConditionIfElse-CAHbuhH3.js → ConfigConditionIfElse-icfTG9OA.js} +3 -3
  288. package/dist/interface/ha/{ConfigConditionSensorState-CE6okUeb.js → ConfigConditionSensorState-ClUAsm0d.js} +4 -4
  289. package/dist/interface/ha/{ConfigConditionSwitch-D5FULaTy.js → ConfigConditionSwitch-C8AMCkn6.js} +5 -5
  290. package/dist/interface/ha/{ConfigSensorValueInput-mo6Gs_aZ.js → ConfigSensorValueInput-ChvDQzGd.js} +4 -4
  291. package/dist/interface/ha/{ConfigTriggerDetection-Bt-OhHtM.js → ConfigTriggerDetection-aUSyaClu.js} +11 -11
  292. package/dist/interface/ha/{ConfigTriggerGeofence-Cw3jV5qD.js → ConfigTriggerGeofence-DsJeJWP4.js} +7 -7
  293. package/dist/interface/ha/{ConfigTriggerMqtt-BXeV82UG.js → ConfigTriggerMqtt-CsAxA7QZ.js} +1 -1
  294. package/dist/interface/ha/{ConfigTriggerSensor-Baqq--nJ.js → ConfigTriggerSensor-CTxr9cfU.js} +1 -1
  295. package/dist/interface/ha/{ConfigTriggerSystem-braUVGzW.js → ConfigTriggerSystem-C8UEfpfs.js} +2 -2
  296. package/dist/interface/ha/{ConfigTriggerWebhook-Dm45r-1C.js → ConfigTriggerWebhook-frEE-SCB.js} +1 -1
  297. package/dist/interface/ha/{Console-q3TCsxYo.js → Console-A3VtbsLg.js} +12 -12
  298. package/dist/interface/ha/{CuiAutomationRunsDialog-DO6h5Tc4.js → CuiAutomationRunsDialog-BlJvhBiX.js} +2 -2
  299. package/dist/interface/ha/{CuiBottomSheet-B7ldz0xi.js → CuiBottomSheet-Cu-t3H0Z.js} +1 -1
  300. package/dist/interface/ha/{CuiCameraRecordings-Dq1Vh3qA.js → CuiCameraRecordings-R5ArEmqJ.js} +11 -11
  301. package/dist/interface/ha/{CuiCameraShares-DBqcpevG.js → CuiCameraShares-B9pfRkM4.js} +5 -5
  302. package/dist/interface/ha/{CuiCameraTable-kL8rK-Uv.js → CuiCameraTable-CKjGKaMC.js} +9 -9
  303. package/dist/interface/ha/{CuiChartTable-BrFyiSt_.js → CuiChartTable-BxWjRe-k.js} +16 -16
  304. package/dist/interface/ha/{CuiConsole-DpeXZmJd.js → CuiConsole-C5fzsR7t.js} +4 -4
  305. package/dist/interface/ha/{CuiDataTable-BtqzIz0o.js → CuiDataTable-BOdQDY8J.js} +5 -5
  306. package/dist/interface/ha/{CuiPluginCard-lBLypaN4.js → CuiPluginCard-BT71RRAD.js} +33 -33
  307. package/dist/interface/ha/{CuiPluginOAuthButton-CuGauZJA.js → CuiPluginOAuthButton-moh9uS7G.js} +7 -7
  308. package/dist/interface/ha/{CuiPluginTrustBadge-BofBmRYc.js → CuiPluginTrustBadge-F_pVWkPJ.js} +1 -1
  309. package/dist/interface/ha/{CuiQRCode-CdK9bwKb.js → CuiQRCode-BNuj-nJ4.js} +6 -6
  310. package/dist/interface/ha/{CuiSchema-DqkCLv9Y.js → CuiSchema-Cb_8Ks-I.js} +125 -125
  311. package/dist/interface/ha/{CuiTopNavbarItem-C2VZB7WV.js → CuiTopNavbarItem-BGzrrTls.js} +1 -1
  312. package/dist/interface/ha/{Faces-Crfi-75Z.js → Faces-CsM5VO8Q.js} +142 -142
  313. package/dist/interface/ha/{FirstSteps-CKVG86pf.js → FirstSteps-BFX0-EEi.js} +12 -12
  314. package/dist/interface/ha/{Floorplan-CH9_-6hk.js → Floorplan-D6MGqSJT.js} +198 -199
  315. package/dist/interface/ha/{Instances-5gZdPPDA.js → Instances-CHzIUyyA.js} +72 -72
  316. package/dist/interface/ha/{Logs-BkzEM70F.js → Logs-DZKM3dWv.js} +10 -10
  317. package/dist/interface/ha/{Menu-BuT3_Ggx.js → Menu-BQz4dfQi.js} +8 -8
  318. package/dist/interface/ha/{Metrics-BGrzu0bu.js → Metrics-CdpWJ1mm.js} +89 -89
  319. package/dist/interface/ha/{OAuthDeviceFlow-BEJtegqy.js → OAuthDeviceFlow-DUELtx3X.js} +9 -9
  320. package/dist/interface/ha/{Plugin-Bnp2jiC2.js → Plugin-5bbTF0Rv.js} +92 -92
  321. package/dist/interface/ha/{PluginConsole-CmsuPVMz.js → PluginConsole-C__0lzsS.js} +4 -4
  322. package/dist/interface/ha/{PluginDetail-BCNx7vHr.js → PluginDetail-Blrktk9W.js} +9 -9
  323. package/dist/interface/ha/{PluginSearch-DOdhuxgM.js → PluginSearch-BKbdwHQ1.js} +121 -121
  324. package/dist/interface/ha/{PluginUpdateProgress-CwkKc8Tr.js → PluginUpdateProgress-IsNiecu3.js} +3 -3
  325. package/dist/interface/ha/{Plugins-BrFowCdC.js → Plugins-CC2Dwlx5.js} +53 -53
  326. package/dist/interface/ha/{Recordings-BZhf39pJ.js → Recordings-B1XsJrzs.js} +318 -318
  327. package/dist/interface/ha/{SensorEdit-Ds6WbN4A.js → SensorEdit-Bi2Yx_ji.js} +46 -46
  328. package/dist/interface/ha/{SensorHistory-CoTIYTJx.js → SensorHistory-sqG_6eav.js} +2 -2
  329. package/dist/interface/ha/{Sensors-DZ2MKdlh.js → Sensors-DLtOh1p4.js} +509 -510
  330. package/dist/interface/ha/{Settings-D3JKr430.js → Settings-DI3_zenm.js} +38 -38
  331. package/dist/interface/ha/{SettingsAccount-cvtlSKZw.js → SettingsAccount-pS86Qyr-.js} +251 -251
  332. package/dist/interface/ha/{SettingsAppearance-CaKuOHRu.js → SettingsAppearance-tS3bubKQ.js} +4 -4
  333. package/dist/interface/ha/{SettingsAssistant-vWVjAUqQ.js → SettingsAssistant-LejCRXsF.js} +501 -501
  334. package/dist/interface/ha/{SettingsBackup-CvzL_bVf.js → SettingsBackup-CkhD1Kze.js} +23 -23
  335. package/dist/interface/ha/{SettingsList-C0Ec8x-H.js → SettingsList-bibwvPSM.js} +2 -2
  336. package/dist/interface/ha/{SettingsMqtt-COnq-QM5.js → SettingsMqtt-DSt0B4Qg.js} +18 -18
  337. package/dist/interface/ha/{SettingsNotifications-BZ68bQzO.js → SettingsNotifications-BF7ajNwE.js} +118 -118
  338. package/dist/interface/ha/{SettingsRecordings-BPtNNpDa.js → SettingsRecordings-BTIdncxg.js} +9 -9
  339. package/dist/interface/ha/{SettingsRemote-BXG8IYjf.js → SettingsRemote-Cba4P1-O.js} +347 -344
  340. package/dist/interface/ha/{SettingsSystem-_jHBUhws.js → SettingsSystem-_Nnh2ZF5.js} +9 -9
  341. package/dist/interface/ha/{SettingsUsers-CzGj_RJN.js → SettingsUsers-BfHFoxJi.js} +83 -83
  342. package/dist/interface/ha/{Terminal-BP3b8IBP.js → Terminal-Dv_7oWmS.js} +11 -11
  343. package/dist/interface/ha/{Training-C2-6DgY0.js → Training-CaSFA5oH.js} +184 -184
  344. package/dist/interface/ha/{Updates-BMZsEhmy.js → Updates-BHl5H7zE.js} +15 -15
  345. package/dist/interface/ha/{VariableInput-DmI7skCD.js → VariableInput-DtLo7-Nw.js} +1 -1
  346. package/dist/interface/ha/{VersionsHandler-DJd4NqtD.js → VersionsHandler-CF0DSeol.js} +10 -10
  347. package/dist/interface/ha/{VirtualSensorCreate-DmtGYvAn.js → VirtualSensorCreate-C907EgIz.js} +2 -2
  348. package/dist/interface/ha/Workers-Dz1d9gEQ.js +814 -0
  349. package/dist/interface/ha/{ace-B3bPzJu9.js → ace-C9MtBQVV.js} +1 -1
  350. package/dist/interface/ha/{ace.config-Dt55Nqby.js → ace.config-CSXnaIzV.js} +1 -1
  351. package/dist/interface/ha/{api-BelbnLQO.js → api-DUqpDJ2N.js} +13766 -13527
  352. package/dist/interface/ha/{api-sy4rqV2N.js → api-gId1nlMj.js} +4 -4
  353. package/dist/interface/ha/{assistant-C6KYXJfi.js → assistant-BaR65gIY.js} +50 -50
  354. package/dist/interface/ha/{auth-Da66mVEd.js → auth-Btsz_KxO.js} +38 -38
  355. package/dist/interface/ha/{automationBlueprint-hlqqM17r.js → automationBlueprint-CuO3iOiM.js} +3 -3
  356. package/dist/interface/ha/cameraui-cards.js +1 -1
  357. package/dist/interface/ha/{cards-BFRRfuM7.js → cards-DWhezIPP.js} +1449 -1409
  358. package/dist/interface/ha/{config-Cd7JNMpD.js → config-BKStpoEQ.js} +12 -12
  359. package/dist/interface/ha/{dist-BybVYMVs.js → dist-CM7R4_Gj.js} +15 -6
  360. package/dist/interface/ha/{mqtt-UZfptWJl.js → mqtt-ajcSmTB-.js} +14 -14
  361. package/dist/interface/ha/{notifications-DTHM8fS-.js → notifications-Cf9dXHEO.js} +18 -18
  362. package/dist/interface/ha/{pinia-BokSpDzj.js → pinia-DIKO5lnE.js} +267 -259
  363. package/dist/interface/ha/{plugins-Bwp_GfaX.js → plugins-ml823dJV.js} +61 -61
  364. package/dist/interface/ha/{rooms-BvaD0r0q.js → rooms-C5gUErBi.js} +9 -9
  365. package/dist/interface/ha/{server-OWdtITVa.js → server-dArenpJI.js} +26 -26
  366. package/dist/interface/ha/{types-BFJjyMZe.js → types-DYymuACA.js} +25 -25
  367. package/dist/interface/ha/{ungrouped-x00DHNHO.js → ungrouped-BHLAySWP.js} +39 -38
  368. package/dist/interface/ha/{updates-C03Qf3Il.js → updates-D5sFzGtC.js} +33 -33
  369. package/dist/interface/ha/{useAppVersion-CrMd9CC9.js → useAppVersion-C5x3Ap4_.js} +1 -1
  370. package/dist/interface/ha/{useKeyboardInset-DwUQCWHC.js → useKeyboardInset-Cj0T2AFX.js} +1 -1
  371. package/dist/interface/ha/{useLogsSocket-C6k217mW.js → useLogsSocket-DtvfQlPh.js} +1 -1
  372. package/dist/interface/ha/{useNavLayout-DhuQE024.js → useNavLayout-HSFBA4JV.js} +13 -13
  373. package/dist/interface/ha/{useServerRestart-CYaen2r6.js → useServerRestart-Ci0SppGW.js} +1 -1
  374. package/dist/interface/ha/{useTabSwipe-DAmCFlgg.js → useTabSwipe-CPKkRmaH.js} +1 -1
  375. package/dist/interface/ha/{useUpdateChannel-Dr1EoU2X.js → useUpdateChannel-CXHHovK3.js} +2 -2
  376. package/dist/interface/ha/{useUpdatesSocket-C8Gmhemh.js → useUpdatesSocket-DVST2YXV.js} +1 -1
  377. package/dist/interface/ha/{useUserOptions-BB5wk3Bq.js → useUserOptions-BYcYI6QA.js} +1 -1
  378. package/dist/interface/index.html +69 -69
  379. package/dist/interface/sw.js +1 -1
  380. package/dist/server/package.json +15 -15
  381. package/dist/server/requirements.txt +2 -2
  382. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  383. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  384. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  385. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  386. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  387. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  388. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  389. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  390. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  391. package/dist/server/src/api/database/record-schemas.d.ts +3 -0
  392. package/dist/server/src/api/database/record-schemas.js +1 -0
  393. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  394. package/dist/server/src/api/database/types.d.ts +4 -0
  395. package/dist/server/src/api/routes/workers.routes.js +4 -4
  396. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  397. package/dist/server/src/api/schemas/cameras.schema.d.ts +38 -0
  398. package/dist/server/src/api/schemas/cameras.schema.js +22 -0
  399. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  400. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  401. package/dist/server/src/api/schemas/users.schema.js +4 -0
  402. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  403. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  404. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  405. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  406. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  407. package/dist/server/src/api/services/cameras.service.js +47 -2
  408. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  409. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  410. package/dist/server/src/api/services/plugins.service.js +5 -1
  411. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  412. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  413. package/dist/server/src/api/services/workers.service.js +15 -0
  414. package/dist/server/src/api/services/workers.service.js.map +1 -1
  415. package/dist/server/src/api/types/index.d.ts +3 -2
  416. package/dist/server/src/assistant/pricing.js +39 -10
  417. package/dist/server/src/assistant/pricing.js.map +1 -1
  418. package/dist/server/src/assistant/providers.js +9 -1
  419. package/dist/server/src/assistant/providers.js.map +1 -1
  420. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -2
  421. package/dist/server/src/camera/decoder/event-manager.js +37 -59
  422. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  423. package/dist/server/src/manager/coreManager.d.ts +2 -1
  424. package/dist/server/src/manager/coreManager.js +9 -2
  425. package/dist/server/src/manager/coreManager.js.map +1 -1
  426. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  427. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  428. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  429. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  430. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  431. package/dist/server/src/rpc/interfaces/core.d.ts +1 -1
  432. package/dist/server/src/sensors/registry.d.ts +2 -0
  433. package/dist/server/src/sensors/registry.js +24 -0
  434. package/dist/server/src/sensors/registry.js.map +1 -1
  435. package/dist/server/src/workers/agent.js +2 -0
  436. package/dist/server/src/workers/agent.js.map +1 -1
  437. package/dist/server/src/workers/manager.d.ts +1 -0
  438. package/dist/server/src/workers/manager.js +22 -0
  439. package/dist/server/src/workers/manager.js.map +1 -1
  440. package/dist/server/src/workers/types.d.ts +5 -0
  441. package/dist/server/src/workers/types.js.map +1 -1
  442. package/npm-shrinkwrap.json +107 -107
  443. package/package.json +15 -15
  444. package/dist/interface/assets/Automation-D__qvx8c.js +0 -3
  445. package/dist/interface/assets/Automations-BH_7lYR7.js +0 -2
  446. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  447. package/dist/interface/assets/Camera-aquPHFwb.js +0 -2
  448. package/dist/interface/assets/Camview-CjcQbtTl.js +0 -1
  449. package/dist/interface/assets/Config-Dc1zKIPq.js +0 -2
  450. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +0 -5
  451. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +0 -1
  452. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  453. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +0 -1
  454. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +0 -1
  455. package/dist/interface/assets/CuiDataTable-C0gsYYpg.js +0 -1
  456. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  457. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +0 -2
  458. package/dist/interface/assets/Faces-DRHMrrxh.js +0 -1
  459. package/dist/interface/assets/Floorplan-CqWIbDbh.js +0 -1
  460. package/dist/interface/assets/Metrics-BYnnb7M0.js +0 -12
  461. package/dist/interface/assets/Plugin-DJIrYUnZ.js +0 -1
  462. package/dist/interface/assets/PluginDetail-DmElwUuV.js +0 -2
  463. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +0 -1
  464. package/dist/interface/assets/Plugins-ZFcB_j6v.js +0 -1
  465. package/dist/interface/assets/Recordings-BJrtW9eG.js +0 -1
  466. package/dist/interface/assets/Sensors-C_InhcHA.js +0 -2
  467. package/dist/interface/assets/SettingsAccount-B05739dn.js +0 -1
  468. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +0 -1
  469. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +0 -1
  470. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +0 -1
  471. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  472. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +0 -2
  473. package/dist/interface/assets/Training-A5ynOv_l.js +0 -1
  474. package/dist/interface/assets/Workers-2sc4VMi9.js +0 -2
  475. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  476. package/dist/interface/assets/api-DOpXVpef.js +0 -4
  477. package/dist/interface/assets/automations-vwIwb2PQ.js +0 -1
  478. package/dist/interface/assets/cameraSources-BMhXvtFt.js +0 -1
  479. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +0 -1
  480. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  481. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  482. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  483. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  484. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  485. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  486. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  487. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  488. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  489. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  490. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  491. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  492. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  493. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  494. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  495. package/dist/interface/assets/main-By4L33Im.js +0 -3
  496. package/dist/interface/assets/mqtt-DE1KQ8Td.js +0 -1
  497. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  498. package/dist/interface/assets/native-DKZwialB.js +0 -1
  499. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  500. package/dist/interface/assets/plugins-BJPCV1YL.js +0 -1
  501. package/dist/interface/assets/rooms-Dr4yiakO.js +0 -1
  502. package/dist/interface/assets/sensors-3llrL7s3.js +0 -1
  503. package/dist/interface/assets/types-i1kTodPP.js +0 -1
  504. package/dist/interface/assets/ungrouped-BlheTJCh.css +0 -1
  505. package/dist/interface/assets/ungrouped-C2CWO39a.js +0 -1
  506. package/dist/interface/assets/updates-C2LhMkNR.js +0 -1
  507. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +0 -1
  508. package/dist/interface/assets/useUserOptions-DN0t3gBr.js +0 -1
  509. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  510. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  511. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  512. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  513. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  514. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  515. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  516. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  517. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  518. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  519. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  520. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  521. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  522. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  523. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  524. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  525. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  526. package/dist/interface/ha/Camera-Cj5ImvZG.js +0 -657
  527. package/dist/interface/ha/Workers-2HTPHgKV.js +0 -765
  528. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
@@ -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 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";
6
+ import { Ar as P, B as F, Dn as I, Er as L, Fn as R, Gn as z, H as B, J as te, Jr as V, Jt as ne, Ln as H, Mn as re, Mr as ie, Nr as ae, Or as U, R as oe, Sr as se, U as W, V as ce, X as le, Yn as ue, Zn as G, _r as de, ar as fe, at as pe, et as me, fa as he, g as ge, gn as _e, gt as ve, jr as ye, kr as be, lt as xe, or as Se, ot as Ce, q as we, rr as Te, vi as Ee, wi as De, xi as Oe, xr as ke, z as Ae, zn as je } from "./api-DUqpDJ2N.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-CM7R4_Gj.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-BaR65gIY.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-BHLAySWP.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";
30
30
  //#region src/components/CuiDialog/templates/ClipReindex/ClipReindex.vue?vue&type=script&setup=true&lang.ts
31
- var ut = { class: "flex flex-col gap-4" }, dt = { class: "text-sm text-pretty" }, ft = {
31
+ var lt = { class: "flex flex-col gap-4" }, ut = { class: "text-sm text-pretty" }, dt = {
32
32
  key: 0,
33
33
  class: "flex flex-col gap-2"
34
- }, pt = {
34
+ }, ft = {
35
35
  key: 0,
36
36
  class: "flex justify-between text-sm text-muted"
37
- }, mt = { key: 0 }, ht = /* @__PURE__ */ D({
37
+ }, pt = { key: 0 }, mt = /* @__PURE__ */ D({
38
38
  __name: "ClipReindex",
39
39
  setup(e, { expose: t }) {
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(() => {
40
+ let r = n("dialogRefProps"), { t: o } = Le(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = R(), 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 ut = { class: "flex flex-col gap-4" }, dt = { 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 = Ye;
72
- return i(), v("div", ut, [C("span", dt, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", ft, [k(n, {
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, {
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", pt, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
77
+ }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", ft, [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", mt, 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", pt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
81
81
  };
82
82
  }
83
- }), Y = {
83
+ }), X = {
84
84
  viewBox: "0 0 24 24",
85
85
  width: "1.2em",
86
86
  height: "1.2em"
87
87
  };
88
- function gt(e, t) {
89
- return i(), v("svg", Y, [...t[0] ||= [C("path", {
88
+ function ht(e, t) {
89
+ return i(), v("svg", X, [...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 _t = l({
94
+ var gt = l({
95
95
  name: "mdi-file-video-outline",
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 = {
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 = {
98
98
  key: 0,
99
99
  class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
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 = {
100
+ }, $ = { class: "font-semibold" }, Pt = { class: "font-semibold" }, Ft = { 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 _t = l({
110
110
  preselect: {}
111
111
  },
112
112
  setup(e, { expose: t }) {
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(() => [{
113
+ let o = e, { t: s } = Le(), c = De(), 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(() => [{
114
114
  label: s("views.recordings.export.quality_best"),
115
115
  value: "best"
116
116
  }, {
@@ -131,8 +131,8 @@ var _t = 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 ? "~" : ""), 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 [];
134
+ }))), P = m(() => E.value > 0), F = m(() => P.value ? "~" : ""), I = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), R = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), z = m(() => {
135
+ if (!R.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 _t = 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: ae(i),
144
+ day: re(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
- }), 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);
150
+ }), B = 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" : ie(r);
152
152
  return {
153
153
  cameraId: e.cameraId,
154
154
  cameraName: t,
155
- name: `${se(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
156
- span: i ? s("views.recordings.export.whole_day") : `${oe(n)}–${a}`,
155
+ name: `${ae(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
156
+ span: i ? s("views.recordings.export.whole_day") : `${ie(n)}–${a}`,
157
157
  bytes: P.value ? e.bytes / Ut : e.bytes
158
158
  };
159
- })), ne = m(() => {
159
+ })), te = m(() => {
160
160
  let e = /* @__PURE__ */ new Map();
161
- for (let t of R.value) {
161
+ for (let t of B.value) {
162
162
  let n = e.get(t.cameraId);
163
163
  n || (n = {
164
164
  cameraId: t.cameraId,
@@ -168,29 +168,29 @@ var _t = l({
168
168
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
169
169
  }
170
170
  return [...e.values()];
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) {
171
+ }), V = m(() => B.value.reduce((e, t) => e + t.bytes, 0)), ne = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : R.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
172
+ function H(e) {
173
173
  return String(e).padStart(2, "0");
174
174
  }
175
- function ae(e) {
176
- return `${e.getFullYear()}-${z(e.getMonth() + 1)}-${z(e.getDate())}`;
175
+ function re(e) {
176
+ return `${e.getFullYear()}-${H(e.getMonth() + 1)}-${H(e.getDate())}`;
177
177
  }
178
- function oe(e) {
179
- return `${z(e.getHours())}:${z(e.getMinutes())}`;
178
+ function ie(e) {
179
+ return `${H(e.getHours())}:${H(e.getMinutes())}`;
180
180
  }
181
- function se(e) {
181
+ function ae(e) {
182
182
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
183
183
  }
184
- function B(e) {
184
+ function U(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 ce() {
191
+ async function oe() {
192
192
  let e = g.value;
193
- if (!e?.nvrExportEstimate || x.value.length === 0 || L.value.length === 0) {
193
+ if (!e?.nvrExportEstimate || x.value.length === 0 || z.value.length === 0) {
194
194
  _.value = [], y.value = !1;
195
195
  return;
196
196
  }
@@ -198,7 +198,7 @@ var _t = l({
198
198
  try {
199
199
  let t = await e.nvrExportEstimate({
200
200
  cameras: x.value,
201
- slices: L.value,
201
+ slices: z.value,
202
202
  quality: w.value
203
203
  });
204
204
  _.value = t.files ?? [];
@@ -208,8 +208,8 @@ var _t = l({
208
208
  y.value = !1;
209
209
  }
210
210
  }
211
- async function V() {
212
- if (!I.value || x.value.length === 0 || L.value.length === 0) return null;
211
+ async function W() {
212
+ if (!R.value || x.value.length === 0 || z.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 _t = l({
218
218
  }), null;
219
219
  let t = await e.nvrExportBatch({
220
220
  cameras: x.value,
221
- slices: L.value,
221
+ slices: z.value,
222
222
  quality: w.value,
223
223
  timelapseIntervalSec: P.value ? E.value : 0
224
224
  });
225
- await me({
225
+ await se({
226
226
  url: t.url,
227
227
  filename: t.filename
228
228
  });
229
229
  }
230
- return Ie([
230
+ return Pe([
231
231
  x,
232
- L,
232
+ z,
233
233
  w
234
- ], ce, {
234
+ ], oe, {
235
235
  debounce: 350,
236
236
  immediate: !0,
237
237
  deep: !0
238
238
  }), S(() => {
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, {
239
+ l.disabled && (l.disabled.value = !R.value || x.value.length === 0 || !y.value && B.value.length === 0);
240
+ }), t({ onConfirm: W }), (t, n) => {
241
+ let o = Ye, s = Ke, c = M, l = Se, m = q, g = N, _ = L, 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, {
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 _t = l({
255
255
  "options",
256
256
  "placeholder"
257
257
  ])]),
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, {
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, {
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", Tt, [C("span", Et, a(t.$t("views.recordings.export.to")), 1), k(s, {
267
+ }, null, 8, ["modelValue", "max-date"])]), C("div", wt, [C("span", Tt, 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 _t = l({
272
272
  fluid: "",
273
273
  "min-date": p(D)
274
274
  }, null, 8, ["modelValue", "min-date"])])]),
275
- p(I) ? (i(), u(c, {
275
+ p(R) ? (i(), u(c, {
276
276
  key: 1,
277
277
  severity: "secondary",
278
278
  variant: "simple",
@@ -292,7 +292,7 @@ var _t = l({
292
292
  _: 1
293
293
  }))
294
294
  ]),
295
- C("div", Dt, [C("div", Ot, [C("label", kt, a(t.$t("views.recordings.export.quality")), 1), k(l, {
295
+ C("div", Et, [C("div", Dt, [C("label", Ot, 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 _t = l({
303
303
  root: { class: "flex w-full" },
304
304
  pcToggleButton: { root: { class: "flex-1" } }
305
305
  }
306
- }, null, 8, ["modelValue", "options"])]), C("div", At, [C("label", jt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
306
+ }, null, 8, ["modelValue", "options"])]), C("div", kt, [C("label", At, 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 _t = l({
311
311
  "option-value": "value",
312
312
  class: "w-full"
313
313
  }, null, 8, ["modelValue", "options"])])]),
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),
314
+ C("div", jt, [C("div", Mt, [C("label", Nt, a(t.$t("views.recordings.export.result")), 1), p(B).length ? (i(), v("div", Q, [
315
+ C("span", $, a(p(B).length) + " " + a(p(B).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(B(p(re))), 1),
317
+ C("span", Pt, a(p(F)) + a(U(p(V))), 1),
318
318
  k(g, {
319
- value: p(R).length === 1 ? "MP4" : "ZIP",
319
+ value: p(B).length === 1 ? "MP4" : "ZIP",
320
320
  severity: "info"
321
321
  }, null, 8, ["value"])
322
- ])) : d("", !0)]), C("div", $, [C("div", It, [p(y) && !p(R).length ? (i(), v("div", Lt, [k(_, {
322
+ ])) : d("", !0)]), C("div", Ft, [C("div", It, [p(y) && !p(B).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(R).length ? (i(!0), v(b, { key: 2 }, r(p(ne), (e) => (i(), v("div", {
329
+ }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(B).length ? (i(!0), v(b, { key: 2 }, r(p(te), (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(B(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(U(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(B(e.bytes)), 1)
340
- ]))), 128))]))), 128)) : (i(), v("div", Rt, a(p(ie)), 1))])])])
339
+ C("span", Ht, a(p(F)) + a(U(e.bytes)), 1)
340
+ ]))), 128))]))), 128)) : (i(), v("div", Rt, a(p(ne)), 1))])])])
341
341
  ]);
342
342
  };
343
343
  }
@@ -407,7 +407,7 @@ var Xt = l({
407
407
  }, Rn = { class: "filter-logic-divider" }, zn = { class: "flex flex-col gap-2" }, Bn = {
408
408
  key: 0,
409
409
  class: "flex flex-col gap-2"
410
- }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ R(/* @__PURE__ */ D({
410
+ }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ U(/* @__PURE__ */ D({
411
411
  __name: "RecordingsFilterSidebar",
412
412
  props: {
413
413
  filters: {},
@@ -431,33 +431,33 @@ var Xt = l({
431
431
  "close"
432
432
  ],
433
433
  setup(n, { expose: o, emit: s }) {
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({
434
+ let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Le(), { topbarOffset: w, bottombarHeight: E } = ae(), { icons: D, generic: j } = He(), ee = D, M = Xt, N = qt, P = x("sidebarRef"), F = O(h.filters.semanticQuery ?? ""), I = O(""), L = A({
435
435
  eventTypes: !0,
436
436
  attributes: !0,
437
437
  sensorEvents: !0
438
- }), R = m(() => h.isOpen ? Hn : 0), ne = m(() => {
438
+ }), R = m(() => h.isOpen ? Hn : 0), z = m(() => {
439
439
  let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
440
440
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
441
441
  id: e,
442
442
  name: e === "Default" ? S("components.form.label.room_default") : e
443
443
  }));
444
- }), re = m(() => {
444
+ }), B = m(() => {
445
445
  let e = h.filters.rooms;
446
446
  return (e.length > 0 ? h.cameras.filter((t) => e.includes(t.room ?? "")) : h.cameras).map((e) => ({
447
447
  id: e.id,
448
448
  name: e.name
449
449
  }));
450
- }), ie = m(() => {
450
+ }), te = m(() => {
451
451
  if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
452
- }), z = m(() => h.filters.contentKind === "episodes"), ae = m(() => {
453
- let e = z.value ? "episodes" : "recordings";
452
+ }), V = m(() => h.filters.contentKind === "episodes"), ne = m(() => {
453
+ let e = V.value ? "episodes" : "recordings";
454
454
  if (h.resultTotal === void 0) return S(`views.recordings.result_count_${e}`, { count: h.resultCount });
455
455
  let t = h.resultCapped ? `${h.resultTotal}+` : h.resultTotal;
456
456
  return S(`views.recordings.result_count_${e}_of`, {
457
457
  count: h.resultCount,
458
458
  total: t
459
459
  });
460
- }), oe = m(() => [
460
+ }), ie = m(() => [
461
461
  {
462
462
  label: S("views.recordings.content_kind_all"),
463
463
  value: "all"
@@ -470,13 +470,13 @@ var Xt = l({
470
470
  label: S("views.recordings.content_kind_episodes"),
471
471
  value: "episodes"
472
472
  }
473
- ]), B = m(() => [{
473
+ ]), U = m(() => [{
474
474
  label: S("views.recordings.filter_and"),
475
475
  value: "and"
476
476
  }, {
477
477
  label: S("views.recordings.filter_or"),
478
478
  value: "or"
479
- }]), ce = m(() => [
479
+ }]), oe = m(() => [
480
480
  {
481
481
  label: S("views.recordings.time_1h"),
482
482
  value: "1h"
@@ -493,37 +493,37 @@ var Xt = l({
493
493
  label: S("views.recordings.time_1m"),
494
494
  value: "1m"
495
495
  }
496
- ]), le = m(() => Ve.filter((e) => !l.has(e)).map((e) => ({
496
+ ]), se = m(() => ze.filter((e) => !l.has(e)).map((e) => ({
497
497
  label: S(`views.recordings.type_${e}`),
498
498
  value: e,
499
499
  icon: D[e] ?? j
500
- }))), V = m(() => ({
500
+ }))), W = m(() => ({
501
501
  label: S("views.recordings.type_other"),
502
- value: te,
502
+ value: H,
503
503
  icon: D.other ?? j
504
- })), ue = m(() => _e.map((e) => ({
505
- label: S(et(e)),
504
+ })), ce = m(() => Ee.map((e) => ({
505
+ label: S($e(e)),
506
506
  value: e,
507
507
  icon: ee[e] ?? j
508
- }))), de = m(() => Be.map((e) => ({
509
- label: S(q(e)),
508
+ }))), le = m(() => Re.map((e) => ({
509
+ label: S(J(e)),
510
510
  value: e,
511
511
  icon: D[e] ?? j
512
- }))), fe = m(() => He.map((e) => ({
513
- label: S(J(e)),
512
+ }))), ue = m(() => Be.map((e) => ({
513
+ label: S(Y(e)),
514
514
  value: e,
515
515
  icon: D[e] ?? j
516
516
  })));
517
- function H(e, t) {
517
+ function G(e, t) {
518
518
  g("update:filters", {
519
519
  ...h.filters,
520
520
  [e]: t
521
521
  });
522
522
  }
523
- let pe = Pe((e) => {
524
- H("search", e);
523
+ let de = Me((e) => {
524
+ G("search", e);
525
525
  }, 300);
526
- function me(e) {
526
+ function pe(e) {
527
527
  let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
528
528
  g("update:filters", {
529
529
  ...h.filters,
@@ -531,40 +531,40 @@ var Xt = l({
531
531
  cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
532
532
  });
533
533
  }
534
- function he() {
534
+ function me() {
535
535
  let e = I.value.trim();
536
536
  e && !h.assistantSearchLoading && g("assistant-search", e);
537
537
  }
538
- function ge() {
538
+ function he() {
539
539
  let e = F.value.trim();
540
- H("semanticQuery", e), g("semantic-search", e);
540
+ G("semanticQuery", e), g("semantic-search", e);
541
541
  }
542
- function ye(e) {
542
+ function ge(e) {
543
543
  let t = [...h.filters.eventTypes], n = t.indexOf(e);
544
- n >= 0 ? t.splice(n, 1) : t.push(e), H("eventTypes", t);
544
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
545
545
  }
546
- function be(e) {
546
+ function ve(e) {
547
547
  let t = [...h.filters.audioLabels], n = t.indexOf(e);
548
- n >= 0 ? t.splice(n, 1) : t.push(e), H("audioLabels", t);
548
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
549
549
  }
550
- function Ce(e) {
550
+ function ye(e) {
551
551
  let t = [...h.filters.sensorEvents], n = t.indexOf(e);
552
- n >= 0 ? t.splice(n, 1) : t.push(e), H("sensorEvents", t);
552
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
553
553
  }
554
- function we(e) {
554
+ function be(e) {
555
555
  let t = [...h.filters.hasAttributes], n = t.indexOf(e);
556
- n >= 0 ? t.splice(n, 1) : t.push(e), H("hasAttributes", t);
556
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
557
557
  }
558
- function Te(e) {
558
+ function xe(e) {
559
559
  L[e] = !L[e];
560
560
  }
561
561
  return _(F, (e) => {
562
- !e?.trim() && h.filters.semanticQuery && H("semanticQuery", "");
563
- }), Re(P, (e) => {
562
+ !e?.trim() && h.filters.semanticQuery && G("semanticQuery", "");
563
+ }), Ie(P, (e) => {
564
564
  let t = e.target;
565
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");
566
566
  }), o({ sidebarWidth: R }), (o, s) => {
567
- let l = U, m = Ke, h = se, g = Ze, _ = Ge, x = xe, S = Ue, D = Xe, O = je, A = ve, j = G;
567
+ let l = Se, m = Ge, h = re, g = Xe, _ = Ue, x = fe, S = Ve, D = Ye, O = ke, A = _e, j = K;
568
568
  return i(), v("nav", {
569
569
  ref_key: "sidebarRef",
570
570
  ref: P,
@@ -582,26 +582,26 @@ var Xt = l({
582
582
  C("label", Qt, a(o.$t("views.recordings.content_kind")), 1),
583
583
  k(l, {
584
584
  "model-value": n.filters.contentKind,
585
- options: p(oe),
585
+ options: p(ie),
586
586
  "option-label": "label",
587
587
  "option-value": "value",
588
588
  "allow-empty": !1,
589
589
  class: "content-kind-toggle",
590
- "onUpdate:modelValue": s[0] ||= (e) => H("contentKind", e)
590
+ "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
591
591
  }, null, 8, ["model-value", "options"]),
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)
592
+ p(V) ? (i(), v(b, { key: 0 }, [C("span", $t, a(p(ne)), 1), C("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)], 64)) : d("", !0)
593
593
  ]),
594
594
  s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
595
- p(z) ? d("", !0) : (i(), v(b, { key: 0 }, [
595
+ p(V) ? d("", !0) : (i(), v(b, { key: 0 }, [
596
596
  C("div", tn, [
597
597
  C("label", nn, a(o.$t("views.recordings.search")), 1),
598
598
  C("span", rn, [k(m, {
599
599
  "model-value": n.filters.search,
600
600
  placeholder: o.$t("views.recordings.search_placeholder"),
601
601
  class: "w-full text-sm",
602
- "onUpdate:modelValue": s[1] ||= (e) => p(pe)(e)
602
+ "onUpdate:modelValue": s[1] ||= (e) => p(de)(e)
603
603
  }, null, 8, ["model-value", "placeholder"])]),
604
- C("span", an, a(p(ae)), 1)
604
+ C("span", an, a(p(ne)), 1)
605
605
  ]),
606
606
  s[16] ||= C("div", { class: "sidebar-divider" }, null, -1),
607
607
  C("div", on, [
@@ -626,7 +626,7 @@ var Xt = l({
626
626
  class: "w-full text-xs",
627
627
  loading: n.semanticSearchLoading,
628
628
  disabled: !n.semanticSearchAvailable || !p(F)?.trim(),
629
- onClick: ge
629
+ onClick: he
630
630
  }, null, 8, [
631
631
  "label",
632
632
  "loading",
@@ -639,7 +639,7 @@ var Xt = l({
639
639
  max: 1,
640
640
  step: .05,
641
641
  class: "flex-1",
642
- "onUpdate:modelValue": s[3] ||= (e) => H("minSemanticScore", e)
642
+ "onUpdate:modelValue": s[3] ||= (e) => G("minSemanticScore", e)
643
643
  }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
644
644
  ]),
645
645
  s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
@@ -652,7 +652,7 @@ var Xt = l({
652
652
  placeholder: o.$t("views.recordings.assistant_search_placeholder"),
653
653
  class: "w-full text-sm",
654
654
  disabled: n.assistantSearchLoading,
655
- onKeydown: t(e(he, ["prevent"]), ["enter"])
655
+ onKeydown: t(e(me, ["prevent"]), ["enter"])
656
656
  }, null, 8, [
657
657
  "modelValue",
658
658
  "placeholder",
@@ -667,7 +667,7 @@ var Xt = l({
667
667
  class: "w-full text-xs",
668
668
  loading: n.assistantSearchLoading,
669
669
  disabled: !p(I).trim(),
670
- onClick: he
670
+ onClick: me
671
671
  }, null, 8, [
672
672
  "label",
673
673
  "loading",
@@ -675,9 +675,9 @@ var Xt = l({
675
675
  ]),
676
676
  n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
677
677
  ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
678
- p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(D, {
678
+ p(z).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(D, {
679
679
  "model-value": n.filters.rooms,
680
- options: p(ne),
680
+ options: p(z),
681
681
  "option-label": "name",
682
682
  "option-value": "id",
683
683
  placeholder: o.$t("views.recordings.all_rooms"),
@@ -685,7 +685,7 @@ var Xt = l({
685
685
  "max-selected-labels": 2,
686
686
  "show-toggle-all": !1,
687
687
  pt: { overlay: { style: "position: fixed" } },
688
- "onUpdate:modelValue": s[5] ||= (e) => me(e)
688
+ "onUpdate:modelValue": s[5] ||= (e) => pe(e)
689
689
  }, null, 8, [
690
690
  "model-value",
691
691
  "options",
@@ -693,7 +693,7 @@ var Xt = l({
693
693
  ])])) : d("", !0),
694
694
  C("div", vn, [C("label", yn, a(o.$t("views.recordings.cameras")), 1), k(D, {
695
695
  "model-value": n.filters.cameraIds,
696
- options: p(re),
696
+ options: p(B),
697
697
  "option-label": "name",
698
698
  "option-value": "id",
699
699
  placeholder: o.$t("views.recordings.all_cameras"),
@@ -701,20 +701,20 @@ var Xt = l({
701
701
  "max-selected-labels": 2,
702
702
  "show-toggle-all": !1,
703
703
  pt: { overlay: { style: "position: fixed" } },
704
- "onUpdate:modelValue": s[6] ||= (e) => H("cameraIds", e)
704
+ "onUpdate:modelValue": s[6] ||= (e) => G("cameraIds", e)
705
705
  }, null, 8, [
706
706
  "model-value",
707
707
  "options",
708
708
  "placeholder"
709
709
  ])]),
710
- p(ie) && !p(z) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
710
+ p(te) && !p(V) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
711
711
  C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
712
712
  C("div", Sn, [k(O, {
713
- camera: p(ie),
713
+ camera: p(te),
714
714
  "object-fit": "cover"
715
715
  }, null, 8, ["camera"]), k(A, {
716
716
  "model-value": n.filters.gridRegions,
717
- "onUpdate:modelValue": s[7] ||= (e) => H("gridRegions", e)
717
+ "onUpdate:modelValue": s[7] ||= (e) => G("gridRegions", e)
718
718
  }, null, 8, ["model-value"])]),
719
719
  k(_, {
720
720
  label: o.$t("views.recordings.grid_clear"),
@@ -723,54 +723,54 @@ var Xt = l({
723
723
  size: "small",
724
724
  class: "w-full text-xs",
725
725
  disabled: n.filters.gridRegions.length === 0,
726
- onClick: s[8] ||= (e) => H("gridRegions", [])
726
+ onClick: s[8] ||= (e) => G("gridRegions", [])
727
727
  }, null, 8, ["label", "disabled"])
728
728
  ])], 64)) : d("", !0),
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, {
729
+ p(V) ? d("", !0) : (i(), v("div", Cn)),
730
+ p(V) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
731
731
  "model-value": n.filters.minConfidence,
732
732
  min: 0,
733
733
  max: 1,
734
734
  step: .05,
735
735
  class: "flex-1",
736
- "onUpdate:modelValue": s[9] ||= (e) => H("minConfidence", e)
736
+ "onUpdate:modelValue": s[9] ||= (e) => G("minConfidence", e)
737
737
  }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
738
738
  s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
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(_, {
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(oe), (e) => (i(), u(_, {
740
740
  key: e.value,
741
741
  label: e.label,
742
742
  severity: n.filters.timeRange === e.value ? void 0 : "secondary",
743
743
  outlined: n.filters.timeRange !== e.value,
744
744
  size: "small",
745
745
  class: "text-xs flex-1 min-w-0",
746
- onClick: (t) => H("timeRange", n.filters.timeRange === e.value ? null : e.value)
746
+ onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
747
747
  }, null, 8, [
748
748
  "label",
749
749
  "severity",
750
750
  "outlined",
751
751
  "onClick"
752
752
  ]))), 128))])]),
753
- p(z) ? d("", !0) : (i(), v(b, { key: 6 }, [
753
+ p(V) ? d("", !0) : (i(), v(b, { key: 6 }, [
754
754
  s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
755
755
  C("div", jn, [C("button", {
756
756
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
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, [
757
+ onClick: s[10] ||= (e) => xe("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(ce), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
759
759
  k(j, {
760
760
  "model-value": n.filters.sensorEvents.includes(e.value),
761
761
  binary: !0,
762
- "onUpdate:modelValue": (t) => Ce(e.value)
762
+ "onUpdate:modelValue": (t) => ye(e.value)
763
763
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
764
764
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
765
765
  C("span", null, a(e.label), 1)
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", {
766
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
767
767
  key: e.value,
768
768
  class: "flex items-center gap-2 cursor-pointer text-sm"
769
769
  }, [
770
770
  k(j, {
771
771
  "model-value": n.filters.audioLabels.includes(e.value),
772
772
  binary: !0,
773
- "onUpdate:modelValue": (t) => be(e.value)
773
+ "onUpdate:modelValue": (t) => ve(e.value)
774
774
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
775
775
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
776
776
  C("span", null, a(e.label), 1)
@@ -779,26 +779,26 @@ var Xt = l({
779
779
  s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
780
780
  k(l, {
781
781
  "model-value": n.filters.filterLogicTriggers,
782
- options: p(B),
782
+ options: p(U),
783
783
  "option-label": "label",
784
784
  "option-value": "value",
785
785
  "allow-empty": !1,
786
786
  class: "filter-logic-toggle",
787
- "onUpdate:modelValue": s[11] ||= (e) => H("filterLogicTriggers", e)
787
+ "onUpdate:modelValue": s[11] ||= (e) => G("filterLogicTriggers", e)
788
788
  }, null, 8, ["model-value", "options"]),
789
789
  s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
790
790
  ]),
791
791
  C("div", In, [C("button", {
792
792
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
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", {
793
+ onClick: s[12] ||= (e) => xe("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(se), (e) => (i(), v("label", {
795
795
  key: e.value,
796
796
  class: "flex items-center gap-2 cursor-pointer text-sm"
797
797
  }, [
798
798
  k(j, {
799
799
  "model-value": n.filters.eventTypes.includes(e.value),
800
800
  binary: !0,
801
- "onUpdate:modelValue": (t) => ye(e.value)
801
+ "onUpdate:modelValue": (t) => ge(e.value)
802
802
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
803
803
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
804
804
  C("span", null, a(e.label), 1)
@@ -807,37 +807,37 @@ var Xt = l({
807
807
  s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
808
808
  k(l, {
809
809
  "model-value": n.filters.filterLogicAttributes,
810
- options: p(B),
810
+ options: p(U),
811
811
  "option-label": "label",
812
812
  "option-value": "value",
813
813
  "allow-empty": !1,
814
814
  class: "filter-logic-toggle",
815
- "onUpdate:modelValue": s[13] ||= (e) => H("filterLogicAttributes", e)
815
+ "onUpdate:modelValue": s[13] ||= (e) => G("filterLogicAttributes", e)
816
816
  }, null, 8, ["model-value", "options"]),
817
817
  s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
818
818
  ]),
819
819
  C("div", zn, [C("button", {
820
820
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
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", {
821
+ onClick: s[14] ||= (e) => xe("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(ue), (e) => (i(), v("label", {
823
823
  key: e.value,
824
824
  class: "flex items-center gap-2 cursor-pointer text-sm"
825
825
  }, [
826
826
  k(j, {
827
827
  "model-value": n.filters.hasAttributes.includes(e.value),
828
828
  binary: !0,
829
- "onUpdate:modelValue": (t) => we(e.value)
829
+ "onUpdate:modelValue": (t) => be(e.value)
830
830
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
831
831
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
832
832
  C("span", null, a(e.label), 1)
833
833
  ]))), 128)), C("label", Vn, [
834
834
  k(j, {
835
- "model-value": n.filters.eventTypes.includes(p(V).value),
835
+ "model-value": n.filters.eventTypes.includes(p(W).value),
836
836
  binary: !0,
837
- "onUpdate:modelValue": s[15] ||= (e) => ye(p(V).value)
837
+ "onUpdate:modelValue": s[15] ||= (e) => ge(p(W).value)
838
838
  }, null, 8, ["model-value"]),
839
- (i(), u(c(p(V).icon), { class: "w-4 h-4 text-muted" })),
840
- C("span", null, a(p(V).label), 1)
839
+ (i(), u(c(p(W).icon), { class: "w-4 h-4 text-muted" })),
840
+ C("span", null, a(p(W).label), 1)
841
841
  ])])) : d("", !0)])
842
842
  ], 64))
843
843
  ], 4)], 4);
@@ -858,15 +858,15 @@ var Xt = l({
858
858
  }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
859
859
  __name: "Recordings",
860
860
  setup(e) {
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();
861
+ let t = new Qe(), n = new ne(), r = new Oe(), c = ve(), l = ge(), { bottombarHeight: f } = ae(), { status: S, checking: T } = R(), { openEventTrace: D } = Ce(), A = Te("@camera.ui/camera-ui-nvr"), M = De(), { t: N, locale: L } = Le(), { smBreakpoint: H, xlBreakpoint: U, mdBreakpoint: se } = ie(), { registerScrollToTop: fe } = te();
862
862
  if (typeof VideoDecoder < "u") {
863
- let e = De({ cacheSize: 20 });
864
- o(de, e), Fe(() => e.dispose());
863
+ let e = G({ cacheSize: 20 });
864
+ o(je, e), Ne(() => e.dispose());
865
865
  }
866
- let { results: ve, isSearching: xe, isAvailable: ke, hasSearched: je, search: Pe, clear: Ie } = ae(), { data: Re } = t.getAssistantStatusQuery(), { data: Be } = n.getCamerasQuery({
866
+ let { results: _e, isSearching: Se, isAvailable: Ee, hasSearched: ke, search: Me, clear: Pe } = ue(), { data: Ie } = t.getAssistantStatusQuery(), { data: Re } = n.getCamerasQuery({
867
867
  page: 1,
868
868
  pageSize: -1
869
- }), { data: Ve } = r.getUserQuery(m(() => l.user?.username ?? "")), He = Array.from({ length: 24 }, (e, t) => t), Ue = {
869
+ }), { data: ze } = r.getUserQuery(m(() => l.user?.username ?? "")), Be = Array.from({ length: 24 }, (e, t) => t), Ve = {
870
870
  contentKind: "all",
871
871
  favoritesOnly: !1,
872
872
  search: "",
@@ -885,69 +885,69 @@ var Xt = l({
885
885
  minConfidence: .5,
886
886
  minSemanticScore: .5,
887
887
  onlyWithRecordings: !0
888
- }, We = {
888
+ }, He = {
889
889
  "1h": 36e5,
890
890
  "1d": 864e5,
891
891
  "1w": 6048e5,
892
892
  "1m": 2592e6
893
- }, W = x("gridRef"), Ke = x("viewMenuRef"), G = O("closed"), qe = O(!1), K = O({ ...Ue }), Ye = O(!1), Xe = O(""), Ze = E({
893
+ }, We = x("gridRef"), Ge = x("viewMenuRef"), K = O("closed"), Ke = O(!1), q = O({ ...Ve }), Je = O(!1), Ye = O(""), Xe = E({
894
894
  hasDetections: !0,
895
895
  withRecordingInfo: !0,
896
896
  hasRecording: !0
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) => ({
897
+ }), $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(() => U.value ? !0 : K.value === "opened"), ht = m(() => se.value), gt = ye(() => We.value?.scrollY ?? 0), _t = m(() => X.value && ht.value ? !0 : gt.value && !S.value?.running), vt = m(() => se.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Re.value?.result ?? []).map((e) => ({
898
898
  id: e._id,
899
899
  name: e.name,
900
900
  room: e.room
901
- }))), bt = m(() => {
901
+ }))), yt = m(() => {
902
902
  let e = /* @__PURE__ */ new Map();
903
- for (let t of X.value) e.set(t.id, t.name);
903
+ for (let t of Z.value) e.set(t.id, t.name);
904
904
  return e;
905
- }), xt = m(() => {
905
+ }), bt = m(() => {
906
906
  let e = /* @__PURE__ */ new Map();
907
- for (let t of Be.value?.result ?? []) e.set(t._id, t);
907
+ for (let t of Re.value?.result ?? []) e.set(t._id, t);
908
908
  return e;
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,
909
+ }), xt = m(() => {
910
+ let e = q.value.rooms;
911
+ return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
912
+ }), St = m(() => q.value.cameraIds.filter((e) => xt.value.includes(e))), Ct = m(() => xt.value);
913
+ fe(() => We.value?.scrollToTop());
914
+ let { events: wt, isLoading: Tt, hasMore: Et, stats: Dt, loadMore: Ot, loadThumbnails: kt, deleteEvents: At, reset: jt, loadFailed: Mt, pluginUnavailable: Nt } = z({
915
+ availableCameraIds: Ct,
916
+ cameraIds: St,
917
917
  realtime: !0,
918
918
  pageSize: 40,
919
- filter: Ze,
919
+ filter: Xe,
920
920
  withEpisodes: !0,
921
921
  withStats: !0
922
- }), Z = m(() => {
922
+ }), Q = m(() => {
923
923
  let e = /* @__PURE__ */ new Map();
924
- for (let t of ve.value ?? []) {
924
+ for (let t of _e.value ?? []) {
925
925
  let n = e.get(t.eventId);
926
926
  (!n || t.score > n) && e.set(t.eventId, t.score);
927
927
  }
928
928
  return e;
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;
929
+ }), $ = m(() => ke.value), Pt = m(() => Nt.value ? N("views.recordings.recordings_unavailable") : Mt.value ? N("views.recordings.load_failed") : N("views.recordings.no_recordings")), Ft = m(() => {
930
+ let e = wt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = q.value;
931
+ if (J.value !== void 0) {
932
+ let t = J.value;
933
933
  e = e.filter((e) => e.startTime >= t);
934
934
  }
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);
935
+ 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)), $.value && (e = e.filter((e) => {
936
+ let n = Q.value.get(e.id);
937
937
  return n != null && n >= t.minSemanticScore;
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;
938
+ }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
939
+ }), It = m(() => q.value.contentKind === "episodes"), Lt = m(() => {
940
+ let e = q.value;
941
941
  return e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5;
942
- }), Rt = m(() => Re.value?.state === "ready"), zt = m(() => {
943
- if (K.value.contentKind === "events") return [];
942
+ }), Rt = m(() => Ie.value?.state === "ready"), zt = m(() => {
943
+ if (q.value.contentKind === "events") return [];
944
944
  A.storeVersion.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) {
945
+ let e = q.value;
946
+ if (!It.value && ($.value || e.gridRegions.length > 0 || Lt.value)) return [];
947
+ let t = St.value.length > 0 ? St.value : Ct.value, n = J.value ?? 0, r = Infinity;
948
+ if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Et.value && !It.value) {
949
949
  let e = Infinity;
950
- for (let t of Tt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
950
+ for (let t of wt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
951
951
  n = Math.max(n, e);
952
952
  }
953
953
  let i = [];
@@ -958,19 +958,19 @@ var Xt = l({
958
958
  }));
959
959
  return i;
960
960
  }), Bt = m(() => {
961
- if (It.value) return [...zt.value].sort(nt);
962
- let e = J.value && ut.value.length ? [...ut.value] : $.value.map((e) => ({
961
+ if (It.value) return [...zt.value].sort(tt);
962
+ let e = Y.value && lt.value.length ? [...lt.value] : Ft.value.map((e) => ({
963
963
  event: e,
964
964
  key: e.id
965
965
  }));
966
- return zt.value.length && (e.push(...zt.value), e.sort(nt)), e;
966
+ return zt.value.length && (e.push(...zt.value), e.sort(tt)), e;
967
967
  }), Vt = m(() => {
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;
968
+ let e = Dt.value, t = q.value;
969
+ if (!e || !Et.value || $.value || t.gridRegions.length > 0 || t.timeRange && J.value === void 0) return;
970
970
  if (It.value) return e.episodes;
971
- let n = J.value ? e.segments : e.total;
971
+ let n = Y.value ? e.segments : e.total;
972
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);
973
+ }), Ht = m(() => de(void 0, "admin")), Ut = m(() => Ft.value.filter((e) => e.state === "ended")), { selectionMode: Gt, selectedIds: Kt, allSelected: qt, bulkBusy: Jt, enterSelectionMode: Yt, exitSelectionMode: Xt, toggleSelectAll: Zt, toggleSelection: Qt } = oe(Ut, (e) => e.id);
974
974
  function $t() {
975
975
  let e = [...Kt.value];
976
976
  e.length && !Jt.value && c.openTextDialog({
@@ -983,7 +983,7 @@ var Xt = l({
983
983
  onConfirm: async () => {
984
984
  Jt.value = !0;
985
985
  try {
986
- await jt(e), Xt(), M.add({
986
+ await At(e), Xt(), M.add({
987
987
  severity: "success",
988
988
  detail: N("views.recordings.delete_selected_done", { count: e.length }),
989
989
  life: 5e3
@@ -1006,9 +1006,9 @@ var Xt = l({
1006
1006
  label: N("views.recordings.ungroup"),
1007
1007
  description: N("views.recordings.ungroup_hint"),
1008
1008
  toggle: !0,
1009
- toggleState: J.value,
1009
+ toggleState: Y.value,
1010
1010
  onClick: () => {
1011
- mt = !0, J.value = !J.value, l.updateUser({ preferences: { recordings: { ungrouped: J.value } } });
1011
+ pt = !0, Y.value = !Y.value, l.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1012
1012
  }
1013
1013
  },
1014
1014
  {
@@ -1016,11 +1016,11 @@ var Xt = l({
1016
1016
  label: N("views.recordings.only_with_recordings"),
1017
1017
  description: N("views.recordings.only_with_recordings_hint"),
1018
1018
  toggle: !0,
1019
- toggleState: K.value.onlyWithRecordings,
1019
+ toggleState: q.value.onlyWithRecordings,
1020
1020
  onClick: () => {
1021
- K.value = {
1022
- ...K.value,
1023
- onlyWithRecordings: !K.value.onlyWithRecordings
1021
+ q.value = {
1022
+ ...q.value,
1023
+ onlyWithRecordings: !q.value.onlyWithRecordings
1024
1024
  };
1025
1025
  }
1026
1026
  },
@@ -1029,17 +1029,17 @@ var Xt = l({
1029
1029
  label: N("views.recordings.favorites_only"),
1030
1030
  description: N("views.recordings.favorites_hint"),
1031
1031
  toggle: !0,
1032
- toggleState: K.value.favoritesOnly,
1032
+ toggleState: q.value.favoritesOnly,
1033
1033
  onClick: () => {
1034
- K.value = {
1035
- ...K.value,
1036
- favoritesOnly: !K.value.favoritesOnly
1034
+ q.value = {
1035
+ ...q.value,
1036
+ favoritesOnly: !q.value.favoritesOnly
1037
1037
  };
1038
1038
  }
1039
1039
  }] : []
1040
1040
  ]);
1041
1041
  function tn() {
1042
- c.openComponentDialog(ht, { data: {
1042
+ c.openComponentDialog(mt, { data: {
1043
1043
  title: N("views.recordings.reindex.title"),
1044
1044
  contentProps: {},
1045
1045
  confirmText: N("views.recordings.reindex.start")
@@ -1049,31 +1049,31 @@ var Xt = l({
1049
1049
  c.openComponentDialog(Wt, { data: {
1050
1050
  title: N("views.recordings.export.title"),
1051
1051
  contentProps: {
1052
- cameras: X.value,
1053
- preselect: K.value.cameraIds?.length ? K.value.cameraIds : []
1052
+ cameras: Z.value,
1053
+ preselect: q.value.cameraIds?.length ? q.value.cameraIds : []
1054
1054
  },
1055
1055
  confirmText: N("views.recordings.export.confirm")
1056
1056
  } });
1057
1057
  }
1058
1058
  function rn() {
1059
- let e = G.value;
1060
- G.value = e === "opened" ? "closed" : "opened";
1059
+ let e = K.value;
1060
+ K.value = e === "opened" ? "closed" : "opened";
1061
1061
  }
1062
1062
  function an() {
1063
- G.value = "closed";
1063
+ K.value = "closed";
1064
1064
  }
1065
1065
  function on(e) {
1066
- !e.semanticQuery?.trim() && K.value.semanticQuery?.trim() && Ie(), K.value = e;
1066
+ !e.semanticQuery?.trim() && q.value.semanticQuery?.trim() && Pe(), q.value = e;
1067
1067
  }
1068
1068
  async function sn(e) {
1069
- Ye.value = !0, Xe.value = "";
1069
+ Je.value = !0, Ye.value = "";
1070
1070
  try {
1071
- let t = await Qe(e, te.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1071
+ let t = await Ze(e, L.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1072
1072
  on({
1073
- ...Ue,
1073
+ ...Ve,
1074
1074
  ...t.filters,
1075
1075
  favoritesOnly: Ht.value && t.filters.favoritesOnly
1076
- }), cn(t.filters.semanticQuery), Xe.value = t.note;
1076
+ }), cn(t.filters.semanticQuery), Ye.value = t.note;
1077
1077
  } catch (e) {
1078
1078
  M.add({
1079
1079
  severity: "error",
@@ -1081,22 +1081,22 @@ var Xt = l({
1081
1081
  life: 5e3
1082
1082
  });
1083
1083
  } finally {
1084
- Ye.value = !1;
1084
+ Je.value = !1;
1085
1085
  }
1086
1086
  }
1087
1087
  function cn(e) {
1088
1088
  if (!e.trim()) {
1089
- Ie();
1089
+ Pe();
1090
1090
  return;
1091
1091
  }
1092
- Pe(e);
1092
+ Me(e);
1093
1093
  }
1094
1094
  function ln(e, t) {
1095
- let n = xt.value.get(e.cameraId);
1095
+ let n = bt.value.get(e.cameraId);
1096
1096
  n && D(e, n, t);
1097
1097
  }
1098
1098
  function un(e, t) {
1099
- let n = xt.value.get(e.cameraId);
1099
+ let n = bt.value.get(e.cameraId);
1100
1100
  n && c.openComponentDialog(pe, {
1101
1101
  data: {
1102
1102
  title: n.name,
@@ -1109,7 +1109,7 @@ var Xt = l({
1109
1109
  eventTimestamp: t
1110
1110
  },
1111
1111
  headerActions: e.segments?.some((e) => e?.description) ? [{
1112
- icon: se,
1112
+ icon: re,
1113
1113
  toggle: !0,
1114
1114
  onClick: () => {}
1115
1115
  }] : void 0,
@@ -1128,10 +1128,10 @@ var Xt = l({
1128
1128
  });
1129
1129
  }
1130
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) => {
1131
+ e && (K.value = "closed");
1132
+ }), _(() => q.value.timeRange, (e) => {
1133
+ J.value = e && He[e] ? Date.now() - He[e] : void 0;
1134
+ }, { immediate: !0 }), _(q, (e) => {
1135
1135
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
1136
1136
  types: e.eventTypes.length > 0 ? e.eventTypes : void 0,
1137
1137
  triggers: e.sensorEvents.length > 0 ? e.sensorEvents : void 0,
@@ -1145,33 +1145,33 @@ var Xt = l({
1145
1145
  withRecordingInfo: !0,
1146
1146
  hasRecording: e.onlyWithRecordings || void 0,
1147
1147
  favoritesOnly: e.favoritesOnly || void 0,
1148
- startedSinceMs: q.value
1148
+ startedSinceMs: J.value
1149
1149
  }, r = JSON.stringify(n);
1150
- r !== et && (et = r, Ze.value = n);
1150
+ r !== $e && ($e = r, Xe.value = n);
1151
1151
  }, {
1152
1152
  deep: !0,
1153
1153
  immediate: !0
1154
- }), _(Ve, (e) => {
1155
- if (!e || mt) return;
1154
+ }), _(ze, (e) => {
1155
+ if (!e || pt) return;
1156
1156
  let t = e.preferences?.recordings?.ungrouped;
1157
- t !== void 0 && (J.value = t);
1157
+ t !== void 0 && (Y.value = t);
1158
1158
  }, { immediate: !0 }), _([
1159
- J,
1160
- $,
1161
- Q
1159
+ Y,
1160
+ Ft,
1161
+ $
1162
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,
1163
+ lt.value = e ? rt(t, n) : [];
1164
+ }), _(() => q.value.cameraIds, (e) => {
1165
+ e.length !== 1 && q.value.gridRegions.length > 0 && (q.value = {
1166
+ ...q.value,
1167
1167
  gridRegions: []
1168
1168
  });
1169
1169
  }), j(() => {
1170
1170
  requestAnimationFrame(() => {
1171
- qe.value = !0;
1171
+ Ke.value = !0;
1172
1172
  });
1173
1173
  }), (e, t) => {
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;
1174
+ let n = we, r = B, o = ce, c = Ue, l = at, m = ct, _ = st, x = le, E = et, D = nt, O = he, A = me, j = V, M = be, N = P, L = ee;
1175
1175
  return i(), v("div", null, [
1176
1176
  k(n, { position: "center" }, {
1177
1177
  default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
@@ -1186,7 +1186,7 @@ var Xt = l({
1186
1186
  rounded: "",
1187
1187
  onClick: rn
1188
1188
  }, {
1189
- icon: h(() => [p(G) === "closed" ? (i(), u(r, {
1189
+ icon: h(() => [p(K) === "closed" ? (i(), u(r, {
1190
1190
  key: 0,
1191
1191
  width: "100%",
1192
1192
  height: "100%"
@@ -1205,7 +1205,7 @@ var Xt = l({
1205
1205
  class: "cui-button p-2 text-color",
1206
1206
  text: "",
1207
1207
  rounded: "",
1208
- onClick: t[0] ||= (e) => p(Ke)?.toggleMenu(e)
1208
+ onClick: t[0] ||= (e) => p(Ge)?.toggleMenu(e)
1209
1209
  }, {
1210
1210
  icon: h(() => [k(l, {
1211
1211
  width: "100%",
@@ -1216,19 +1216,19 @@ var Xt = l({
1216
1216
  _: 1
1217
1217
  }),
1218
1218
  k(Un, {
1219
- filters: p(K),
1220
- cameras: p(X),
1221
- "is-open": p(Y),
1222
- "is-overlay": p(gt),
1219
+ filters: p(q),
1220
+ cameras: p(Z),
1221
+ "is-open": p(X),
1222
+ "is-overlay": p(ht),
1223
1223
  "result-count": p(Bt).length,
1224
1224
  "result-total": p(Vt),
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),
1225
+ "result-capped": p(Dt)?.capped,
1226
+ "semantic-count": p($) ? p(Q).size : void 0,
1227
+ "semantic-search-available": p(Ee),
1228
+ "semantic-search-loading": p(Se),
1229
1229
  "assistant-search-available": p(Rt),
1230
- "assistant-search-loading": p(Ye),
1231
- "assistant-search-note": p(Xe),
1230
+ "assistant-search-loading": p(Je),
1231
+ "assistant-search-note": p(Ye),
1232
1232
  "onUpdate:filters": on,
1233
1233
  onSemanticSearch: cn,
1234
1234
  onAssistantSearch: sn,
@@ -1251,21 +1251,21 @@ var Xt = l({
1251
1251
  (i(), u(g, {
1252
1252
  to: "#container",
1253
1253
  defer: ""
1254
- }, [p(Y) && p(gt) ? (i(), v("div", {
1254
+ }, [p(X) && p(ht) ? (i(), v("div", {
1255
1255
  key: 0,
1256
1256
  class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1257
1257
  onClick: an
1258
1258
  })) : d("", !0)])),
1259
1259
  C("main", {
1260
1260
  ref_key: "reindexAnchorRef",
1261
- ref: ft,
1261
+ ref: dt,
1262
1262
  class: "relative w-full h-full",
1263
1263
  style: y({
1264
- paddingLeft: p(yt),
1265
- transition: p(qe) ? "padding-left 200ms" : void 0
1264
+ paddingLeft: p(vt),
1265
+ transition: p(Ke) ? "padding-left 200ms" : void 0
1266
1266
  })
1267
1267
  }, [C("div", Gn, [
1268
- p(R) ? d("", !0) : (i(), v("div", Kn, [
1268
+ p(H) ? d("", !0) : (i(), v("div", Kn, [
1269
1269
  t[3] ||= C("div", { class: "ml-2" }, null, -1),
1270
1270
  p(U) ? d("", !0) : (i(), u(c, {
1271
1271
  key: 0,
@@ -1276,7 +1276,7 @@ var Xt = l({
1276
1276
  rounded: "",
1277
1277
  onClick: rn
1278
1278
  }, {
1279
- icon: h(() => [p(Y) ? (i(), u(m, {
1279
+ icon: h(() => [p(X) ? (i(), u(m, {
1280
1280
  key: 0,
1281
1281
  width: "100%",
1282
1282
  height: "100%"
@@ -1297,12 +1297,12 @@ var Xt = l({
1297
1297
  C("div")
1298
1298
  ], -1)
1299
1299
  ])),
1300
- p(R) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1300
+ p(H) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1301
1301
  severity: "secondary",
1302
1302
  text: "",
1303
1303
  rounded: "",
1304
1304
  class: "cui-icon-lg relative z-2",
1305
- onClick: t[1] ||= (e) => p(Ke)?.toggleMenu(e)
1305
+ onClick: t[1] ||= (e) => p(Ge)?.toggleMenu(e)
1306
1306
  }, {
1307
1307
  icon: h(() => [k(l, {
1308
1308
  width: "100%",
@@ -1310,31 +1310,31 @@ var Xt = l({
1310
1310
  })]),
1311
1311
  _: 1
1312
1312
  })), [[
1313
- P,
1313
+ L,
1314
1314
  { value: e.$t("views.recordings.view_options") },
1315
1315
  void 0,
1316
1316
  { bottom: !0 }
1317
1317
  ]])])),
1318
1318
  C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1319
- "pt-4": p(R),
1320
- "pt-[calc(40px+2rem)]": !p(R)
1319
+ "pt-4": p(H),
1320
+ "pt-[calc(40px+2rem)]": !p(H)
1321
1321
  }]) }, [
1322
1322
  p(Bt).length ? (i(), u(D, {
1323
1323
  key: 0,
1324
1324
  ref_key: "gridRef",
1325
- ref: W,
1325
+ ref: We,
1326
1326
  items: p(Bt),
1327
- "min-item-width": p(R) ? 160 : 180,
1327
+ "min-item-width": p(H) ? 160 : 180,
1328
1328
  gap: 8,
1329
- "has-more": p(Dt),
1330
- "load-more": p(kt),
1329
+ "has-more": p(Et),
1330
+ "load-more": p(Ot),
1331
1331
  "item-key": (e) => e.key,
1332
1332
  class: "flex-1 min-h-0"
1333
1333
  }, {
1334
1334
  item: h(({ item: e }) => [e.episode ? (i(), u(x, {
1335
1335
  key: 0,
1336
1336
  episode: e.episode,
1337
- "camera-by-id": p(xt),
1337
+ "camera-by-id": p(bt),
1338
1338
  fluid: "",
1339
1339
  "click-disabled": p(Gt)
1340
1340
  }, null, 8, [
@@ -1344,19 +1344,19 @@ var Xt = l({
1344
1344
  ])) : (i(), u(E, {
1345
1345
  key: 1,
1346
1346
  event: e.event,
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),
1347
+ "camera-name": p(yt).get(e.event.cameraId),
1348
+ camera: p(bt).get(e.event.cameraId),
1349
+ "load-thumbnails": p(kt),
1350
+ "semantic-score": p(Q).get(e.event.id),
1351
1351
  "seg-index": e.segIndex,
1352
1352
  "selection-mode": p(Gt) && e.event.state === "ended",
1353
1353
  selected: p(Kt).has(e.event.id),
1354
- "sibling-active": e.segIndex !== void 0 && p(dt) === e.event.id,
1354
+ "sibling-active": e.segIndex !== void 0 && p(ut) === e.event.id,
1355
1355
  onSelect: (t) => p(Qt)(e.event.id),
1356
1356
  onScrollToEvent: (t) => un(e.event, t),
1357
1357
  onOpenTrace: (t) => ln(e.event, t),
1358
- onMouseenter: (t) => dt.value = e.segIndex === void 0 ? null : e.event.id,
1359
- onMouseleave: t[2] ||= (e) => dt.value = null
1358
+ onMouseenter: (t) => ut.value = e.segIndex === void 0 ? null : e.event.id,
1359
+ onMouseleave: t[2] ||= (e) => ut.value = null
1360
1360
  }, null, 8, [
1361
1361
  "event",
1362
1362
  "camera-name",
@@ -1379,10 +1379,10 @@ var Xt = l({
1379
1379
  "has-more",
1380
1380
  "load-more",
1381
1381
  "item-key"
1382
- ])) : p(Et) ? (i(), u(D, {
1382
+ ])) : p(Tt) ? (i(), u(D, {
1383
1383
  key: 1,
1384
- items: p(He),
1385
- "min-item-width": p(R) ? 160 : 180,
1384
+ items: p(Be),
1385
+ "min-item-width": p(H) ? 160 : 180,
1386
1386
  gap: 8,
1387
1387
  "item-key": (e) => e,
1388
1388
  class: "flex-1 min-h-0 pointer-events-none"
@@ -1398,31 +1398,31 @@ var Xt = l({
1398
1398
  "min-item-width",
1399
1399
  "item-key"
1400
1400
  ])) : d("", !0),
1401
- p(Et) && p(Bt).length || p(xe) ? (i(), v("div", Yn, [k(A, {
1401
+ p(Tt) && p(Bt).length || p(Se) ? (i(), v("div", Yn, [k(A, {
1402
1402
  width: "24px",
1403
1403
  height: "24px",
1404
1404
  class: "text-muted"
1405
1405
  })])) : d("", !0),
1406
- !p($).length && !p(Et) && !p(xe) ? (i(), v("div", Xn, [
1406
+ !p(Ft).length && !p(Tt) && !p(Se) ? (i(), v("div", Xn, [
1407
1407
  k(j, { class: "w-12 h-12 text-muted" }),
1408
- C("span", Zn, a(p(Ft)), 1),
1409
- p(Nt) && !p(Pt) ? (i(), u(c, {
1408
+ C("span", Zn, a(p(Pt)), 1),
1409
+ p(Mt) && !p(Nt) ? (i(), u(c, {
1410
1410
  key: 0,
1411
1411
  severity: "secondary",
1412
1412
  class: "cui-button-small",
1413
1413
  label: e.$t("views.recordings.load_failed_retry"),
1414
- onClick: p(Mt)
1414
+ onClick: p(jt)
1415
1415
  }, null, 8, ["label", "onClick"])) : d("", !0)
1416
1416
  ])) : d("", !0)
1417
1417
  ], 2)
1418
1418
  ])], 4),
1419
- p(Ht) && p(X).length ? (i(), v("div", {
1419
+ p(Ht) && p(Z).length ? (i(), v("div", {
1420
1420
  key: 0,
1421
- class: s(["fixed z-10", p(vt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1421
+ class: s(["fixed z-10", p(_t) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1422
1422
  style: y({
1423
- left: `calc(${p(pt)}px + ${p(yt)} + 0.75rem + var(--safe-area-inset-left))`,
1423
+ left: `calc(${p(ft)}px + ${p(vt)} + 0.75rem + var(--safe-area-inset-left))`,
1424
1424
  bottom: `calc(${p(f)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1425
- transition: p(qe) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1425
+ transition: p(Ke) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1426
1426
  })
1427
1427
  }, [k(c, {
1428
1428
  severity: "secondary",
@@ -1435,20 +1435,20 @@ var Xt = l({
1435
1435
  }) : e.$t("views.recordings.reindex.button"),
1436
1436
  onClick: tn
1437
1437
  }, {
1438
- icon: h(() => [p(S)?.running ? (i(), u(p(he), { key: 0 })) : (i(), u(p(st), { key: 1 }))]),
1438
+ icon: h(() => [p(S)?.running ? (i(), u(p(me), { key: 0 })) : (i(), u(p(ot), { key: 1 }))]),
1439
1439
  _: 1
1440
1440
  }, 8, ["disabled", "label"])], 6)) : d("", !0),
1441
- p(X).length ? (i(), u(N, {
1441
+ p(Z).length ? (i(), u(N, {
1442
1442
  key: 1,
1443
1443
  "force-visible": p(Gt),
1444
- "scroll-y": p(W)?.scrollY ?? 0
1444
+ "scroll-y": p(We)?.scrollY ?? 0
1445
1445
  }, {
1446
1446
  default: h(() => [p(Gt) ? (i(), v(b, { key: 1 }, [
1447
1447
  k(M, {
1448
1448
  grouped: "",
1449
1449
  "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
1450
1450
  "button-props": { severity: "secondary" },
1451
- icon: p(Je),
1451
+ icon: p(qe),
1452
1452
  "icon-props": {
1453
1453
  width: "100%",
1454
1454
  height: "100%"
@@ -1463,7 +1463,7 @@ var Xt = l({
1463
1463
  grouped: "",
1464
1464
  "tooltip-props": { value: p(qt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1465
1465
  "button-props": { severity: p(qt) ? "primary" : "secondary" },
1466
- icon: p(V),
1466
+ icon: p(W),
1467
1467
  "icon-props": {
1468
1468
  width: "100%",
1469
1469
  height: "100%"
@@ -1493,12 +1493,12 @@ var Xt = l({
1493
1493
  "button-props",
1494
1494
  "icon"
1495
1495
  ])
1496
- ], 64)) : (i(), v(b, { key: 0 }, [p(Ht) && p($).length ? (i(), u(M, {
1496
+ ], 64)) : (i(), v(b, { key: 0 }, [p(Ht) && p(Ft).length ? (i(), u(M, {
1497
1497
  key: 0,
1498
1498
  grouped: "",
1499
1499
  "tooltip-props": { value: e.$t("views.recordings.select") },
1500
1500
  "button-props": { severity: "secondary" },
1501
- icon: p(Me),
1501
+ icon: p(Ae),
1502
1502
  "icon-props": {
1503
1503
  width: "100%",
1504
1504
  height: "100%"
@@ -1512,7 +1512,7 @@ var Xt = l({
1512
1512
  grouped: "",
1513
1513
  "tooltip-props": { value: e.$t("views.recordings.export.title") },
1514
1514
  "button-props": { class: "text-white" },
1515
- icon: p(we),
1515
+ icon: p(xe),
1516
1516
  "icon-props": {
1517
1517
  width: "26px",
1518
1518
  height: "26px"
@@ -1523,7 +1523,7 @@ var Xt = l({
1523
1523
  }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1524
1524
  k(I, {
1525
1525
  ref_key: "viewMenuRef",
1526
- ref: Ke,
1526
+ ref: Ge,
1527
1527
  items: p(en),
1528
1528
  "auto-hide": !1,
1529
1529
  popover: { pt: {