@camera.ui/server 2.2.7 → 2.3.0

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 (958) hide show
  1. package/LICENSE.md +8 -1
  2. package/dist/interface/assets/404-C0X5UBF4.js +1 -0
  3. package/dist/interface/assets/About-Ctp_u5qK.js +1 -0
  4. package/dist/interface/assets/Assistant-Bj2bAUHD.css +1 -0
  5. package/dist/interface/assets/Assistant-CDrBV_mg.js +1 -0
  6. package/dist/interface/assets/Automation-Dp6V80Iz.js +3 -0
  7. package/dist/interface/assets/Automation-R5o9sXYY.css +1 -0
  8. package/dist/interface/assets/AutomationImport-DKgg7atE.js +2 -0
  9. package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
  10. package/dist/interface/assets/AutomationStoreDetail-CiyIs8Iu.js +2 -0
  11. package/dist/interface/assets/Automations-Dljh-sWu.js +2 -0
  12. package/dist/interface/assets/Camera-0p0P_mbp.css +1 -0
  13. package/dist/interface/assets/Camera-Bvovab-8.js +2 -0
  14. package/dist/interface/assets/CameraConsole-D_Fv-MAi.js +7 -0
  15. package/dist/interface/assets/Cameras-Cq7Gw-fk.js +651 -0
  16. package/dist/interface/assets/Camview-Bs2VvmUS.css +1 -0
  17. package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
  18. package/dist/interface/assets/CertificateUpload-DjzNMFc3.js +1 -0
  19. package/dist/interface/assets/Config-Dl2TlyFe.js +2 -0
  20. package/dist/interface/assets/ConfigActionAssistant-DCkJ_Iqq.js +1 -0
  21. package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
  22. package/dist/interface/assets/ConfigActionDelay-BAp1dr0N.js +1 -0
  23. package/dist/interface/assets/ConfigActionHttp-_kqgEuun.js +1 -0
  24. package/dist/interface/assets/ConfigActionImageInput-BgtACnCm.js +1 -0
  25. package/dist/interface/assets/ConfigActionMqtt-z7UzccW5.js +1 -0
  26. package/dist/interface/assets/ConfigActionNotification-bhbb5AqU.js +1 -0
  27. package/dist/interface/assets/ConfigActionNotificationControl-BbvX8MFu.js +1 -0
  28. package/dist/interface/assets/ConfigActionOutput-DdgSg3FU.js +1 -0
  29. package/dist/interface/assets/ConfigActionPlugin-DGjZd1L0.js +1 -0
  30. package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
  31. package/dist/interface/assets/ConfigActionSnapshot-hVHSfdtS.js +1 -0
  32. package/dist/interface/assets/ConfigActionVariable-BIpruwsx.js +1 -0
  33. package/dist/interface/assets/ConfigConditionIfElse-DRSpsoR4.js +1 -0
  34. package/dist/interface/assets/ConfigConditionSensorState-C2SNARH7.js +1 -0
  35. package/dist/interface/assets/ConfigConditionSwitch-4SbQcU7N.js +1 -0
  36. package/dist/interface/assets/ConfigConditionTime-ESX3shbg.js +1 -0
  37. package/dist/interface/assets/ConfigSensorValueInput-CTUdAA-R.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerDetection-BRr6ixxQ.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerGeofence-D-xRMGrT.js +1 -0
  40. package/dist/interface/assets/ConfigTriggerManual-aXD6k1qa.js +1 -0
  41. package/dist/interface/assets/ConfigTriggerMqtt-pjHW4yOL.js +1 -0
  42. package/dist/interface/assets/ConfigTriggerSchedule-CYOt57qg.js +1 -0
  43. package/dist/interface/assets/ConfigTriggerSensor-BwJ_cAqd.js +1 -0
  44. package/dist/interface/assets/ConfigTriggerSystem-DBXIrjzU.js +1 -0
  45. package/dist/interface/assets/ConfigTriggerWebhook-CccBmMCb.js +1 -0
  46. package/dist/interface/assets/Console-DWAaz1C6.js +1 -0
  47. package/dist/interface/assets/CuiAssistantConversation-B3xEiNNt.js +5 -0
  48. package/dist/interface/assets/CuiAssistantConversation-C5ca1lgX.css +1 -0
  49. package/dist/interface/assets/CuiAutomationRunsDialog-CfylVPLI.js +1 -0
  50. package/dist/interface/assets/CuiBottomSheet-ACN23VLS.js +1 -0
  51. package/dist/interface/assets/CuiBottomSheet-DEVNeDqa.js +1 -0
  52. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  53. package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
  54. package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
  55. package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
  56. package/dist/interface/assets/CuiCameraTable-C3GB4Q2y.js +2 -0
  57. package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
  58. package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
  59. package/dist/interface/assets/CuiConsole-Cf5lOCE1.js +5 -0
  60. package/dist/interface/assets/CuiDataTable-DfjXa0C1.js +1 -0
  61. package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
  62. package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
  63. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  64. package/dist/interface/assets/CuiMarkdownContent-qOPm3VEi.js +1 -0
  65. package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
  66. package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
  67. package/dist/interface/assets/CuiPluginOAuthButton-DnQ838JJ.js +2 -0
  68. package/dist/interface/assets/CuiPluginTrustBadge-DyYDUWV6.js +1 -0
  69. package/dist/interface/assets/CuiQRCode-S9fPi0_l.js +1 -0
  70. package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
  71. package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
  72. package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
  73. package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
  74. package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
  75. package/dist/interface/assets/Floorplan-CT5TrMSD.css +1 -0
  76. package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
  77. package/dist/interface/assets/Logs-fY1dpQk4.js +6 -0
  78. package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
  79. package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
  80. package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
  81. package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
  82. package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
  83. package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
  84. package/dist/interface/assets/PluginConsole-LnnDOVBL.js +7 -0
  85. package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
  86. package/dist/interface/assets/PluginSchema-BnB0_6Sk.js +1 -0
  87. package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
  88. package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
  89. package/dist/interface/assets/PluginUpdateProgress-DMx0QlgE.js +1 -0
  90. package/dist/interface/assets/Plugins-Ekmr6aVa.js +1 -0
  91. package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
  92. package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
  93. package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
  94. package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
  95. package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
  96. package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
  97. package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
  98. package/dist/interface/assets/Settings-DtCSaLPb.css +1 -0
  99. package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
  100. package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
  101. package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
  102. package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
  103. package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
  104. package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
  105. package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
  106. package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
  107. package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
  108. package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
  109. package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
  110. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  111. package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
  112. package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
  113. package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
  114. package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
  115. package/dist/interface/assets/Training-B8my7vka.js +1 -0
  116. package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
  117. package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
  118. package/dist/interface/assets/VariableInput-DQJle67Y.js +1 -0
  119. package/dist/interface/assets/VariableSuggestions-D8V739dF.js +1 -0
  120. package/dist/interface/assets/VersionsHandler-B41TJhgY.js +7 -0
  121. package/dist/interface/assets/VirtualSensorCreate-MfLh-LpH.js +1 -0
  122. package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
  123. package/dist/interface/assets/Workers-Dey1snI4.css +1 -0
  124. package/dist/interface/assets/account-DjBQulDn.js +1 -0
  125. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  126. package/dist/interface/assets/ace.config-CvKE-yp1.js +1 -0
  127. package/dist/interface/assets/alert-circle-B-JCMbb9.js +1 -0
  128. package/dist/interface/assets/alert-outline-B4ZZowEj.js +1 -0
  129. package/dist/interface/assets/api-By0v6EeA.css +2 -0
  130. package/dist/interface/assets/api-D1iULsSy.js +4 -0
  131. package/dist/interface/assets/api-DbUdfXO_.js +1 -0
  132. package/dist/interface/assets/arrow-left-PeaVwpHd.js +1 -0
  133. package/dist/interface/assets/assistant-7hqP6OpA.js +1 -0
  134. package/dist/interface/assets/assistantModels-D3ncWWu0.js +1 -0
  135. package/dist/interface/assets/auth-CDxrn7fe.js +1 -0
  136. package/dist/interface/assets/automations-CTTQlGCW.js +1 -0
  137. package/dist/interface/assets/back-filled-CJoz7Gkl.js +1 -0
  138. package/dist/interface/assets/bell-ring-CBf0Yn3H.js +1 -0
  139. package/dist/interface/assets/brain-uZ03n3LW.js +1 -0
  140. package/dist/interface/assets/cameraSources-MOiE_1-W.js +1 -0
  141. package/dist/interface/assets/cctv-VgKQ-dBV.js +1 -0
  142. package/dist/interface/assets/check-circle-BU-KNgPB.js +1 -0
  143. package/dist/interface/assets/check-circle-outline-BsxzAMed.js +1 -0
  144. package/dist/interface/assets/chevron-down-CxK4Sfjs.js +1 -0
  145. package/dist/interface/assets/chevron-up-DWfNH8va.js +1 -0
  146. package/dist/interface/assets/clock-outline-BtWx4GaF.js +1 -0
  147. package/dist/interface/assets/close-Be7oB7d_.js +1 -0
  148. package/dist/interface/assets/close-circle-D7Jmhp_7.js +1 -0
  149. package/dist/interface/assets/cloud-check-zCGJxpWI.js +1 -0
  150. package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
  151. package/dist/interface/assets/config-6EiGxiYm.js +1 -0
  152. package/dist/interface/assets/content-copy-BcYlfuFc.js +1 -0
  153. package/dist/interface/assets/copy-DuY-M96E.js +1 -0
  154. package/dist/interface/assets/cube-scan-Cae03i_N.js +1 -0
  155. package/dist/interface/assets/database-refresh-outline-B3OEQFF7.js +1 -0
  156. package/dist/interface/assets/delete-BWgOAzKl.js +1 -0
  157. package/dist/interface/assets/dist-DmpuuM9s.js +1 -0
  158. package/dist/interface/assets/dots-vertical-Kby1GY8_.js +1 -0
  159. package/dist/interface/assets/download-C291Yq7I.js +1 -0
  160. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  161. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  162. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  163. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  164. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  165. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  166. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  167. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  168. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  169. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  170. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  171. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  172. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  173. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  174. package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
  175. package/dist/interface/assets/eye-off-zGCIHKOK.js +1 -0
  176. package/dist/interface/assets/flowSchema-Dp_-p9WA.js +1 -0
  177. package/dist/interface/assets/help-circle-outline-DXFepDAG.js +1 -0
  178. package/dist/interface/assets/history-D-FlZdKD.js +1 -0
  179. package/dist/interface/assets/home-DPdzRxcM.js +1 -0
  180. package/dist/interface/assets/information-outline-ChOM9qgI.js +1 -0
  181. package/dist/interface/assets/intercomService-BQYzjnAi.js +1 -0
  182. package/dist/interface/assets/lan-DvYEO83l.js +1 -0
  183. package/dist/interface/assets/main-0oXl_8v7.js +3 -0
  184. package/dist/interface/assets/main-CdvAniEp.css +1 -0
  185. package/dist/interface/assets/microphone-D-T9xga4.js +1 -0
  186. package/dist/interface/assets/minus-4T4INuO4.js +1 -0
  187. package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
  188. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  189. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  190. package/dist/interface/assets/nodeDefinitions-Dp8cnne1.js +1 -0
  191. package/dist/interface/assets/notifications-CbL-1oMs.js +1 -0
  192. package/dist/interface/assets/pause-DHqHYA3V.js +1 -0
  193. package/dist/interface/assets/pencil-outline-D-GmPf8M.js +1 -0
  194. package/dist/interface/assets/pencil-vACi-JzY.js +1 -0
  195. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  196. package/dist/interface/assets/plugins-lsoAntRQ.js +1 -0
  197. package/dist/interface/assets/plus-BBUb8_uL.js +1 -0
  198. package/dist/interface/assets/plus-BJb7U4bN.js +1 -0
  199. package/dist/interface/assets/power-Dm_aNIz-.js +1 -0
  200. package/dist/interface/assets/radar-Dcvdz--e.js +1 -0
  201. package/dist/interface/assets/refresh-CO4F18Je.js +1 -0
  202. package/dist/interface/assets/restore-xRBt3Grb.js +1 -0
  203. package/dist/interface/assets/rooms-P8WrRIco.js +1 -0
  204. package/dist/interface/assets/round-alt-arrow-left-bold-CZHXzGS5.js +1 -0
  205. package/dist/interface/assets/search-D75YW08B.js +1 -0
  206. package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
  207. package/dist/interface/assets/sensorSlots-BTj-IM7z.js +1 -0
  208. package/dist/interface/assets/sensors-Dxc7HgjZ.js +1 -0
  209. package/dist/interface/assets/server-DlK8gUoE.js +1 -0
  210. package/dist/interface/assets/settings-DDOgc5BX.js +1 -0
  211. package/dist/interface/assets/source-branch-DVHuYlkZ.js +1 -0
  212. package/dist/interface/assets/theme-BOppzzar.js +1 -0
  213. package/dist/interface/assets/trash-2-DDKPtl2x.js +1 -0
  214. package/dist/interface/assets/trash-can-outline-DVH3zgo0.js +1 -0
  215. package/dist/interface/assets/trash-fill-C_IJ4Vu2.js +1 -0
  216. package/dist/interface/assets/trash2-DY0XTaJD.js +1 -0
  217. package/dist/interface/assets/types-CeruGCb8.js +1 -0
  218. package/dist/interface/assets/types-J1Drrxo1.js +1 -0
  219. package/dist/interface/assets/types-U4AuTNLR.js +1 -0
  220. package/dist/interface/assets/undo-YRkBYCnf.js +1 -0
  221. package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
  222. package/dist/interface/assets/updates-DtVp84Y0.js +1 -0
  223. package/dist/interface/assets/upload-2WcHRjTq.js +1 -0
  224. package/dist/interface/assets/upload-BiE7VzTj.js +1 -0
  225. package/dist/interface/assets/useAppVersion-BGgCk5GD.js +1 -0
  226. package/dist/interface/assets/useAssistantActions-C13O5EHU.js +1 -0
  227. package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
  228. package/dist/interface/assets/useCameraOptions-CI1baRmm.js +1 -0
  229. package/dist/interface/assets/useKeyboardInset-CvgJp091.js +1 -0
  230. package/dist/interface/assets/useLogsSocket-Bf0BI8ET.js +1 -0
  231. package/dist/interface/assets/useNavLayout-6zM1Y-7B.js +1 -0
  232. package/dist/interface/assets/usePermissions-DZitFsBQ.js +1 -0
  233. package/dist/interface/assets/usePluginUpdates-VZdpJ_Ax.js +1 -0
  234. package/dist/interface/assets/usePushRegistration-vcbMrTxZ.js +2 -0
  235. package/dist/interface/assets/useServerRestart-DrpuNbIu.js +1 -0
  236. package/dist/interface/assets/useStreamStatus-l3Pfk1H4.js +1 -0
  237. package/dist/interface/assets/useTabSwipe-BSpi25WV.js +1 -0
  238. package/dist/interface/assets/useUpdateChannel-kAl-5UNY.js +1 -0
  239. package/dist/interface/assets/useUpdatesSocket-CaFz_fEb.js +1 -0
  240. package/dist/interface/assets/useUserOptions-BKteXnmU.js +1 -0
  241. package/dist/interface/assets/variable-Cp8o-q8t.js +1 -0
  242. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  243. package/dist/interface/assets/vendor-ace-QSsGUspX.js +1085 -0
  244. package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
  245. package/dist/interface/assets/vendor-capacitor-t5EIN1GG.js +2 -0
  246. package/dist/interface/assets/vendor-chart-BiJYkx5_.js +3 -0
  247. package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
  248. package/dist/interface/assets/vendor-dnd-C1kMh9_t.js +2 -0
  249. package/dist/interface/assets/vendor-draggabilly-Cw1oJ6qc.js +1 -0
  250. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  251. package/dist/interface/assets/vendor-markdown-DTWiWKBj.js +14 -0
  252. package/dist/interface/assets/vendor-primevue-DoA2Rwcb.js +3942 -0
  253. package/dist/interface/assets/vendor-vueflow-DWU_IzGe.js +26 -0
  254. package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
  255. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  256. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  257. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  258. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  259. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  260. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  261. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  262. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  263. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  264. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  265. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  266. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  267. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  268. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  269. package/dist/interface/assets/webhook-DIjChTrs.js +1 -0
  270. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  271. package/dist/interface/assets/zoom-in-rMB152Uz.js +1 -0
  272. package/dist/interface/ha/404-RtgPpD9N.js +60 -0
  273. package/dist/interface/ha/About-0PRv9bU0.js +55 -0
  274. package/dist/interface/ha/Assistant-DbwxVfpl.js +9853 -0
  275. package/dist/interface/ha/Automation-D3HomdH7.js +2029 -0
  276. package/dist/interface/ha/AutomationImport-nQUUvZcv.js +206 -0
  277. package/dist/interface/ha/AutomationStore-BXDD92wZ.js +336 -0
  278. package/dist/interface/ha/AutomationStoreDetail-BYeq7FID.js +122 -0
  279. package/dist/interface/ha/Automations-CJlGqmSP.js +424 -0
  280. package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
  281. package/dist/interface/ha/CameraConsole-UMNOX3dE.js +52 -0
  282. package/dist/interface/ha/Cameras-BW-AEXYi.js +1971 -0
  283. package/dist/interface/ha/Camview-jikpVEE0.js +1336 -0
  284. package/dist/interface/ha/Config-BOxwBH2D.js +356 -0
  285. package/dist/interface/ha/ConfigActionAssistant--3iWk9sq.js +182 -0
  286. package/dist/interface/ha/ConfigActionCameraControl-DbVXWTeA.js +152 -0
  287. package/dist/interface/ha/ConfigActionHttp-Du3n2Yj0.js +134 -0
  288. package/dist/interface/ha/ConfigActionImageInput-BrJrTZTY.js +171 -0
  289. package/dist/interface/ha/ConfigActionMqtt-DZd1BNUt.js +81 -0
  290. package/dist/interface/ha/ConfigActionNotification-CJWW10gt.js +199 -0
  291. package/dist/interface/ha/ConfigActionNotificationControl-Bl41AVv1.js +111 -0
  292. package/dist/interface/ha/ConfigActionOutput-OTj7Lwgq.js +98 -0
  293. package/dist/interface/ha/ConfigActionPlugin-B790PEk0.js +172 -0
  294. package/dist/interface/ha/ConfigActionSensor-BG3jZxge.js +139 -0
  295. package/dist/interface/ha/ConfigActionSnapshot-fGmLl6jb.js +48 -0
  296. package/dist/interface/ha/ConfigActionVariable-CK3vYDsr.js +88 -0
  297. package/dist/interface/ha/ConfigConditionIfElse-DyFLGg3y.js +124 -0
  298. package/dist/interface/ha/ConfigConditionSensorState-BUTfeFO2.js +192 -0
  299. package/dist/interface/ha/ConfigConditionSwitch-iDG_ubif.js +128 -0
  300. package/dist/interface/ha/ConfigSensorValueInput-BmRIGUKB.js +170 -0
  301. package/dist/interface/ha/ConfigTriggerDetection-DyPQGt9M.js +241 -0
  302. package/dist/interface/ha/ConfigTriggerGeofence-CGE-bH_t.js +4888 -0
  303. package/dist/interface/ha/ConfigTriggerMqtt-CM3KZqBc.js +134 -0
  304. package/dist/interface/ha/ConfigTriggerSensor-DoHMcwP4.js +73 -0
  305. package/dist/interface/ha/ConfigTriggerSystem-BYKbW4Zr.js +192 -0
  306. package/dist/interface/ha/ConfigTriggerWebhook-5PBAadG8.js +94 -0
  307. package/dist/interface/ha/Console-BEXzl4p1.js +348 -0
  308. package/dist/interface/ha/CuiAutomationRunsDialog-DkK_ar5G.js +130 -0
  309. package/dist/interface/ha/CuiBottomSheet-CYNvQV4T.js +270 -0
  310. package/dist/interface/ha/CuiCameraRecordings-DYjecmE_.js +533 -0
  311. package/dist/interface/ha/CuiCameraShares-C0H60nZS.js +121 -0
  312. package/dist/interface/ha/CuiCameraTable-CQNMyBaq.js +169 -0
  313. package/dist/interface/ha/CuiChartTable-Bhv1p9zj.js +6801 -0
  314. package/dist/interface/ha/CuiConsole-DtXorGF5.js +244 -0
  315. package/dist/interface/ha/CuiDataTable-Cy8EjCk9.js +8732 -0
  316. package/dist/interface/ha/CuiList-DnW6Q5m2.js +57 -0
  317. package/dist/interface/ha/CuiPluginCard-B4SCUblV.js +769 -0
  318. package/dist/interface/ha/CuiPluginOAuthButton-BKg9SftQ.js +79 -0
  319. package/dist/interface/ha/CuiPluginTrustBadge-CEtUJhCJ.js +123 -0
  320. package/dist/interface/ha/CuiQRCode-gp-9hqyk.js +86 -0
  321. package/dist/interface/ha/CuiSchema-CYpr_dD7.js +963 -0
  322. package/dist/interface/ha/CuiTopNavbarItem-CM-1oPxf.js +140 -0
  323. package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
  324. package/dist/interface/ha/FirstSteps-D42yZm7R.js +251 -0
  325. package/dist/interface/ha/Floorplan-BvE546pE.js +3657 -0
  326. package/dist/interface/ha/Instances-CAGCyfbB.js +680 -0
  327. package/dist/interface/ha/Logs-RB3Ba8WM.js +418 -0
  328. package/dist/interface/ha/Menu-hAnHu_jq.js +156 -0
  329. package/dist/interface/ha/Metrics-ChYTebkX.js +1448 -0
  330. package/dist/interface/ha/OAuthDeviceFlow-C05pH-9o.js +112 -0
  331. package/dist/interface/ha/Plugin-D7XwcXkW.js +1752 -0
  332. package/dist/interface/ha/PluginConsole-DphEIOlL.js +56 -0
  333. package/dist/interface/ha/PluginDetail-DfMl-yCl.js +805 -0
  334. package/dist/interface/ha/PluginSearch-BPN4Opg5.js +462 -0
  335. package/dist/interface/ha/PluginUpdateProgress-ByJ0R5sW.js +34 -0
  336. package/dist/interface/ha/Plugins-BhKmjjNn.js +692 -0
  337. package/dist/interface/ha/RecentEventsFilter-BkLMlGVJ.js +78 -0
  338. package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
  339. package/dist/interface/ha/SensorEdit-DWxcCJ0F.js +1462 -0
  340. package/dist/interface/ha/SensorHistory-DuA9E9wT.js +54 -0
  341. package/dist/interface/ha/Sensors-CVpIHcgG.js +1402 -0
  342. package/dist/interface/ha/Settings-BO2eBGEn.js +218 -0
  343. package/dist/interface/ha/SettingsAccount-BQZZfoSM.js +971 -0
  344. package/dist/interface/ha/SettingsAppearance-B_yGl89u.js +220 -0
  345. package/dist/interface/ha/SettingsAssistant-kMOixl9g.js +2025 -0
  346. package/dist/interface/ha/SettingsBackup-BpG-W4j-.js +556 -0
  347. package/dist/interface/ha/SettingsList-Btnkzu94.js +40 -0
  348. package/dist/interface/ha/SettingsMqtt-C4DX9cNC.js +526 -0
  349. package/dist/interface/ha/SettingsNotifications-DI6ImggH.js +529 -0
  350. package/dist/interface/ha/SettingsPermissions-BCDyCFcb.js +84 -0
  351. package/dist/interface/ha/SettingsRecordings-Bq5NkJhd.js +152 -0
  352. package/dist/interface/ha/SettingsRemote-CtncaPIA.js +1813 -0
  353. package/dist/interface/ha/SettingsSystem-BJXuA7xA.js +376 -0
  354. package/dist/interface/ha/SettingsUsers-BF0rDluv.js +379 -0
  355. package/dist/interface/ha/Terminal-kTCe2jP3.js +612 -0
  356. package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
  357. package/dist/interface/ha/Updates-Cv1EY_T0.js +343 -0
  358. package/dist/interface/ha/VariableInput-BO2zZu4N.js +52 -0
  359. package/dist/interface/ha/VersionsHandler-CRnT9-K7.js +216 -0
  360. package/dist/interface/ha/VirtualSensorCreate-6dVRxPjw.js +101 -0
  361. package/dist/interface/ha/Workers-MHia86lu.js +814 -0
  362. package/dist/interface/ha/ace-C9MtBQVV.js +13236 -0
  363. package/dist/interface/ha/ace.config-CSXnaIzV.js +1429 -0
  364. package/dist/interface/ha/api-CH_Y8Hee.js +65411 -0
  365. package/dist/interface/ha/api-DylRa66V.js +29 -0
  366. package/dist/interface/ha/assistant-smRQYA6p.js +349 -0
  367. package/dist/interface/ha/auth-BXj5Fm6s.js +271 -0
  368. package/dist/interface/ha/automationBlueprint-DGjftXFC.js +250 -0
  369. package/dist/interface/ha/cameraui-cards.js +1 -1
  370. package/dist/interface/ha/cards-E0zw1UVg.js +13477 -0
  371. package/dist/interface/ha/config-dG_DA6XL.js +116 -0
  372. package/dist/interface/ha/dist-BQf9ANPx.js +3257 -0
  373. package/dist/interface/ha/dist-euRmladF.js +287 -0
  374. package/dist/interface/ha/eventLabels-B5GrM5jO.js +734 -0
  375. package/dist/interface/ha/intercomService-BtJ_zUNd.js +1400 -0
  376. package/dist/interface/ha/mqtt-CP3vVkRJ.js +56 -0
  377. package/dist/interface/ha/notifications-CZNwSXTg.js +159 -0
  378. package/dist/interface/ha/pinia-CVnHHb-s.js +7696 -0
  379. package/dist/interface/ha/plugins--eatOIaI.js +592 -0
  380. package/dist/interface/ha/protocol-BB4jdtUC-BhEwymva.js +789 -0
  381. package/dist/interface/ha/rooms-D5E6K75d.js +45 -0
  382. package/dist/interface/ha/server-D1BqEY7i.js +239 -0
  383. package/dist/interface/ha/types-CWogEoya.js +1073 -0
  384. package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
  385. package/dist/interface/ha/updates-B48Owi1w.js +341 -0
  386. package/dist/interface/ha/useAppVersion-D95sKTJR.js +22 -0
  387. package/dist/interface/ha/useAssistantActions-kDwiO-u5.js +29 -0
  388. package/dist/interface/ha/useKeyboardInset-C2R51vsC.js +27 -0
  389. package/dist/interface/ha/useLogsSocket-BzNWa2y2.js +59 -0
  390. package/dist/interface/ha/useNavLayout-228cwwqA.js +125 -0
  391. package/dist/interface/ha/usePermissions-CfA5x7Df.js +72 -0
  392. package/dist/interface/ha/useServerRestart-B0c40zs5.js +23 -0
  393. package/dist/interface/ha/useTabSwipe-CfZg5hWj.js +45 -0
  394. package/dist/interface/ha/useUpdateChannel-DQxI7FrD.js +22 -0
  395. package/dist/interface/ha/useUpdatesSocket-B8LqBBd3.js +34 -0
  396. package/dist/interface/ha/useUserOptions-dZf6ejlz.js +15 -0
  397. package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
  398. package/dist/interface/index.html +71 -72
  399. package/dist/interface/sw.js +1 -1
  400. package/dist/interface/workbox-5f52ac45.js +1 -0
  401. package/dist/server/package.json +23 -23
  402. package/dist/server/requirements.txt +2 -2
  403. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
  404. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +12 -0
  405. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  406. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  407. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  408. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
  409. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
  410. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
  411. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
  412. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
  413. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
  414. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
  415. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
  416. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
  417. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  418. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  419. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  420. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  421. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  422. package/dist/server/src/api/database/index.d.ts +2 -1
  423. package/dist/server/src/api/database/index.js +31 -7
  424. package/dist/server/src/api/database/index.js.map +1 -1
  425. package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
  426. package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
  427. package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
  428. package/dist/server/src/api/database/record-schemas.d.ts +4 -1
  429. package/dist/server/src/api/database/record-schemas.js +1 -0
  430. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  431. package/dist/server/src/api/database/types.d.ts +21 -1
  432. package/dist/server/src/api/routes/workers.routes.js +4 -4
  433. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  434. package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
  435. package/dist/server/src/api/schemas/cameras.schema.d.ts +178 -76
  436. package/dist/server/src/api/schemas/cameras.schema.js +26 -2
  437. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  438. package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
  439. package/dist/server/src/api/schemas/training.schema.js +4 -1
  440. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  441. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  442. package/dist/server/src/api/schemas/users.schema.js +4 -0
  443. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  444. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  445. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  446. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  447. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  448. package/dist/server/src/api/services/cameras.service.js +47 -2
  449. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  450. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  451. package/dist/server/src/api/services/plugins.service.js +5 -1
  452. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  453. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  454. package/dist/server/src/api/services/workers.service.js +15 -0
  455. package/dist/server/src/api/services/workers.service.js.map +1 -1
  456. package/dist/server/src/api/types/index.d.ts +3 -2
  457. package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
  458. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  459. package/dist/server/src/api/websocket/types.d.ts +1 -0
  460. package/dist/server/src/assistant/pricing.js +39 -10
  461. package/dist/server/src/assistant/pricing.js.map +1 -1
  462. package/dist/server/src/assistant/providers.js +9 -1
  463. package/dist/server/src/assistant/providers.js.map +1 -1
  464. package/dist/server/src/assistant/search.d.ts +17 -0
  465. package/dist/server/src/assistant/search.js +10 -2
  466. package/dist/server/src/assistant/search.js.map +1 -1
  467. package/dist/server/src/assistant/tools/plugins.js +7 -3
  468. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  469. package/dist/server/src/assistant/types.d.ts +2 -0
  470. package/dist/server/src/automations/actions/plugin.js +5 -9
  471. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  472. package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
  473. package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
  474. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
  475. package/dist/server/src/automations/segment-picture.d.ts +16 -0
  476. package/dist/server/src/automations/segment-picture.js +152 -0
  477. package/dist/server/src/automations/segment-picture.js.map +1 -0
  478. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
  479. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
  480. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  481. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
  482. package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
  483. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  484. package/dist/server/src/camera/decoder/event-manager.d.ts +13 -4
  485. package/dist/server/src/camera/decoder/event-manager.js +108 -128
  486. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  487. package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
  488. package/dist/server/src/camera/decoder/event-trace.js +63 -8
  489. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  490. package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
  491. package/dist/server/src/camera/decoder/face-tracks.js +199 -0
  492. package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
  493. package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
  494. package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
  495. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  496. package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
  497. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  498. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  499. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  500. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  501. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  502. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
  503. package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
  504. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  505. package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
  506. package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
  507. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  508. package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
  509. package/dist/server/src/camera/decoder/training-sink.js +30 -6
  510. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  511. package/dist/server/src/camera/decoder/types.d.ts +6 -2
  512. package/dist/server/src/camera/decoder/types.js +4 -2
  513. package/dist/server/src/camera/decoder/types.js.map +1 -1
  514. package/dist/server/src/manager/coreManager.d.ts +2 -1
  515. package/dist/server/src/manager/coreManager.js +9 -2
  516. package/dist/server/src/manager/coreManager.js.map +1 -1
  517. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
  518. package/dist/server/src/manager/trainingCandidateManager.js +25 -3
  519. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  520. package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
  521. package/dist/server/src/manager/trainingSubmission.js +73 -0
  522. package/dist/server/src/manager/trainingSubmission.js.map +1 -0
  523. package/dist/server/src/manager/types.d.ts +8 -2
  524. package/dist/server/src/manager/types.js.map +1 -1
  525. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  526. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  527. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  528. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  529. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
  530. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  531. package/dist/server/src/remote/api/routes/train.d.ts +44 -3
  532. package/dist/server/src/remote/api/routes/train.js +2 -2
  533. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  534. package/dist/server/src/rpc/interfaces/core.d.ts +7 -3
  535. package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
  536. package/dist/server/src/rpc/server.d.ts +2 -0
  537. package/dist/server/src/rpc/server.js +8 -5
  538. package/dist/server/src/rpc/server.js.map +1 -1
  539. package/dist/server/src/sensors/registry.d.ts +3 -0
  540. package/dist/server/src/sensors/registry.js +44 -11
  541. package/dist/server/src/sensors/registry.js.map +1 -1
  542. package/dist/server/src/sensors/types.d.ts +1 -0
  543. package/dist/server/src/sensors/types.js +3 -0
  544. package/dist/server/src/sensors/types.js.map +1 -1
  545. package/dist/server/src/services/config/index.d.ts +1 -0
  546. package/dist/server/src/services/config/index.js +2 -0
  547. package/dist/server/src/services/config/index.js.map +1 -1
  548. package/dist/server/src/utils/image.d.ts +6 -0
  549. package/dist/server/src/utils/image.js +58 -22
  550. package/dist/server/src/utils/image.js.map +1 -1
  551. package/dist/server/src/workers/agent.js +2 -0
  552. package/dist/server/src/workers/agent.js.map +1 -1
  553. package/dist/server/src/workers/manager.d.ts +1 -0
  554. package/dist/server/src/workers/manager.js +22 -0
  555. package/dist/server/src/workers/manager.js.map +1 -1
  556. package/dist/server/src/workers/types.d.ts +5 -0
  557. package/dist/server/src/workers/types.js.map +1 -1
  558. package/npm-shrinkwrap.json +212 -171
  559. package/package.json +23 -23
  560. package/dist/interface/assets/404-C8EoOtBl.js +0 -1
  561. package/dist/interface/assets/About-Q7ZmOGgl.js +0 -1
  562. package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
  563. package/dist/interface/assets/Assistant-DFLgklVe.js +0 -1
  564. package/dist/interface/assets/Automation-BSicfOGF.css +0 -1
  565. package/dist/interface/assets/Automation-D__qvx8c.js +0 -3
  566. package/dist/interface/assets/AutomationImport-CLQSdqg9.js +0 -2
  567. package/dist/interface/assets/AutomationStore-Dt6yTQDb.js +0 -2
  568. package/dist/interface/assets/AutomationStoreDetail-DqBrBhUI.js +0 -2
  569. package/dist/interface/assets/Automations-BH_7lYR7.js +0 -2
  570. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  571. package/dist/interface/assets/Camera-aquPHFwb.js +0 -2
  572. package/dist/interface/assets/CameraConsole-rhle_cfW.js +0 -7
  573. package/dist/interface/assets/Cameras-Bzy3P0xN.js +0 -651
  574. package/dist/interface/assets/Camview-Bri_T7Tq.css +0 -1
  575. package/dist/interface/assets/Camview-CjcQbtTl.js +0 -1
  576. package/dist/interface/assets/CertificateUpload-CWVu_52v.js +0 -1
  577. package/dist/interface/assets/Config-Dc1zKIPq.js +0 -2
  578. package/dist/interface/assets/ConfigActionAssistant-AfQfSqHZ.js +0 -1
  579. package/dist/interface/assets/ConfigActionCameraControl-BKQdHxqe.js +0 -1
  580. package/dist/interface/assets/ConfigActionDelay-B52HeJGb.js +0 -1
  581. package/dist/interface/assets/ConfigActionHttp-BP5gvpQc.js +0 -1
  582. package/dist/interface/assets/ConfigActionImageInput-DE2mSost.js +0 -1
  583. package/dist/interface/assets/ConfigActionMqtt-CYgnZjAE.js +0 -1
  584. package/dist/interface/assets/ConfigActionNotification-C3q53I4n.js +0 -1
  585. package/dist/interface/assets/ConfigActionNotificationControl-eDJ8r5ao.js +0 -1
  586. package/dist/interface/assets/ConfigActionOutput-DgYSYvy-.js +0 -1
  587. package/dist/interface/assets/ConfigActionPlugin-utolgAXk.js +0 -1
  588. package/dist/interface/assets/ConfigActionSensor-CmEKQPqs.js +0 -1
  589. package/dist/interface/assets/ConfigActionSnapshot-D7XucxVV.js +0 -1
  590. package/dist/interface/assets/ConfigActionVariable-C-Mjm3gr.js +0 -1
  591. package/dist/interface/assets/ConfigConditionIfElse-B24Rqb8y.js +0 -1
  592. package/dist/interface/assets/ConfigConditionSensorState-42-yFDmK.js +0 -1
  593. package/dist/interface/assets/ConfigConditionSwitch-DezH_nwm.js +0 -1
  594. package/dist/interface/assets/ConfigConditionTime-Cg2Lwznd.js +0 -1
  595. package/dist/interface/assets/ConfigSensorValueInput-YHBDCTZm.js +0 -1
  596. package/dist/interface/assets/ConfigTriggerDetection-DxEpodjG.js +0 -1
  597. package/dist/interface/assets/ConfigTriggerGeofence-Bye8syxc.js +0 -1
  598. package/dist/interface/assets/ConfigTriggerManual-s_lEDTV9.js +0 -1
  599. package/dist/interface/assets/ConfigTriggerMqtt-DqdZj7TU.js +0 -1
  600. package/dist/interface/assets/ConfigTriggerSchedule-Q559hn6g.js +0 -1
  601. package/dist/interface/assets/ConfigTriggerSensor-DIKkdbTF.js +0 -1
  602. package/dist/interface/assets/ConfigTriggerSystem-CwNZ4xEg.js +0 -1
  603. package/dist/interface/assets/ConfigTriggerWebhook-9ZC6X4mK.js +0 -1
  604. package/dist/interface/assets/Console-BqIDZ5vq.js +0 -1
  605. package/dist/interface/assets/CuiAssistantConversation-BmBhwrNh.css +0 -1
  606. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +0 -5
  607. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +0 -1
  608. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +0 -1
  609. package/dist/interface/assets/CuiBottomSheet-D75L0Zny.js +0 -1
  610. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  611. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +0 -1
  612. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +0 -1
  613. package/dist/interface/assets/CuiCameraShares-8mtgFsQ_.js +0 -1
  614. package/dist/interface/assets/CuiCameraTable-CmCT-XQF.js +0 -2
  615. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +0 -1
  616. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +0 -1
  617. package/dist/interface/assets/CuiConsole-DYV-FUE0.js +0 -5
  618. package/dist/interface/assets/CuiDataTable-C0gsYYpg.js +0 -1
  619. package/dist/interface/assets/CuiLightControl-CFIwBj3C.js +0 -1
  620. package/dist/interface/assets/CuiList-9TVV8SB6.js +0 -1
  621. package/dist/interface/assets/CuiMarkdownContent-BYBQX_aF.js +0 -1
  622. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  623. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +0 -2
  624. package/dist/interface/assets/CuiPluginCategoryChip-DhnIBJHa.js +0 -1
  625. package/dist/interface/assets/CuiPluginOAuthButton-DAuzNRAA.js +0 -2
  626. package/dist/interface/assets/CuiPluginTrustBadge-Bz710WwC.js +0 -1
  627. package/dist/interface/assets/CuiQRCode-B8-4GHSY.js +0 -1
  628. package/dist/interface/assets/CuiSchema-C_CHuKuf.js +0 -1
  629. package/dist/interface/assets/CuiTopNavbarItem-CNEnOPSh.js +0 -1
  630. package/dist/interface/assets/Faces-DRHMrrxh.js +0 -1
  631. package/dist/interface/assets/FirstSteps-Ci2Iqbe2.js +0 -1
  632. package/dist/interface/assets/Floorplan-Ci63Zd8W.css +0 -1
  633. package/dist/interface/assets/Floorplan-CqWIbDbh.js +0 -1
  634. package/dist/interface/assets/Instances-gzKFKB1l.js +0 -1
  635. package/dist/interface/assets/Logs-DL1yw_Pe.js +0 -6
  636. package/dist/interface/assets/Menu-C0GQ63aj.js +0 -1
  637. package/dist/interface/assets/Metrics-BYnnb7M0.js +0 -12
  638. package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
  639. package/dist/interface/assets/OAuthDeviceFlow-Zd6r9IHU.js +0 -1
  640. package/dist/interface/assets/Plugin-DJIrYUnZ.js +0 -1
  641. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
  642. package/dist/interface/assets/PluginConsole-ag0jPZQ_.js +0 -7
  643. package/dist/interface/assets/PluginDetail-DmElwUuV.js +0 -2
  644. package/dist/interface/assets/PluginSchema-CxUujnVs.js +0 -1
  645. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +0 -1
  646. package/dist/interface/assets/PluginSearch-BqzngVRL.js +0 -2
  647. package/dist/interface/assets/PluginUpdateProgress-CFut0RAe.js +0 -1
  648. package/dist/interface/assets/Plugins-ZFcB_j6v.js +0 -1
  649. package/dist/interface/assets/RecentEventsFilter-CqeHhECT.js +0 -1
  650. package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
  651. package/dist/interface/assets/Recordings-BJrtW9eG.js +0 -1
  652. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +0 -1
  653. package/dist/interface/assets/SensorHistory-q0UR3qMG.js +0 -1
  654. package/dist/interface/assets/Sensors-C_InhcHA.js +0 -2
  655. package/dist/interface/assets/Settings-Cv38rGWn.js +0 -1
  656. package/dist/interface/assets/Settings-D7495zbV.css +0 -1
  657. package/dist/interface/assets/SettingsAccount-B05739dn.js +0 -1
  658. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +0 -1
  659. package/dist/interface/assets/SettingsAppearance-DdyYUgmV.js +0 -1
  660. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +0 -1
  661. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +0 -1
  662. package/dist/interface/assets/SettingsBackup-DKwlPQhD.js +0 -1
  663. package/dist/interface/assets/SettingsList-D6hqnvUo.js +0 -1
  664. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +0 -1
  665. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +0 -1
  666. package/dist/interface/assets/SettingsPermissions-BeTCTrAf.js +0 -1
  667. package/dist/interface/assets/SettingsRecordings-mwL6Dalr.js +0 -1
  668. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  669. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +0 -2
  670. package/dist/interface/assets/SettingsSystem-BXnzXgqm.js +0 -2
  671. package/dist/interface/assets/SettingsUsers-D2mVlJin.js +0 -1
  672. package/dist/interface/assets/Terminal-C1UoXDRK.js +0 -4
  673. package/dist/interface/assets/Training-A5ynOv_l.js +0 -1
  674. package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
  675. package/dist/interface/assets/Updates-kS_Tm8HD.js +0 -2
  676. package/dist/interface/assets/VariableInput-D9PfI8Ut.js +0 -1
  677. package/dist/interface/assets/VariableSuggestions-DArWzQuE.js +0 -1
  678. package/dist/interface/assets/VersionsHandler-BZVMpB2v.js +0 -7
  679. package/dist/interface/assets/VirtualSensorCreate-Cz-QFo4R.js +0 -1
  680. package/dist/interface/assets/Workers-2sc4VMi9.js +0 -2
  681. package/dist/interface/assets/Workers-DH59zE1C.css +0 -1
  682. package/dist/interface/assets/account-DwW7pBOb.js +0 -1
  683. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  684. package/dist/interface/assets/ace.config-CCyX_Ohk.js +0 -1
  685. package/dist/interface/assets/alert-circle-BdUVAt1B.js +0 -1
  686. package/dist/interface/assets/alert-outline-IRxYbw0j.js +0 -1
  687. package/dist/interface/assets/api-CGfJbsTz.css +0 -2
  688. package/dist/interface/assets/api-CzwdnGAH.js +0 -1
  689. package/dist/interface/assets/api-DOpXVpef.js +0 -4
  690. package/dist/interface/assets/arrow-left-Bk-ZrOVr.js +0 -1
  691. package/dist/interface/assets/assistant-hGCAgv-f.js +0 -1
  692. package/dist/interface/assets/assistantModels-BsSgRsws.js +0 -1
  693. package/dist/interface/assets/auth-By-S-WEr.js +0 -1
  694. package/dist/interface/assets/automations-vwIwb2PQ.js +0 -1
  695. package/dist/interface/assets/back-filled-D-X19YMO.js +0 -1
  696. package/dist/interface/assets/bell-ring-DreEHgoT.js +0 -1
  697. package/dist/interface/assets/brain-DuDAg544.js +0 -1
  698. package/dist/interface/assets/cameraSources-BMhXvtFt.js +0 -1
  699. package/dist/interface/assets/cctv-DM-C_8_6.js +0 -1
  700. package/dist/interface/assets/check-circle-Bevuw8-0.js +0 -1
  701. package/dist/interface/assets/check-circle-outline-aMxkvksr.js +0 -1
  702. package/dist/interface/assets/chevron-down-CCFn9Z56.js +0 -1
  703. package/dist/interface/assets/chevron-up-CSImUM3_.js +0 -1
  704. package/dist/interface/assets/clock-outline-DH3WIEJt.js +0 -1
  705. package/dist/interface/assets/close-CMxyM4v9.js +0 -1
  706. package/dist/interface/assets/close-circle-CfgJCZ9A.js +0 -1
  707. package/dist/interface/assets/cloud-check-CbdFLIdR.js +0 -1
  708. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +0 -1
  709. package/dist/interface/assets/config-BQxEwrK6.js +0 -1
  710. package/dist/interface/assets/content-copy-Bz49QPOI.js +0 -1
  711. package/dist/interface/assets/copy-DA6QQHRt.js +0 -1
  712. package/dist/interface/assets/cube-scan-IiH8zwm2.js +0 -1
  713. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +0 -1
  714. package/dist/interface/assets/delete-Btu-UVx9.js +0 -1
  715. package/dist/interface/assets/dist-D_qWDAKp.js +0 -1
  716. package/dist/interface/assets/dots-vertical-D496SIss.js +0 -1
  717. package/dist/interface/assets/download-BSC7lwq_.js +0 -1
  718. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  719. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  720. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  721. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  722. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  723. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  724. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  725. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  726. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  727. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  728. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  729. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  730. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  731. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  732. package/dist/interface/assets/eventIcons-UQutPG3p.js +0 -1
  733. package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
  734. package/dist/interface/assets/eye-off-CSU0U8g7.js +0 -1
  735. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  736. package/dist/interface/assets/flowSchema-BPq6iHks.js +0 -1
  737. package/dist/interface/assets/help-circle-outline-Cr_yNhPi.js +0 -1
  738. package/dist/interface/assets/history-anuCbp1T.js +0 -1
  739. package/dist/interface/assets/home-N3bDR1vX.js +0 -1
  740. package/dist/interface/assets/information-outline-CMWIvLNB.js +0 -1
  741. package/dist/interface/assets/intercomService-CXcjcPa9.js +0 -1
  742. package/dist/interface/assets/lan-CYXjdk7L.js +0 -1
  743. package/dist/interface/assets/main-By4L33Im.js +0 -3
  744. package/dist/interface/assets/main-DVa5U7UB.css +0 -1
  745. package/dist/interface/assets/microphone-BB2pATI_.js +0 -1
  746. package/dist/interface/assets/minus-BCp3ZNKO.js +0 -1
  747. package/dist/interface/assets/mqtt-DE1KQ8Td.js +0 -1
  748. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  749. package/dist/interface/assets/native-DKZwialB.js +0 -1
  750. package/dist/interface/assets/nodeDefinitions-ByrqsENY.js +0 -1
  751. package/dist/interface/assets/notifications-BCyiD-TP.js +0 -1
  752. package/dist/interface/assets/pause-BQlxwAW2.js +0 -1
  753. package/dist/interface/assets/pencil-CDsNnEXi.js +0 -1
  754. package/dist/interface/assets/pencil-outline-CIQL5Kui.js +0 -1
  755. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  756. package/dist/interface/assets/plugins-BJPCV1YL.js +0 -1
  757. package/dist/interface/assets/plus-Bp4q9G7S.js +0 -1
  758. package/dist/interface/assets/plus-CySoovdr.js +0 -1
  759. package/dist/interface/assets/power-WmBLDR0-.js +0 -1
  760. package/dist/interface/assets/radar-CyYAmume.js +0 -1
  761. package/dist/interface/assets/refresh-CHTA3jVN.js +0 -1
  762. package/dist/interface/assets/restore-C8RNM5yX.js +0 -1
  763. package/dist/interface/assets/rooms-Dr4yiakO.js +0 -1
  764. package/dist/interface/assets/round-alt-arrow-left-bold-Gh5mi_yR.js +0 -1
  765. package/dist/interface/assets/search-BajCVmOI.js +0 -1
  766. package/dist/interface/assets/sensorIcons-DofElQ3w.js +0 -1
  767. package/dist/interface/assets/sensorSlots-D2KJGvPw.js +0 -1
  768. package/dist/interface/assets/sensors-3llrL7s3.js +0 -1
  769. package/dist/interface/assets/server-Dw5DD473.js +0 -1
  770. package/dist/interface/assets/settings-DnksaK7m.js +0 -1
  771. package/dist/interface/assets/source-branch-CzqIPffP.js +0 -1
  772. package/dist/interface/assets/theme-C85LJhOY.js +0 -1
  773. package/dist/interface/assets/trash-2-DJeEhHf4.js +0 -1
  774. package/dist/interface/assets/trash-can-outline-DrT6iw7I.js +0 -1
  775. package/dist/interface/assets/trash-fill-Bb_-UicM.js +0 -1
  776. package/dist/interface/assets/trash2-Dsl8gfxq.js +0 -1
  777. package/dist/interface/assets/types-CPhy0Ovw.js +0 -1
  778. package/dist/interface/assets/types-DYKmSGl4.js +0 -1
  779. package/dist/interface/assets/types-i1kTodPP.js +0 -1
  780. package/dist/interface/assets/undo-DoqJW-k7.js +0 -1
  781. package/dist/interface/assets/ungrouped-BlheTJCh.css +0 -1
  782. package/dist/interface/assets/ungrouped-C2CWO39a.js +0 -1
  783. package/dist/interface/assets/updates-C2LhMkNR.js +0 -1
  784. package/dist/interface/assets/upload-C3w1XH-o.js +0 -1
  785. package/dist/interface/assets/upload-DtIcwiNC.js +0 -1
  786. package/dist/interface/assets/useAppVersion-DkazK9Vu.js +0 -1
  787. package/dist/interface/assets/useAssistantActions-BZP6NL18.js +0 -1
  788. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +0 -1
  789. package/dist/interface/assets/useCameraOptions-DnI0xLrX.js +0 -1
  790. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +0 -1
  791. package/dist/interface/assets/useLogsSocket-C3Y8S0Ar.js +0 -1
  792. package/dist/interface/assets/useNavLayout-C9pcDuVP.js +0 -1
  793. package/dist/interface/assets/usePermissions-CCTxwXF0.js +0 -1
  794. package/dist/interface/assets/usePluginUpdates-DBhLWAua.js +0 -1
  795. package/dist/interface/assets/usePushRegistration-CPRVdLAx.js +0 -2
  796. package/dist/interface/assets/useServerRestart-bScBLJ9r.js +0 -1
  797. package/dist/interface/assets/useStreamStatus-Bfh-WmLH.js +0 -1
  798. package/dist/interface/assets/useTabSwipe-C_QOrvSW.js +0 -1
  799. package/dist/interface/assets/useUpdateChannel-g0h_4c55.js +0 -1
  800. package/dist/interface/assets/useUpdatesSocket-CxrLRETs.js +0 -1
  801. package/dist/interface/assets/useUserOptions-DN0t3gBr.js +0 -1
  802. package/dist/interface/assets/variable-ywTlRfo5.js +0 -1
  803. package/dist/interface/assets/vendor-ace-CvEoip98.js +0 -1085
  804. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +0 -2326
  805. package/dist/interface/assets/vendor-capacitor-Bs_WzL0Q.js +0 -2
  806. package/dist/interface/assets/vendor-chart-DBK083Hu.js +0 -3
  807. package/dist/interface/assets/vendor-core-DIa0tPNH.js +0 -1
  808. package/dist/interface/assets/vendor-dnd-DGQLvX6Y.js +0 -2
  809. package/dist/interface/assets/vendor-draggabilly-D8CK6M-y.js +0 -1
  810. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  811. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  812. package/dist/interface/assets/vendor-markdown-qHIinIUE.js +0 -14
  813. package/dist/interface/assets/vendor-primevue-CZKUAkMA.js +0 -3942
  814. package/dist/interface/assets/vendor-vueflow-bSwRZ9X8.js +0 -26
  815. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  816. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  817. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  818. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  819. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  820. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  821. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  822. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  823. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  824. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  825. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  826. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  827. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  828. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  829. package/dist/interface/assets/webhook-CWKf2Qxu.js +0 -1
  830. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  831. package/dist/interface/assets/zoom-in-CHkXAWHy.js +0 -1
  832. package/dist/interface/ha/404-tl2VQ3qy.js +0 -60
  833. package/dist/interface/ha/About-Cn7KOblU.js +0 -55
  834. package/dist/interface/ha/Assistant-DG2GGda0.js +0 -9361
  835. package/dist/interface/ha/Automation-D0_WpXx4.js +0 -2025
  836. package/dist/interface/ha/AutomationImport-DdC3dEaC.js +0 -206
  837. package/dist/interface/ha/AutomationStore-BrLn4oBx.js +0 -336
  838. package/dist/interface/ha/AutomationStoreDetail-DoppNsNc.js +0 -122
  839. package/dist/interface/ha/Automations-BaUJ9pVq.js +0 -424
  840. package/dist/interface/ha/Camera-Cj5ImvZG.js +0 -657
  841. package/dist/interface/ha/CameraConsole-7MhlS2VK.js +0 -52
  842. package/dist/interface/ha/Cameras-vHYz8uSO.js +0 -1969
  843. package/dist/interface/ha/Camview-BEglAx26.js +0 -1331
  844. package/dist/interface/ha/Config-CHiK--zP.js +0 -356
  845. package/dist/interface/ha/ConfigActionAssistant-DynduZYV.js +0 -182
  846. package/dist/interface/ha/ConfigActionCameraControl-BEYePssz.js +0 -152
  847. package/dist/interface/ha/ConfigActionHttp-h0vRWqZ5.js +0 -134
  848. package/dist/interface/ha/ConfigActionImageInput-B9GMZYAR.js +0 -171
  849. package/dist/interface/ha/ConfigActionMqtt-BEQpHBgf.js +0 -81
  850. package/dist/interface/ha/ConfigActionNotification-BYsz8_aS.js +0 -199
  851. package/dist/interface/ha/ConfigActionNotificationControl-BxmIWVE8.js +0 -111
  852. package/dist/interface/ha/ConfigActionOutput-DTOQSa1S.js +0 -98
  853. package/dist/interface/ha/ConfigActionPlugin-NOsUs3QI.js +0 -172
  854. package/dist/interface/ha/ConfigActionSensor-YWnsH_LV.js +0 -139
  855. package/dist/interface/ha/ConfigActionSnapshot-DHJnTvin.js +0 -48
  856. package/dist/interface/ha/ConfigActionVariable-C7UFnvW0.js +0 -88
  857. package/dist/interface/ha/ConfigConditionIfElse-CAHbuhH3.js +0 -124
  858. package/dist/interface/ha/ConfigConditionSensorState-CE6okUeb.js +0 -192
  859. package/dist/interface/ha/ConfigConditionSwitch-D5FULaTy.js +0 -128
  860. package/dist/interface/ha/ConfigSensorValueInput-mo6Gs_aZ.js +0 -170
  861. package/dist/interface/ha/ConfigTriggerDetection-Bt-OhHtM.js +0 -241
  862. package/dist/interface/ha/ConfigTriggerGeofence-Cw3jV5qD.js +0 -4888
  863. package/dist/interface/ha/ConfigTriggerMqtt-BXeV82UG.js +0 -134
  864. package/dist/interface/ha/ConfigTriggerSensor-Baqq--nJ.js +0 -73
  865. package/dist/interface/ha/ConfigTriggerSystem-braUVGzW.js +0 -192
  866. package/dist/interface/ha/ConfigTriggerWebhook-Dm45r-1C.js +0 -94
  867. package/dist/interface/ha/Console-q3TCsxYo.js +0 -348
  868. package/dist/interface/ha/CuiAutomationRunsDialog-DO6h5Tc4.js +0 -130
  869. package/dist/interface/ha/CuiBottomSheet-B7ldz0xi.js +0 -270
  870. package/dist/interface/ha/CuiCameraRecordings-Dq1Vh3qA.js +0 -551
  871. package/dist/interface/ha/CuiCameraShares-DBqcpevG.js +0 -121
  872. package/dist/interface/ha/CuiCameraTable-kL8rK-Uv.js +0 -169
  873. package/dist/interface/ha/CuiChartTable-BrFyiSt_.js +0 -6801
  874. package/dist/interface/ha/CuiConsole-DpeXZmJd.js +0 -244
  875. package/dist/interface/ha/CuiDataTable-BtqzIz0o.js +0 -8732
  876. package/dist/interface/ha/CuiList-CU2NJ1K6.js +0 -57
  877. package/dist/interface/ha/CuiPluginCard-lBLypaN4.js +0 -769
  878. package/dist/interface/ha/CuiPluginOAuthButton-CuGauZJA.js +0 -79
  879. package/dist/interface/ha/CuiPluginTrustBadge-BofBmRYc.js +0 -123
  880. package/dist/interface/ha/CuiQRCode-CdK9bwKb.js +0 -86
  881. package/dist/interface/ha/CuiSchema-DqkCLv9Y.js +0 -963
  882. package/dist/interface/ha/CuiTopNavbarItem-C2VZB7WV.js +0 -140
  883. package/dist/interface/ha/Faces-Crfi-75Z.js +0 -1441
  884. package/dist/interface/ha/FirstSteps-CKVG86pf.js +0 -251
  885. package/dist/interface/ha/Floorplan-CH9_-6hk.js +0 -3657
  886. package/dist/interface/ha/Instances-5gZdPPDA.js +0 -680
  887. package/dist/interface/ha/Logs-BkzEM70F.js +0 -418
  888. package/dist/interface/ha/Menu-BuT3_Ggx.js +0 -156
  889. package/dist/interface/ha/Metrics-BGrzu0bu.js +0 -1447
  890. package/dist/interface/ha/OAuthDeviceFlow-BEJtegqy.js +0 -112
  891. package/dist/interface/ha/Plugin-Bnp2jiC2.js +0 -1544
  892. package/dist/interface/ha/PluginConsole-CmsuPVMz.js +0 -56
  893. package/dist/interface/ha/PluginDetail-BCNx7vHr.js +0 -805
  894. package/dist/interface/ha/PluginSearch-DOdhuxgM.js +0 -462
  895. package/dist/interface/ha/PluginUpdateProgress-CwkKc8Tr.js +0 -34
  896. package/dist/interface/ha/Plugins-BrFowCdC.js +0 -692
  897. package/dist/interface/ha/RecentEventsFilter-9ZkDHD1g.js +0 -79
  898. package/dist/interface/ha/Recordings-BZhf39pJ.js +0 -1539
  899. package/dist/interface/ha/SensorEdit-Ds6WbN4A.js +0 -1462
  900. package/dist/interface/ha/SensorHistory-CoTIYTJx.js +0 -54
  901. package/dist/interface/ha/Sensors-DZ2MKdlh.js +0 -1400
  902. package/dist/interface/ha/Settings-D3JKr430.js +0 -218
  903. package/dist/interface/ha/SettingsAccount-cvtlSKZw.js +0 -971
  904. package/dist/interface/ha/SettingsAppearance-CaKuOHRu.js +0 -220
  905. package/dist/interface/ha/SettingsAssistant-vWVjAUqQ.js +0 -2025
  906. package/dist/interface/ha/SettingsBackup-CvzL_bVf.js +0 -556
  907. package/dist/interface/ha/SettingsList-C0Ec8x-H.js +0 -40
  908. package/dist/interface/ha/SettingsMqtt-COnq-QM5.js +0 -526
  909. package/dist/interface/ha/SettingsNotifications-BZ68bQzO.js +0 -529
  910. package/dist/interface/ha/SettingsPermissions-Jh0FuIF7.js +0 -84
  911. package/dist/interface/ha/SettingsRecordings-BPtNNpDa.js +0 -152
  912. package/dist/interface/ha/SettingsRemote-BXG8IYjf.js +0 -1810
  913. package/dist/interface/ha/SettingsSystem-_jHBUhws.js +0 -376
  914. package/dist/interface/ha/SettingsUsers-CzGj_RJN.js +0 -379
  915. package/dist/interface/ha/Terminal-BP3b8IBP.js +0 -612
  916. package/dist/interface/ha/Training-C2-6DgY0.js +0 -1699
  917. package/dist/interface/ha/Updates-BMZsEhmy.js +0 -343
  918. package/dist/interface/ha/VariableInput-DmI7skCD.js +0 -52
  919. package/dist/interface/ha/VersionsHandler-DJd4NqtD.js +0 -216
  920. package/dist/interface/ha/VirtualSensorCreate-DmtGYvAn.js +0 -101
  921. package/dist/interface/ha/Workers-2HTPHgKV.js +0 -765
  922. package/dist/interface/ha/ace-B3bPzJu9.js +0 -13236
  923. package/dist/interface/ha/ace.config-Dt55Nqby.js +0 -1429
  924. package/dist/interface/ha/api-BelbnLQO.js +0 -62346
  925. package/dist/interface/ha/api-sy4rqV2N.js +0 -29
  926. package/dist/interface/ha/assistant-C6KYXJfi.js +0 -349
  927. package/dist/interface/ha/auth-Da66mVEd.js +0 -271
  928. package/dist/interface/ha/automationBlueprint-hlqqM17r.js +0 -250
  929. package/dist/interface/ha/cards-BFRRfuM7.js +0 -13436
  930. package/dist/interface/ha/config-Cd7JNMpD.js +0 -116
  931. package/dist/interface/ha/dist-BIngHzHx.js +0 -287
  932. package/dist/interface/ha/dist-BybVYMVs.js +0 -3248
  933. package/dist/interface/ha/eventIcons-BFNUgeGr.js +0 -676
  934. package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
  935. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
  936. package/dist/interface/ha/intercomService-B7HkLs6z.js +0 -1414
  937. package/dist/interface/ha/mqtt-UZfptWJl.js +0 -56
  938. package/dist/interface/ha/notifications-DTHM8fS-.js +0 -159
  939. package/dist/interface/ha/pinia-BokSpDzj.js +0 -7656
  940. package/dist/interface/ha/plugins-Bwp_GfaX.js +0 -592
  941. package/dist/interface/ha/protocol-BB4jdtUC-DW3jl2tV.js +0 -708
  942. package/dist/interface/ha/rooms-BvaD0r0q.js +0 -45
  943. package/dist/interface/ha/server-OWdtITVa.js +0 -239
  944. package/dist/interface/ha/types-BFJjyMZe.js +0 -1073
  945. package/dist/interface/ha/ungrouped-x00DHNHO.js +0 -1311
  946. package/dist/interface/ha/updates-C03Qf3Il.js +0 -341
  947. package/dist/interface/ha/useAppVersion-CrMd9CC9.js +0 -22
  948. package/dist/interface/ha/useAssistantActions-S1FrNe9b.js +0 -29
  949. package/dist/interface/ha/useKeyboardInset-DwUQCWHC.js +0 -27
  950. package/dist/interface/ha/useLogsSocket-C6k217mW.js +0 -59
  951. package/dist/interface/ha/useNavLayout-DhuQE024.js +0 -125
  952. package/dist/interface/ha/usePermissions-DaE_wFch.js +0 -72
  953. package/dist/interface/ha/useServerRestart-CYaen2r6.js +0 -23
  954. package/dist/interface/ha/useTabSwipe-DAmCFlgg.js +0 -45
  955. package/dist/interface/ha/useUpdateChannel-Dr1EoU2X.js +0 -22
  956. package/dist/interface/ha/useUpdatesSocket-C8Gmhemh.js +0 -34
  957. package/dist/interface/ha/useUserOptions-BB5wk3Bq.js +0 -15
  958. package/dist/interface/workbox-778a14ff.js +0 -1
@@ -0,0 +1,1836 @@
1
+ import { m as e, p as t } from "./ripple-ZDATPc2w.js";
2
+ import { D as n, G as r, H as i, I as a, Jt as o, U as s, Wt as c, Y as l, _t as u, d, f, gt as p, kt as m, l as h, lt as g, o as _, ot as v, p as y, qt as b, r as x, rt as S, st as C, u as w, ut as T, v as ee, wt as E, x as D, xt as O, y as k, yt as A, z as te } from "./runtime-core.esm-bundler-_TfE0DWz.js";
3
+ import { t as j } from "./tooltip-BDrlgLof.js";
4
+ import { t as M } from "./message-D6dIy_hz.js";
5
+ import { t as N } from "./tag-mchuCAPR.js";
6
+ import { $ as P, An as ne, Ar as F, B as I, Ci as L, Cr as R, Ei as z, En as re, Fr as ie, H as B, Hn as ae, J as V, Kn as oe, Mn as H, Mr as se, Nn as ce, Nr as le, Or as U, Pn as ue, Pr as de, R as W, U as fe, Un as pe, V as me, Wn as he, Xr as ge, Z as _e, Zn as ve, bi as ye, bn as be, cr as xe, er as Se, et as Ce, g as we, ga as G, hn as Te, it as Ee, jn as De, jr as Oe, nn as ke, nr as Ae, q as je, rr as Me, sr as Ne, tn as Pe, tr as Fe, tt as Ie, wr as Le, xn as Re, yn as ze, yr as Be, z as Ve } from "./api-CH_Y8Hee.js";
7
+ import { B as He, I as Ue, M as We } from "./protocol-BB4jdtUC-BhEwymva.js";
8
+ import { h as Ge, u as K } from "./intercomService-BtJ_zUNd.js";
9
+ import { n as Ke } from "./vue-i18n-D5EAy78K.js";
10
+ import { C as qe, _ as Je, g as Ye } from "./dist-euRmladF.js";
11
+ import { i as Xe } from "./alert-outline-FcLLjoOK.js";
12
+ import { a as Ze, c as Qe, n as $e, o as et, s as tt, t as q } from "./eventLabels-B5GrM5jO.js";
13
+ import { t as nt } from "./button-BouAFgf5.js";
14
+ import { M as rt } from "./dist-BQf9ANPx.js";
15
+ import { t as it } from "./inputtext-C_ygnPrC.js";
16
+ import { t as at } from "./checkbox-CAKzZcqk.js";
17
+ import { t as ot } from "./datepicker-DXk97lTw.js";
18
+ import { t as J } from "./select-DV7p2EDj.js";
19
+ import { t as st } from "./close-CxFbonhd.js";
20
+ import { t as ct } from "./progressbar-CaUaM8Bt.js";
21
+ import { t as Y } from "./multiselect-BOb4ScAZ.js";
22
+ import { t as lt } from "./textarea-ByXnzJzx.js";
23
+ import { s as ut, t as dt } from "./assistant-smRQYA6p.js";
24
+ import { n as ft, r as pt, t as mt } from "./ungrouped-Ch4UX4dy.js";
25
+ import { t as ht } from "./utils-DYtBrGDz.js";
26
+ import { t as gt } from "./settings-lWJfHaif.js";
27
+ import { t as _t } from "./database-refresh-outline-PiqlCkA7.js";
28
+ import { n as vt, t as yt } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
29
+ //#region ~icons/tabler/photo-search
30
+ var bt = {
31
+ viewBox: "0 0 24 24",
32
+ width: "1.2em",
33
+ height: "1.2em"
34
+ };
35
+ function X(e, t) {
36
+ return i(), y("svg", bt, [...t[0] ||= [w("g", {
37
+ fill: "none",
38
+ stroke: "currentColor",
39
+ "stroke-linecap": "round",
40
+ "stroke-linejoin": "round",
41
+ "stroke-width": "2"
42
+ }, [w("path", { d: "M15 8h.01M11.5 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v5.5" }), w("path", { d: "M15 18a3 3 0 1 0 6 0a3 3 0 1 0-6 0m5.2 2.2L22 22M3 16l5-5c.928-.893 2.072-.893 3 0l2 2" })], -1)]]);
43
+ }
44
+ var xt = u({
45
+ name: "tabler-photo-search",
46
+ render: X
47
+ }), Z = { class: "flex flex-col gap-4" }, St = { class: "text-sm text-pretty" }, Ct = {
48
+ key: 0,
49
+ class: "flex flex-col gap-2"
50
+ }, wt = {
51
+ key: 0,
52
+ class: "flex justify-between text-sm text-muted"
53
+ }, Tt = { key: 0 }, Et = /* @__PURE__ */ D({
54
+ __name: "ClipReindex",
55
+ setup(e, { expose: t }) {
56
+ let r = n("dialogRefProps"), { t: a } = Ke(), { status: s, isBusy: c, checking: l, refresh: u, start: d, cancel: p } = pe(), g = O(!1), _ = O(!1), b = O(0), x = h(() => s.value?.running === !0), S = h(() => {
57
+ if (_.value) {
58
+ if (!s.value?.total) return a("views.recordings.reindex.up_to_date");
59
+ let { done: e, total: t, skipped: n } = s.value;
60
+ return n ? a("views.recordings.reindex.result_failed", {
61
+ done: e,
62
+ total: t,
63
+ skipped: n
64
+ }) : a("views.recordings.reindex.result", {
65
+ done: e,
66
+ total: t
67
+ });
68
+ }
69
+ return l.value ? a("views.recordings.reindex.checking") : x.value ? a("views.recordings.reindex.running_intro") : a("views.recordings.reindex.intro");
70
+ }), T = h(() => {
71
+ if (_.value) return b.value;
72
+ let e = s.value?.total ?? 0;
73
+ return e <= 0 ? 0 : Math.min(100, Math.round(((s.value?.done ?? 0) + (s.value?.skipped ?? 0)) / e * 100));
74
+ });
75
+ async function ee() {
76
+ return x.value ? p() : (g.value = !0, d()), null;
77
+ }
78
+ return v(x, (e, t) => {
79
+ t && !e && g.value && (_.value = !0, b.value = s.value?.total ? 100 : 0, s.value?.total || requestAnimationFrame(() => b.value = 100));
80
+ }), C(() => {
81
+ r.hideConfirmButton && (r.hideConfirmButton.value = _.value), r.confirmText && (r.confirmText.value = x.value ? a("views.recordings.reindex.stop") : a("views.recordings.reindex.start")), r.confirmButtonProps && (r.confirmButtonProps.value = x.value ? { severity: "danger" } : {}), r.disabled && (r.disabled.value = c.value);
82
+ }), te(() => {
83
+ s.value?.running && (g.value = !0), u().then(() => {
84
+ s.value?.running && (g.value = !0);
85
+ });
86
+ }), t({ onConfirm: ee }), (e, t) => {
87
+ let n = ct;
88
+ return i(), y("div", Z, [w("span", St, o(m(S)), 1), m(g) || m(x) ? (i(), y("div", Ct, [k(n, {
89
+ mode: m(l) ? "indeterminate" : "determinate",
90
+ value: m(T),
91
+ "show-value": !1,
92
+ class: "h-2"
93
+ }, null, 8, ["mode", "value"]), m(x) && !m(l) ? (i(), y("div", wt, [w("span", null, o(e.$t("views.recordings.reindex.progress", {
94
+ done: m(s)?.done ?? 0,
95
+ total: m(s)?.total ?? 0
96
+ })), 1), m(s)?.skipped ? (i(), y("span", Tt, o(e.$t("views.recordings.reindex.skipped", { count: m(s).skipped })), 1)) : f("", !0)])) : f("", !0)])) : f("", !0)]);
97
+ };
98
+ }
99
+ }), Dt = {
100
+ viewBox: "0 0 24 24",
101
+ width: "1.2em",
102
+ height: "1.2em"
103
+ };
104
+ function Ot(e, t) {
105
+ return i(), y("svg", Dt, [...t[0] ||= [w("path", {
106
+ fill: "currentColor",
107
+ 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"
108
+ }, null, -1)]]);
109
+ }
110
+ var kt = u({
111
+ name: "mdi-file-video-outline",
112
+ render: Ot
113
+ }), At = { class: "flex flex-col gap-6" }, jt = { class: "flex flex-col field-gap" }, Mt = { class: "cui-label" }, Q = { class: "flex flex-col field-gap" }, Nt = { class: "cui-label" }, Pt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, Ft = { class: "flex flex-col gap-1" }, It = { class: "text-xs text-muted" }, Lt = { class: "flex flex-col gap-1" }, Rt = { class: "text-xs text-muted" }, zt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, Bt = { class: "flex flex-col field-gap" }, Vt = { class: "cui-label" }, Ht = { class: "flex flex-col field-gap" }, Ut = { class: "cui-label" }, Wt = { class: "flex flex-col field-gap" }, Gt = { class: "flex items-center gap-3" }, Kt = { class: "cui-label !mb-0" }, qt = {
114
+ key: 0,
115
+ class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
116
+ }, Jt = { class: "font-semibold" }, Yt = { class: "font-semibold" }, Xt = { class: "border border-color rounded-xl card-background overflow-hidden" }, $ = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Zt = {
117
+ key: 0,
118
+ class: "flex items-center justify-center gap-2 text-muted text-sm py-6"
119
+ }, Qt = {
120
+ key: 1,
121
+ class: "text-center text-muted text-sm py-6"
122
+ }, $t = { class: "text-xs text-muted px-0.5" }, en = { class: "font-mono text-xs truncate flex-1" }, tn = { class: "text-xs text-muted tabular-nums shrink-0" }, nn = { class: "font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right" }, rn = 30, an = /* @__PURE__ */ D({
123
+ __name: "ExportRecordings",
124
+ props: {
125
+ cameras: {},
126
+ preselect: {}
127
+ },
128
+ setup(e, { expose: t }) {
129
+ let a = e, { t: s } = Ke(), c = z(), l = n("dialogRefProps"), { plugin: u } = rt("@camera.ui/camera-ui-nvr"), _ = O([]), v = O(!1), b = O(a.preselect?.length ? [...a.preselect] : []), S = O("best"), T = O(0), E = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), D = O(/* @__PURE__ */ new Date()), A = h(() => [{
130
+ label: s("views.recordings.export.quality_best"),
131
+ value: "best"
132
+ }, {
133
+ label: s("views.recordings.export.quality_smallest"),
134
+ value: "smallest"
135
+ }]), te = h(() => [
136
+ 0,
137
+ 1,
138
+ 2,
139
+ 5,
140
+ 10,
141
+ 30,
142
+ 60,
143
+ 120,
144
+ 180,
145
+ 240,
146
+ 300
147
+ ].map((e) => ({
148
+ label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
149
+ value: e
150
+ }))), j = h(() => T.value > 0), P = h(() => j.value ? "~" : ""), ne = h(() => new Map(a.cameras.map((e) => [e.id, e.name]))), F = h(() => E.value instanceof Date && D.value instanceof Date && E.value < D.value), I = h(() => {
151
+ if (!F.value) return [];
152
+ let e = [], t = E.value.getTime(), n = D.value.getTime(), r = new Date(E.value);
153
+ r.setHours(0, 0, 0, 0);
154
+ let i = new Date(D.value);
155
+ for (i.setHours(0, 0, 0, 0); r.getTime() <= i.getTime();) {
156
+ let i = new Date(r), a = new Date(r);
157
+ a.setDate(a.getDate() + 1);
158
+ let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
159
+ s > o && e.push({
160
+ day: ae(i),
161
+ startUs: o * 1e3,
162
+ endUs: s * 1e3
163
+ }), r.setDate(r.getDate() + 1);
164
+ }
165
+ return e;
166
+ }), L = h(() => _.value.map((e) => {
167
+ let t = ne.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" : V(r);
168
+ return {
169
+ cameraId: e.cameraId,
170
+ cameraName: t,
171
+ name: `${oe(t)}_${e.day}${j.value ? "_timelapse" : ""}.mp4`,
172
+ span: i ? s("views.recordings.export.whole_day") : `${V(n)}–${a}`,
173
+ bytes: j.value ? e.bytes / rn : e.bytes
174
+ };
175
+ })), R = h(() => {
176
+ let e = /* @__PURE__ */ new Map();
177
+ for (let t of L.value) {
178
+ let n = e.get(t.cameraId);
179
+ n || (n = {
180
+ cameraId: t.cameraId,
181
+ cameraName: t.cameraName,
182
+ files: [],
183
+ bytes: 0
184
+ }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
185
+ }
186
+ return [...e.values()];
187
+ }), re = h(() => L.value.reduce((e, t) => e + t.bytes, 0)), ie = h(() => b.value.length === 0 ? s("views.recordings.export.no_cameras") : F.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
188
+ function B(e) {
189
+ return String(e).padStart(2, "0");
190
+ }
191
+ function ae(e) {
192
+ return `${e.getFullYear()}-${B(e.getMonth() + 1)}-${B(e.getDate())}`;
193
+ }
194
+ function V(e) {
195
+ return `${B(e.getHours())}:${B(e.getMinutes())}`;
196
+ }
197
+ function oe(e) {
198
+ return e.replace(/[^a-zA-Z0-9-_]/g, "_");
199
+ }
200
+ function H(e) {
201
+ if (e <= 0) return "0 MB";
202
+ let t = e / 1e6;
203
+ if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
204
+ let n = e / 1e9;
205
+ return `${n.toFixed(+(n < 10))} GB`;
206
+ }
207
+ async function se() {
208
+ let e = u.value;
209
+ if (!e?.nvrExportEstimate || b.value.length === 0 || I.value.length === 0) {
210
+ _.value = [], v.value = !1;
211
+ return;
212
+ }
213
+ v.value = !0;
214
+ try {
215
+ let t = await e.nvrExportEstimate({
216
+ cameras: b.value,
217
+ slices: I.value,
218
+ quality: S.value
219
+ });
220
+ _.value = t.files ?? [];
221
+ } catch {
222
+ _.value = [];
223
+ } finally {
224
+ v.value = !1;
225
+ }
226
+ }
227
+ async function ce() {
228
+ if (!F.value || b.value.length === 0 || I.value.length === 0) return null;
229
+ let e = u.value;
230
+ if (!e?.nvrExportBatch) return c.add({
231
+ severity: "error",
232
+ detail: s("views.recordings.export.plugin_missing"),
233
+ life: 3e3
234
+ }), null;
235
+ let t = await e.nvrExportBatch({
236
+ cameras: b.value,
237
+ slices: I.value,
238
+ quality: S.value,
239
+ timelapseIntervalSec: j.value ? T.value : 0
240
+ });
241
+ await Le({
242
+ url: t.url,
243
+ filename: t.filename
244
+ });
245
+ }
246
+ return He([
247
+ b,
248
+ I,
249
+ S
250
+ ], se, {
251
+ debounce: 350,
252
+ immediate: !0,
253
+ deep: !0
254
+ }), C(() => {
255
+ l.disabled && (l.disabled.value = !F.value || b.value.length === 0 || !v.value && L.value.length === 0);
256
+ }), t({ onConfirm: ce }), (t, n) => {
257
+ let a = Y, s = ot, c = M, l = xe, u = J, h = N, _ = U, C = kt;
258
+ return i(), y("div", At, [
259
+ w("div", jt, [w("label", Mt, o(t.$t("views.recordings.export.cameras")), 1), k(a, {
260
+ modelValue: m(b),
261
+ "onUpdate:modelValue": n[0] ||= (e) => p(b) ? b.value = e : null,
262
+ options: e.cameras,
263
+ "option-label": "name",
264
+ "option-value": "id",
265
+ display: "chip",
266
+ filter: "",
267
+ placeholder: t.$t("views.recordings.export.cameras_placeholder"),
268
+ class: "w-full"
269
+ }, null, 8, [
270
+ "modelValue",
271
+ "options",
272
+ "placeholder"
273
+ ])]),
274
+ w("div", Q, [
275
+ w("label", Nt, o(t.$t("views.recordings.export.range")), 1),
276
+ w("div", Pt, [w("div", Ft, [w("span", It, o(t.$t("views.recordings.export.from")), 1), k(s, {
277
+ modelValue: m(E),
278
+ "onUpdate:modelValue": n[1] ||= (e) => p(E) ? E.value = e : null,
279
+ "show-time": "",
280
+ "hour-format": "24",
281
+ fluid: "",
282
+ "max-date": m(D)
283
+ }, null, 8, ["modelValue", "max-date"])]), w("div", Lt, [w("span", Rt, o(t.$t("views.recordings.export.to")), 1), k(s, {
284
+ modelValue: m(D),
285
+ "onUpdate:modelValue": n[2] ||= (e) => p(D) ? D.value = e : null,
286
+ "show-time": "",
287
+ "hour-format": "24",
288
+ fluid: "",
289
+ "min-date": m(E)
290
+ }, null, 8, ["modelValue", "min-date"])])]),
291
+ m(F) ? (i(), d(c, {
292
+ key: 1,
293
+ severity: "secondary",
294
+ variant: "simple",
295
+ size: "small",
296
+ class: "cui-input-hint"
297
+ }, {
298
+ default: g(() => [ee(o(t.$t("views.recordings.export.range_hint")), 1)]),
299
+ _: 1
300
+ })) : (i(), d(c, {
301
+ key: 0,
302
+ severity: "error",
303
+ variant: "simple",
304
+ size: "small",
305
+ class: "cui-input-hint"
306
+ }, {
307
+ default: g(() => [ee(o(t.$t("views.recordings.export.invalid_range")), 1)]),
308
+ _: 1
309
+ }))
310
+ ]),
311
+ w("div", zt, [w("div", Bt, [w("label", Vt, o(t.$t("views.recordings.export.quality")), 1), k(l, {
312
+ modelValue: m(S),
313
+ "onUpdate:modelValue": n[3] ||= (e) => p(S) ? S.value = e : null,
314
+ options: m(A),
315
+ "option-label": "label",
316
+ "option-value": "value",
317
+ "allow-empty": !1,
318
+ pt: {
319
+ root: { class: "flex w-full" },
320
+ pcToggleButton: { root: { class: "flex-1" } }
321
+ }
322
+ }, null, 8, ["modelValue", "options"])]), w("div", Ht, [w("label", Ut, o(t.$t("views.recordings.export.timelapse")), 1), k(u, {
323
+ modelValue: m(T),
324
+ "onUpdate:modelValue": n[4] ||= (e) => p(T) ? T.value = e : null,
325
+ options: m(te),
326
+ "option-label": "label",
327
+ "option-value": "value",
328
+ class: "w-full"
329
+ }, null, 8, ["modelValue", "options"])])]),
330
+ w("div", Wt, [w("div", Gt, [w("label", Kt, o(t.$t("views.recordings.export.result")), 1), m(L).length ? (i(), y("div", qt, [
331
+ w("span", Jt, o(m(L).length) + " " + o(m(L).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
332
+ n[5] ||= w("span", { class: "text-muted" }, "·", -1),
333
+ w("span", Yt, o(m(P)) + o(H(m(re))), 1),
334
+ k(h, {
335
+ value: m(L).length === 1 ? "MP4" : "ZIP",
336
+ severity: "info"
337
+ }, null, 8, ["value"])
338
+ ])) : f("", !0)]), w("div", Xt, [w("div", $, [m(v) && !m(L).length ? (i(), y("div", Zt, [k(_, {
339
+ style: {
340
+ width: "1rem",
341
+ height: "1rem"
342
+ },
343
+ "stroke-width": "4",
344
+ class: "m-0"
345
+ }), w("span", null, o(t.$t("views.recordings.export.estimating")), 1)])) : m(L).length ? (i(!0), y(x, { key: 2 }, r(m(R), (e) => (i(), y("div", {
346
+ key: e.cameraId,
347
+ class: "flex flex-col gap-1"
348
+ }, [w("span", $t, o(e.cameraName) + " · " + o(e.files.length) + " · " + o(m(P)) + o(H(e.bytes)), 1), (i(!0), y(x, null, r(e.files, (e) => (i(), y("div", {
349
+ key: e.name,
350
+ class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
351
+ }, [
352
+ k(C, { class: "w-4 h-4 text-muted shrink-0" }),
353
+ w("span", en, o(e.name), 1),
354
+ w("span", tn, o(e.span), 1),
355
+ w("span", nn, o(m(P)) + o(H(e.bytes)), 1)
356
+ ]))), 128))]))), 128)) : (i(), y("div", Qt, o(m(ie)), 1))])])])
357
+ ]);
358
+ };
359
+ }
360
+ }), on = [
361
+ "object",
362
+ "objectAssist",
363
+ "face",
364
+ "faceEmbedder",
365
+ "personEmbedder",
366
+ "licensePlate",
367
+ "clip",
368
+ "segmenter"
369
+ ], sn = { class: "flex flex-col items-center gap-3" }, cn = {
370
+ key: 0,
371
+ class: "relative max-w-full overflow-hidden rounded-md"
372
+ }, ln = ["src"], un = {
373
+ key: 1,
374
+ class: "text-sm text-muted text-center"
375
+ }, dn = /* @__PURE__ */ D({
376
+ __name: "SimilarImageSearch",
377
+ props: { image: {} },
378
+ setup(e, { expose: t }) {
379
+ let r = new Te(), s = e, { t: c } = Ke(), l = n("dialogRef"), { openSimilarSearch: u } = Ce(), { data: d, isLoading: p } = r.getCamerasQuery({
380
+ page: 1,
381
+ pageSize: -1
382
+ }), g = URL.createObjectURL(s.image), _ = h(() => {
383
+ let e, t = 0;
384
+ for (let n of d.value?.result ?? []) {
385
+ let r = n.assignments ?? {};
386
+ if (n.disabled || !(r.object || r.objectAssist)) continue;
387
+ let i = on.filter((e) => r[e]).length;
388
+ i > t && (e = n, t = i);
389
+ }
390
+ return e;
391
+ });
392
+ async function v(e) {
393
+ let t = await Ee(s.image, e.box, e.mask);
394
+ l.value.close(), u({
395
+ query: e.query,
396
+ objectLabel: e.label,
397
+ crop: t
398
+ });
399
+ }
400
+ return a(() => URL.revokeObjectURL(g)), t({}), (t, n) => {
401
+ let r = ke;
402
+ return i(), y("div", sn, [m(_) ? (i(), y("div", cn, [w("img", {
403
+ src: m(g),
404
+ alt: "",
405
+ class: "block max-w-full max-h-[65vh]"
406
+ }, null, 8, ln), k(r, {
407
+ camera: m(_),
408
+ frame: e.image,
409
+ onPick: v,
410
+ onClose: n[0] ||= (e) => m(l).close()
411
+ }, null, 8, ["camera", "frame"])])) : m(p) ? f("", !0) : (i(), y("p", un, o(m(c)("components.similar.image_no_camera")), 1))]);
412
+ };
413
+ }
414
+ }), fn = {
415
+ viewBox: "0 0 24 24",
416
+ width: "1.2em",
417
+ height: "1.2em"
418
+ };
419
+ function pn(e, t) {
420
+ return i(), y("svg", fn, [...t[0] ||= [w("path", {
421
+ fill: "none",
422
+ stroke: "currentColor",
423
+ "stroke-linecap": "round",
424
+ "stroke-linejoin": "round",
425
+ "stroke-width": "2",
426
+ d: "m6 9l6 6l6-6"
427
+ }, null, -1)]]);
428
+ }
429
+ var mn = u({
430
+ name: "tabler-chevron-down",
431
+ render: pn
432
+ }), hn = {
433
+ viewBox: "0 0 24 24",
434
+ width: "1.2em",
435
+ height: "1.2em"
436
+ };
437
+ function gn(e, t) {
438
+ return i(), y("svg", hn, [...t[0] ||= [w("path", {
439
+ fill: "none",
440
+ stroke: "currentColor",
441
+ "stroke-linecap": "round",
442
+ "stroke-linejoin": "round",
443
+ "stroke-width": "2",
444
+ d: "m6 15l6-6l6 6"
445
+ }, null, -1)]]);
446
+ }
447
+ var _n = u({
448
+ name: "tabler-chevron-up",
449
+ render: gn
450
+ }), vn = { class: "flex flex-col gap-2" }, yn = { class: "sidebar-section-title" }, bn = { class: "text-xs text-muted" }, xn = { class: "text-xs text-muted" }, Sn = {
451
+ key: 0,
452
+ class: "flex flex-col gap-2"
453
+ }, Cn = { class: "sidebar-section-title" }, wn = { class: "text-xs text-muted" }, Tn = {
454
+ key: 0,
455
+ class: "inline-flex items-center gap-1 text-xs text-muted"
456
+ }, En = {
457
+ key: 1,
458
+ class: "flex flex-col gap-1.5 mt-1"
459
+ }, Dn = { class: "text-xs text-muted" }, On = { class: "flex items-center gap-3" }, kn = { class: "text-xs font-mono w-8 text-right shrink-0" }, An = {
460
+ key: 0,
461
+ class: "text-xs text-muted"
462
+ }, jn = { class: "text-xs text-center" }, Mn = {
463
+ key: 1,
464
+ class: "sidebar-divider"
465
+ }, Nn = {
466
+ key: 2,
467
+ class: "flex flex-col gap-2"
468
+ }, Pn = { class: "sidebar-section-title" }, Fn = { class: "flex flex-col gap-2" }, In = { class: "sidebar-section-title" }, Ln = { class: "flex flex-col gap-2" }, Rn = { class: "sidebar-section-title" }, zn = { class: "relative rounded-md overflow-hidden" }, Bn = {
469
+ key: 4,
470
+ class: "sidebar-divider"
471
+ }, Vn = {
472
+ key: 5,
473
+ class: "flex flex-col gap-2"
474
+ }, Hn = { class: "sidebar-section-title" }, Un = { class: "flex items-center gap-3" }, Wn = { class: "text-xs font-mono w-8 text-right shrink-0" }, Gn = { class: "flex flex-col gap-2" }, Kn = { class: "sidebar-section-title" }, qn = { class: "flex flex-wrap gap-1" }, Jn = { class: "flex flex-col gap-2" }, Yn = {
475
+ key: 0,
476
+ class: "flex flex-col gap-2"
477
+ }, Xn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Zn = {
478
+ key: 0,
479
+ class: "flex flex-col gap-2 ml-6"
480
+ }, Qn = { class: "filter-logic-divider" }, $n = { class: "flex flex-col gap-2" }, er = {
481
+ key: 0,
482
+ class: "flex flex-col gap-2"
483
+ }, tr = { class: "filter-logic-divider" }, nr = { class: "flex flex-col gap-2" }, rr = {
484
+ key: 0,
485
+ class: "flex flex-col gap-2"
486
+ }, ir = { class: "flex items-center gap-2 cursor-pointer text-sm" }, ar = { class: "flex flex-col gap-2" }, or = {
487
+ key: 0,
488
+ class: "flex flex-col gap-3"
489
+ }, sr = { class: "flex flex-wrap gap-2" }, cr = [
490
+ "aria-label",
491
+ "aria-pressed",
492
+ "onClick"
493
+ ], lr = { class: "flex flex-wrap gap-1" }, ur = { class: "text-xs text-muted" }, dr = 288, fr = /*#__PURE__*/ F(/* @__PURE__ */ D({
494
+ __name: "RecordingsFilterSidebar",
495
+ props: {
496
+ filters: {},
497
+ cameras: {},
498
+ isOpen: { type: Boolean },
499
+ isOverlay: { type: Boolean },
500
+ resultCount: {},
501
+ resultTotal: {},
502
+ resultCapped: { type: Boolean },
503
+ semanticCount: {},
504
+ semanticSearchAvailable: { type: Boolean },
505
+ semanticSearchLoading: { type: Boolean },
506
+ assistantSearchAvailable: { type: Boolean },
507
+ assistantSearchLoading: { type: Boolean },
508
+ assistantSearchNote: {},
509
+ imageSearchAvailable: { type: Boolean }
510
+ },
511
+ emits: [
512
+ "update:filters",
513
+ "semantic-search",
514
+ "assistant-search",
515
+ "image-search",
516
+ "close"
517
+ ],
518
+ setup(n, { expose: a, emit: s }) {
519
+ let u = /* @__PURE__ */ new Set(["motion", "audio"]), _ = {
520
+ white: "#f5f5f5",
521
+ gray: "#9ca3af",
522
+ yellow: "#facc15",
523
+ red: "#ef4444",
524
+ green: "#22c55e",
525
+ blue: "#3b82f6",
526
+ black: "#111827"
527
+ }, C = n, E = s, { t: D } = Ke(), { topbarOffset: te } = ie(), { icons: M, generic: N } = Qe(), P = M, ne = _n, F = mn, I = S("sidebarRef"), L = O(C.filters.semanticQuery ?? ""), z = O(""), re = O(C.filters.semanticQuery ? "semantic" : "text"), B = O(!1), V = A({
528
+ eventTypes: !0,
529
+ attributes: !0,
530
+ sensorEvents: !0,
531
+ vehicles: !0
532
+ }), oe = h(() => C.isOpen ? dr : 0), H = h(() => {
533
+ let e = [...new Set(C.cameras.map((e) => e.room).filter((e) => !!e))];
534
+ return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
535
+ id: e,
536
+ name: e === "Default" ? D("components.form.label.room_default") : e
537
+ }));
538
+ }), se = h(() => {
539
+ let e = C.filters.rooms;
540
+ return (e.length > 0 ? C.cameras.filter((t) => e.includes(t.room ?? "")) : C.cameras).map((e) => ({
541
+ id: e.id,
542
+ name: e.name
543
+ }));
544
+ }), le = h(() => {
545
+ if (C.filters.cameraIds.length === 1) return C.cameras.find((e) => e.id === C.filters.cameraIds[0])?.id;
546
+ }), U = h(() => C.filters.contentKind === "episodes"), ue = h(() => {
547
+ let e = U.value ? "episodes" : "recordings";
548
+ if (C.resultTotal === void 0) return D(`views.recordings.result_count_${e}`, { count: C.resultCount });
549
+ let t = C.resultCapped ? `${C.resultTotal}+` : C.resultTotal;
550
+ return D(`views.recordings.result_count_${e}_of`, {
551
+ count: C.resultCount,
552
+ total: t
553
+ });
554
+ }), de = h(() => {
555
+ let e = [];
556
+ return U.value || (e.push({
557
+ value: "text",
558
+ label: D("views.recordings.search"),
559
+ icon: pt
560
+ }), e.push({
561
+ value: "semantic",
562
+ label: D("views.recordings.semantic_search"),
563
+ icon: ce
564
+ })), C.assistantSearchAvailable && e.push({
565
+ value: "assistant",
566
+ label: D("views.recordings.assistant_search"),
567
+ icon: Xe
568
+ }), C.imageSearchAvailable && !U.value && e.push({
569
+ value: "image",
570
+ label: D("views.recordings.image_search"),
571
+ icon: xt
572
+ }), e;
573
+ }), W = h(() => de.value.find((e) => e.value === re.value) ?? de.value[0]), fe = h(() => [
574
+ {
575
+ label: D("views.recordings.content_kind_all"),
576
+ value: "all"
577
+ },
578
+ {
579
+ label: D("views.recordings.content_kind_events"),
580
+ value: "events"
581
+ },
582
+ {
583
+ label: D("views.recordings.content_kind_episodes"),
584
+ value: "episodes"
585
+ }
586
+ ]), pe = h(() => [{
587
+ label: D("views.recordings.filter_and"),
588
+ value: "and"
589
+ }, {
590
+ label: D("views.recordings.filter_or"),
591
+ value: "or"
592
+ }]), me = h(() => [
593
+ {
594
+ label: D("views.recordings.time_1h"),
595
+ value: "1h"
596
+ },
597
+ {
598
+ label: D("views.recordings.time_1d"),
599
+ value: "1d"
600
+ },
601
+ {
602
+ label: D("views.recordings.time_1w"),
603
+ value: "1w"
604
+ },
605
+ {
606
+ label: D("views.recordings.time_1m"),
607
+ value: "1m"
608
+ }
609
+ ]), ge = h(() => Je.filter((e) => !u.has(e)).map((e) => ({
610
+ label: D(`views.recordings.type_${e}`),
611
+ value: e,
612
+ icon: M[e] ?? N
613
+ }))), _e = h(() => ({
614
+ label: D("views.recordings.type_other"),
615
+ value: Ae,
616
+ icon: M.other ?? N
617
+ })), ve = h(() => ye.map((e) => ({
618
+ label: D(Ze(e)),
619
+ value: e,
620
+ icon: P[e] ?? N
621
+ }))), be = h(() => qe.map((e) => ({
622
+ label: D($e(e)),
623
+ value: e,
624
+ icon: M[e] ?? N
625
+ }))), Se = h(() => Ye.map((e) => ({
626
+ label: D(q(e)),
627
+ value: e,
628
+ icon: M[e] ?? N
629
+ }))), Ce = h(() => ae.map((e) => ({
630
+ label: D(et(e)),
631
+ value: e,
632
+ swatch: _[e]
633
+ }))), we = h(() => he.map((e) => ({
634
+ label: D(tt(e)),
635
+ value: e
636
+ })));
637
+ function G(e, t) {
638
+ E("update:filters", {
639
+ ...C.filters,
640
+ [e]: t
641
+ });
642
+ }
643
+ let Te = Ue((e) => {
644
+ G("search", e);
645
+ }, 300);
646
+ function Ee(e) {
647
+ let t = new Set(C.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
648
+ E("update:filters", {
649
+ ...C.filters,
650
+ rooms: e,
651
+ cameraIds: C.filters.cameraIds.filter((e) => t.has(e))
652
+ });
653
+ }
654
+ function De() {
655
+ let e = z.value.trim();
656
+ e && !C.assistantSearchLoading && E("assistant-search", e);
657
+ }
658
+ function Oe(e) {
659
+ B.value = !1, je(e.dataTransfer?.files);
660
+ }
661
+ function ke(e) {
662
+ let t = e.target;
663
+ je(t.files), t.value = "";
664
+ }
665
+ function je(e) {
666
+ let t = Array.from(e ?? []).find((e) => e.type.startsWith("image/"));
667
+ t && E("image-search", t);
668
+ }
669
+ function Me() {
670
+ let e = L.value.trim();
671
+ G("semanticQuery", e), E("semantic-search", e);
672
+ }
673
+ function Fe(e) {
674
+ let t = [...C.filters.eventTypes], n = t.indexOf(e);
675
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
676
+ }
677
+ function Ie(e) {
678
+ let t = [...C.filters.audioLabels], n = t.indexOf(e);
679
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
680
+ }
681
+ function Le(e) {
682
+ let t = [...C.filters.sensorEvents], n = t.indexOf(e);
683
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
684
+ }
685
+ function Re(e) {
686
+ let t = [...C.filters.hasAttributes], n = t.indexOf(e);
687
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
688
+ }
689
+ function ze(e, t) {
690
+ let n = C.filters[e];
691
+ G(e, n.includes(t) ? n.filter((e) => e !== t) : [...n, t]);
692
+ }
693
+ function Be(e) {
694
+ V[e] = !V[e];
695
+ }
696
+ return v(L, (e) => {
697
+ !e?.trim() && C.filters.semanticQuery && G("semanticQuery", "");
698
+ }), K(I, (e) => {
699
+ let t = e.target;
700
+ t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || C.isOpen && C.isOverlay && E("close");
701
+ }), a({ sidebarWidth: oe }), (a, s) => {
702
+ let u = xe, h = it, _ = lt, v = nt, S = ce, C = Ne, E = xt, D = Y, O = R, A = Pe, M = at, N = j;
703
+ return i(), y("nav", {
704
+ ref_key: "sidebarRef",
705
+ ref: I,
706
+ class: "recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe flex flex-col z-4",
707
+ style: b({
708
+ width: `${m(oe)}px`,
709
+ borderRightWidth: n.isOpen ? "1px" : "0px",
710
+ paddingBottom: `calc(var(--safe-area-inset-top) + ${m(te)}px + var(--cui-bottom-bar) + var(--cui-bottom-gap))`
711
+ })
712
+ }, [w("div", {
713
+ class: "flex flex-col gap-4 px-4 pt-4",
714
+ style: b({ width: `${dr}px` })
715
+ }, [
716
+ w("div", vn, [
717
+ w("label", yn, o(a.$t("views.recordings.content_kind")), 1),
718
+ k(u, {
719
+ "model-value": n.filters.contentKind,
720
+ options: m(fe),
721
+ "option-label": "label",
722
+ "option-value": "value",
723
+ "allow-empty": !1,
724
+ class: "content-kind-toggle",
725
+ "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
726
+ }, null, 8, ["model-value", "options"]),
727
+ m(U) ? (i(), y(x, { key: 0 }, [w("span", bn, o(m(ue)), 1), w("span", xn, o(a.$t("views.recordings.content_kind_episodes_hint")), 1)], 64)) : f("", !0)
728
+ ]),
729
+ s[27] ||= w("div", { class: "sidebar-divider" }, null, -1),
730
+ m(W) ? (i(), y("div", Sn, [
731
+ w("label", Cn, o(m(W).label), 1),
732
+ m(de).length > 1 ? (i(), d(u, {
733
+ key: 0,
734
+ "model-value": m(W).value,
735
+ options: m(de),
736
+ "option-value": "value",
737
+ "data-key": "value",
738
+ "allow-empty": !1,
739
+ class: "search-mode-toggle",
740
+ "onUpdate:modelValue": s[1] ||= (e) => re.value = e
741
+ }, {
742
+ option: g(({ option: e }) => [T((i(), d(l(e.icon), {
743
+ "aria-label": e.label,
744
+ class: "w-4 h-4"
745
+ }, null, 8, ["aria-label"])), [[
746
+ N,
747
+ e.label,
748
+ void 0,
749
+ { bottom: !0 }
750
+ ]])]),
751
+ _: 1
752
+ }, 8, ["model-value", "options"])) : f("", !0),
753
+ m(W).value === "text" ? (i(), y(x, { key: 1 }, [k(h, {
754
+ "model-value": n.filters.search,
755
+ placeholder: a.$t("views.recordings.search_placeholder"),
756
+ class: "w-full text-sm",
757
+ "onUpdate:modelValue": s[2] ||= (e) => m(Te)(e)
758
+ }, null, 8, ["model-value", "placeholder"]), w("span", wn, o(m(ue)), 1)], 64)) : m(W).value === "semantic" ? (i(), y(x, { key: 2 }, [
759
+ k(_, {
760
+ modelValue: m(L),
761
+ "onUpdate:modelValue": s[3] ||= (e) => p(L) ? L.value = e : null,
762
+ placeholder: a.$t("views.recordings.semantic_search_placeholder"),
763
+ class: "w-full text-sm semantic-textarea",
764
+ rows: "3",
765
+ disabled: !n.semanticSearchAvailable
766
+ }, null, 8, [
767
+ "modelValue",
768
+ "placeholder",
769
+ "disabled"
770
+ ]),
771
+ k(v, {
772
+ label: a.$t("views.recordings.semantic_search_button"),
773
+ severity: "secondary",
774
+ outlined: "",
775
+ size: "small",
776
+ class: "w-full text-xs",
777
+ loading: n.semanticSearchLoading,
778
+ disabled: !n.semanticSearchAvailable || !m(L)?.trim(),
779
+ onClick: Me
780
+ }, null, 8, [
781
+ "label",
782
+ "loading",
783
+ "disabled"
784
+ ]),
785
+ n.semanticCount == null ? f("", !0) : (i(), y("span", Tn, [k(S, { class: "w-3 h-3" }), ee(" " + o(a.$t("views.recordings.semantic_results", { count: n.semanticCount })), 1)])),
786
+ n.filters.semanticQuery ? (i(), y("div", En, [w("label", Dn, o(a.$t("views.recordings.min_match_score")), 1), w("div", On, [k(C, {
787
+ "model-value": n.filters.minSemanticScore,
788
+ min: 0,
789
+ max: 1,
790
+ step: .05,
791
+ class: "flex-1",
792
+ "onUpdate:modelValue": s[4] ||= (e) => G("minSemanticScore", e)
793
+ }, null, 8, ["model-value"]), w("span", kn, o(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : f("", !0)
794
+ ], 64)) : m(W).value === "assistant" ? (i(), y(x, { key: 3 }, [
795
+ k(h, {
796
+ modelValue: m(z),
797
+ "onUpdate:modelValue": s[5] ||= (e) => p(z) ? z.value = e : null,
798
+ placeholder: a.$t("views.recordings.assistant_search_placeholder"),
799
+ class: "w-full text-sm",
800
+ disabled: n.assistantSearchLoading,
801
+ onKeydown: t(e(De, ["prevent"]), ["enter"])
802
+ }, null, 8, [
803
+ "modelValue",
804
+ "placeholder",
805
+ "disabled",
806
+ "onKeydown"
807
+ ]),
808
+ k(v, {
809
+ label: a.$t("views.recordings.assistant_search_button"),
810
+ severity: "secondary",
811
+ outlined: "",
812
+ size: "small",
813
+ class: "w-full text-xs",
814
+ loading: n.assistantSearchLoading,
815
+ disabled: !m(z).trim(),
816
+ onClick: De
817
+ }, null, 8, [
818
+ "label",
819
+ "loading",
820
+ "disabled"
821
+ ]),
822
+ n.assistantSearchNote ? (i(), y("span", An, o(n.assistantSearchNote), 1)) : f("", !0)
823
+ ], 64)) : (i(), y("label", {
824
+ key: 4,
825
+ class: c(["image-drop", { "image-drop-over": m(B) }]),
826
+ onDragover: s[6] ||= e((e) => B.value = !0, ["prevent"]),
827
+ onDragleave: s[7] ||= e((e) => B.value = !1, ["prevent"]),
828
+ onDrop: e(Oe, ["prevent"])
829
+ }, [
830
+ k(E, { class: "w-6 h-6" }),
831
+ w("span", jn, o(a.$t("views.recordings.image_search_drop")), 1),
832
+ w("input", {
833
+ type: "file",
834
+ accept: "image/*",
835
+ class: "hidden",
836
+ onChange: ke
837
+ }, null, 32)
838
+ ], 34))
839
+ ])) : f("", !0),
840
+ m(W) ? (i(), y("div", Mn)) : f("", !0),
841
+ m(H).length > 1 ? (i(), y("div", Nn, [w("label", Pn, o(a.$t("views.recordings.rooms")), 1), k(D, {
842
+ "model-value": n.filters.rooms,
843
+ options: m(H),
844
+ "option-label": "name",
845
+ "option-value": "id",
846
+ placeholder: a.$t("views.recordings.all_rooms"),
847
+ class: "w-full text-sm",
848
+ "max-selected-labels": 2,
849
+ "show-toggle-all": !1,
850
+ pt: { overlay: { style: "position: fixed" } },
851
+ "onUpdate:modelValue": s[8] ||= (e) => Ee(e)
852
+ }, null, 8, [
853
+ "model-value",
854
+ "options",
855
+ "placeholder"
856
+ ])])) : f("", !0),
857
+ w("div", Fn, [w("label", In, o(a.$t("views.recordings.cameras")), 1), k(D, {
858
+ "model-value": n.filters.cameraIds,
859
+ options: m(se),
860
+ "option-label": "name",
861
+ "option-value": "id",
862
+ placeholder: a.$t("views.recordings.all_cameras"),
863
+ class: "w-full text-sm",
864
+ "max-selected-labels": 2,
865
+ "show-toggle-all": !1,
866
+ pt: { overlay: { style: "position: fixed" } },
867
+ "onUpdate:modelValue": s[9] ||= (e) => G("cameraIds", e)
868
+ }, null, 8, [
869
+ "model-value",
870
+ "options",
871
+ "placeholder"
872
+ ])]),
873
+ m(le) && !m(U) ? (i(), y(x, { key: 3 }, [s[20] ||= w("div", { class: "sidebar-divider" }, null, -1), w("div", Ln, [
874
+ w("label", Rn, o(a.$t("views.recordings.grid_search")), 1),
875
+ w("div", zn, [k(O, {
876
+ camera: m(le),
877
+ "object-fit": "cover"
878
+ }, null, 8, ["camera"]), k(A, {
879
+ "model-value": n.filters.gridRegions,
880
+ "onUpdate:modelValue": s[10] ||= (e) => G("gridRegions", e)
881
+ }, null, 8, ["model-value"])]),
882
+ k(v, {
883
+ label: a.$t("views.recordings.grid_clear"),
884
+ severity: "secondary",
885
+ outlined: "",
886
+ size: "small",
887
+ class: "w-full text-xs",
888
+ disabled: n.filters.gridRegions.length === 0,
889
+ onClick: s[11] ||= (e) => G("gridRegions", [])
890
+ }, null, 8, ["label", "disabled"])
891
+ ])], 64)) : f("", !0),
892
+ m(U) ? f("", !0) : (i(), y("div", Bn)),
893
+ m(U) ? f("", !0) : (i(), y("div", Vn, [w("label", Hn, o(a.$t("views.recordings.confidence")), 1), w("div", Un, [k(C, {
894
+ "model-value": n.filters.minConfidence,
895
+ min: 0,
896
+ max: 1,
897
+ step: .05,
898
+ class: "flex-1",
899
+ "onUpdate:modelValue": s[12] ||= (e) => G("minConfidence", e)
900
+ }, null, 8, ["model-value"]), w("span", Wn, o(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
901
+ s[28] ||= w("div", { class: "sidebar-divider" }, null, -1),
902
+ w("div", Gn, [w("label", Kn, o(a.$t("views.recordings.time_range")), 1), w("div", qn, [(i(!0), y(x, null, r(m(me), (e) => (i(), d(v, {
903
+ key: e.value,
904
+ label: e.label,
905
+ severity: n.filters.timeRange === e.value ? void 0 : "secondary",
906
+ outlined: n.filters.timeRange !== e.value,
907
+ size: "small",
908
+ class: "text-xs flex-1 min-w-0",
909
+ onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
910
+ }, null, 8, [
911
+ "label",
912
+ "severity",
913
+ "outlined",
914
+ "onClick"
915
+ ]))), 128))])]),
916
+ m(U) ? f("", !0) : (i(), y(x, { key: 6 }, [
917
+ s[25] ||= w("div", { class: "sidebar-divider" }, null, -1),
918
+ w("div", Jn, [w("button", {
919
+ class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
920
+ onClick: s[13] ||= (e) => Be("sensorEvents")
921
+ }, [w("span", null, o(a.$t("views.recordings.sensor_events")), 1), (i(), d(l(m(V).sensorEvents ? m(ne) : m(F)), { class: "w-4 h-4 text-muted" }))]), m(V).sensorEvents ? (i(), y("div", Yn, [(i(!0), y(x, null, r(m(ve), (e) => (i(), y(x, { key: e.value }, [w("label", Xn, [
922
+ k(M, {
923
+ "model-value": n.filters.sensorEvents.includes(e.value),
924
+ binary: !0,
925
+ "onUpdate:modelValue": (t) => Le(e.value)
926
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
927
+ (i(), d(l(e.icon), { class: "w-4 h-4 text-muted" })),
928
+ w("span", null, o(e.label), 1)
929
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), y("div", Zn, [(i(!0), y(x, null, r(m(be), (e) => (i(), y("label", {
930
+ key: e.value,
931
+ class: "flex items-center gap-2 cursor-pointer text-sm"
932
+ }, [
933
+ k(M, {
934
+ "model-value": n.filters.audioLabels.includes(e.value),
935
+ binary: !0,
936
+ "onUpdate:modelValue": (t) => Ie(e.value)
937
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
938
+ (i(), d(l(e.icon), { class: "w-4 h-4 text-muted" })),
939
+ w("span", null, o(e.label), 1)
940
+ ]))), 128))])) : f("", !0)], 64))), 128))])) : f("", !0)]),
941
+ w("div", Qn, [
942
+ s[21] ||= w("div", { class: "filter-logic-line" }, null, -1),
943
+ k(u, {
944
+ "model-value": n.filters.filterLogicTriggers,
945
+ options: m(pe),
946
+ "option-label": "label",
947
+ "option-value": "value",
948
+ "allow-empty": !1,
949
+ class: "filter-logic-toggle",
950
+ "onUpdate:modelValue": s[14] ||= (e) => G("filterLogicTriggers", e)
951
+ }, null, 8, ["model-value", "options"]),
952
+ s[22] ||= w("div", { class: "filter-logic-line" }, null, -1)
953
+ ]),
954
+ w("div", $n, [w("button", {
955
+ class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
956
+ onClick: s[15] ||= (e) => Be("eventTypes")
957
+ }, [w("span", null, o(a.$t("views.recordings.event_type")), 1), (i(), d(l(m(V).eventTypes ? m(ne) : m(F)), { class: "w-4 h-4 text-muted" }))]), m(V).eventTypes ? (i(), y("div", er, [(i(!0), y(x, null, r(m(ge), (e) => (i(), y("label", {
958
+ key: e.value,
959
+ class: "flex items-center gap-2 cursor-pointer text-sm"
960
+ }, [
961
+ k(M, {
962
+ "model-value": n.filters.eventTypes.includes(e.value),
963
+ binary: !0,
964
+ "onUpdate:modelValue": (t) => Fe(e.value)
965
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
966
+ (i(), d(l(e.icon), { class: "w-4 h-4 text-muted" })),
967
+ w("span", null, o(e.label), 1)
968
+ ]))), 128))])) : f("", !0)]),
969
+ w("div", tr, [
970
+ s[23] ||= w("div", { class: "filter-logic-line" }, null, -1),
971
+ k(u, {
972
+ "model-value": n.filters.filterLogicAttributes,
973
+ options: m(pe),
974
+ "option-label": "label",
975
+ "option-value": "value",
976
+ "allow-empty": !1,
977
+ class: "filter-logic-toggle",
978
+ "onUpdate:modelValue": s[16] ||= (e) => G("filterLogicAttributes", e)
979
+ }, null, 8, ["model-value", "options"]),
980
+ s[24] ||= w("div", { class: "filter-logic-line" }, null, -1)
981
+ ]),
982
+ w("div", nr, [w("button", {
983
+ class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
984
+ onClick: s[17] ||= (e) => Be("attributes")
985
+ }, [w("span", null, o(a.$t("views.recordings.attributes")), 1), (i(), d(l(m(V).attributes ? m(ne) : m(F)), { class: "w-4 h-4 text-muted" }))]), m(V).attributes ? (i(), y("div", rr, [(i(!0), y(x, null, r(m(Se), (e) => (i(), y("label", {
986
+ key: e.value,
987
+ class: "flex items-center gap-2 cursor-pointer text-sm"
988
+ }, [
989
+ k(M, {
990
+ "model-value": n.filters.hasAttributes.includes(e.value),
991
+ binary: !0,
992
+ "onUpdate:modelValue": (t) => Re(e.value)
993
+ }, null, 8, ["model-value", "onUpdate:modelValue"]),
994
+ (i(), d(l(e.icon), { class: "w-4 h-4 text-muted" })),
995
+ w("span", null, o(e.label), 1)
996
+ ]))), 128)), w("label", ir, [
997
+ k(M, {
998
+ "model-value": n.filters.eventTypes.includes(m(_e).value),
999
+ binary: !0,
1000
+ "onUpdate:modelValue": s[18] ||= (e) => Fe(m(_e).value)
1001
+ }, null, 8, ["model-value"]),
1002
+ (i(), d(l(m(_e).icon), { class: "w-4 h-4 text-muted" })),
1003
+ w("span", null, o(m(_e).label), 1)
1004
+ ])])) : f("", !0)]),
1005
+ s[26] ||= w("div", { class: "sidebar-divider" }, null, -1),
1006
+ w("div", ar, [w("button", {
1007
+ class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
1008
+ onClick: s[19] ||= (e) => Be("vehicles")
1009
+ }, [w("span", null, o(a.$t("views.recordings.vehicles")), 1), (i(), d(l(m(V).vehicles ? m(ne) : m(F)), { class: "w-4 h-4 text-muted" }))]), m(V).vehicles ? (i(), y("div", or, [
1010
+ w("div", sr, [(i(!0), y(x, null, r(m(Ce), (e) => T((i(), y("button", {
1011
+ key: e.value,
1012
+ class: c(["vehicle-color", { "vehicle-color-active": n.filters.vehicleColors.includes(e.value) }]),
1013
+ style: b({ background: e.swatch }),
1014
+ "aria-label": e.label,
1015
+ "aria-pressed": n.filters.vehicleColors.includes(e.value),
1016
+ onClick: (t) => ze("vehicleColors", e.value)
1017
+ }, null, 14, cr)), [[
1018
+ N,
1019
+ { value: e.label },
1020
+ void 0,
1021
+ { top: !0 }
1022
+ ]])), 128))]),
1023
+ w("div", lr, [(i(!0), y(x, null, r(m(we), (e) => (i(), d(v, {
1024
+ key: e.value,
1025
+ label: e.label,
1026
+ severity: n.filters.vehicleTypes.includes(e.value) ? void 0 : "secondary",
1027
+ outlined: !n.filters.vehicleTypes.includes(e.value),
1028
+ size: "small",
1029
+ class: "text-xs",
1030
+ onClick: (t) => ze("vehicleTypes", e.value)
1031
+ }, null, 8, [
1032
+ "label",
1033
+ "severity",
1034
+ "outlined",
1035
+ "onClick"
1036
+ ]))), 128))]),
1037
+ w("span", ur, o(a.$t("views.recordings.vehicle_filter_hint")), 1)
1038
+ ])) : f("", !0)])
1039
+ ], 64))
1040
+ ], 4)], 4);
1041
+ };
1042
+ }
1043
+ }), [["__scopeId", "data-v-be7d97b8"]]), pr = { class: "font-semibold text-xl truncate" }, mr = {
1044
+ key: 0,
1045
+ class: "image-drop-overlay"
1046
+ }, hr = { class: "text-sm font-semibold" }, gr = { class: "w-full h-full relative" }, _r = {
1047
+ key: 0,
1048
+ class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
1049
+ }, vr = { class: "relative z-2 page-title !m-0" }, yr = {
1050
+ key: 1,
1051
+ class: "fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-safe-offset-2 flex items-center"
1052
+ }, br = {
1053
+ key: 3,
1054
+ class: "flex justify-center py-4"
1055
+ }, xr = {
1056
+ key: 4,
1057
+ class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
1058
+ }, Sr = { class: "text-muted text-sm" }, Cr = 288, wr = /*#__PURE__*/ F(/* @__PURE__ */ D({
1059
+ __name: "Recordings",
1060
+ setup(t) {
1061
+ let n = new dt(), r = new Te(), a = new L(), l = Re(), u = we(), { bottombarHeight: p } = ie(), { status: C, checking: ee } = pe(), { openEventTrace: D } = Ie(), { request: A, closeSimilarSearch: M } = Ce(), N = Se("@camera.ui/camera-ui-nvr"), F = z(), { t: R, locale: ae } = Ke(), { smBreakpoint: U, xlBreakpoint: he, mdBreakpoint: ye } = de(), { registerScrollToTop: xe } = V();
1062
+ if (typeof VideoDecoder < "u") {
1063
+ let e = Fe({ cacheSize: 20 });
1064
+ s(Me, e), We(() => e.dispose());
1065
+ }
1066
+ let { results: Ee, isSearching: ke, isAvailable: Ae, hasSearched: Ne, search: Pe, clear: Le } = oe(), { result: He, isSearching: Ue, isAvailable: K, licenseRequired: qe, search: Je, clear: Ye } = ue(), { data: Xe } = n.getAssistantStatusQuery(), { data: Ze } = r.getCamerasQuery({
1067
+ page: 1,
1068
+ pageSize: -1
1069
+ }), { data: Qe } = a.getUserQuery(h(() => u.user?.username ?? "")), $e = Array.from({ length: 24 }, (e, t) => t), et = {
1070
+ contentKind: "all",
1071
+ favoritesOnly: !1,
1072
+ search: "",
1073
+ semanticQuery: "",
1074
+ filterLogicTriggers: "or",
1075
+ filterLogicAttributes: "or",
1076
+ rooms: [],
1077
+ cameraIds: [],
1078
+ timeRange: null,
1079
+ customDateRange: null,
1080
+ eventTypes: [],
1081
+ audioLabels: [],
1082
+ hasAttributes: [],
1083
+ vehicleColors: [],
1084
+ vehicleTypes: [],
1085
+ sensorEvents: [],
1086
+ gridRegions: [],
1087
+ minConfidence: .5,
1088
+ minSemanticScore: .5,
1089
+ onlyWithRecordings: !0
1090
+ }, tt = {
1091
+ "1h": 36e5,
1092
+ "1d": 864e5,
1093
+ "1w": 6048e5,
1094
+ "1m": 2592e6
1095
+ }, q = S("gridRef"), rt = S("viewMenuRef"), it = S("reindexAnchorRef"), at = E({
1096
+ hasDetections: !0,
1097
+ withRecordingInfo: !0,
1098
+ hasRecording: !0
1099
+ }), ot = E([]), J = O("closed"), ct = O(!1), Y = O({ ...et }), lt = O(!1), pt = O(""), bt = O(0), X = O(), Z = O(!1), St = O(null), Ct = !1, wt = JSON.stringify(at.value), { left: Tt } = Ge(it), Dt = h(() => {
1100
+ let e = p.value > 0 ? "calc(1.25rem + var(--safe-area-inset-bottom))" : "calc(max(8px, var(--safe-area-inset-bottom)) + 0px)";
1101
+ return `calc(${p.value}px + ${e})`;
1102
+ }), Ot = h(() => he.value ? !0 : J.value === "opened"), kt = h(() => ye.value), At = le(() => q.value?.scrollY ?? 0), jt = h(() => Ot.value && kt.value ? !0 : At.value && !C.value?.running), Mt = h(() => ye.value ? "0px" : Ot.value ? `${Cr}px` : "0px"), Q = h(() => (Ze.value?.result ?? []).map((e) => ({
1103
+ id: e._id,
1104
+ name: e.name,
1105
+ room: e.room
1106
+ }))), Nt = h(() => {
1107
+ let e = /* @__PURE__ */ new Map();
1108
+ for (let t of Q.value) e.set(t.id, t.name);
1109
+ return e;
1110
+ }), Pt = h(() => {
1111
+ let e = /* @__PURE__ */ new Map();
1112
+ for (let t of Ze.value?.result ?? []) e.set(t._id, t);
1113
+ return e;
1114
+ }), Ft = h(() => {
1115
+ let e = Y.value.rooms;
1116
+ return (e.length > 0 ? Q.value.filter((t) => e.includes(t.room ?? "")) : Q.value).map((e) => e.id);
1117
+ }), It = h(() => Y.value.cameraIds.filter((e) => Ft.value.includes(e))), Lt = h(() => Ft.value);
1118
+ xe(() => q.value?.scrollToTop());
1119
+ let { events: Rt, isLoading: zt, hasMore: Bt, stats: Vt, loadMore: Ht, loadThumbnails: Ut, deleteEvents: Wt, reset: Gt, loadFailed: Kt, licenseRequired: qt, pluginUnavailable: Jt } = ve({
1120
+ availableCameraIds: Lt,
1121
+ cameraIds: It,
1122
+ realtime: !0,
1123
+ pageSize: 40,
1124
+ filter: at,
1125
+ withEpisodes: !0,
1126
+ withStats: !0
1127
+ }), Yt = h(() => {
1128
+ let e = /* @__PURE__ */ new Map();
1129
+ for (let t of Ee.value ?? []) {
1130
+ let n = e.get(t.eventId);
1131
+ (!n || t.score > n) && e.set(t.eventId, t.score);
1132
+ }
1133
+ return e;
1134
+ }), Xt = h(() => Ne.value), $ = h(() => !!A.value), Zt = h(() => new Map((He.value?.events ?? []).map((e) => [e.id, e]))), Qt = h(() => {
1135
+ let e = [], t = /* @__PURE__ */ new Set();
1136
+ for (let n of He.value?.matches ?? []) {
1137
+ let r = Zt.value.get(n.eventId);
1138
+ if (!r) continue;
1139
+ let i = n.segment >= 0 && r.segments[n.segment] ? n.segment : void 0, a = i === void 0 ? r.id : `${r.id}:seg:${i}`;
1140
+ t.has(a) || (t.add(a), e.push({
1141
+ event: r,
1142
+ key: a,
1143
+ segIndex: i
1144
+ }));
1145
+ }
1146
+ return e;
1147
+ }), $t = h(() => {
1148
+ let e = Y.value, t = It.value.length ? It.value : e.rooms.length ? Ft.value : [], n = e.timeRange === "custom" ? e.customDateRange : null;
1149
+ return {
1150
+ cameraIds: t.length ? t : void 0,
1151
+ startMs: n ? n[0].getTime() : X.value,
1152
+ endMs: n ? n[1].getTime() : void 0
1153
+ };
1154
+ }), en = h(() => $.value ? Ue.value : zt.value), tn = h(() => {
1155
+ if ($.value) {
1156
+ let e = He.value;
1157
+ return !!e && e?.mode !== "none" && !Qt.value.length && !Ue.value;
1158
+ }
1159
+ return !rn.value.length && !zt.value && !ke.value;
1160
+ }), nn = h(() => $.value ? R("views.recordings.similar_empty") : qt.value ? R("views.recordings.vehicle_filter_license") : Jt.value ? R("views.recordings.recordings_unavailable") : Kt.value ? R("views.recordings.load_failed") : R("views.recordings.no_recordings")), rn = h(() => {
1161
+ let e = Rt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = Y.value;
1162
+ if (X.value !== void 0) {
1163
+ let t = X.value;
1164
+ e = e.filter((e) => e.startTime >= t);
1165
+ }
1166
+ return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && ht(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Xt.value && (e = e.filter((e) => {
1167
+ let n = Yt.value.get(e.id);
1168
+ return n != null && n >= t.minSemanticScore;
1169
+ }), e.sort((e, t) => (Yt.value.get(t.id) ?? 0) - (Yt.value.get(e.id) ?? 0))), e;
1170
+ }), on = h(() => Y.value.contentKind === "episodes"), sn = h(() => {
1171
+ let e = Y.value;
1172
+ return e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.vehicleColors.length > 0 || e.vehicleTypes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5;
1173
+ }), cn = h(() => Xe.value?.state === "ready"), ln = h(() => {
1174
+ if (Y.value.contentKind === "events") return [];
1175
+ N.storeVersion.value;
1176
+ let e = Y.value;
1177
+ if (!on.value && (Xt.value || e.gridRegions.length > 0 || sn.value)) return [];
1178
+ let t = It.value.length > 0 ? It.value : Lt.value, n = X.value ?? 0, r = Infinity;
1179
+ if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Bt.value && !on.value) {
1180
+ let e = Infinity;
1181
+ for (let t of Rt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
1182
+ n = Math.max(n, e);
1183
+ }
1184
+ let i = [];
1185
+ for (let a of N.getEpisodes()) a.description && (!e.favoritesOnly || a.favorite) && (n && a.endTime < n || a.startTime > r || t.length > 0 && !a.members.some((e) => t.includes(e.cameraId)) || i.push({
1186
+ event: void 0,
1187
+ key: `episode:${a.id}`,
1188
+ episode: a
1189
+ }));
1190
+ return i;
1191
+ }), un = h(() => {
1192
+ if ($.value) return Qt.value;
1193
+ if (on.value) return [...ln.value].sort(ft);
1194
+ let e = Z.value && ot.value.length ? [...ot.value] : rn.value.map((e) => ({
1195
+ event: e,
1196
+ key: e.id
1197
+ }));
1198
+ return ln.value.length && (e.push(...ln.value), e.sort(ft)), e;
1199
+ }), fn = h(() => {
1200
+ let e = Vt.value, t = Y.value;
1201
+ if (!e || !Bt.value || Xt.value || t.gridRegions.length > 0 || t.timeRange && X.value === void 0) return;
1202
+ if (on.value) return e.episodes;
1203
+ let n = Z.value ? e.segments : e.total;
1204
+ if (n !== void 0) return n + (t.contentKind !== "events" && !sn.value ? e.episodes : 0);
1205
+ }), pn = h(() => Be(void 0, "admin")), mn = h(() => rn.value.filter((e) => e.state === "ended")), { selectionMode: hn, selectedIds: gn, allSelected: _n, bulkBusy: vn, enterSelectionMode: yn, exitSelectionMode: bn, toggleSelectAll: xn, toggleSelection: Sn } = W(mn, (e) => e.id);
1206
+ function Cn() {
1207
+ let e = [...gn.value];
1208
+ e.length && !vn.value && l.openTextDialog({
1209
+ data: {
1210
+ title: R("components.dialog.title.confirm"),
1211
+ contentText: R("views.recordings.delete_selected_confirm", { count: e.length }),
1212
+ confirmText: R("components.form.button.remove"),
1213
+ confirmButtonProps: { severity: "danger" }
1214
+ },
1215
+ onConfirm: async () => {
1216
+ vn.value = !0;
1217
+ try {
1218
+ await Wt(e), bn(), F.add({
1219
+ severity: "success",
1220
+ detail: R("views.recordings.delete_selected_done", { count: e.length }),
1221
+ life: 5e3
1222
+ });
1223
+ } catch (e) {
1224
+ F.add({
1225
+ severity: "error",
1226
+ detail: e?.message ?? String(e),
1227
+ life: 5e3
1228
+ });
1229
+ } finally {
1230
+ vn.value = !1;
1231
+ }
1232
+ }
1233
+ });
1234
+ }
1235
+ let wn = h(() => [
1236
+ {
1237
+ key: "ungroup",
1238
+ label: R("views.recordings.ungroup"),
1239
+ description: R("views.recordings.ungroup_hint"),
1240
+ toggle: !0,
1241
+ toggleState: Z.value,
1242
+ onClick: () => {
1243
+ Ct = !0, Z.value = !Z.value, u.updateUser({ preferences: { recordings: { ungrouped: Z.value } } });
1244
+ }
1245
+ },
1246
+ {
1247
+ key: "onlyWithRecordings",
1248
+ label: R("views.recordings.only_with_recordings"),
1249
+ description: R("views.recordings.only_with_recordings_hint"),
1250
+ toggle: !0,
1251
+ toggleState: Y.value.onlyWithRecordings,
1252
+ onClick: () => {
1253
+ Y.value = {
1254
+ ...Y.value,
1255
+ onlyWithRecordings: !Y.value.onlyWithRecordings
1256
+ };
1257
+ }
1258
+ },
1259
+ ...pn.value ? [{
1260
+ key: "favoritesOnly",
1261
+ label: R("views.recordings.favorites_only"),
1262
+ description: R("views.recordings.favorites_hint"),
1263
+ toggle: !0,
1264
+ toggleState: Y.value.favoritesOnly,
1265
+ onClick: () => {
1266
+ Y.value = {
1267
+ ...Y.value,
1268
+ favoritesOnly: !Y.value.favoritesOnly
1269
+ };
1270
+ }
1271
+ }] : []
1272
+ ]);
1273
+ function Tn() {
1274
+ l.openComponentDialog(Et, { data: {
1275
+ title: R("views.recordings.reindex.title"),
1276
+ contentProps: {},
1277
+ confirmText: R("views.recordings.reindex.start")
1278
+ } });
1279
+ }
1280
+ function En() {
1281
+ l.openComponentDialog(an, { data: {
1282
+ title: R("views.recordings.export.title"),
1283
+ contentProps: {
1284
+ cameras: Q.value,
1285
+ preselect: Y.value.cameraIds?.length ? Y.value.cameraIds : []
1286
+ },
1287
+ confirmText: R("views.recordings.export.confirm")
1288
+ } });
1289
+ }
1290
+ function Dn() {
1291
+ let e = J.value;
1292
+ J.value = e === "opened" ? "closed" : "opened";
1293
+ }
1294
+ function On() {
1295
+ J.value = "closed";
1296
+ }
1297
+ function kn(e) {
1298
+ !e.semanticQuery?.trim() && Y.value.semanticQuery?.trim() && Le(), Y.value = e;
1299
+ }
1300
+ async function An(e) {
1301
+ lt.value = !0, pt.value = "";
1302
+ try {
1303
+ let t = await ut(e, ae.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1304
+ kn({
1305
+ ...et,
1306
+ ...t.filters,
1307
+ favoritesOnly: pn.value && t.filters.favoritesOnly
1308
+ }), jn(t.filters.semanticQuery), pt.value = t.note;
1309
+ } catch (e) {
1310
+ F.add({
1311
+ severity: "error",
1312
+ detail: e?.response?.data?.message ?? R("views.recordings.assistant_search_failed"),
1313
+ life: 5e3
1314
+ });
1315
+ } finally {
1316
+ lt.value = !1;
1317
+ }
1318
+ }
1319
+ function jn(e) {
1320
+ if (!e.trim()) {
1321
+ Le();
1322
+ return;
1323
+ }
1324
+ Pe(e);
1325
+ }
1326
+ function Mn(e, t) {
1327
+ let n = Zt.value.get(e);
1328
+ return n && !N.getEvent(e) ? N.loadThumbnails(e, n.cameraId, t) : Ut(e, t);
1329
+ }
1330
+ function Nn(e) {
1331
+ if (!e.vehicleColors.length && !e.vehicleTypes.length) return;
1332
+ let t = {};
1333
+ return e.vehicleColors.length && (t.color = e.vehicleColors), e.vehicleTypes.length && (t.vehicle_type = e.vehicleTypes), t;
1334
+ }
1335
+ function Pn(e, t) {
1336
+ let n = Pt.value.get(e.cameraId);
1337
+ n && D(e, n, t);
1338
+ }
1339
+ function Fn(e) {
1340
+ l.openComponentDialog(dn, {
1341
+ data: {
1342
+ title: R("components.similar.image_search_title"),
1343
+ hideConfirmButton: !0,
1344
+ contentProps: { image: e }
1345
+ },
1346
+ dialogSize: { desktop: { width: "720px" } }
1347
+ });
1348
+ }
1349
+ function In(e) {
1350
+ return !!e.dataTransfer?.types.includes("Files");
1351
+ }
1352
+ function Ln(e) {
1353
+ K.value && In(e) && bt.value++;
1354
+ }
1355
+ function Rn(e) {
1356
+ In(e) && (bt.value = Math.max(0, bt.value - 1));
1357
+ }
1358
+ function zn(e) {
1359
+ bt.value = 0;
1360
+ let t = Array.from(e.dataTransfer?.files ?? []).find((e) => e.type.startsWith("image/"));
1361
+ t && K.value && Fn(t);
1362
+ }
1363
+ function Bn(e, t) {
1364
+ let n = Pt.value.get(e.cameraId);
1365
+ n && l.openComponentDialog(P, {
1366
+ data: {
1367
+ title: n.name,
1368
+ dedupeKey: `camera-event:${n._id}:${t}`,
1369
+ stayActive: !0,
1370
+ hideCancelButton: !0,
1371
+ hideConfirmButton: !0,
1372
+ contentProps: {
1373
+ camera: n,
1374
+ eventTimestamp: t
1375
+ },
1376
+ headerActions: e.segments?.some((e) => e?.description) ? [{
1377
+ icon: ce,
1378
+ toggle: !0,
1379
+ onClick: () => {}
1380
+ }] : void 0,
1381
+ draggable: !0,
1382
+ blockDragOnSelectors: [".p-dialog-body"],
1383
+ dismissableMask: !1,
1384
+ modal: !1,
1385
+ dialogContentClass: "!px-0 h-full",
1386
+ goTo: `/cameras/${n.name}?startTs=${t}`
1387
+ },
1388
+ dialogSize: { desktop: {
1389
+ maxWidth: "800px",
1390
+ maxHeight: "calc(100vh - max(1rem, var(--safe-area-inset-top)) - max(1rem, var(--safe-area-inset-bottom)))",
1391
+ width: "50vw"
1392
+ } }
1393
+ });
1394
+ }
1395
+ return v(he, (e) => {
1396
+ e && (J.value = "closed");
1397
+ }), v(() => Y.value.timeRange, (e) => {
1398
+ X.value = e && tt[e] ? Date.now() - tt[e] : void 0;
1399
+ }, { immediate: !0 }), v(Y, (e) => {
1400
+ let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
1401
+ types: e.eventTypes.length > 0 ? e.eventTypes : void 0,
1402
+ triggers: e.sensorEvents.length > 0 ? e.sensorEvents : void 0,
1403
+ triggerLabels: e.audioLabels.length > 0 ? e.audioLabels : void 0,
1404
+ attributes: e.hasAttributes.length > 0 ? e.hasAttributes : void 0,
1405
+ attributeLabels: Nn(e),
1406
+ filterLogicTriggers: t ? e.filterLogicTriggers : void 0,
1407
+ filterLogicAttributes: t ? e.filterLogicAttributes : void 0,
1408
+ search: e.search || void 0,
1409
+ minConfidence: e.minConfidence > 0 ? e.minConfidence : void 0,
1410
+ hasDetections: !t,
1411
+ withRecordingInfo: !0,
1412
+ hasRecording: e.onlyWithRecordings || void 0,
1413
+ favoritesOnly: e.favoritesOnly || void 0,
1414
+ startedSinceMs: X.value
1415
+ }, r = JSON.stringify(n);
1416
+ r !== wt && (wt = r, at.value = n);
1417
+ }, {
1418
+ deep: !0,
1419
+ immediate: !0
1420
+ }), v(Qe, (e) => {
1421
+ if (!e || Ct) return;
1422
+ let t = e.preferences?.recordings?.ungrouped;
1423
+ t !== void 0 && (Z.value = t);
1424
+ }, { immediate: !0 }), v([
1425
+ A,
1426
+ () => JSON.stringify($t.value),
1427
+ K
1428
+ ], ([e, , t]) => {
1429
+ e ? t && Je(e.query, $t.value) : Ye();
1430
+ }, { immediate: !0 }), v([
1431
+ Z,
1432
+ rn,
1433
+ Xt
1434
+ ], ([e, t, n]) => {
1435
+ ot.value = e ? mt(t, n) : [];
1436
+ }), v(() => Y.value.cameraIds, (e) => {
1437
+ e.length !== 1 && Y.value.gridRegions.length > 0 && (Y.value = {
1438
+ ...Y.value,
1439
+ gridRegions: []
1440
+ });
1441
+ }), te(() => {
1442
+ requestAnimationFrame(() => {
1443
+ ct.value = !0;
1444
+ });
1445
+ }), (t, n) => {
1446
+ let r = je, a = B, s = me, l = nt, u = gt, p = xt, h = yt, v = vt, S = ze, E = _e, D = be, O = De, te = G, N = H, P = ge, F = Oe, L = se, R = j;
1447
+ return i(), y("div", null, [
1448
+ k(r, { position: "center" }, {
1449
+ default: g(() => [w("span", pr, o(t.$t("views.recordings.title")), 1)]),
1450
+ _: 1
1451
+ }),
1452
+ k(r, { position: "left" }, {
1453
+ default: g(() => [k(l, {
1454
+ id: "recordings-sidebar-toggle",
1455
+ severity: "secondary",
1456
+ class: "cui-button p-2 text-color",
1457
+ text: "",
1458
+ rounded: "",
1459
+ onClick: Dn
1460
+ }, {
1461
+ icon: g(() => [m(J) === "closed" ? (i(), d(a, {
1462
+ key: 0,
1463
+ width: "100%",
1464
+ height: "100%"
1465
+ })) : (i(), d(s, {
1466
+ key: 1,
1467
+ width: "100%",
1468
+ height: "100%"
1469
+ }))]),
1470
+ _: 1
1471
+ })]),
1472
+ _: 1
1473
+ }),
1474
+ k(r, { position: "right" }, {
1475
+ default: g(() => [k(l, {
1476
+ severity: "secondary",
1477
+ class: "cui-button p-2 text-color",
1478
+ text: "",
1479
+ rounded: "",
1480
+ onClick: n[0] ||= (e) => m(rt)?.toggleMenu(e)
1481
+ }, {
1482
+ icon: g(() => [k(u, {
1483
+ width: "100%",
1484
+ height: "100%"
1485
+ })]),
1486
+ _: 1
1487
+ })]),
1488
+ _: 1
1489
+ }),
1490
+ k(fr, {
1491
+ filters: m(Y),
1492
+ cameras: m(Q),
1493
+ "is-open": m(Ot),
1494
+ "is-overlay": m(kt),
1495
+ "result-count": m(un).length,
1496
+ "result-total": m(fn),
1497
+ "result-capped": m(Vt)?.capped,
1498
+ "semantic-count": m(Xt) ? m(Yt).size : void 0,
1499
+ "semantic-search-available": m(Ae),
1500
+ "semantic-search-loading": m(ke),
1501
+ "assistant-search-available": m(cn),
1502
+ "assistant-search-loading": m(lt),
1503
+ "assistant-search-note": m(pt),
1504
+ "image-search-available": m(K),
1505
+ "onUpdate:filters": kn,
1506
+ onSemanticSearch: jn,
1507
+ onAssistantSearch: An,
1508
+ onImageSearch: Fn,
1509
+ onClose: On
1510
+ }, null, 8, [
1511
+ "filters",
1512
+ "cameras",
1513
+ "is-open",
1514
+ "is-overlay",
1515
+ "result-count",
1516
+ "result-total",
1517
+ "result-capped",
1518
+ "semantic-count",
1519
+ "semantic-search-available",
1520
+ "semantic-search-loading",
1521
+ "assistant-search-available",
1522
+ "assistant-search-loading",
1523
+ "assistant-search-note",
1524
+ "image-search-available"
1525
+ ]),
1526
+ (i(), d(_, {
1527
+ to: "#container",
1528
+ defer: ""
1529
+ }, [m(Ot) && m(kt) ? (i(), y("div", {
1530
+ key: 0,
1531
+ class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1532
+ onClick: On
1533
+ })) : f("", !0)])),
1534
+ w("main", {
1535
+ ref_key: "reindexAnchorRef",
1536
+ ref: it,
1537
+ class: "relative w-full h-full",
1538
+ style: b({
1539
+ paddingLeft: m(Mt),
1540
+ transition: m(ct) ? "padding-left 200ms" : void 0
1541
+ }),
1542
+ onDragenter: Ln,
1543
+ onDragleave: Rn,
1544
+ onDragover: n[3] ||= e(() => {}, ["prevent"]),
1545
+ onDrop: e(zn, ["prevent"])
1546
+ }, [m(bt) > 0 ? (i(), y("div", mr, [k(p, { class: "w-10 h-10" }), w("span", hr, o(t.$t("views.recordings.image_drop_overlay")), 1)])) : f("", !0), w("div", gr, [
1547
+ m(U) ? f("", !0) : (i(), y("div", _r, [
1548
+ n[4] ||= w("div", { class: "ml-2" }, null, -1),
1549
+ m(he) ? f("", !0) : (i(), d(l, {
1550
+ key: 0,
1551
+ id: "recordings-sidebar-toggle",
1552
+ severity: "secondary",
1553
+ class: "mr-2 cui-icon-lg relative z-2",
1554
+ text: "",
1555
+ rounded: "",
1556
+ onClick: Dn
1557
+ }, {
1558
+ icon: g(() => [m(Ot) ? (i(), d(h, {
1559
+ key: 0,
1560
+ width: "100%",
1561
+ height: "100%"
1562
+ })) : (i(), d(v, {
1563
+ key: 1,
1564
+ width: "100%",
1565
+ height: "100%"
1566
+ }))]),
1567
+ _: 1
1568
+ })),
1569
+ w("h1", vr, o(t.$t("views.recordings.title")), 1),
1570
+ n[5] ||= w("div", { class: "gradient-blur rotate-180 !h-[70px]" }, [
1571
+ w("div"),
1572
+ w("div"),
1573
+ w("div"),
1574
+ w("div"),
1575
+ w("div"),
1576
+ w("div")
1577
+ ], -1)
1578
+ ])),
1579
+ m(U) ? f("", !0) : (i(), y("div", yr, [T((i(), d(l, {
1580
+ severity: "secondary",
1581
+ text: "",
1582
+ rounded: "",
1583
+ class: "cui-icon-lg relative z-2",
1584
+ onClick: n[1] ||= (e) => m(rt)?.toggleMenu(e)
1585
+ }, {
1586
+ icon: g(() => [k(u, {
1587
+ width: "100%",
1588
+ height: "100%"
1589
+ })]),
1590
+ _: 1
1591
+ })), [[
1592
+ R,
1593
+ { value: t.$t("views.recordings.view_options") },
1594
+ void 0,
1595
+ { bottom: !0 }
1596
+ ]])])),
1597
+ w("div", { class: c(["px-2 h-full w-full flex flex-col", {
1598
+ "pt-4": m(U),
1599
+ "pt-[calc(40px+2rem)]": !m(U)
1600
+ }]) }, [
1601
+ m($) ? (i(), d(S, {
1602
+ key: 0,
1603
+ crop: m(A)?.crop,
1604
+ "object-label": m(A)?.objectLabel,
1605
+ result: m(He),
1606
+ count: m(Qt).length,
1607
+ searching: m(Ue) || !m(K),
1608
+ "license-required": m(qe),
1609
+ onClose: m(M)
1610
+ }, null, 8, [
1611
+ "crop",
1612
+ "object-label",
1613
+ "result",
1614
+ "count",
1615
+ "searching",
1616
+ "license-required",
1617
+ "onClose"
1618
+ ])) : f("", !0),
1619
+ m(un).length ? (i(), d(O, {
1620
+ key: 1,
1621
+ ref_key: "gridRef",
1622
+ ref: q,
1623
+ items: m(un),
1624
+ "min-item-width": m(U) ? 160 : 180,
1625
+ gap: 8,
1626
+ "has-more": m(Bt) && !m($),
1627
+ "load-more": m(Ht),
1628
+ "item-key": (e) => e.key,
1629
+ class: "flex-1 min-h-0",
1630
+ style: { "--cui-scroll-end": "calc(var(--cui-bottom-gap) - 8px)" }
1631
+ }, {
1632
+ item: g(({ item: e }) => [e.episode ? (i(), d(E, {
1633
+ key: 0,
1634
+ episode: e.episode,
1635
+ "camera-by-id": m(Pt),
1636
+ fluid: "",
1637
+ "click-disabled": m(hn)
1638
+ }, null, 8, [
1639
+ "episode",
1640
+ "camera-by-id",
1641
+ "click-disabled"
1642
+ ])) : (i(), d(D, {
1643
+ key: 1,
1644
+ event: e.event,
1645
+ "camera-name": m(Nt).get(e.event.cameraId),
1646
+ camera: m(Pt).get(e.event.cameraId),
1647
+ "load-thumbnails": Mn,
1648
+ "semantic-score": m(Yt).get(e.event.id),
1649
+ "seg-index": e.segIndex,
1650
+ "selection-mode": m(hn) && e.event.state === "ended",
1651
+ selected: m(gn).has(e.event.id),
1652
+ "sibling-active": e.segIndex !== void 0 && m(St) === e.event.id,
1653
+ onSelect: (t) => m(Sn)(e.event.id),
1654
+ onScrollToEvent: (t) => Bn(e.event, t),
1655
+ onOpenTrace: (t) => Pn(e.event, t),
1656
+ onMouseenter: (t) => St.value = e.segIndex === void 0 ? null : e.event.id,
1657
+ onMouseleave: n[2] ||= (e) => St.value = null
1658
+ }, null, 8, [
1659
+ "event",
1660
+ "camera-name",
1661
+ "camera",
1662
+ "semantic-score",
1663
+ "seg-index",
1664
+ "selection-mode",
1665
+ "selected",
1666
+ "sibling-active",
1667
+ "onSelect",
1668
+ "onScrollToEvent",
1669
+ "onOpenTrace",
1670
+ "onMouseenter"
1671
+ ]))]),
1672
+ _: 1
1673
+ }, 8, [
1674
+ "items",
1675
+ "min-item-width",
1676
+ "has-more",
1677
+ "load-more",
1678
+ "item-key"
1679
+ ])) : m(en) ? (i(), d(O, {
1680
+ key: 2,
1681
+ items: m($e),
1682
+ "min-item-width": m(U) ? 160 : 180,
1683
+ gap: 8,
1684
+ "item-key": (e) => e,
1685
+ class: "flex-1 min-h-0 pointer-events-none"
1686
+ }, {
1687
+ item: g(() => [k(te, {
1688
+ width: "100%",
1689
+ height: "100%",
1690
+ class: "rounded-xl"
1691
+ })]),
1692
+ _: 1
1693
+ }, 8, [
1694
+ "items",
1695
+ "min-item-width",
1696
+ "item-key"
1697
+ ])) : f("", !0),
1698
+ m(en) && m(un).length && !m(q)?.loadingMore || m(ke) ? (i(), y("div", br, [k(N, {
1699
+ width: "24px",
1700
+ height: "24px",
1701
+ class: "text-muted"
1702
+ })])) : f("", !0),
1703
+ m(tn) ? (i(), y("div", xr, [
1704
+ k(P, { class: "w-12 h-12 text-muted" }),
1705
+ w("span", Sr, o(m(nn)), 1),
1706
+ m(Kt) && !m(Jt) && !m($) && !m(qt) ? (i(), d(l, {
1707
+ key: 0,
1708
+ severity: "secondary",
1709
+ class: "cui-button-small",
1710
+ label: t.$t("views.recordings.load_failed_retry"),
1711
+ onClick: m(Gt)
1712
+ }, null, 8, ["label", "onClick"])) : f("", !0)
1713
+ ])) : f("", !0)
1714
+ ], 2)
1715
+ ])], 36),
1716
+ m(pn) && m(Q).length ? (i(), y("div", {
1717
+ key: 0,
1718
+ class: c(["fixed z-10", m(jt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1719
+ style: b({
1720
+ left: m(jt) ? `calc(${m(Mt)} + 0.75rem + var(--safe-area-inset-left))` : `calc(${m(Tt)}px + ${m(Mt)} + 0.75rem)`,
1721
+ bottom: m(Dt),
1722
+ transition: m(ct) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1723
+ })
1724
+ }, [k(l, {
1725
+ severity: "secondary",
1726
+ rounded: "",
1727
+ class: "shadow-lg",
1728
+ disabled: m(C)?.running,
1729
+ label: m(ee) ? t.$t("views.recordings.reindex.checking") : m(C)?.running ? t.$t("views.recordings.reindex.progress", {
1730
+ done: m(C).done,
1731
+ total: m(C).total
1732
+ }) : t.$t("views.recordings.reindex.button"),
1733
+ onClick: Tn
1734
+ }, {
1735
+ icon: g(() => [m(C)?.running ? (i(), d(m(H), { key: 0 })) : (i(), d(m(_t), { key: 1 }))]),
1736
+ _: 1
1737
+ }, 8, ["disabled", "label"])], 6)) : f("", !0),
1738
+ m(Q).length ? (i(), d(L, {
1739
+ key: 1,
1740
+ "force-visible": m(hn),
1741
+ "scroll-y": m(q)?.scrollY ?? 0
1742
+ }, {
1743
+ default: g(() => [m(hn) ? (i(), y(x, { key: 1 }, [
1744
+ k(F, {
1745
+ grouped: "",
1746
+ "tooltip-props": { value: t.$t("components.form.tooltip.cancel_selection") },
1747
+ "button-props": { severity: "secondary" },
1748
+ icon: m(st),
1749
+ "icon-props": {
1750
+ width: "100%",
1751
+ height: "100%"
1752
+ },
1753
+ onClick: m(bn)
1754
+ }, null, 8, [
1755
+ "tooltip-props",
1756
+ "icon",
1757
+ "onClick"
1758
+ ]),
1759
+ k(F, {
1760
+ grouped: "",
1761
+ "tooltip-props": { value: m(_n) ? t.$t("components.form.tooltip.deselect_all") : t.$t("components.form.tooltip.select_all") },
1762
+ "button-props": { severity: m(_n) ? "primary" : "secondary" },
1763
+ icon: m(fe),
1764
+ "icon-props": {
1765
+ width: "100%",
1766
+ height: "100%"
1767
+ },
1768
+ onClick: m(xn)
1769
+ }, null, 8, [
1770
+ "tooltip-props",
1771
+ "button-props",
1772
+ "icon",
1773
+ "onClick"
1774
+ ]),
1775
+ k(F, {
1776
+ grouped: "",
1777
+ "tooltip-props": { value: t.$t("components.form.tooltip.delete_selected") },
1778
+ "button-props": {
1779
+ severity: "danger",
1780
+ disabled: !m(gn).size || m(vn)
1781
+ },
1782
+ icon: m(I),
1783
+ "icon-props": {
1784
+ width: "100%",
1785
+ height: "100%"
1786
+ },
1787
+ onClick: Cn
1788
+ }, null, 8, [
1789
+ "tooltip-props",
1790
+ "button-props",
1791
+ "icon"
1792
+ ])
1793
+ ], 64)) : (i(), y(x, { key: 0 }, [m(pn) && m(rn).length && !m($) ? (i(), d(F, {
1794
+ key: 0,
1795
+ grouped: "",
1796
+ "tooltip-props": { value: t.$t("views.recordings.select") },
1797
+ "button-props": { severity: "secondary" },
1798
+ icon: m(Ve),
1799
+ "icon-props": {
1800
+ width: "100%",
1801
+ height: "100%"
1802
+ },
1803
+ onClick: m(yn)
1804
+ }, null, 8, [
1805
+ "tooltip-props",
1806
+ "icon",
1807
+ "onClick"
1808
+ ])) : f("", !0), k(F, {
1809
+ grouped: "",
1810
+ "tooltip-props": { value: t.$t("views.recordings.export.title") },
1811
+ "button-props": { class: "text-white" },
1812
+ icon: m(ne),
1813
+ "icon-props": {
1814
+ width: "26px",
1815
+ height: "26px"
1816
+ },
1817
+ onClick: En
1818
+ }, null, 8, ["tooltip-props", "icon"])], 64))]),
1819
+ _: 1
1820
+ }, 8, ["force-visible", "scroll-y"])) : f("", !0),
1821
+ k(re, {
1822
+ ref_key: "viewMenuRef",
1823
+ ref: rt,
1824
+ items: m(wn),
1825
+ "auto-hide": !1,
1826
+ popover: { pt: {
1827
+ root: { class: "w-[22rem]" },
1828
+ content: { class: "p-0! rounded-xl! overflow-hidden!" }
1829
+ } }
1830
+ }, null, 8, ["items"])
1831
+ ]);
1832
+ };
1833
+ }
1834
+ }), [["__scopeId", "data-v-4ed7ce40"]]);
1835
+ //#endregion
1836
+ export { wr as default };