@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
@@ -1,1539 +0,0 @@
1
- import { m as e, p as t } from "./ripple-ZDATPc2w.js";
2
- import { D as n, G as r, H as i, Jt as a, U as o, Wt as s, Y as c, _t as l, d as u, f as d, gt as f, kt as p, l as m, lt as h, o as g, ot as _, p as v, qt as y, r as b, rt as x, st as S, u as C, ut as w, v as T, wt as E, x as D, xt as O, y as k, yt as A, z as j } from "./runtime-core.esm-bundler-_TfE0DWz.js";
3
- import { t as ee } 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 { Ar as P, B as F, Bn as te, Dn as I, Dr as L, Er as R, H as ne, In as re, J as ie, Jt as z, Kn as ae, Kr as oe, Mn as se, Or as B, R as ce, Si as le, U as V, V as ue, Wn as de, X as fe, Xn as H, ar as U, at as pe, br as me, et as he, g as ge, gi as _e, gn as ve, gr as ye, gt as be, ir as xe, jr as Se, kr as Ce, lt as we, ot as Te, q as Ee, tr as De, ua as Oe, wr as ke, yi as Ae, yr as je, z as Me, zn as Ne } from "./api-BelbnLQO.js";
7
- import { F as Pe, M as Fe, z as Ie } from "./protocol-BB4jdtUC-DW3jl2tV.js";
8
- import { h as Le, u as Re } from "./intercomService-B7HkLs6z.js";
9
- import { n as ze } from "./vue-i18n-D5EAy78K.js";
10
- import { C as Be, _ as Ve, g as He } from "./dist-BIngHzHx.js";
11
- import { i as Ue } from "./alert-outline-FcLLjoOK.js";
12
- import { t as We } from "./eventIcons-BFNUgeGr.js";
13
- import { t as Ge } from "./button-BouAFgf5.js";
14
- import { M as W } from "./dist-BybVYMVs.js";
15
- import { t as Ke } from "./inputtext-C_ygnPrC.js";
16
- import { t as G } from "./checkbox-CAKzZcqk.js";
17
- import { t as qe } from "./datepicker-DXk97lTw.js";
18
- import { t as Je } from "./close-CxFbonhd.js";
19
- import { t as K } from "./select-DV7p2EDj.js";
20
- import { t as Ye } from "./progressbar-CaUaM8Bt.js";
21
- import { t as Xe } from "./multiselect-BOb4ScAZ.js";
22
- import { t as Ze } from "./textarea-ByXnzJzx.js";
23
- import { s as Qe, t as $e } from "./assistant-C6KYXJfi.js";
24
- import { i as et, n as q, t as J } from "./eventLabels-B4C1_4vT.js";
25
- import { i as tt, n as nt, r as rt, t as it } from "./ungrouped-x00DHNHO.js";
26
- import { t as at } from "./utils-DYtBrGDz.js";
27
- import { t as ot } from "./settings-lWJfHaif.js";
28
- import { t as st } from "./database-refresh-outline-PiqlCkA7.js";
29
- import { n as ct, t as lt } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
30
- //#region src/components/CuiDialog/templates/ClipReindex/ClipReindex.vue?vue&type=script&setup=true&lang.ts
31
- var ut = { class: "flex flex-col gap-4" }, dt = { class: "text-sm text-pretty" }, ft = {
32
- key: 0,
33
- class: "flex flex-col gap-2"
34
- }, pt = {
35
- key: 0,
36
- class: "flex justify-between text-sm text-muted"
37
- }, mt = { key: 0 }, ht = /* @__PURE__ */ D({
38
- __name: "ClipReindex",
39
- setup(e, { expose: t }) {
40
- let r = n("dialogRefProps"), { t: o } = ze(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = Ne(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
41
- if (y.value) {
42
- if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
43
- let { done: e, total: t, skipped: n } = s.value;
44
- return n ? o("views.recordings.reindex.result_failed", {
45
- done: e,
46
- total: t,
47
- skipped: n
48
- }) : o("views.recordings.reindex.result", {
49
- done: e,
50
- total: t
51
- });
52
- }
53
- return l.value ? o("views.recordings.reindex.checking") : x.value ? o("views.recordings.reindex.running_intro") : o("views.recordings.reindex.intro");
54
- }), T = m(() => {
55
- if (y.value) return b.value;
56
- let e = s.value?.total ?? 0;
57
- return e <= 0 ? 0 : Math.min(100, Math.round(((s.value?.done ?? 0) + (s.value?.skipped ?? 0)) / e * 100));
58
- });
59
- async function E() {
60
- return x.value ? h() : (g.value = !0, f()), null;
61
- }
62
- return _(x, (e, t) => {
63
- t && !e && g.value && (y.value = !0, b.value = s.value?.total ? 100 : 0, s.value?.total || requestAnimationFrame(() => b.value = 100));
64
- }), S(() => {
65
- r.hideConfirmButton && (r.hideConfirmButton.value = y.value), r.confirmText && (r.confirmText.value = x.value ? o("views.recordings.reindex.stop") : o("views.recordings.reindex.start")), r.confirmButtonProps && (r.confirmButtonProps.value = x.value ? { severity: "danger" } : {}), r.disabled && (r.disabled.value = c.value);
66
- }), j(() => {
67
- s.value?.running && (g.value = !0), u().then(() => {
68
- s.value?.running && (g.value = !0);
69
- });
70
- }), t({ onConfirm: E }), (e, t) => {
71
- let n = Ye;
72
- return i(), v("div", ut, [C("span", dt, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", ft, [k(n, {
73
- mode: p(l) ? "indeterminate" : "determinate",
74
- value: p(T),
75
- "show-value": !1,
76
- class: "h-2"
77
- }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", pt, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
78
- done: p(s)?.done ?? 0,
79
- total: p(s)?.total ?? 0
80
- })), 1), p(s)?.skipped ? (i(), v("span", mt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
81
- };
82
- }
83
- }), Y = {
84
- viewBox: "0 0 24 24",
85
- width: "1.2em",
86
- height: "1.2em"
87
- };
88
- function gt(e, t) {
89
- return i(), v("svg", Y, [...t[0] ||= [C("path", {
90
- fill: "currentColor",
91
- d: "m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4 18V9h-5V4H6v16zm-2-2l-2.5-1.7V18H8v-5h5.5v1.7L16 13z"
92
- }, null, -1)]]);
93
- }
94
- var _t = l({
95
- name: "mdi-file-video-outline",
96
- render: gt
97
- }), vt = { class: "flex flex-col gap-6" }, yt = { class: "flex flex-col field-gap" }, X = { class: "cui-label" }, bt = { class: "flex flex-col field-gap" }, xt = { class: "cui-label" }, St = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, Ct = { class: "flex flex-col gap-1" }, wt = { class: "text-xs text-muted" }, Tt = { class: "flex flex-col gap-1" }, Et = { class: "text-xs text-muted" }, Dt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, Ot = { class: "flex flex-col field-gap" }, kt = { class: "cui-label" }, At = { class: "flex flex-col field-gap" }, jt = { class: "cui-label" }, Mt = { class: "flex flex-col field-gap" }, Nt = { class: "flex items-center gap-3" }, Pt = { class: "cui-label !mb-0" }, Z = {
98
- key: 0,
99
- class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
100
- }, Q = { class: "font-semibold" }, Ft = { class: "font-semibold" }, $ = { class: "border border-color rounded-xl card-background overflow-hidden" }, It = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Lt = {
101
- key: 0,
102
- class: "flex items-center justify-center gap-2 text-muted text-sm py-6"
103
- }, Rt = {
104
- key: 1,
105
- class: "text-center text-muted text-sm py-6"
106
- }, zt = { class: "text-xs text-muted px-0.5" }, Bt = { class: "font-mono text-xs truncate flex-1" }, Vt = { class: "text-xs text-muted tabular-nums shrink-0" }, Ht = { class: "font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right" }, Ut = 30, Wt = /* @__PURE__ */ D({
107
- __name: "ExportRecordings",
108
- props: {
109
- cameras: {},
110
- preselect: {}
111
- },
112
- setup(e, { expose: t }) {
113
- let o = e, { t: s } = ze(), c = le(), l = n("dialogRefProps"), { plugin: g } = W("@camera.ui/camera-ui-nvr"), _ = O([]), y = O(!1), x = O(o.preselect?.length ? [...o.preselect] : []), w = O("best"), E = O(0), D = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = O(/* @__PURE__ */ new Date()), j = m(() => [{
114
- label: s("views.recordings.export.quality_best"),
115
- value: "best"
116
- }, {
117
- label: s("views.recordings.export.quality_smallest"),
118
- value: "smallest"
119
- }]), ee = m(() => [
120
- 0,
121
- 1,
122
- 2,
123
- 5,
124
- 10,
125
- 30,
126
- 60,
127
- 120,
128
- 180,
129
- 240,
130
- 300
131
- ].map((e) => ({
132
- label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
133
- value: e
134
- }))), P = m(() => E.value > 0), F = m(() => P.value ? "~" : ""), te = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), I = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), L = m(() => {
135
- if (!I.value) return [];
136
- let e = [], t = D.value.getTime(), n = A.value.getTime(), r = new Date(D.value);
137
- r.setHours(0, 0, 0, 0);
138
- let i = new Date(A.value);
139
- for (i.setHours(0, 0, 0, 0); r.getTime() <= i.getTime();) {
140
- let i = new Date(r), a = new Date(r);
141
- a.setDate(a.getDate() + 1);
142
- let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
143
- s > o && e.push({
144
- day: ae(i),
145
- startUs: o * 1e3,
146
- endUs: s * 1e3
147
- }), r.setDate(r.getDate() + 1);
148
- }
149
- return e;
150
- }), R = m(() => _.value.map((e) => {
151
- let t = te.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : oe(r);
152
- return {
153
- cameraId: e.cameraId,
154
- cameraName: t,
155
- name: `${se(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
156
- span: i ? s("views.recordings.export.whole_day") : `${oe(n)}–${a}`,
157
- bytes: P.value ? e.bytes / Ut : e.bytes
158
- };
159
- })), ne = m(() => {
160
- let e = /* @__PURE__ */ new Map();
161
- for (let t of R.value) {
162
- let n = e.get(t.cameraId);
163
- n || (n = {
164
- cameraId: t.cameraId,
165
- cameraName: t.cameraName,
166
- files: [],
167
- bytes: 0
168
- }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
169
- }
170
- return [...e.values()];
171
- }), re = m(() => R.value.reduce((e, t) => e + t.bytes, 0)), ie = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : I.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
172
- function z(e) {
173
- return String(e).padStart(2, "0");
174
- }
175
- function ae(e) {
176
- return `${e.getFullYear()}-${z(e.getMonth() + 1)}-${z(e.getDate())}`;
177
- }
178
- function oe(e) {
179
- return `${z(e.getHours())}:${z(e.getMinutes())}`;
180
- }
181
- function se(e) {
182
- return e.replace(/[^a-zA-Z0-9-_]/g, "_");
183
- }
184
- function B(e) {
185
- if (e <= 0) return "0 MB";
186
- let t = e / 1e6;
187
- if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
188
- let n = e / 1e9;
189
- return `${n.toFixed(+(n < 10))} GB`;
190
- }
191
- async function ce() {
192
- let e = g.value;
193
- if (!e?.nvrExportEstimate || x.value.length === 0 || L.value.length === 0) {
194
- _.value = [], y.value = !1;
195
- return;
196
- }
197
- y.value = !0;
198
- try {
199
- let t = await e.nvrExportEstimate({
200
- cameras: x.value,
201
- slices: L.value,
202
- quality: w.value
203
- });
204
- _.value = t.files ?? [];
205
- } catch {
206
- _.value = [];
207
- } finally {
208
- y.value = !1;
209
- }
210
- }
211
- async function V() {
212
- if (!I.value || x.value.length === 0 || L.value.length === 0) return null;
213
- let e = g.value;
214
- if (!e?.nvrExportBatch) return c.add({
215
- severity: "error",
216
- detail: s("views.recordings.export.plugin_missing"),
217
- life: 3e3
218
- }), null;
219
- let t = await e.nvrExportBatch({
220
- cameras: x.value,
221
- slices: L.value,
222
- quality: w.value,
223
- timelapseIntervalSec: P.value ? E.value : 0
224
- });
225
- await me({
226
- url: t.url,
227
- filename: t.filename
228
- });
229
- }
230
- return Ie([
231
- x,
232
- L,
233
- w
234
- ], ce, {
235
- debounce: 350,
236
- immediate: !0,
237
- deep: !0
238
- }), S(() => {
239
- l.disabled && (l.disabled.value = !I.value || x.value.length === 0 || !y.value && R.value.length === 0);
240
- }), t({ onConfirm: V }), (t, n) => {
241
- let o = Xe, s = qe, c = M, l = U, m = K, g = N, _ = ke, S = _t;
242
- return i(), v("div", vt, [
243
- C("div", yt, [C("label", X, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
244
- modelValue: p(x),
245
- "onUpdate:modelValue": n[0] ||= (e) => f(x) ? x.value = e : null,
246
- options: e.cameras,
247
- "option-label": "name",
248
- "option-value": "id",
249
- display: "chip",
250
- filter: "",
251
- placeholder: t.$t("views.recordings.export.cameras_placeholder"),
252
- class: "w-full"
253
- }, null, 8, [
254
- "modelValue",
255
- "options",
256
- "placeholder"
257
- ])]),
258
- C("div", bt, [
259
- C("label", xt, a(t.$t("views.recordings.export.range")), 1),
260
- C("div", St, [C("div", Ct, [C("span", wt, a(t.$t("views.recordings.export.from")), 1), k(s, {
261
- modelValue: p(D),
262
- "onUpdate:modelValue": n[1] ||= (e) => f(D) ? D.value = e : null,
263
- "show-time": "",
264
- "hour-format": "24",
265
- fluid: "",
266
- "max-date": p(A)
267
- }, null, 8, ["modelValue", "max-date"])]), C("div", Tt, [C("span", Et, a(t.$t("views.recordings.export.to")), 1), k(s, {
268
- modelValue: p(A),
269
- "onUpdate:modelValue": n[2] ||= (e) => f(A) ? A.value = e : null,
270
- "show-time": "",
271
- "hour-format": "24",
272
- fluid: "",
273
- "min-date": p(D)
274
- }, null, 8, ["modelValue", "min-date"])])]),
275
- p(I) ? (i(), u(c, {
276
- key: 1,
277
- severity: "secondary",
278
- variant: "simple",
279
- size: "small",
280
- class: "cui-input-hint"
281
- }, {
282
- default: h(() => [T(a(t.$t("views.recordings.export.range_hint")), 1)]),
283
- _: 1
284
- })) : (i(), u(c, {
285
- key: 0,
286
- severity: "error",
287
- variant: "simple",
288
- size: "small",
289
- class: "cui-input-hint"
290
- }, {
291
- default: h(() => [T(a(t.$t("views.recordings.export.invalid_range")), 1)]),
292
- _: 1
293
- }))
294
- ]),
295
- C("div", Dt, [C("div", Ot, [C("label", kt, a(t.$t("views.recordings.export.quality")), 1), k(l, {
296
- modelValue: p(w),
297
- "onUpdate:modelValue": n[3] ||= (e) => f(w) ? w.value = e : null,
298
- options: p(j),
299
- "option-label": "label",
300
- "option-value": "value",
301
- "allow-empty": !1,
302
- pt: {
303
- root: { class: "flex w-full" },
304
- pcToggleButton: { root: { class: "flex-1" } }
305
- }
306
- }, null, 8, ["modelValue", "options"])]), C("div", At, [C("label", jt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
307
- modelValue: p(E),
308
- "onUpdate:modelValue": n[4] ||= (e) => f(E) ? E.value = e : null,
309
- options: p(ee),
310
- "option-label": "label",
311
- "option-value": "value",
312
- class: "w-full"
313
- }, null, 8, ["modelValue", "options"])])]),
314
- C("div", Mt, [C("div", Nt, [C("label", Pt, a(t.$t("views.recordings.export.result")), 1), p(R).length ? (i(), v("div", Z, [
315
- C("span", Q, a(p(R).length) + " " + a(p(R).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
316
- n[5] ||= C("span", { class: "text-muted" }, "·", -1),
317
- C("span", Ft, a(p(F)) + a(B(p(re))), 1),
318
- k(g, {
319
- value: p(R).length === 1 ? "MP4" : "ZIP",
320
- severity: "info"
321
- }, null, 8, ["value"])
322
- ])) : d("", !0)]), C("div", $, [C("div", It, [p(y) && !p(R).length ? (i(), v("div", Lt, [k(_, {
323
- style: {
324
- width: "1rem",
325
- height: "1rem"
326
- },
327
- "stroke-width": "4",
328
- class: "m-0"
329
- }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(R).length ? (i(!0), v(b, { key: 2 }, r(p(ne), (e) => (i(), v("div", {
330
- key: e.cameraId,
331
- class: "flex flex-col gap-1"
332
- }, [C("span", zt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(F)) + a(B(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
333
- key: e.name,
334
- class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
335
- }, [
336
- k(S, { class: "w-4 h-4 text-muted shrink-0" }),
337
- C("span", Bt, a(e.name), 1),
338
- C("span", Vt, a(e.span), 1),
339
- C("span", Ht, a(p(F)) + a(B(e.bytes)), 1)
340
- ]))), 128))]))), 128)) : (i(), v("div", Rt, a(p(ie)), 1))])])])
341
- ]);
342
- };
343
- }
344
- }), Gt = {
345
- viewBox: "0 0 24 24",
346
- width: "1.2em",
347
- height: "1.2em"
348
- };
349
- function Kt(e, t) {
350
- return i(), v("svg", Gt, [...t[0] ||= [C("path", {
351
- fill: "none",
352
- stroke: "currentColor",
353
- "stroke-linecap": "round",
354
- "stroke-linejoin": "round",
355
- "stroke-width": "2",
356
- d: "m6 9l6 6l6-6"
357
- }, null, -1)]]);
358
- }
359
- var qt = l({
360
- name: "tabler-chevron-down",
361
- render: Kt
362
- }), Jt = {
363
- viewBox: "0 0 24 24",
364
- width: "1.2em",
365
- height: "1.2em"
366
- };
367
- function Yt(e, t) {
368
- return i(), v("svg", Jt, [...t[0] ||= [C("path", {
369
- fill: "none",
370
- stroke: "currentColor",
371
- "stroke-linecap": "round",
372
- "stroke-linejoin": "round",
373
- "stroke-width": "2",
374
- d: "m6 15l6-6l6 6"
375
- }, null, -1)]]);
376
- }
377
- var Xt = l({
378
- name: "tabler-chevron-up",
379
- render: Yt
380
- }), Zt = { class: "flex flex-col gap-2" }, Qt = { class: "sidebar-section-title" }, $t = { class: "text-xs text-muted" }, en = { class: "text-xs text-muted" }, tn = { class: "flex flex-col gap-2" }, nn = { class: "sidebar-section-title" }, rn = { class: "p-input-icon-left w-full" }, an = { class: "text-xs text-muted" }, on = { class: "flex flex-col gap-2" }, sn = { class: "sidebar-section-title flex items-center gap-1.5" }, cn = {
381
- key: 0,
382
- class: "inline-flex items-center gap-1 text-xs text-muted"
383
- }, ln = {
384
- key: 1,
385
- class: "flex flex-col gap-1.5 mt-1"
386
- }, un = { class: "text-xs text-muted" }, dn = { class: "flex items-center gap-3" }, fn = { class: "text-xs font-mono w-8 text-right shrink-0" }, pn = { class: "flex flex-col gap-2" }, mn = { class: "sidebar-section-title flex items-center gap-1.5" }, hn = {
387
- key: 0,
388
- class: "text-xs text-muted"
389
- }, gn = {
390
- key: 2,
391
- class: "flex flex-col gap-2"
392
- }, _n = { class: "sidebar-section-title" }, vn = { class: "flex flex-col gap-2" }, yn = { class: "sidebar-section-title" }, bn = { class: "flex flex-col gap-2" }, xn = { class: "sidebar-section-title" }, Sn = { class: "relative rounded-md overflow-hidden" }, Cn = {
393
- key: 4,
394
- class: "sidebar-divider"
395
- }, wn = {
396
- key: 5,
397
- class: "flex flex-col gap-2"
398
- }, Tn = { class: "sidebar-section-title" }, En = { class: "flex items-center gap-3" }, Dn = { class: "text-xs font-mono w-8 text-right shrink-0" }, On = { class: "flex flex-col gap-2" }, kn = { class: "sidebar-section-title" }, An = { class: "flex flex-wrap gap-1" }, jn = { class: "flex flex-col gap-2" }, Mn = {
399
- key: 0,
400
- class: "flex flex-col gap-2"
401
- }, Nn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Pn = {
402
- key: 0,
403
- class: "flex flex-col gap-2 ml-6"
404
- }, Fn = { class: "filter-logic-divider" }, In = { class: "flex flex-col gap-2" }, Ln = {
405
- key: 0,
406
- class: "flex flex-col gap-2"
407
- }, Rn = { class: "filter-logic-divider" }, zn = { class: "flex flex-col gap-2" }, Bn = {
408
- key: 0,
409
- class: "flex flex-col gap-2"
410
- }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ R(/* @__PURE__ */ D({
411
- __name: "RecordingsFilterSidebar",
412
- props: {
413
- filters: {},
414
- cameras: {},
415
- isOpen: { type: Boolean },
416
- isOverlay: { type: Boolean },
417
- resultCount: {},
418
- resultTotal: {},
419
- resultCapped: { type: Boolean },
420
- semanticCount: {},
421
- semanticSearchAvailable: { type: Boolean },
422
- semanticSearchLoading: { type: Boolean },
423
- assistantSearchAvailable: { type: Boolean },
424
- assistantSearchLoading: { type: Boolean },
425
- assistantSearchNote: {}
426
- },
427
- emits: [
428
- "update:filters",
429
- "semantic-search",
430
- "assistant-search",
431
- "close"
432
- ],
433
- setup(n, { expose: o, emit: s }) {
434
- let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = ze(), { topbarOffset: w, bottombarHeight: E } = Se(), { icons: D, generic: j } = We(), ee = D, M = Xt, N = qt, P = x("sidebarRef"), F = O(h.filters.semanticQuery ?? ""), I = O(""), L = A({
435
- eventTypes: !0,
436
- attributes: !0,
437
- sensorEvents: !0
438
- }), R = m(() => h.isOpen ? Hn : 0), ne = m(() => {
439
- let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
440
- return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
441
- id: e,
442
- name: e === "Default" ? S("components.form.label.room_default") : e
443
- }));
444
- }), re = m(() => {
445
- let e = h.filters.rooms;
446
- return (e.length > 0 ? h.cameras.filter((t) => e.includes(t.room ?? "")) : h.cameras).map((e) => ({
447
- id: e.id,
448
- name: e.name
449
- }));
450
- }), ie = m(() => {
451
- if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
452
- }), z = m(() => h.filters.contentKind === "episodes"), ae = m(() => {
453
- let e = z.value ? "episodes" : "recordings";
454
- if (h.resultTotal === void 0) return S(`views.recordings.result_count_${e}`, { count: h.resultCount });
455
- let t = h.resultCapped ? `${h.resultTotal}+` : h.resultTotal;
456
- return S(`views.recordings.result_count_${e}_of`, {
457
- count: h.resultCount,
458
- total: t
459
- });
460
- }), oe = m(() => [
461
- {
462
- label: S("views.recordings.content_kind_all"),
463
- value: "all"
464
- },
465
- {
466
- label: S("views.recordings.content_kind_events"),
467
- value: "events"
468
- },
469
- {
470
- label: S("views.recordings.content_kind_episodes"),
471
- value: "episodes"
472
- }
473
- ]), B = m(() => [{
474
- label: S("views.recordings.filter_and"),
475
- value: "and"
476
- }, {
477
- label: S("views.recordings.filter_or"),
478
- value: "or"
479
- }]), ce = m(() => [
480
- {
481
- label: S("views.recordings.time_1h"),
482
- value: "1h"
483
- },
484
- {
485
- label: S("views.recordings.time_1d"),
486
- value: "1d"
487
- },
488
- {
489
- label: S("views.recordings.time_1w"),
490
- value: "1w"
491
- },
492
- {
493
- label: S("views.recordings.time_1m"),
494
- value: "1m"
495
- }
496
- ]), le = m(() => Ve.filter((e) => !l.has(e)).map((e) => ({
497
- label: S(`views.recordings.type_${e}`),
498
- value: e,
499
- icon: D[e] ?? j
500
- }))), V = m(() => ({
501
- label: S("views.recordings.type_other"),
502
- value: te,
503
- icon: D.other ?? j
504
- })), ue = m(() => _e.map((e) => ({
505
- label: S(et(e)),
506
- value: e,
507
- icon: ee[e] ?? j
508
- }))), de = m(() => Be.map((e) => ({
509
- label: S(q(e)),
510
- value: e,
511
- icon: D[e] ?? j
512
- }))), fe = m(() => He.map((e) => ({
513
- label: S(J(e)),
514
- value: e,
515
- icon: D[e] ?? j
516
- })));
517
- function H(e, t) {
518
- g("update:filters", {
519
- ...h.filters,
520
- [e]: t
521
- });
522
- }
523
- let pe = Pe((e) => {
524
- H("search", e);
525
- }, 300);
526
- function me(e) {
527
- let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
528
- g("update:filters", {
529
- ...h.filters,
530
- rooms: e,
531
- cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
532
- });
533
- }
534
- function he() {
535
- let e = I.value.trim();
536
- e && !h.assistantSearchLoading && g("assistant-search", e);
537
- }
538
- function ge() {
539
- let e = F.value.trim();
540
- H("semanticQuery", e), g("semantic-search", e);
541
- }
542
- function ye(e) {
543
- let t = [...h.filters.eventTypes], n = t.indexOf(e);
544
- n >= 0 ? t.splice(n, 1) : t.push(e), H("eventTypes", t);
545
- }
546
- function be(e) {
547
- let t = [...h.filters.audioLabels], n = t.indexOf(e);
548
- n >= 0 ? t.splice(n, 1) : t.push(e), H("audioLabels", t);
549
- }
550
- function Ce(e) {
551
- let t = [...h.filters.sensorEvents], n = t.indexOf(e);
552
- n >= 0 ? t.splice(n, 1) : t.push(e), H("sensorEvents", t);
553
- }
554
- function we(e) {
555
- let t = [...h.filters.hasAttributes], n = t.indexOf(e);
556
- n >= 0 ? t.splice(n, 1) : t.push(e), H("hasAttributes", t);
557
- }
558
- function Te(e) {
559
- L[e] = !L[e];
560
- }
561
- return _(F, (e) => {
562
- !e?.trim() && h.filters.semanticQuery && H("semanticQuery", "");
563
- }), Re(P, (e) => {
564
- let t = e.target;
565
- t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || h.isOpen && h.isOverlay && g("close");
566
- }), o({ sidebarWidth: R }), (o, s) => {
567
- let l = U, m = Ke, h = se, g = Ze, _ = Ge, x = xe, S = Ue, D = Xe, O = je, A = ve, j = G;
568
- return i(), v("nav", {
569
- ref_key: "sidebarRef",
570
- ref: P,
571
- class: "recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4",
572
- style: y({
573
- width: `${p(R)}px`,
574
- borderRightWidth: n.isOpen ? "1px" : "0px",
575
- paddingBottom: `calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${p(E)}px + ${p(w)}px)`
576
- })
577
- }, [C("div", {
578
- class: "flex flex-col gap-4 p-4",
579
- style: y({ width: `${Hn}px` })
580
- }, [
581
- C("div", Zt, [
582
- C("label", Qt, a(o.$t("views.recordings.content_kind")), 1),
583
- k(l, {
584
- "model-value": n.filters.contentKind,
585
- options: p(oe),
586
- "option-label": "label",
587
- "option-value": "value",
588
- "allow-empty": !1,
589
- class: "content-kind-toggle",
590
- "onUpdate:modelValue": s[0] ||= (e) => H("contentKind", e)
591
- }, null, 8, ["model-value", "options"]),
592
- p(z) ? (i(), v(b, { key: 0 }, [C("span", $t, a(p(ae)), 1), C("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)], 64)) : d("", !0)
593
- ]),
594
- s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
595
- p(z) ? d("", !0) : (i(), v(b, { key: 0 }, [
596
- C("div", tn, [
597
- C("label", nn, a(o.$t("views.recordings.search")), 1),
598
- C("span", rn, [k(m, {
599
- "model-value": n.filters.search,
600
- placeholder: o.$t("views.recordings.search_placeholder"),
601
- class: "w-full text-sm",
602
- "onUpdate:modelValue": s[1] ||= (e) => p(pe)(e)
603
- }, null, 8, ["model-value", "placeholder"])]),
604
- C("span", an, a(p(ae)), 1)
605
- ]),
606
- s[16] ||= C("div", { class: "sidebar-divider" }, null, -1),
607
- C("div", on, [
608
- C("label", sn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
609
- k(g, {
610
- modelValue: p(F),
611
- "onUpdate:modelValue": s[2] ||= (e) => f(F) ? F.value = e : null,
612
- placeholder: o.$t("views.recordings.semantic_search_placeholder"),
613
- class: "w-full text-sm semantic-textarea",
614
- rows: "3",
615
- disabled: !n.semanticSearchAvailable
616
- }, null, 8, [
617
- "modelValue",
618
- "placeholder",
619
- "disabled"
620
- ]),
621
- k(_, {
622
- label: o.$t("views.recordings.semantic_search_button"),
623
- severity: "secondary",
624
- outlined: "",
625
- size: "small",
626
- class: "w-full text-xs",
627
- loading: n.semanticSearchLoading,
628
- disabled: !n.semanticSearchAvailable || !p(F)?.trim(),
629
- onClick: ge
630
- }, null, 8, [
631
- "label",
632
- "loading",
633
- "disabled"
634
- ]),
635
- n.semanticCount == null ? d("", !0) : (i(), v("span", cn, [k(h, { class: "w-3 h-3" }), T(" " + a(o.$t("views.recordings.semantic_results", { count: n.semanticCount })), 1)])),
636
- n.filters.semanticQuery ? (i(), v("div", ln, [C("label", un, a(o.$t("views.recordings.min_match_score")), 1), C("div", dn, [k(x, {
637
- "model-value": n.filters.minSemanticScore,
638
- min: 0,
639
- max: 1,
640
- step: .05,
641
- class: "flex-1",
642
- "onUpdate:modelValue": s[3] ||= (e) => H("minSemanticScore", e)
643
- }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
644
- ]),
645
- s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
646
- ], 64)),
647
- n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", pn, [
648
- C("label", mn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
649
- k(m, {
650
- modelValue: p(I),
651
- "onUpdate:modelValue": s[4] ||= (e) => f(I) ? I.value = e : null,
652
- placeholder: o.$t("views.recordings.assistant_search_placeholder"),
653
- class: "w-full text-sm",
654
- disabled: n.assistantSearchLoading,
655
- onKeydown: t(e(he, ["prevent"]), ["enter"])
656
- }, null, 8, [
657
- "modelValue",
658
- "placeholder",
659
- "disabled",
660
- "onKeydown"
661
- ]),
662
- k(_, {
663
- label: o.$t("views.recordings.assistant_search_button"),
664
- severity: "secondary",
665
- outlined: "",
666
- size: "small",
667
- class: "w-full text-xs",
668
- loading: n.assistantSearchLoading,
669
- disabled: !p(I).trim(),
670
- onClick: he
671
- }, null, 8, [
672
- "label",
673
- "loading",
674
- "disabled"
675
- ]),
676
- n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
677
- ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
678
- p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(D, {
679
- "model-value": n.filters.rooms,
680
- options: p(ne),
681
- "option-label": "name",
682
- "option-value": "id",
683
- placeholder: o.$t("views.recordings.all_rooms"),
684
- class: "w-full text-sm",
685
- "max-selected-labels": 2,
686
- "show-toggle-all": !1,
687
- pt: { overlay: { style: "position: fixed" } },
688
- "onUpdate:modelValue": s[5] ||= (e) => me(e)
689
- }, null, 8, [
690
- "model-value",
691
- "options",
692
- "placeholder"
693
- ])])) : d("", !0),
694
- C("div", vn, [C("label", yn, a(o.$t("views.recordings.cameras")), 1), k(D, {
695
- "model-value": n.filters.cameraIds,
696
- options: p(re),
697
- "option-label": "name",
698
- "option-value": "id",
699
- placeholder: o.$t("views.recordings.all_cameras"),
700
- class: "w-full text-sm",
701
- "max-selected-labels": 2,
702
- "show-toggle-all": !1,
703
- pt: { overlay: { style: "position: fixed" } },
704
- "onUpdate:modelValue": s[6] ||= (e) => H("cameraIds", e)
705
- }, null, 8, [
706
- "model-value",
707
- "options",
708
- "placeholder"
709
- ])]),
710
- p(ie) && !p(z) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
711
- C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
712
- C("div", Sn, [k(O, {
713
- camera: p(ie),
714
- "object-fit": "cover"
715
- }, null, 8, ["camera"]), k(A, {
716
- "model-value": n.filters.gridRegions,
717
- "onUpdate:modelValue": s[7] ||= (e) => H("gridRegions", e)
718
- }, null, 8, ["model-value"])]),
719
- k(_, {
720
- label: o.$t("views.recordings.grid_clear"),
721
- severity: "secondary",
722
- outlined: "",
723
- size: "small",
724
- class: "w-full text-xs",
725
- disabled: n.filters.gridRegions.length === 0,
726
- onClick: s[8] ||= (e) => H("gridRegions", [])
727
- }, null, 8, ["label", "disabled"])
728
- ])], 64)) : d("", !0),
729
- p(z) ? d("", !0) : (i(), v("div", Cn)),
730
- p(z) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
731
- "model-value": n.filters.minConfidence,
732
- min: 0,
733
- max: 1,
734
- step: .05,
735
- class: "flex-1",
736
- "onUpdate:modelValue": s[9] ||= (e) => H("minConfidence", e)
737
- }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
738
- s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
739
- C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(ce), (e) => (i(), u(_, {
740
- key: e.value,
741
- label: e.label,
742
- severity: n.filters.timeRange === e.value ? void 0 : "secondary",
743
- outlined: n.filters.timeRange !== e.value,
744
- size: "small",
745
- class: "text-xs flex-1 min-w-0",
746
- onClick: (t) => H("timeRange", n.filters.timeRange === e.value ? null : e.value)
747
- }, null, 8, [
748
- "label",
749
- "severity",
750
- "outlined",
751
- "onClick"
752
- ]))), 128))])]),
753
- p(z) ? d("", !0) : (i(), v(b, { key: 6 }, [
754
- s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
755
- C("div", jn, [C("button", {
756
- class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
757
- onClick: s[10] ||= (e) => Te("sensorEvents")
758
- }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(L).sensorEvents ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
759
- k(j, {
760
- "model-value": n.filters.sensorEvents.includes(e.value),
761
- binary: !0,
762
- "onUpdate:modelValue": (t) => Ce(e.value)
763
- }, null, 8, ["model-value", "onUpdate:modelValue"]),
764
- (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
765
- C("span", null, a(e.label), 1)
766
- ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(de), (e) => (i(), v("label", {
767
- key: e.value,
768
- class: "flex items-center gap-2 cursor-pointer text-sm"
769
- }, [
770
- k(j, {
771
- "model-value": n.filters.audioLabels.includes(e.value),
772
- binary: !0,
773
- "onUpdate:modelValue": (t) => be(e.value)
774
- }, null, 8, ["model-value", "onUpdate:modelValue"]),
775
- (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
776
- C("span", null, a(e.label), 1)
777
- ]))), 128))])) : d("", !0)], 64))), 128))])) : d("", !0)]),
778
- C("div", Fn, [
779
- s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
780
- k(l, {
781
- "model-value": n.filters.filterLogicTriggers,
782
- options: p(B),
783
- "option-label": "label",
784
- "option-value": "value",
785
- "allow-empty": !1,
786
- class: "filter-logic-toggle",
787
- "onUpdate:modelValue": s[11] ||= (e) => H("filterLogicTriggers", e)
788
- }, null, 8, ["model-value", "options"]),
789
- s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
790
- ]),
791
- C("div", In, [C("button", {
792
- class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
793
- onClick: s[12] ||= (e) => Te("eventTypes")
794
- }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(L).eventTypes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
795
- key: e.value,
796
- class: "flex items-center gap-2 cursor-pointer text-sm"
797
- }, [
798
- k(j, {
799
- "model-value": n.filters.eventTypes.includes(e.value),
800
- binary: !0,
801
- "onUpdate:modelValue": (t) => ye(e.value)
802
- }, null, 8, ["model-value", "onUpdate:modelValue"]),
803
- (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
804
- C("span", null, a(e.label), 1)
805
- ]))), 128))])) : d("", !0)]),
806
- C("div", Rn, [
807
- s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
808
- k(l, {
809
- "model-value": n.filters.filterLogicAttributes,
810
- options: p(B),
811
- "option-label": "label",
812
- "option-value": "value",
813
- "allow-empty": !1,
814
- class: "filter-logic-toggle",
815
- "onUpdate:modelValue": s[13] ||= (e) => H("filterLogicAttributes", e)
816
- }, null, 8, ["model-value", "options"]),
817
- s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
818
- ]),
819
- C("div", zn, [C("button", {
820
- class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
821
- onClick: s[14] ||= (e) => Te("attributes")
822
- }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(L).attributes ? p(M) : p(N)), { class: "w-4 h-4 text-muted" }))]), p(L).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(fe), (e) => (i(), v("label", {
823
- key: e.value,
824
- class: "flex items-center gap-2 cursor-pointer text-sm"
825
- }, [
826
- k(j, {
827
- "model-value": n.filters.hasAttributes.includes(e.value),
828
- binary: !0,
829
- "onUpdate:modelValue": (t) => we(e.value)
830
- }, null, 8, ["model-value", "onUpdate:modelValue"]),
831
- (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
832
- C("span", null, a(e.label), 1)
833
- ]))), 128)), C("label", Vn, [
834
- k(j, {
835
- "model-value": n.filters.eventTypes.includes(p(V).value),
836
- binary: !0,
837
- "onUpdate:modelValue": s[15] ||= (e) => ye(p(V).value)
838
- }, null, 8, ["model-value"]),
839
- (i(), u(c(p(V).icon), { class: "w-4 h-4 text-muted" })),
840
- C("span", null, a(p(V).label), 1)
841
- ])])) : d("", !0)])
842
- ], 64))
843
- ], 4)], 4);
844
- };
845
- }
846
- }), [["__scopeId", "data-v-f2bbf9b7"]]), Wn = { class: "font-semibold text-xl truncate" }, Gn = { class: "w-full h-full relative" }, Kn = {
847
- key: 0,
848
- class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
849
- }, qn = { class: "relative z-2 page-title !m-0" }, Jn = {
850
- key: 1,
851
- class: "fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center"
852
- }, Yn = {
853
- key: 2,
854
- class: "flex justify-center py-4"
855
- }, Xn = {
856
- key: 3,
857
- class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
858
- }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
859
- __name: "Recordings",
860
- setup(e) {
861
- let t = new $e(), n = new z(), r = new Ae(), c = be(), l = ge(), { bottombarHeight: f } = Se(), { status: S, checking: T } = Ne(), { openEventTrace: D } = Te(), A = H("@camera.ui/camera-ui-nvr"), M = le(), { t: N, locale: te } = ze(), { smBreakpoint: R, xlBreakpoint: U, mdBreakpoint: me } = P(), { registerScrollToTop: _e } = ie();
862
- if (typeof VideoDecoder < "u") {
863
- let e = De({ cacheSize: 20 });
864
- o(de, e), Fe(() => e.dispose());
865
- }
866
- let { results: ve, isSearching: xe, isAvailable: ke, hasSearched: je, search: Pe, clear: Ie } = ae(), { data: Re } = t.getAssistantStatusQuery(), { data: Be } = n.getCamerasQuery({
867
- page: 1,
868
- pageSize: -1
869
- }), { data: Ve } = r.getUserQuery(m(() => l.user?.username ?? "")), He = Array.from({ length: 24 }, (e, t) => t), Ue = {
870
- contentKind: "all",
871
- favoritesOnly: !1,
872
- search: "",
873
- semanticQuery: "",
874
- filterLogicTriggers: "or",
875
- filterLogicAttributes: "or",
876
- rooms: [],
877
- cameraIds: [],
878
- timeRange: null,
879
- customDateRange: null,
880
- eventTypes: [],
881
- audioLabels: [],
882
- hasAttributes: [],
883
- sensorEvents: [],
884
- gridRegions: [],
885
- minConfidence: .5,
886
- minSemanticScore: .5,
887
- onlyWithRecordings: !0
888
- }, We = {
889
- "1h": 36e5,
890
- "1d": 864e5,
891
- "1w": 6048e5,
892
- "1m": 2592e6
893
- }, W = x("gridRef"), Ke = x("viewMenuRef"), G = O("closed"), qe = O(!1), K = O({ ...Ue }), Ye = O(!1), Xe = O(""), Ze = E({
894
- hasDetections: !0,
895
- withRecordingInfo: !0,
896
- hasRecording: !0
897
- }), et = JSON.stringify(Ze.value), q = O(), J = O(!1), ut = E([]), dt = O(null), ft = x("reindexAnchorRef"), { left: pt } = Le(ft), mt = !1, Y = m(() => U.value ? !0 : G.value === "opened"), gt = m(() => me.value), _t = Ce(() => W.value?.scrollY ?? 0), vt = m(() => Y.value && gt.value ? !0 : _t.value && !S.value?.running), yt = m(() => me.value ? "0px" : Y.value ? `${Qn}px` : "0px"), X = m(() => (Be.value?.result ?? []).map((e) => ({
898
- id: e._id,
899
- name: e.name,
900
- room: e.room
901
- }))), bt = m(() => {
902
- let e = /* @__PURE__ */ new Map();
903
- for (let t of X.value) e.set(t.id, t.name);
904
- return e;
905
- }), xt = m(() => {
906
- let e = /* @__PURE__ */ new Map();
907
- for (let t of Be.value?.result ?? []) e.set(t._id, t);
908
- return e;
909
- }), St = m(() => {
910
- let e = K.value.rooms;
911
- return (e.length > 0 ? X.value.filter((t) => e.includes(t.room ?? "")) : X.value).map((e) => e.id);
912
- }), Ct = m(() => K.value.cameraIds.filter((e) => St.value.includes(e))), wt = m(() => St.value);
913
- _e(() => W.value?.scrollToTop());
914
- let { events: Tt, isLoading: Et, hasMore: Dt, stats: Ot, loadMore: kt, loadThumbnails: At, deleteEvents: jt, reset: Mt, loadFailed: Nt, pluginUnavailable: Pt } = re({
915
- availableCameraIds: wt,
916
- cameraIds: Ct,
917
- realtime: !0,
918
- pageSize: 40,
919
- filter: Ze,
920
- withEpisodes: !0,
921
- withStats: !0
922
- }), Z = m(() => {
923
- let e = /* @__PURE__ */ new Map();
924
- for (let t of ve.value ?? []) {
925
- let n = e.get(t.eventId);
926
- (!n || t.score > n) && e.set(t.eventId, t.score);
927
- }
928
- return e;
929
- }), Q = m(() => je.value), Ft = m(() => Pt.value ? N("views.recordings.recordings_unavailable") : Nt.value ? N("views.recordings.load_failed") : N("views.recordings.no_recordings")), $ = m(() => {
930
- let e = Tt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = K.value;
931
- if (q.value !== void 0) {
932
- let t = q.value;
933
- e = e.filter((e) => e.startTime >= t);
934
- }
935
- return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && at(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Q.value && (e = e.filter((e) => {
936
- let n = Z.value.get(e.id);
937
- return n != null && n >= t.minSemanticScore;
938
- }), e.sort((e, t) => (Z.value.get(t.id) ?? 0) - (Z.value.get(e.id) ?? 0))), e;
939
- }), It = m(() => K.value.contentKind === "episodes"), Lt = m(() => {
940
- let e = K.value;
941
- return e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5;
942
- }), Rt = m(() => Re.value?.state === "ready"), zt = m(() => {
943
- if (K.value.contentKind === "events") return [];
944
- A.storeVersion.value;
945
- let e = K.value;
946
- if (!It.value && (Q.value || e.gridRegions.length > 0 || Lt.value)) return [];
947
- let t = Ct.value.length > 0 ? Ct.value : wt.value, n = q.value ?? 0, r = Infinity;
948
- if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Dt.value && !It.value) {
949
- let e = Infinity;
950
- for (let t of Tt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
951
- n = Math.max(n, e);
952
- }
953
- let i = [];
954
- for (let a of A.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({
955
- event: void 0,
956
- key: `episode:${a.id}`,
957
- episode: a
958
- }));
959
- return i;
960
- }), Bt = m(() => {
961
- if (It.value) return [...zt.value].sort(nt);
962
- let e = J.value && ut.value.length ? [...ut.value] : $.value.map((e) => ({
963
- event: e,
964
- key: e.id
965
- }));
966
- return zt.value.length && (e.push(...zt.value), e.sort(nt)), e;
967
- }), Vt = m(() => {
968
- let e = Ot.value, t = K.value;
969
- if (!e || !Dt.value || Q.value || t.gridRegions.length > 0 || t.timeRange && q.value === void 0) return;
970
- if (It.value) return e.episodes;
971
- let n = J.value ? e.segments : e.total;
972
- if (n !== void 0) return n + (t.contentKind !== "events" && !Lt.value ? e.episodes : 0);
973
- }), Ht = m(() => ye(void 0, "admin")), Ut = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Gt, selectedIds: Kt, allSelected: qt, bulkBusy: Jt, enterSelectionMode: Yt, exitSelectionMode: Xt, toggleSelectAll: Zt, toggleSelection: Qt } = ce(Ut, (e) => e.id);
974
- function $t() {
975
- let e = [...Kt.value];
976
- e.length && !Jt.value && c.openTextDialog({
977
- data: {
978
- title: N("components.dialog.title.confirm"),
979
- contentText: N("views.recordings.delete_selected_confirm", { count: e.length }),
980
- confirmText: N("components.form.button.remove"),
981
- confirmButtonProps: { severity: "danger" }
982
- },
983
- onConfirm: async () => {
984
- Jt.value = !0;
985
- try {
986
- await jt(e), Xt(), M.add({
987
- severity: "success",
988
- detail: N("views.recordings.delete_selected_done", { count: e.length }),
989
- life: 5e3
990
- });
991
- } catch (e) {
992
- M.add({
993
- severity: "error",
994
- detail: e?.message ?? String(e),
995
- life: 5e3
996
- });
997
- } finally {
998
- Jt.value = !1;
999
- }
1000
- }
1001
- });
1002
- }
1003
- let en = m(() => [
1004
- {
1005
- key: "ungroup",
1006
- label: N("views.recordings.ungroup"),
1007
- description: N("views.recordings.ungroup_hint"),
1008
- toggle: !0,
1009
- toggleState: J.value,
1010
- onClick: () => {
1011
- mt = !0, J.value = !J.value, l.updateUser({ preferences: { recordings: { ungrouped: J.value } } });
1012
- }
1013
- },
1014
- {
1015
- key: "onlyWithRecordings",
1016
- label: N("views.recordings.only_with_recordings"),
1017
- description: N("views.recordings.only_with_recordings_hint"),
1018
- toggle: !0,
1019
- toggleState: K.value.onlyWithRecordings,
1020
- onClick: () => {
1021
- K.value = {
1022
- ...K.value,
1023
- onlyWithRecordings: !K.value.onlyWithRecordings
1024
- };
1025
- }
1026
- },
1027
- ...Ht.value ? [{
1028
- key: "favoritesOnly",
1029
- label: N("views.recordings.favorites_only"),
1030
- description: N("views.recordings.favorites_hint"),
1031
- toggle: !0,
1032
- toggleState: K.value.favoritesOnly,
1033
- onClick: () => {
1034
- K.value = {
1035
- ...K.value,
1036
- favoritesOnly: !K.value.favoritesOnly
1037
- };
1038
- }
1039
- }] : []
1040
- ]);
1041
- function tn() {
1042
- c.openComponentDialog(ht, { data: {
1043
- title: N("views.recordings.reindex.title"),
1044
- contentProps: {},
1045
- confirmText: N("views.recordings.reindex.start")
1046
- } });
1047
- }
1048
- function nn() {
1049
- c.openComponentDialog(Wt, { data: {
1050
- title: N("views.recordings.export.title"),
1051
- contentProps: {
1052
- cameras: X.value,
1053
- preselect: K.value.cameraIds?.length ? K.value.cameraIds : []
1054
- },
1055
- confirmText: N("views.recordings.export.confirm")
1056
- } });
1057
- }
1058
- function rn() {
1059
- let e = G.value;
1060
- G.value = e === "opened" ? "closed" : "opened";
1061
- }
1062
- function an() {
1063
- G.value = "closed";
1064
- }
1065
- function on(e) {
1066
- !e.semanticQuery?.trim() && K.value.semanticQuery?.trim() && Ie(), K.value = e;
1067
- }
1068
- async function sn(e) {
1069
- Ye.value = !0, Xe.value = "";
1070
- try {
1071
- let t = await Qe(e, te.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1072
- on({
1073
- ...Ue,
1074
- ...t.filters,
1075
- favoritesOnly: Ht.value && t.filters.favoritesOnly
1076
- }), cn(t.filters.semanticQuery), Xe.value = t.note;
1077
- } catch (e) {
1078
- M.add({
1079
- severity: "error",
1080
- detail: e?.response?.data?.message ?? N("views.recordings.assistant_search_failed"),
1081
- life: 5e3
1082
- });
1083
- } finally {
1084
- Ye.value = !1;
1085
- }
1086
- }
1087
- function cn(e) {
1088
- if (!e.trim()) {
1089
- Ie();
1090
- return;
1091
- }
1092
- Pe(e);
1093
- }
1094
- function ln(e, t) {
1095
- let n = xt.value.get(e.cameraId);
1096
- n && D(e, n, t);
1097
- }
1098
- function un(e, t) {
1099
- let n = xt.value.get(e.cameraId);
1100
- n && c.openComponentDialog(pe, {
1101
- data: {
1102
- title: n.name,
1103
- dedupeKey: `camera-event:${n._id}:${t}`,
1104
- stayActive: !0,
1105
- hideCancelButton: !0,
1106
- hideConfirmButton: !0,
1107
- contentProps: {
1108
- camera: n,
1109
- eventTimestamp: t
1110
- },
1111
- headerActions: e.segments?.some((e) => e?.description) ? [{
1112
- icon: se,
1113
- toggle: !0,
1114
- onClick: () => {}
1115
- }] : void 0,
1116
- draggable: !0,
1117
- blockDragOnSelectors: [".p-dialog-body"],
1118
- dismissableMask: !1,
1119
- modal: !1,
1120
- dialogContentClass: "!px-0 h-full",
1121
- goTo: `/cameras/${n.name}?startTs=${t}`
1122
- },
1123
- dialogSize: { desktop: {
1124
- maxWidth: "800px",
1125
- maxHeight: "calc(100vh - max(1rem, var(--safe-area-inset-top)) - max(1rem, var(--safe-area-inset-bottom)))",
1126
- width: "50vw"
1127
- } }
1128
- });
1129
- }
1130
- return _(U, (e) => {
1131
- e && (G.value = "closed");
1132
- }), _(() => K.value.timeRange, (e) => {
1133
- q.value = e && We[e] ? Date.now() - We[e] : void 0;
1134
- }, { immediate: !0 }), _(K, (e) => {
1135
- let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
1136
- types: e.eventTypes.length > 0 ? e.eventTypes : void 0,
1137
- triggers: e.sensorEvents.length > 0 ? e.sensorEvents : void 0,
1138
- triggerLabels: e.audioLabels.length > 0 ? e.audioLabels : void 0,
1139
- attributes: e.hasAttributes.length > 0 ? e.hasAttributes : void 0,
1140
- filterLogicTriggers: t ? e.filterLogicTriggers : void 0,
1141
- filterLogicAttributes: t ? e.filterLogicAttributes : void 0,
1142
- search: e.search || void 0,
1143
- minConfidence: e.minConfidence > 0 ? e.minConfidence : void 0,
1144
- hasDetections: !t,
1145
- withRecordingInfo: !0,
1146
- hasRecording: e.onlyWithRecordings || void 0,
1147
- favoritesOnly: e.favoritesOnly || void 0,
1148
- startedSinceMs: q.value
1149
- }, r = JSON.stringify(n);
1150
- r !== et && (et = r, Ze.value = n);
1151
- }, {
1152
- deep: !0,
1153
- immediate: !0
1154
- }), _(Ve, (e) => {
1155
- if (!e || mt) return;
1156
- let t = e.preferences?.recordings?.ungrouped;
1157
- t !== void 0 && (J.value = t);
1158
- }, { immediate: !0 }), _([
1159
- J,
1160
- $,
1161
- Q
1162
- ], ([e, t, n]) => {
1163
- ut.value = e ? it(t, n) : [];
1164
- }), _(() => K.value.cameraIds, (e) => {
1165
- e.length !== 1 && K.value.gridRegions.length > 0 && (K.value = {
1166
- ...K.value,
1167
- gridRegions: []
1168
- });
1169
- }), j(() => {
1170
- requestAnimationFrame(() => {
1171
- qe.value = !0;
1172
- });
1173
- }), (e, t) => {
1174
- let n = Ee, r = ne, o = ue, c = Ge, l = ot, m = lt, _ = ct, x = fe, E = tt, D = rt, O = Oe, A = he, j = oe, M = L, N = B, P = ee;
1175
- return i(), v("div", null, [
1176
- k(n, { position: "center" }, {
1177
- default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
1178
- _: 1
1179
- }),
1180
- k(n, { position: "left" }, {
1181
- default: h(() => [k(c, {
1182
- id: "recordings-sidebar-toggle",
1183
- severity: "secondary",
1184
- class: "cui-button p-2 text-color",
1185
- text: "",
1186
- rounded: "",
1187
- onClick: rn
1188
- }, {
1189
- icon: h(() => [p(G) === "closed" ? (i(), u(r, {
1190
- key: 0,
1191
- width: "100%",
1192
- height: "100%"
1193
- })) : (i(), u(o, {
1194
- key: 1,
1195
- width: "100%",
1196
- height: "100%"
1197
- }))]),
1198
- _: 1
1199
- })]),
1200
- _: 1
1201
- }),
1202
- k(n, { position: "right" }, {
1203
- default: h(() => [k(c, {
1204
- severity: "secondary",
1205
- class: "cui-button p-2 text-color",
1206
- text: "",
1207
- rounded: "",
1208
- onClick: t[0] ||= (e) => p(Ke)?.toggleMenu(e)
1209
- }, {
1210
- icon: h(() => [k(l, {
1211
- width: "100%",
1212
- height: "100%"
1213
- })]),
1214
- _: 1
1215
- })]),
1216
- _: 1
1217
- }),
1218
- k(Un, {
1219
- filters: p(K),
1220
- cameras: p(X),
1221
- "is-open": p(Y),
1222
- "is-overlay": p(gt),
1223
- "result-count": p(Bt).length,
1224
- "result-total": p(Vt),
1225
- "result-capped": p(Ot)?.capped,
1226
- "semantic-count": p(Q) ? p(Z).size : void 0,
1227
- "semantic-search-available": p(ke),
1228
- "semantic-search-loading": p(xe),
1229
- "assistant-search-available": p(Rt),
1230
- "assistant-search-loading": p(Ye),
1231
- "assistant-search-note": p(Xe),
1232
- "onUpdate:filters": on,
1233
- onSemanticSearch: cn,
1234
- onAssistantSearch: sn,
1235
- onClose: an
1236
- }, null, 8, [
1237
- "filters",
1238
- "cameras",
1239
- "is-open",
1240
- "is-overlay",
1241
- "result-count",
1242
- "result-total",
1243
- "result-capped",
1244
- "semantic-count",
1245
- "semantic-search-available",
1246
- "semantic-search-loading",
1247
- "assistant-search-available",
1248
- "assistant-search-loading",
1249
- "assistant-search-note"
1250
- ]),
1251
- (i(), u(g, {
1252
- to: "#container",
1253
- defer: ""
1254
- }, [p(Y) && p(gt) ? (i(), v("div", {
1255
- key: 0,
1256
- class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1257
- onClick: an
1258
- })) : d("", !0)])),
1259
- C("main", {
1260
- ref_key: "reindexAnchorRef",
1261
- ref: ft,
1262
- class: "relative w-full h-full",
1263
- style: y({
1264
- paddingLeft: p(yt),
1265
- transition: p(qe) ? "padding-left 200ms" : void 0
1266
- })
1267
- }, [C("div", Gn, [
1268
- p(R) ? d("", !0) : (i(), v("div", Kn, [
1269
- t[3] ||= C("div", { class: "ml-2" }, null, -1),
1270
- p(U) ? d("", !0) : (i(), u(c, {
1271
- key: 0,
1272
- id: "recordings-sidebar-toggle",
1273
- severity: "secondary",
1274
- class: "mr-2 cui-icon-lg relative z-2",
1275
- text: "",
1276
- rounded: "",
1277
- onClick: rn
1278
- }, {
1279
- icon: h(() => [p(Y) ? (i(), u(m, {
1280
- key: 0,
1281
- width: "100%",
1282
- height: "100%"
1283
- })) : (i(), u(_, {
1284
- key: 1,
1285
- width: "100%",
1286
- height: "100%"
1287
- }))]),
1288
- _: 1
1289
- })),
1290
- C("h1", qn, a(e.$t("views.recordings.title")), 1),
1291
- t[4] ||= C("div", { class: "gradient-blur rotate-180 !h-[70px]" }, [
1292
- C("div"),
1293
- C("div"),
1294
- C("div"),
1295
- C("div"),
1296
- C("div"),
1297
- C("div")
1298
- ], -1)
1299
- ])),
1300
- p(R) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1301
- severity: "secondary",
1302
- text: "",
1303
- rounded: "",
1304
- class: "cui-icon-lg relative z-2",
1305
- onClick: t[1] ||= (e) => p(Ke)?.toggleMenu(e)
1306
- }, {
1307
- icon: h(() => [k(l, {
1308
- width: "100%",
1309
- height: "100%"
1310
- })]),
1311
- _: 1
1312
- })), [[
1313
- P,
1314
- { value: e.$t("views.recordings.view_options") },
1315
- void 0,
1316
- { bottom: !0 }
1317
- ]])])),
1318
- C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1319
- "pt-4": p(R),
1320
- "pt-[calc(40px+2rem)]": !p(R)
1321
- }]) }, [
1322
- p(Bt).length ? (i(), u(D, {
1323
- key: 0,
1324
- ref_key: "gridRef",
1325
- ref: W,
1326
- items: p(Bt),
1327
- "min-item-width": p(R) ? 160 : 180,
1328
- gap: 8,
1329
- "has-more": p(Dt),
1330
- "load-more": p(kt),
1331
- "item-key": (e) => e.key,
1332
- class: "flex-1 min-h-0"
1333
- }, {
1334
- item: h(({ item: e }) => [e.episode ? (i(), u(x, {
1335
- key: 0,
1336
- episode: e.episode,
1337
- "camera-by-id": p(xt),
1338
- fluid: "",
1339
- "click-disabled": p(Gt)
1340
- }, null, 8, [
1341
- "episode",
1342
- "camera-by-id",
1343
- "click-disabled"
1344
- ])) : (i(), u(E, {
1345
- key: 1,
1346
- event: e.event,
1347
- "camera-name": p(bt).get(e.event.cameraId),
1348
- camera: p(xt).get(e.event.cameraId),
1349
- "load-thumbnails": p(At),
1350
- "semantic-score": p(Z).get(e.event.id),
1351
- "seg-index": e.segIndex,
1352
- "selection-mode": p(Gt) && e.event.state === "ended",
1353
- selected: p(Kt).has(e.event.id),
1354
- "sibling-active": e.segIndex !== void 0 && p(dt) === e.event.id,
1355
- onSelect: (t) => p(Qt)(e.event.id),
1356
- onScrollToEvent: (t) => un(e.event, t),
1357
- onOpenTrace: (t) => ln(e.event, t),
1358
- onMouseenter: (t) => dt.value = e.segIndex === void 0 ? null : e.event.id,
1359
- onMouseleave: t[2] ||= (e) => dt.value = null
1360
- }, null, 8, [
1361
- "event",
1362
- "camera-name",
1363
- "camera",
1364
- "load-thumbnails",
1365
- "semantic-score",
1366
- "seg-index",
1367
- "selection-mode",
1368
- "selected",
1369
- "sibling-active",
1370
- "onSelect",
1371
- "onScrollToEvent",
1372
- "onOpenTrace",
1373
- "onMouseenter"
1374
- ]))]),
1375
- _: 1
1376
- }, 8, [
1377
- "items",
1378
- "min-item-width",
1379
- "has-more",
1380
- "load-more",
1381
- "item-key"
1382
- ])) : p(Et) ? (i(), u(D, {
1383
- key: 1,
1384
- items: p(He),
1385
- "min-item-width": p(R) ? 160 : 180,
1386
- gap: 8,
1387
- "item-key": (e) => e,
1388
- class: "flex-1 min-h-0 pointer-events-none"
1389
- }, {
1390
- item: h(() => [k(O, {
1391
- width: "100%",
1392
- height: "100%",
1393
- class: "rounded-xl"
1394
- })]),
1395
- _: 1
1396
- }, 8, [
1397
- "items",
1398
- "min-item-width",
1399
- "item-key"
1400
- ])) : d("", !0),
1401
- p(Et) && p(Bt).length || p(xe) ? (i(), v("div", Yn, [k(A, {
1402
- width: "24px",
1403
- height: "24px",
1404
- class: "text-muted"
1405
- })])) : d("", !0),
1406
- !p($).length && !p(Et) && !p(xe) ? (i(), v("div", Xn, [
1407
- k(j, { class: "w-12 h-12 text-muted" }),
1408
- C("span", Zn, a(p(Ft)), 1),
1409
- p(Nt) && !p(Pt) ? (i(), u(c, {
1410
- key: 0,
1411
- severity: "secondary",
1412
- class: "cui-button-small",
1413
- label: e.$t("views.recordings.load_failed_retry"),
1414
- onClick: p(Mt)
1415
- }, null, 8, ["label", "onClick"])) : d("", !0)
1416
- ])) : d("", !0)
1417
- ], 2)
1418
- ])], 4),
1419
- p(Ht) && p(X).length ? (i(), v("div", {
1420
- key: 0,
1421
- class: s(["fixed z-10", p(vt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1422
- style: y({
1423
- left: `calc(${p(pt)}px + ${p(yt)} + 0.75rem + var(--safe-area-inset-left))`,
1424
- bottom: `calc(${p(f)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1425
- transition: p(qe) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1426
- })
1427
- }, [k(c, {
1428
- severity: "secondary",
1429
- rounded: "",
1430
- class: "shadow-lg",
1431
- disabled: p(S)?.running,
1432
- label: p(T) ? e.$t("views.recordings.reindex.checking") : p(S)?.running ? e.$t("views.recordings.reindex.progress", {
1433
- done: p(S).done,
1434
- total: p(S).total
1435
- }) : e.$t("views.recordings.reindex.button"),
1436
- onClick: tn
1437
- }, {
1438
- icon: h(() => [p(S)?.running ? (i(), u(p(he), { key: 0 })) : (i(), u(p(st), { key: 1 }))]),
1439
- _: 1
1440
- }, 8, ["disabled", "label"])], 6)) : d("", !0),
1441
- p(X).length ? (i(), u(N, {
1442
- key: 1,
1443
- "force-visible": p(Gt),
1444
- "scroll-y": p(W)?.scrollY ?? 0
1445
- }, {
1446
- default: h(() => [p(Gt) ? (i(), v(b, { key: 1 }, [
1447
- k(M, {
1448
- grouped: "",
1449
- "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
1450
- "button-props": { severity: "secondary" },
1451
- icon: p(Je),
1452
- "icon-props": {
1453
- width: "100%",
1454
- height: "100%"
1455
- },
1456
- onClick: p(Xt)
1457
- }, null, 8, [
1458
- "tooltip-props",
1459
- "icon",
1460
- "onClick"
1461
- ]),
1462
- k(M, {
1463
- grouped: "",
1464
- "tooltip-props": { value: p(qt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1465
- "button-props": { severity: p(qt) ? "primary" : "secondary" },
1466
- icon: p(V),
1467
- "icon-props": {
1468
- width: "100%",
1469
- height: "100%"
1470
- },
1471
- onClick: p(Zt)
1472
- }, null, 8, [
1473
- "tooltip-props",
1474
- "button-props",
1475
- "icon",
1476
- "onClick"
1477
- ]),
1478
- k(M, {
1479
- grouped: "",
1480
- "tooltip-props": { value: e.$t("components.form.tooltip.delete_selected") },
1481
- "button-props": {
1482
- severity: "danger",
1483
- disabled: !p(Kt).size || p(Jt)
1484
- },
1485
- icon: p(F),
1486
- "icon-props": {
1487
- width: "100%",
1488
- height: "100%"
1489
- },
1490
- onClick: $t
1491
- }, null, 8, [
1492
- "tooltip-props",
1493
- "button-props",
1494
- "icon"
1495
- ])
1496
- ], 64)) : (i(), v(b, { key: 0 }, [p(Ht) && p($).length ? (i(), u(M, {
1497
- key: 0,
1498
- grouped: "",
1499
- "tooltip-props": { value: e.$t("views.recordings.select") },
1500
- "button-props": { severity: "secondary" },
1501
- icon: p(Me),
1502
- "icon-props": {
1503
- width: "100%",
1504
- height: "100%"
1505
- },
1506
- onClick: p(Yt)
1507
- }, null, 8, [
1508
- "tooltip-props",
1509
- "icon",
1510
- "onClick"
1511
- ])) : d("", !0), k(M, {
1512
- grouped: "",
1513
- "tooltip-props": { value: e.$t("views.recordings.export.title") },
1514
- "button-props": { class: "text-white" },
1515
- icon: p(we),
1516
- "icon-props": {
1517
- width: "26px",
1518
- height: "26px"
1519
- },
1520
- onClick: nn
1521
- }, null, 8, ["tooltip-props", "icon"])], 64))]),
1522
- _: 1
1523
- }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1524
- k(I, {
1525
- ref_key: "viewMenuRef",
1526
- ref: Ke,
1527
- items: p(en),
1528
- "auto-hide": !1,
1529
- popover: { pt: {
1530
- root: { class: "w-[22rem]" },
1531
- content: { class: "p-0! rounded-xl! overflow-hidden!" }
1532
- } }
1533
- }, null, 8, ["items"])
1534
- ]);
1535
- };
1536
- }
1537
- });
1538
- //#endregion
1539
- export { $n as default };