@camera.ui/server 2.1.16 → 2.1.17

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 (345) hide show
  1. package/dist/interface/assets/{404-CqZDSHs_.js → 404-Cg1J2LX8.js} +1 -1
  2. package/dist/interface/assets/{About-Dk4SUTxo.js → About-CW7G6onF.js} +1 -1
  3. package/dist/interface/assets/Automation-CIwBJK1Y.js +3 -0
  4. package/dist/interface/assets/{AutomationImport-DDywNuRK.js → AutomationImport-CHkNv7C-.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-o0JYwGRr.js → AutomationStore-5bTym-Gl.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-DeAGahaF.js → AutomationStoreDetail-BF8UoG_l.js} +2 -2
  7. package/dist/interface/assets/Automations-CaX2fHhJ.js +2 -0
  8. package/dist/interface/assets/Camera-1zdmJnP-.js +2 -0
  9. package/dist/interface/assets/Camera-DSyI4J5-.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-32WtMX1a.js → CameraConsole-CB1HEFKJ.js} +2 -2
  11. package/dist/interface/assets/{Cameras-zffI0fD9.js → Cameras-CyCY0rW9.js} +2 -2
  12. package/dist/interface/assets/Camview-Dia7G1u_.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-Dg0V9Hei.js → CertificateUpload-jP-JIxmY.js} +1 -1
  14. package/dist/interface/assets/{Config-CKrqFe-g.js → Config-DOa7WHyQ.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-sbvBJQr3.js → ConfigActionCameraControl-BmCE3XLC.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-CiPxydTn.js → ConfigActionDelay-CfHCZ0uf.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-UqiZm0kq.js → ConfigActionHttp-DdM7gEb0.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-DkGVZ-ti.js → ConfigActionImageInput-CrPPNT4K.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-DQu5H4bY.js → ConfigActionMqtt-D7-u4zri.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotification-BSuUI2FP.js +1 -0
  21. package/dist/interface/assets/{ConfigActionNotificationControl-B_EpM5m9.js → ConfigActionNotificationControl-DfvAxKnx.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-DeOsk0T1.js → ConfigActionOutput-DPplSpm_.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-CSZHcNQ6.js → ConfigActionPlugin-BnRn_p26.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-Dx7DcDVr.js → ConfigActionSensor-CoEoqFAY.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-Baj-r4Cd.js → ConfigActionSnapshot-wXdFiyU-.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Ccu___aS.js → ConfigActionVariable-BqJvOOHH.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-0hU7UW8q.js → ConfigConditionIfElse-DG2Kgqn5.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-BX19KYLJ.js → ConfigConditionSensorState-BytECo6r.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-D-XUhwcE.js → ConfigConditionSwitch-DaSt9uZE.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-B6OO8cmh.js → ConfigConditionTime-D42OsshU.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-DZHYQez8.js → ConfigSensorValueInput-BtEmtZSm.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerDetection-BNyR5aOG.js → ConfigTriggerDetection-CDH2fzsu.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-Dopegic5.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-DFSTAuUt.js → ConfigTriggerManual-DAtWfH0-.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-D_O8RyrQ.js → ConfigTriggerMqtt-CB3_PxqD.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-BFZnBfCM.js → ConfigTriggerSchedule-BUzOrF23.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-D1Tst2wQ.js → ConfigTriggerSensor-D5kRIb7I.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-BNfatCp8.js → ConfigTriggerSystem-Cud77VMR.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook--nEO_Odl.js → ConfigTriggerWebhook-CeG5R3kV.js} +1 -1
  40. package/dist/interface/assets/Console-DdOD6Pd5.js +1 -0
  41. package/dist/interface/assets/{CuiAutomationRunsDialog-CkMRT1C8.js → CuiAutomationRunsDialog-Cym6xMVJ.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-B3QSHp4-.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-mKu68LHd.js → CuiBottomSheet-BSoMhymR.js} +1 -1
  44. package/dist/interface/assets/{CuiCameraPipCard-Djp8qBvZ.js → CuiCameraPipCard-DGgrxZJd.js} +1 -1
  45. package/dist/interface/assets/CuiCameraRecordings-Bu68AFdM.js +1 -0
  46. package/dist/interface/assets/{CuiCameraShares-B73pWIFh.js → CuiCameraShares-BOhfTcxQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-C1CHYnda.js +1 -0
  48. package/dist/interface/assets/{CuiCameraTable-DripFD6D.js → CuiCameraTable-D0lc0VAJ.js} +2 -2
  49. package/dist/interface/assets/{CuiChartTable-DyyQV7mt.js → CuiChartTable-DcrFI8tT.js} +1 -1
  50. package/dist/interface/assets/{CuiConsole-UxJwQqNG.js → CuiConsole-ICLBq4Q-.js} +2 -2
  51. package/dist/interface/assets/{CuiDataTable-DZm0I8k7.js → CuiDataTable-BooFPsGH.js} +1 -1
  52. package/dist/interface/assets/{CuiLightControl-CB3l0ZLj.js → CuiLightControl-D1ih2hO-.js} +1 -1
  53. package/dist/interface/assets/{CuiList-DMQgYqaU.js → CuiList-ChI82KjI.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginCard-HpQMNND1.js → CuiPluginCard-DqdSWrwb.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginCategoryChip-C6aEP-ug.js → CuiPluginCategoryChip-DsRcMb72.js} +1 -1
  56. package/dist/interface/assets/{CuiPluginOAuthButton-DpGacvsa.js → CuiPluginOAuthButton-BSvRKUSY.js} +2 -2
  57. package/dist/interface/assets/{CuiPluginTrustBadge-Dl1PEsm6.js → CuiPluginTrustBadge-DXL7N1LC.js} +1 -1
  58. package/dist/interface/assets/CuiQRCode-DHln6Lo9.js +1 -0
  59. package/dist/interface/assets/CuiSchema-B7i2O3Fy.js +1 -0
  60. package/dist/interface/assets/{CuiTopNavbarItem-qPj6XwXr.js → CuiTopNavbarItem-TMfTyt8u.js} +1 -1
  61. package/dist/interface/assets/{Faces-DRWIPDfH.js → Faces-CyTkMqMW.js} +1 -1
  62. package/dist/interface/assets/FirstSteps-B4gb7Sgn.js +1 -0
  63. package/dist/interface/assets/Floorplan-DBwWnuys.js +1 -0
  64. package/dist/interface/assets/{Instances-VC4-anOF.js → Instances-D9fnwItz.js} +1 -1
  65. package/dist/interface/assets/{Logs-DROgZxLH.js → Logs-Brk6fJa0.js} +2 -2
  66. package/dist/interface/assets/{Menu-CmTk2or7.js → Menu-CrdBz1Er.js} +1 -1
  67. package/dist/interface/assets/Metrics-DXMgfNIL.js +9 -0
  68. package/dist/interface/assets/{OAuthDeviceFlow-BrdiDoCh.js → OAuthDeviceFlow-D5hSwHeO.js} +1 -1
  69. package/dist/interface/assets/Plugin-C65oNZ9N.js +1 -0
  70. package/dist/interface/assets/{PluginConsole-CxiW1w6K.js → PluginConsole-Bs3Z5u9-.js} +2 -2
  71. package/dist/interface/assets/PluginDetail-C3KUrHvq.js +2 -0
  72. package/dist/interface/assets/{PluginSchema-BgVZ_4if.js → PluginSchema-D22zRDkZ.js} +1 -1
  73. package/dist/interface/assets/PluginSearch-4ngDmZQ2.js +1 -0
  74. package/dist/interface/assets/PluginSearch-D7XYJzl4.js +2 -0
  75. package/dist/interface/assets/{PluginUpdateProgress-DEcle8-x.js → PluginUpdateProgress-MEdR7mID.js} +1 -1
  76. package/dist/interface/assets/Plugins-DQTlb12n.js +1 -0
  77. package/dist/interface/assets/Recordings-CqBwRvn-.js +1 -0
  78. package/dist/interface/assets/SensorEdit-BM2zHAM7.js +1 -0
  79. package/dist/interface/assets/{SensorHistory-H03yZia0.js → SensorHistory-Dbv2ODqn.js} +1 -1
  80. package/dist/interface/assets/Sensors-B4YzyU7R.js +2 -0
  81. package/dist/interface/assets/{Sensors-DzGV2Ngo.css → Sensors-DETviyjO.css} +1 -1
  82. package/dist/interface/assets/{Settings-9nC18KH8.js → Settings--wgPYOyK.js} +1 -1
  83. package/dist/interface/assets/{SettingsAccount-BTYvhCJP.js → SettingsAccount-BF6Cp8Rt.js} +1 -1
  84. package/dist/interface/assets/SettingsAccount-D7CHP0f1.js +1 -0
  85. package/dist/interface/assets/SettingsAppearance-Ba0jbbVW.js +1 -0
  86. package/dist/interface/assets/SettingsAppearance-BpXZwBjO.js +1 -0
  87. package/dist/interface/assets/{SettingsBackup-Bu48xw4v.js → SettingsBackup-qEYm-6De.js} +1 -1
  88. package/dist/interface/assets/{SettingsList-74c5OMQf.js → SettingsList-1brGZ2E_.js} +1 -1
  89. package/dist/interface/assets/{SettingsMqtt-81rJ4zV6.js → SettingsMqtt-Ds8YpoLA.js} +1 -1
  90. package/dist/interface/assets/SettingsNotifications-Diqpfbrh.js +1 -0
  91. package/dist/interface/assets/{SettingsPermissions-DqyVtVKE.js → SettingsPermissions-GmGacrLc.js} +1 -1
  92. package/dist/interface/assets/{SettingsRecordings-Bxn28Frz.js → SettingsRecordings-CtEm_7PE.js} +1 -1
  93. package/dist/interface/assets/SettingsRemote-CENHI51U.js +2 -0
  94. package/dist/interface/assets/SettingsSystem-YkigO2-V.js +2 -0
  95. package/dist/interface/assets/{SettingsUsers-DUOJN7uO.js → SettingsUsers-BNPa87gu.js} +1 -1
  96. package/dist/interface/assets/{Terminal-45QW5yPE.js → Terminal-uxOHZpUp.js} +3 -3
  97. package/dist/interface/assets/Training-BRZKDa8S.js +1 -0
  98. package/dist/interface/assets/Training-DMNjB3uX.css +1 -0
  99. package/dist/interface/assets/{Updates-B32Pra5E.js → Updates-CbscgL60.js} +1 -1
  100. package/dist/interface/assets/{VariableInput-CyTGQFtz.js → VariableInput-Dqg4sqBD.js} +1 -1
  101. package/dist/interface/assets/{VariableSuggestions-BLlD4F87.js → VariableSuggestions-DZCkPAVs.js} +1 -1
  102. package/dist/interface/assets/{VersionsHandler-CIq6v6lE.js → VersionsHandler-BYFshrhO.js} +2 -2
  103. package/dist/interface/assets/{VirtualSensorCreate-Di2IyYAg.js → VirtualSensorCreate-CQ-C4si3.js} +1 -1
  104. package/dist/interface/assets/{Workers-tb039NGc.js → Workers-DC77SjZQ.js} +2 -2
  105. package/dist/interface/assets/api-Cb8_C_se.js +4 -0
  106. package/dist/interface/assets/{api-4JRK8ya0.js → api-CbYNh0N1.js} +1 -1
  107. package/dist/interface/assets/api-DIyogyx5.css +2 -0
  108. package/dist/interface/assets/{auth-ISkWvJbZ.js → auth-Bev1OdHw.js} +1 -1
  109. package/dist/interface/assets/{automations-CeH81DN-.js → automations-DrpESBB_.js} +1 -1
  110. package/dist/interface/assets/cameraSources-QF2xqMxX.js +1 -0
  111. package/dist/interface/assets/cloudHandoff-BknPGUc0.js +1 -0
  112. package/dist/interface/assets/{config-DthCyQJv.js → config-DCK7k2P4.js} +1 -1
  113. package/dist/interface/assets/{flowSchema-DZ2bDhJt.js → flowSchema-D3Ddm5sW.js} +1 -1
  114. package/dist/interface/assets/{intercomService-Bd71KwsB.js → intercomService-DIwpkwG4.js} +1 -1
  115. package/dist/interface/assets/{main-ExPfCNlz.css → main-Cb5Z8N7b.css} +1 -1
  116. package/dist/interface/assets/main-DVwdxi04.js +3 -0
  117. package/dist/interface/assets/{mqtt-oPORDio9.js → mqtt-COWs_r7k.js} +1 -1
  118. package/dist/interface/assets/{notifications-BirFkpbF.js → notifications-sIv1-H85.js} +1 -1
  119. package/dist/interface/assets/{plugins-vyA7MMhx.js → plugins-CXQj6XQt.js} +1 -1
  120. package/dist/interface/assets/{rooms-MfPQPywT.js → rooms-DScX89Ks.js} +1 -1
  121. package/dist/interface/assets/{sensorIcons-B4H11BbT.js → sensorIcons-CvVtOgZB.js} +1 -1
  122. package/dist/interface/assets/sensorSlots-DsfKs8_k.js +1 -0
  123. package/dist/interface/assets/{sensors-xryx8Wvn.js → sensors-Bf_gYmB5.js} +1 -1
  124. package/dist/interface/assets/{server-BK9gwxH8.js → server-CahE6_Pv.js} +1 -1
  125. package/dist/interface/assets/{theme-DQeAzJ1v.js → theme-DmUc7UHl.js} +1 -1
  126. package/dist/interface/assets/{types-Bcj_K26s.js → types-D4kUDpid.js} +1 -1
  127. package/dist/interface/assets/{types-kN1Tn2Og.js → types-Dse8_nTX.js} +1 -1
  128. package/dist/interface/assets/{types-D626ASim.js → types-hwOSxlNg.js} +1 -1
  129. package/dist/interface/assets/ungrouped-Byxe4LNR.js +1 -0
  130. package/dist/interface/assets/ungrouped-n3OnGhCH.css +1 -0
  131. package/dist/interface/assets/{updates-Dzqxen12.js → updates-C4gAnNY6.js} +1 -1
  132. package/dist/interface/assets/{useAppVersion-JY7cdzlr.js → useAppVersion--b5Zj7tl.js} +1 -1
  133. package/dist/interface/assets/{useBackupRestore-CeShFVWy.js → useBackupRestore-Bx13MgrJ.js} +1 -1
  134. package/dist/interface/assets/{useCameraOptions-BeUNT5Rz.js → useCameraOptions-DN4gJjIl.js} +1 -1
  135. package/dist/interface/assets/{useLogsSocket-DDSuX00j.js → useLogsSocket-DqVa6Hky.js} +1 -1
  136. package/dist/interface/assets/{useNavLayout-DgAgRNq2.js → useNavLayout-CuQ9F9cj.js} +1 -1
  137. package/dist/interface/assets/{usePermissions-DFzwIs8L.js → usePermissions-C1L7m3Nc.js} +1 -1
  138. package/dist/interface/assets/{usePluginUpdates-Bb-LOOyL.js → usePluginUpdates-CvQPy02x.js} +1 -1
  139. package/dist/interface/assets/{usePushRegistration-iverdyzz.js → usePushRegistration-BKvefMFq.js} +1 -1
  140. package/dist/interface/assets/{useServerRestart-BchofDLe.js → useServerRestart-ByN6484v.js} +1 -1
  141. package/dist/interface/assets/{useStreamStatus-BOJt1v1c.js → useStreamStatus-BbtTnidZ.js} +1 -1
  142. package/dist/interface/assets/{useTabSwipe-v0Yet-YZ.js → useTabSwipe-D9udGzPx.js} +1 -1
  143. package/dist/interface/assets/{useUpdateChannel-K9ADk5yx.js → useUpdateChannel-8t3W9dNr.js} +1 -1
  144. package/dist/interface/assets/{useUpdatesSocket-sj1-DmFM.js → useUpdatesSocket-D9s_5T3l.js} +1 -1
  145. package/dist/interface/assets/{useUserOptions-BnF_qBdZ.js → useUserOptions-CEPYkuSm.js} +1 -1
  146. package/dist/interface/assets/{vendor-cameraui-BPX4wReW.js → vendor-cameraui-Dlzn4pyz.js} +26 -26
  147. package/dist/interface/assets/vendor-core-COMSlypG.js +1 -0
  148. package/dist/interface/assets/{vendor-primevue-iEFYdXsu.js → vendor-primevue-DF71EsUM.js} +55 -55
  149. package/dist/interface/ha/{404-DlQnv9jN.js → 404-Bm-oxxip.js} +1 -1
  150. package/dist/interface/ha/{About-BLQJmllv.js → About-CDcN0Q2J.js} +3 -3
  151. package/dist/interface/ha/{Automation-DLMPArOd.js → Automation-BQd4b0ym.js} +102 -102
  152. package/dist/interface/ha/{AutomationImport-Qzz3Ta4D.js → AutomationImport-CX1C76Wb.js} +6 -6
  153. package/dist/interface/ha/{AutomationStore-DNXC9s6h.js → AutomationStore-D4B0KpoW.js} +56 -56
  154. package/dist/interface/ha/{AutomationStoreDetail-CTqydRKj.js → AutomationStoreDetail-B53Giz4B.js} +6 -6
  155. package/dist/interface/ha/{Automations-DRxe1fli.js → Automations-BXlwOElS.js} +124 -124
  156. package/dist/interface/ha/{Camera-OrI4Wf4F.js → Camera-CauwMneE.js} +21 -19
  157. package/dist/interface/ha/{CameraConsole-6yGhoHmu.js → CameraConsole-CmsMjuIR.js} +5 -5
  158. package/dist/interface/ha/{Cameras-DpEaKKDG.js → Cameras-CyHDmgs0.js} +259 -259
  159. package/dist/interface/ha/{Camview-CnPz4cGs.js → Camview-BwwvU5k8.js} +70 -70
  160. package/dist/interface/ha/{Config-Bb2ERyAA.js → Config-C_Zuyeoc.js} +10 -10
  161. package/dist/interface/ha/{ConfigActionCameraControl-CC2tWFz2.js → ConfigActionCameraControl-C1_QyuX8.js} +3 -3
  162. package/dist/interface/ha/{ConfigActionHttp-DBsEL44i.js → ConfigActionHttp-C0d433mh.js} +2 -2
  163. package/dist/interface/ha/{ConfigActionImageInput-Rt3AOJ3I.js → ConfigActionImageInput-BYys2FwC.js} +1 -1
  164. package/dist/interface/ha/{ConfigActionMqtt-BYSSc954.js → ConfigActionMqtt-DznDfzze.js} +4 -4
  165. package/dist/interface/ha/{ConfigActionNotification-DKlIsZJd.js → ConfigActionNotification-CC2qfBLm.js} +3 -3
  166. package/dist/interface/ha/{ConfigActionNotificationControl-D5AVW2tR.js → ConfigActionNotificationControl-3jlm7_A4.js} +2 -2
  167. package/dist/interface/ha/{ConfigActionOutput-DIlu8Ujc.js → ConfigActionOutput-BEf1U3_l.js} +1 -1
  168. package/dist/interface/ha/{ConfigActionPlugin-o1YNBh-g.js → ConfigActionPlugin-C57BUrJD.js} +5 -5
  169. package/dist/interface/ha/{ConfigActionSensor-BEvwg0tf.js → ConfigActionSensor-BkoSPCUJ.js} +5 -5
  170. package/dist/interface/ha/{ConfigActionSnapshot-Bnw0JNNj.js → ConfigActionSnapshot-CC3EpmCq.js} +2 -2
  171. package/dist/interface/ha/{ConfigActionVariable-oGPagsvF.js → ConfigActionVariable-JDyDhSzZ.js} +1 -1
  172. package/dist/interface/ha/{ConfigConditionIfElse-7LCDNDvS.js → ConfigConditionIfElse-BVg-TUpv.js} +3 -3
  173. package/dist/interface/ha/{ConfigConditionSensorState-nO-s7wi6.js → ConfigConditionSensorState-YYeWly1H.js} +4 -4
  174. package/dist/interface/ha/{ConfigConditionSwitch-GrIKkY-P.js → ConfigConditionSwitch-DQHXX-4U.js} +5 -5
  175. package/dist/interface/ha/{ConfigSensorValueInput-Cthp3KXt.js → ConfigSensorValueInput-BuuzQ1nJ.js} +4 -4
  176. package/dist/interface/ha/{ConfigTriggerDetection-CJE9QFaK.js → ConfigTriggerDetection-CUvkAmpJ.js} +12 -12
  177. package/dist/interface/ha/{ConfigTriggerGeofence-Cyeu7Cit.js → ConfigTriggerGeofence-CCHELnfy.js} +7 -7
  178. package/dist/interface/ha/{ConfigTriggerMqtt-D5EoOztE.js → ConfigTriggerMqtt-BfLnCiWZ.js} +1 -1
  179. package/dist/interface/ha/{ConfigTriggerSensor-DYg_HRjO.js → ConfigTriggerSensor-Bi-Jld2G.js} +1 -1
  180. package/dist/interface/ha/{ConfigTriggerSystem-DzpajiyS.js → ConfigTriggerSystem-_HXrWjaJ.js} +2 -2
  181. package/dist/interface/ha/{ConfigTriggerWebhook-IE4PVb4O.js → ConfigTriggerWebhook-CFYsVF_r.js} +1 -1
  182. package/dist/interface/ha/{Console-BYgny5Dy.js → Console-CR95JZFd.js} +8 -8
  183. package/dist/interface/ha/{CuiAutomationRunsDialog-CoYgpbW0.js → CuiAutomationRunsDialog--mpkPFmw.js} +2 -2
  184. package/dist/interface/ha/{CuiBottomSheet-C4cK3fYK.js → CuiBottomSheet-DfFzwDjq.js} +1 -1
  185. package/dist/interface/ha/{CuiCameraRecordings-BAxchc71.js → CuiCameraRecordings-DCIFFbFk.js} +17 -18
  186. package/dist/interface/ha/{CuiCameraShares-CfQr1iyX.js → CuiCameraShares-Dwv_XtX4.js} +2 -2
  187. package/dist/interface/ha/{CuiCameraTable-B60mcEl_.js → CuiCameraTable-L6wd-VYz.js} +2 -2
  188. package/dist/interface/ha/{CuiChartTable-CbUVz-Cj.js → CuiChartTable-CxJR8u6U.js} +42 -42
  189. package/dist/interface/ha/{CuiConsole-DEjAQFwC.js → CuiConsole-CvL9TXZY.js} +20 -20
  190. package/dist/interface/ha/{CuiDataTable-005ptLsa.js → CuiDataTable-Bn80WJXi.js} +6 -6
  191. package/dist/interface/ha/{CuiPluginCard-BWwPLJ6m.js → CuiPluginCard-CtOzPAal.js} +18 -18
  192. package/dist/interface/ha/{CuiPluginOAuthButton-CgmDgRY9.js → CuiPluginOAuthButton-1LgNMLII.js} +3 -3
  193. package/dist/interface/ha/{CuiPluginTrustBadge-BWnP1whX.js → CuiPluginTrustBadge-mHuy3ab9.js} +1 -1
  194. package/dist/interface/ha/{CuiQRCode-ONkk6Wqy.js → CuiQRCode-CloepWte.js} +2 -2
  195. package/dist/interface/ha/{CuiSchema-C3uI1GwG.js → CuiSchema-CJsEWewj.js} +19 -19
  196. package/dist/interface/ha/{CuiTopNavbarItem-Bhws0XkE.js → CuiTopNavbarItem-B2EM-tmz.js} +1 -1
  197. package/dist/interface/ha/{Faces-DuxYlZGd.js → Faces-BMkZfxDm.js} +107 -107
  198. package/dist/interface/ha/{FirstSteps-BAlqShSK.js → FirstSteps-BH0mga3u.js} +11 -11
  199. package/dist/interface/ha/{Floorplan-BVwSNFd6.js → Floorplan-CyfIUI4Z.js} +275 -275
  200. package/dist/interface/ha/{Instances-BM9sRNSP.js → Instances-BwNXc91J.js} +70 -70
  201. package/dist/interface/ha/{Logs-KISz4BU-.js → Logs-CcSiN16r.js} +8 -8
  202. package/dist/interface/ha/{Menu-DYI6PeIn.js → Menu-qdN0OBb7.js} +10 -10
  203. package/dist/interface/ha/{Metrics-BjpKFunA.js → Metrics-ClM5lhvC.js} +89 -89
  204. package/dist/interface/ha/{OAuthDeviceFlow-DG-KUGZj.js → OAuthDeviceFlow-BBr-rER_.js} +3 -3
  205. package/dist/interface/ha/{Plugin-BjWyUUhe.js → Plugin-BBkSXygO.js} +50 -50
  206. package/dist/interface/ha/{PluginConsole-BK3cotea.js → PluginConsole-DqrBnXSX.js} +6 -6
  207. package/dist/interface/ha/{PluginDetail-BDzDeShX.js → PluginDetail-Clu6nv-B.js} +9 -9
  208. package/dist/interface/ha/{PluginSearch-DsFUuPC-.js → PluginSearch-Dn-24FLX.js} +32 -32
  209. package/dist/interface/ha/{PluginUpdateProgress-BMrdkjRq.js → PluginUpdateProgress-CzhHUKDg.js} +3 -3
  210. package/dist/interface/ha/{Plugins-3WPnsHXw.js → Plugins-qYJD5ioU.js} +16 -16
  211. package/dist/interface/ha/{Recordings-0wDF4ArK.js → Recordings-CBIt3vL7.js} +354 -355
  212. package/dist/interface/ha/{SensorEdit-B0L2zIha.js → SensorEdit-BbG6apZA.js} +349 -349
  213. package/dist/interface/ha/{SensorHistory-CQJEY1sW.js → SensorHistory-CqGsnQPW.js} +2 -2
  214. package/dist/interface/ha/{Sensors-BYdBTCLo.js → Sensors-mKWkCDF8.js} +474 -448
  215. package/dist/interface/ha/{Settings-BaqGiBCa.js → Settings-C5J4ubiA.js} +10 -10
  216. package/dist/interface/ha/{SettingsAccount-B0Sth0EF.js → SettingsAccount-tCyZsBxG.js} +39 -39
  217. package/dist/interface/ha/{SettingsAppearance-B_oylmTa.js → SettingsAppearance-DqJp4Clt.js} +6 -6
  218. package/dist/interface/ha/{SettingsBackup-BLmoV5AW.js → SettingsBackup-CHnCKYgz.js} +5 -5
  219. package/dist/interface/ha/{SettingsList-CMX7wMye.js → SettingsList-DsQOPeKW.js} +1 -1
  220. package/dist/interface/ha/{SettingsMqtt-C-sGwxOZ.js → SettingsMqtt-TPIsEcXe.js} +180 -180
  221. package/dist/interface/ha/{SettingsNotifications-tc9FCCUF.js → SettingsNotifications-DH3T_xyh.js} +3 -3
  222. package/dist/interface/ha/{SettingsRecordings-DDs16z2A.js → SettingsRecordings-Ay8lj8Lm.js} +4 -4
  223. package/dist/interface/ha/{SettingsRemote-0c0umjFJ.js → SettingsRemote-CHiBADuu.js} +314 -314
  224. package/dist/interface/ha/{SettingsSystem-DfXxWXQk.js → SettingsSystem-tqs40pUW.js} +8 -8
  225. package/dist/interface/ha/{SettingsUsers-CmjC0zsF.js → SettingsUsers-BUbC_Qc7.js} +39 -39
  226. package/dist/interface/ha/{Terminal-nbUX6PPZ.js → Terminal-f_b-089t.js} +4 -4
  227. package/dist/interface/ha/Training-Dcxo9PFi.js +1479 -0
  228. package/dist/interface/ha/{Updates-UaxBGn6D.js → Updates-aGl5hy8Q.js} +11 -11
  229. package/dist/interface/ha/{VariableInput-0bF2H1Bm.js → VariableInput-yJGbaZEo.js} +1 -1
  230. package/dist/interface/ha/{VersionsHandler-CnXVnfBl.js → VersionsHandler-Q4PfRpbs.js} +10 -10
  231. package/dist/interface/ha/{VirtualSensorCreate-BE60rAkJ.js → VirtualSensorCreate-Gbi6aJBh.js} +8 -8
  232. package/dist/interface/ha/{Workers-CaX3Z3w-.js → Workers-BbBqOc0H.js} +129 -129
  233. package/dist/interface/ha/{api-CmcbBFTx.js → api-DBu4gh4_.js} +8390 -8315
  234. package/dist/interface/ha/{api-S-NnjUWl.js → api-DY0z6Sp_.js} +3 -3
  235. package/dist/interface/ha/{auth-CqYE7s1-.js → auth-C2V-kpRp.js} +38 -38
  236. package/dist/interface/ha/{automationBlueprint-Dmp54JD1.js → automationBlueprint-MGUZJTFY.js} +4 -4
  237. package/dist/interface/ha/cameraui-cards.js +1 -1
  238. package/dist/interface/ha/{cards-MnCBmBIR.js → cards-BA6g_9R5.js} +566 -566
  239. package/dist/interface/ha/{config-C94KN4WM.js → config-BGlhgEOa.js} +15 -15
  240. package/dist/interface/ha/{dist-BQFunPaA.js → dist-BqTZri2H.js} +743 -725
  241. package/dist/interface/ha/{mqtt-HDLqlOJt.js → mqtt-BLKZNA-E.js} +15 -15
  242. package/dist/interface/ha/{notifications-C2_2_NRh.js → notifications-BW0RNMnG.js} +22 -22
  243. package/dist/interface/ha/{pinia-DLNUke3Q.js → pinia-DINxhtY-.js} +168 -165
  244. package/dist/interface/ha/{plugins-l2i4DgqO.js → plugins-Cj-B4Nwy.js} +68 -68
  245. package/dist/interface/ha/{rooms-Bp1ZVAzT.js → rooms-C32i51p-.js} +8 -8
  246. package/dist/interface/ha/{server-BsduJDAB.js → server-CfbE_0Z9.js} +32 -32
  247. package/dist/interface/ha/{types-iZUCCt1P.js → types-Ry6RjBNa.js} +17 -17
  248. package/dist/interface/ha/ungrouped-CO29-tSV.js +1320 -0
  249. package/dist/interface/ha/{updates-CDsPvhpo.js → updates-CZPI8XJ1.js} +37 -37
  250. package/dist/interface/ha/{useAppVersion-BJtSGn4X.js → useAppVersion-9jfqRo_z.js} +1 -1
  251. package/dist/interface/ha/{useLogsSocket-Ck-ZQpQD.js → useLogsSocket-B0E7a3ys.js} +1 -1
  252. package/dist/interface/ha/{useNavLayout-Bn6HYs-i.js → useNavLayout-B2wfeha-.js} +2 -2
  253. package/dist/interface/ha/{useServerRestart-fff_KK9Y.js → useServerRestart-CCH-yMWR.js} +1 -1
  254. package/dist/interface/ha/{useTabSwipe-B1CQZuyT.js → useTabSwipe-D2uqGEvR.js} +1 -1
  255. package/dist/interface/ha/{useUpdateChannel-DUBmGEDe.js → useUpdateChannel--SP3Wjym.js} +2 -2
  256. package/dist/interface/ha/{useUpdatesSocket-DoLb2kcJ.js → useUpdatesSocket-BBbUCMU-.js} +1 -1
  257. package/dist/interface/ha/{useUserOptions-D0kNSHFH.js → useUserOptions-Bh54UAkH.js} +1 -1
  258. package/dist/interface/index.html +28 -27
  259. package/dist/interface/sw.js +1 -1
  260. package/dist/server/package.json +1 -1
  261. package/dist/server/src/api/controllers/training.controller.d.ts +4 -2
  262. package/dist/server/src/api/controllers/training.controller.js +2 -2
  263. package/dist/server/src/api/controllers/training.controller.js.map +1 -1
  264. package/dist/server/src/api/database/record-schemas.d.ts +1 -0
  265. package/dist/server/src/api/database/record-schemas.js +1 -0
  266. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  267. package/dist/server/src/api/routes/training.routes.js +3 -2
  268. package/dist/server/src/api/routes/training.routes.js.map +1 -1
  269. package/dist/server/src/api/schemas/training.schema.d.ts +4 -0
  270. package/dist/server/src/api/schemas/training.schema.js +3 -0
  271. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  272. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  273. package/dist/server/src/api/services/sensors.service.js +1 -0
  274. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  275. package/dist/server/src/api/types/index.d.ts +2 -1
  276. package/dist/server/src/camera/decoder/detection-coordinator.js +23 -7
  277. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  278. package/dist/server/src/camera/decoder/detection-window.d.ts +5 -0
  279. package/dist/server/src/camera/decoder/detection-window.js +5 -5
  280. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  281. package/dist/server/src/camera/decoder/event-manager.d.ts +5 -1
  282. package/dist/server/src/camera/decoder/event-manager.js +21 -14
  283. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  284. package/dist/server/src/camera/decoder/training-sink.d.ts +14 -3
  285. package/dist/server/src/camera/decoder/training-sink.js +32 -17
  286. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  287. package/dist/server/src/camera/decoder/types.d.ts +1 -1
  288. package/dist/server/src/camera/decoder/types.js +2 -6
  289. package/dist/server/src/camera/decoder/types.js.map +1 -1
  290. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -3
  291. package/dist/server/src/manager/trainingCandidateManager.js +17 -18
  292. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  293. package/dist/server/src/manager/types.d.ts +5 -0
  294. package/dist/server/src/remote/api/routes/train.d.ts +6 -1
  295. package/dist/server/src/remote/api/routes/train.js +6 -2
  296. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  297. package/dist/server/src/sensors/registry.d.ts +1 -0
  298. package/dist/server/src/sensors/registry.js +10 -0
  299. package/dist/server/src/sensors/registry.js.map +1 -1
  300. package/package.json +1 -1
  301. package/dist/interface/assets/Automation-CDvt2MXN.js +0 -3
  302. package/dist/interface/assets/Automations-2K-7hZfK.js +0 -2
  303. package/dist/interface/assets/Camera-B72IU-UF.js +0 -2
  304. package/dist/interface/assets/Camera-Cm9I0H6c.css +0 -1
  305. package/dist/interface/assets/Camview-KzzN0Q1w.js +0 -1
  306. package/dist/interface/assets/ConfigActionNotification-C2uXIMpm.js +0 -1
  307. package/dist/interface/assets/ConfigTriggerGeofence-Cuq1SnOZ.js +0 -1
  308. package/dist/interface/assets/Console-DkylrXI4.js +0 -1
  309. package/dist/interface/assets/CuiBottomSheet-DILQuWKb.js +0 -1
  310. package/dist/interface/assets/CuiCameraRecordings-Bi0I7jeO.js +0 -1
  311. package/dist/interface/assets/CuiCameraTable-CUdAnRJP.js +0 -1
  312. package/dist/interface/assets/CuiQRCode-D04Onyhk.js +0 -1
  313. package/dist/interface/assets/CuiRecordingsGrid-BhATIjIf.css +0 -1
  314. package/dist/interface/assets/CuiRecordingsGrid-BzyJWpFt.js +0 -1
  315. package/dist/interface/assets/CuiSchema-thjfmEWw.js +0 -1
  316. package/dist/interface/assets/FirstSteps-C6GVpZVr.js +0 -1
  317. package/dist/interface/assets/Floorplan-Q-UYDnrE.js +0 -1
  318. package/dist/interface/assets/Metrics-CYZF-em9.js +0 -9
  319. package/dist/interface/assets/Plugin-DuPHiiYJ.js +0 -1
  320. package/dist/interface/assets/PluginDetail-DWP7_hNa.js +0 -2
  321. package/dist/interface/assets/PluginSearch-1djFQUjL.js +0 -1
  322. package/dist/interface/assets/PluginSearch-Ba-hQHxm.js +0 -2
  323. package/dist/interface/assets/Plugins-BZ3U4pcG.js +0 -1
  324. package/dist/interface/assets/Recordings-CI5MIFR-.js +0 -1
  325. package/dist/interface/assets/SensorEdit-B6s-VZ3F.js +0 -1
  326. package/dist/interface/assets/Sensors-DDPUwbb-.js +0 -2
  327. package/dist/interface/assets/SettingsAccount-CKi0z3Bm.js +0 -1
  328. package/dist/interface/assets/SettingsAppearance-CDbQnSvl.js +0 -1
  329. package/dist/interface/assets/SettingsAppearance-D9Y28zzz.js +0 -1
  330. package/dist/interface/assets/SettingsNotifications-xHV5KiZg.js +0 -1
  331. package/dist/interface/assets/SettingsRemote-7h2dKJlF.js +0 -2
  332. package/dist/interface/assets/SettingsSystem-D-MLhCdN.js +0 -2
  333. package/dist/interface/assets/Training-B5SzDUAC.css +0 -1
  334. package/dist/interface/assets/Training-DWrQVSS0.js +0 -1
  335. package/dist/interface/assets/api-CFf063x3.js +0 -4
  336. package/dist/interface/assets/api-eoOLTOnS.css +0 -2
  337. package/dist/interface/assets/cameraSources-CgAEmb37.js +0 -1
  338. package/dist/interface/assets/cloudHandoff-B_kCnm4R.js +0 -1
  339. package/dist/interface/assets/main--lW4P3A4.js +0 -3
  340. package/dist/interface/assets/ungrouped-C6pQb0X4.css +0 -1
  341. package/dist/interface/assets/ungrouped-C_gJm6d7.js +0 -1
  342. package/dist/interface/assets/vendor-core-D0ANiY7g.js +0 -1
  343. package/dist/interface/ha/CuiRecordingsGrid-D6HHyF1D.js +0 -735
  344. package/dist/interface/ha/Training-GMcD4Qg9.js +0 -1440
  345. package/dist/interface/ha/ungrouped-wz-KNJpA.js +0 -426
@@ -1,426 +0,0 @@
1
- import { f as e, m as t } from "./ripple-BilzxWfY.js";
2
- import { D as n, G as r, H as i, Jt as a, Wt as o, Y as ee, d as s, f as c, kt as l, l as u, lt as d, ot as te, p as f, r as p, rt as m, u as h, ut as g, x as _, xt as v, y, z as ne } from "./runtime-core.esm-bundler-D8slQ3BU.js";
3
- import { t as re } from "./tooltip-BIrD_hC8.js";
4
- import { $ as ie, Bn as b, Cr as x, Gn as ae, Hn as oe, In as S, Q as C, Si as se, Sr as ce, Vn as w, X as le, Y as ue, Z as de, _r as fe, _t as pe, br as me, dr as he, fr as ge, it as _e, lr as ve, o as T, qn as ye, rr as be, rt as xe, ua as Se, wr as Ce, zn as we } from "./api-CmcbBFTx.js";
5
- import { _ as Te, o as Ee } from "./intercomService-jB2mTgsn.js";
6
- import { n as De } from "./vue-i18n-Dcb07o5U.js";
7
- import { M as Oe } from "./dist-BQFunPaA.js";
8
- import { t as ke } from "./button-BlYuI0Q7.js";
9
- //#region src/components/CuiRecordings/RecordingCard.vue?vue&type=script&setup=true&lang.ts
10
- var Ae = ["src"], je = {
11
- key: 2,
12
- class: "w-full h-full flex items-center justify-center bg-neutral-800/80"
13
- }, Me = { class: "absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]" }, Ne = { class: "flex items-center gap-1.5" }, Pe = { class: "text-xs font-semibold text-white truncate min-w-0 flex-1" }, Fe = {
14
- key: 1,
15
- class: "text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0"
16
- }, Ie = { class: "text-[10px] text-white/70" }, Le = { class: "block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5" }, Re = { class: "flex items-center gap-1 min-w-0" }, ze = ["title"], Be = {
17
- key: 0,
18
- class: "flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200"
19
- }, Ve = ["onClick"], He = ["src", "alt"], Ue = {
20
- key: 0,
21
- class: "text-[10px] text-white/60 font-medium"
22
- }, We = {
23
- key: 6,
24
- class: "absolute inset-0 z-[4] flex items-center justify-center pointer-events-none"
25
- }, Ge = {
26
- key: 7,
27
- class: "absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none"
28
- }, Ke = {
29
- class: "text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap",
30
- style: { "font-variant-numeric": "tabular-nums" }
31
- }, qe = 24, Je = 30, Ye = 22, Xe = 28, Ze = 8, E = /*#__PURE__*/ x(/* @__PURE__ */ _({
32
- __name: "RecordingCard",
33
- props: {
34
- event: {},
35
- cameraName: {},
36
- camera: {},
37
- loadThumbnails: { type: Function },
38
- semanticScore: {},
39
- segIndex: {},
40
- hideSegmentBadge: { type: Boolean },
41
- selectionMode: { type: Boolean },
42
- selected: { type: Boolean },
43
- siblingActive: { type: Boolean }
44
- },
45
- emits: [
46
- "scrollToEvent",
47
- "select",
48
- "openTrace"
49
- ],
50
- setup(_, { emit: x }) {
51
- let E = _, D = x, Qe = Ee(), $e = se(), { t: O } = De(), k = be("@camera.ui/camera-ui-nvr"), { plugin: et } = Oe("@camera.ui/camera-ui-nvr"), { icons: A } = pe(), j = k.getCachedThumbnails(E.event.id), tt = j ? S(j, E.event, "card", E.segIndex).url ? "loaded" : "empty" : "loading", M = n(we, void 0), nt = m("rootRef"), rt = m("previewCanvasRef"), it = m("footerRef"), N = v(!1), at = de(nt, () => Tt(), () => $()), P = v(!1), F = v(j ?? null), I = v(tt), L = v(!1), R = v(0), z = v(null), { width: ot } = Te(it), B = u(() => z.value ?? E.event.favorite ?? !1), st = u(() => (k.storeVersion.value, E.event.segments?.find((e) => e?.description)?.description?.title)), V = u(() => {
52
- if (E.semanticScore == null) return;
53
- let e = Math.max(0, Math.min(1, E.semanticScore));
54
- return {
55
- pct: e,
56
- label: `${(e * 100).toFixed(0)}%`,
57
- color: e >= .5 ? "bg-green-500/80" : e >= .25 ? "bg-yellow-500/80" : "bg-red-400/80"
58
- };
59
- }), H = u(() => F.value ? S(F.value, E.event, "card", E.segIndex) : null), ct = u(() => {
60
- let e = E.segIndex ?? H.value?.segIndex;
61
- return e === void 0 ? void 0 : E.event.segments?.[e];
62
- }), lt = u(() => H.value?.url), ut = u(() => H.value?.label), dt = u(() => H.value?.type ?? E.event.types[0] ?? "motion"), ft = u(() => {
63
- if (E.hideSegmentBadge) return;
64
- let e = E.event.segments?.length ?? 0;
65
- return E.segIndex !== void 0 && e > 1 ? `${E.segIndex + 1}/${e}` : void 0;
66
- }), U = u(() => {
67
- let e = F.value, t = H.value?.url;
68
- if (!e || !t) return [];
69
- let n = [{
70
- url: t,
71
- label: H.value?.label,
72
- type: dt.value,
73
- crop: !1
74
- }];
75
- for (let t of ye(e, E.segIndex)) n.some((e) => e.url === t.url) || n.push({
76
- url: t.url,
77
- label: t.label,
78
- type: t.type,
79
- crop: !0
80
- });
81
- if (E.segIndex === void 0) for (let t of Object.keys(e.cards ?? e.strips ?? {}).sort((e, t) => Number(e) - Number(t))) {
82
- let r = ae(e.cards?.[t] ?? e.strips?.[t]);
83
- if (!r || n.some((e) => e.url === r)) continue;
84
- let i = ie(E.event, t);
85
- n.push({
86
- url: r,
87
- label: i,
88
- type: i,
89
- crop: !1
90
- });
91
- }
92
- return n.length > 1 ? n : [];
93
- }), pt = u(() => U.value.length > 1), W = u(() => U.value.length ? Math.min(R.value, U.value.length - 1) : 0), G = u(() => pt.value ? U.value[W.value] : void 0), mt = u(() => !!G.value?.crop), K = u(() => G.value?.url ?? lt.value), ht = u(() => G.value?.label ?? ut.value), q = u(() => {
94
- let e = ct.value;
95
- return (e ? w(E.event, e) : [...new Set(E.event.types)]).filter((e) => e !== "motion" && e !== "audio");
96
- }), gt = u(() => E.cameraName ?? E.event.cameraId), J = u(() => U.value.map((e) => ({
97
- url: e.url,
98
- type: e.type
99
- }))), _t = u(() => q.value.slice(0, Y.value.icons)), Y = u(() => {
100
- let e = ot.value;
101
- if (!e) return {
102
- icons: 2,
103
- tiles: 2
104
- };
105
- let t = e - Ze;
106
- E.selectionMode && (t -= Xe);
107
- let n = J.value.length > 0 ? 52 : 0, r = xt(q.value.length, Math.max(0, t - n), qe), i = q.value.length > 0 ? Math.max(1, r) : 0, a = i * qe + (i < q.value.length ? Ye : 0);
108
- return {
109
- icons: i,
110
- tiles: xt(J.value.length, Math.max(0, t - a), Je)
111
- };
112
- }), X = u(() => q.value.slice(Y.value.icons)), vt = u(() => J.value.slice(0, Y.value.tiles)), Z = u(() => J.value.length - Y.value.tiles), yt = u(() => {
113
- let e = E.segIndex === void 0 ? void 0 : E.event.segments?.[E.segIndex]?.firstSeen, t = new Date(e ?? E.event.thumbnailAt ?? E.event.startTime), n = /* @__PURE__ */ new Date(), r = t.toDateString() === n.toDateString(), i = t.toLocaleTimeString([], {
114
- hour: "2-digit",
115
- minute: "2-digit"
116
- });
117
- return r ? i : `${t.toLocaleDateString([], {
118
- month: "short",
119
- day: "numeric"
120
- })} ${i}`;
121
- }), bt = u(() => !!(et.value && E.event.endTime && E.event.hasRecording !== !1)), Q = u(() => M ? N.value ? O("views.recordings.no_preview") : P.value ? M.status.value === "unavailable" ? O("views.recordings.no_preview") : M.status.value === "playing" && M.previewTimeMs.value ? wt(M.previewTimeMs.value) : "" : "" : "");
122
- function xt(e, t, n) {
123
- return e === 0 || t < n ? 0 : e * n <= t ? e : Math.max(0, Math.floor((t - Ye) / n));
124
- }
125
- function St(e) {
126
- let t = U.value.length;
127
- t && ($(), R.value = (W.value + e + t) % t);
128
- }
129
- function Ct(e, t) {
130
- pt.value && (t.stopPropagation(), $(), R.value = e);
131
- }
132
- function $() {
133
- N.value = !1, !(!M || !P.value) && (P.value = !1, M.onHoverEnd());
134
- }
135
- function wt(e) {
136
- let t = new Date(e);
137
- return `${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}:${String(t.getSeconds()).padStart(2, "0")}`;
138
- }
139
- function Tt() {
140
- if (!M || W.value > 0) return;
141
- let e = rt.value;
142
- if (!e) return;
143
- let t = b(E.event);
144
- if (E.event.hasRecording === !1 || !t) {
145
- N.value = !0;
146
- return;
147
- }
148
- P.value = !0, M.onHoverStart(e, E.event.cameraId, E.event.id, E.event.startTime, t, E.camera?.zones?.privacy, oe(E.event));
149
- }
150
- function Et() {
151
- at.blocksMouseEnter() || Tt();
152
- }
153
- function Dt() {
154
- N.value = !1, M && (P.value = !1, M.onHoverEnd());
155
- }
156
- async function Ot(e = 2) {
157
- let t = await E.loadThumbnails(E.event.id, E.event.startTime);
158
- if (t) {
159
- F.value = t;
160
- let e = S(t, E.event, "card");
161
- I.value = e.url ? "loaded" : "empty";
162
- } else if (e > 0) return await new Promise((e) => setTimeout(e, 500)), Ot(e - 1);
163
- else I.value = E.event.state === "active" ? "loading" : "empty";
164
- }
165
- function kt() {
166
- if (!at.consumesClick()) {
167
- if (E.selectionMode) {
168
- D("select");
169
- return;
170
- }
171
- D("scrollToEvent", ct.value?.firstSeen ?? C(E.event));
172
- }
173
- }
174
- async function At() {
175
- let e = !B.value;
176
- z.value = e;
177
- try {
178
- await k.setEventFavorite(E.event.id, e);
179
- } catch (e) {
180
- z.value = null, $e.add({
181
- severity: "error",
182
- detail: T(e),
183
- life: 5e3
184
- });
185
- }
186
- }
187
- async function jt() {
188
- if (L.value) return;
189
- let e = et.value;
190
- if (!(!e?.nvrExport || !E.event.endTime)) {
191
- L.value = !0;
192
- try {
193
- let t = await e.nvrExport(E.event.cameraId, E.event.startTime * 1e3, E.event.endTime * 1e3);
194
- await me({
195
- url: t.url,
196
- filename: t.filename
197
- });
198
- } catch (e) {
199
- Qe.error("Download failed:", e), $e.add({
200
- severity: "error",
201
- summary: O("views.recordings.download_failed"),
202
- detail: T(e),
203
- life: 5e3
204
- });
205
- } finally {
206
- L.value = !1;
207
- }
208
- }
209
- }
210
- return te(() => k.storeVersion.value, () => {
211
- let e = k.getCachedThumbnails(E.event.id);
212
- e && (F.value = e, S(e, E.event, "card").url && (I.value = "loaded"));
213
- }), ne(() => {
214
- tt === "loading" && Ot();
215
- }), (n, u) => {
216
- let te = Se, m = ce, v = ve, ne = ue, ie = le, b = ke, x = xe, ae = _e, oe = he, S = ge, C = fe, se = Ce, w = re;
217
- return i(), f("div", {
218
- ref_key: "rootRef",
219
- ref: nt,
220
- class: "recording-card relative group cursor-pointer",
221
- onClick: kt,
222
- onMouseenter: Et,
223
- onMouseleave: Dt
224
- }, [h("div", {
225
- class: o(["bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200", { "ring-2 ring-inset ring-primary/70": _.siblingActive }]),
226
- style: { "aspect-ratio": "1/1" }
227
- }, [
228
- l(I) === "loading" ? (i(), s(te, {
229
- key: 0,
230
- width: "100%",
231
- height: "100%",
232
- class: "rounded-xl"
233
- })) : l(K) ? (i(), f(p, { key: 1 }, [l(mt) ? (i(), f("img", {
234
- key: 0,
235
- src: l(K),
236
- "aria-hidden": "true",
237
- class: "absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none"
238
- }, null, 8, Ae)) : c("", !0), y(m, {
239
- src: l(K),
240
- alt: l(gt),
241
- class: "pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105",
242
- "image-style": { objectFit: l(mt) ? "contain" : "cover" },
243
- "image-container-class": "w-full h-full"
244
- }, null, 8, [
245
- "src",
246
- "alt",
247
- "image-style"
248
- ])], 64)) : (i(), f("div", je, [(i(), s(ee(l(A)[l(dt)] ?? l(A).motion), { class: "w-10 h-10 text-white/20" }))])),
249
- l(M) ? g((i(), f("canvas", {
250
- key: 3,
251
- ref_key: "previewCanvasRef",
252
- ref: rt,
253
- class: "absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]"
254
- }, null, 512)), [[e, l(P)]]) : c("", !0),
255
- u[3] ||= h("div", { class: "absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]" }, null, -1),
256
- h("div", Me, [h("div", Ne, [
257
- l(st) ? (i(), s(v, {
258
- key: 0,
259
- position: "inline"
260
- })) : c("", !0),
261
- h("p", Pe, a(l(gt)), 1),
262
- l(ft) ? (i(), f("span", Fe, a(l(ft)), 1)) : c("", !0),
263
- l(V) ? (i(), f("span", {
264
- key: 2,
265
- class: o(["text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0", l(V).color])
266
- }, a(l(V).label), 3)) : c("", !0),
267
- _.selectionMode ? c("", !0) : g((i(), s(b, {
268
- key: 3,
269
- rounded: "",
270
- text: "",
271
- severity: "secondary",
272
- class: "!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80",
273
- onClick: t(At, ["stop"]),
274
- onMouseenter: $
275
- }, {
276
- icon: d(() => [l(B) ? (i(), s(ne, {
277
- key: 0,
278
- class: "w-3 h-3 text-yellow-400"
279
- })) : (i(), s(ie, {
280
- key: 1,
281
- class: "w-3 h-3 text-white"
282
- }))]),
283
- _: 1
284
- })), [[
285
- w,
286
- { value: l(B) ? n.$t("views.recordings.unfavorite") : n.$t("views.recordings.favorite") },
287
- void 0,
288
- { left: !0 }
289
- ]]),
290
- _.camera && !_.selectionMode ? g((i(), s(b, {
291
- key: 4,
292
- rounded: "",
293
- text: "",
294
- severity: "secondary",
295
- class: "!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80",
296
- onClick: u[0] ||= t((e) => D("openTrace"), ["stop"]),
297
- onMouseenter: $
298
- }, {
299
- icon: d(() => [y(x, { class: "w-3 h-3 text-white" })]),
300
- _: 1
301
- })), [[
302
- w,
303
- { value: n.$t("views.recordings.open_trace") },
304
- void 0,
305
- { left: !0 }
306
- ]]) : c("", !0),
307
- l(bt) && !_.selectionMode ? g((i(), s(b, {
308
- key: 5,
309
- rounded: "",
310
- text: "",
311
- severity: "secondary",
312
- loading: l(L),
313
- class: "!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80",
314
- onClick: t(jt, ["stop"]),
315
- onMouseenter: $
316
- }, {
317
- icon: d(() => [y(ae, { class: "w-3 h-3 text-white" })]),
318
- _: 1
319
- }, 8, ["loading"])), [[
320
- w,
321
- { value: n.$t("views.recordings.download") },
322
- void 0,
323
- { left: !0 }
324
- ]]) : c("", !0)
325
- ]), h("p", Ie, a(l(yt)), 1)]),
326
- l(U).length > 1 ? (i(), f(p, { key: 4 }, [y(b, {
327
- rounded: "",
328
- text: "",
329
- severity: "secondary",
330
- class: "carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200",
331
- "aria-label": n.$t("views.recordings.prev_image"),
332
- onClick: u[1] ||= t((e) => St(-1), ["stop"]),
333
- onMouseenter: $
334
- }, {
335
- icon: d(() => [y(oe, { class: "w-5 h-5 text-white" })]),
336
- _: 1
337
- }, 8, ["aria-label"]), y(b, {
338
- rounded: "",
339
- text: "",
340
- severity: "secondary",
341
- class: "carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200",
342
- "aria-label": n.$t("views.recordings.next_image"),
343
- onClick: u[2] ||= t((e) => St(1), ["stop"]),
344
- onMouseenter: $
345
- }, {
346
- icon: d(() => [y(S, { class: "w-5 h-5 text-white" })]),
347
- _: 1
348
- }, 8, ["aria-label"])], 64)) : c("", !0),
349
- l(ht) ? (i(), f("div", {
350
- key: 5,
351
- class: o(["absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200", l(Q) ? "bottom-16" : "bottom-10"])
352
- }, [h("span", Le, a(l(ht)), 1)], 2)) : c("", !0),
353
- h("div", {
354
- ref_key: "footerRef",
355
- ref: it,
356
- class: "absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]"
357
- }, [h("div", Re, [
358
- _.selectionMode ? (i(), f("div", {
359
- key: 0,
360
- class: o(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0", _.selected ? "bg-primary border-primary" : "bg-black/40 border-white/80"])
361
- }, [_.selected ? (i(), s(C, {
362
- key: 0,
363
- class: "w-4 h-4 text-white"
364
- })) : c("", !0)], 2)) : c("", !0),
365
- (i(!0), f(p, null, r(l(_t), (e) => (i(), f("div", {
366
- key: e,
367
- class: "flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0"
368
- }, [(i(), s(ee(l(A)[e] ?? l(A).motion), { class: "w-3 h-3 text-white/80" }))]))), 128)),
369
- l(X).length > 0 ? (i(), f("span", {
370
- key: 1,
371
- title: l(X).join(", "),
372
- class: "text-[10px] text-white/60 font-medium shrink-0"
373
- }, " +" + a(l(X).length), 9, ze)) : c("", !0)
374
- ]), l(vt).length > 0 || l(Z) > 0 ? (i(), f("div", Be, [(i(!0), f(p, null, r(l(vt), (e, t) => (i(), f("div", {
375
- key: t,
376
- class: o(["w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer", t === l(W) ? "border-primary/80" : "border-white/20"]),
377
- onClick: (e) => Ct(t, e)
378
- }, [h("img", {
379
- src: e.url,
380
- alt: e.type,
381
- decoding: "async",
382
- loading: "lazy",
383
- class: "w-full h-full object-cover"
384
- }, null, 8, He)], 10, Ve))), 128)), l(Z) > 0 ? (i(), f("span", Ue, "+" + a(l(Z)), 1)) : c("", !0)])) : c("", !0)], 512),
385
- l(M) && l(P) && l(M).isLoading.value ? (i(), f("div", We, [y(se, {
386
- class: "w-[28px] h-[28px] m-0",
387
- "stroke-width": "6"
388
- })])) : c("", !0),
389
- l(Q) ? (i(), f("div", Ge, [h("span", Ke, a(l(Q)), 1)])) : c("", !0)
390
- ], 2)], 544);
391
- };
392
- }
393
- }), [["__scopeId", "data-v-137049b6"]]);
394
- //#endregion
395
- //#region src/components/CuiRecordings/ungrouped.ts
396
- function D(e) {
397
- if (e.episode) return e.episode.endTime;
398
- if (e.segIndex !== void 0) {
399
- let t = e.event.segments?.[e.segIndex];
400
- if (t) return t.firstSeen;
401
- }
402
- return e.event.thumbnailAt ?? e.event.startTime;
403
- }
404
- function Qe(e) {
405
- let t = [];
406
- for (let n of e) {
407
- let e = n.segments ?? [];
408
- if (e.length <= 1) {
409
- t.push({
410
- event: n,
411
- key: n.id
412
- });
413
- continue;
414
- }
415
- e.forEach((e, r) => {
416
- e && t.push({
417
- event: n,
418
- key: `${n.id}:seg:${r}`,
419
- segIndex: r
420
- });
421
- });
422
- }
423
- return t.sort((e, t) => D(t) - D(e)), t;
424
- }
425
- //#endregion
426
- export { D as n, E as r, Qe as t };