@camera.ui/server 2.2.1 → 2.2.3

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 (490) hide show
  1. package/dist/interface/assets/{404-Ci4V-7l9.js → 404-D0S6IGok.js} +1 -1
  2. package/dist/interface/assets/{About-BSGYUvI7.js → About-DAw9u8ZY.js} +1 -1
  3. package/dist/interface/assets/Assistant-Gi6_YkEY.js +1 -0
  4. package/dist/interface/assets/Automation-6eFKPJPu.js +3 -0
  5. package/dist/interface/assets/AutomationImport-95PfbPvG.js +2 -0
  6. package/dist/interface/assets/AutomationStore-BHxzzx7a.js +2 -0
  7. package/dist/interface/assets/AutomationStoreDetail-DEVlRllt.js +2 -0
  8. package/dist/interface/assets/Automations-DEivoiS1.js +2 -0
  9. package/dist/interface/assets/Camera-B5l_gv7t.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-DbmJ9PNU.js → CameraConsole-B8bBYQzk.js} +1 -1
  11. package/dist/interface/assets/Cameras-HblWPGCv.js +651 -0
  12. package/dist/interface/assets/Camview-DEKrbg5R.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-_VQx5fjA.js → CertificateUpload-CC6YtX7h.js} +1 -1
  14. package/dist/interface/assets/{Config-BuuQmMOC.js → Config-DQEaOnaN.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionAssistant-DforDPLT.js → ConfigActionAssistant-C_XRnBzo.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-LwL8BSZX.js → ConfigActionCameraControl-oRzM9rjX.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-C6u-CHFE.js → ConfigActionDelay-Dc-NZS5L.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-CxbJVkf2.js → ConfigActionHttp-Nw0wt-JZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-BpDXjbnf.js → ConfigActionImageInput-Do60Upqm.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-BkbAAepo.js → ConfigActionMqtt-BeQVgaGX.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-B2Dtkf2b.js → ConfigActionNotification-BA0FjOWs.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-DMW2_Vez.js → ConfigActionNotificationControl-Ce3Kd_Xv.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-WVe74xXz.js → ConfigActionOutput-ChiOMWDy.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C3iZfPRv.js → ConfigActionPlugin-Cn3r0glk.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-DSW92VVP.js → ConfigActionSensor-DkdBCu-6.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-Cl3NLmyn.js → ConfigActionSnapshot-CLlaDFUV.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-Due14Kwt.js → ConfigActionVariable-D4x3Luxl.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-mIXw954j.js → ConfigConditionIfElse-BpL8KZ5X.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-C_FpJLnM.js → ConfigConditionSensorState-CSQexUF_.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-CYRUg-Uo.js → ConfigConditionSwitch-CB2J_5kr.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-WkevpYaO.js → ConfigConditionTime-X9fsNsYu.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-BDz5olLY.js → ConfigSensorValueInput-VPhPxrQl.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-Cb_BObEL.js → ConfigTriggerDetection-Dhzng4X5.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-B7Iugx3i.js → ConfigTriggerGeofence-Cm0CLNf5.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-D7w6C58j.js → ConfigTriggerManual-CRi3rsgG.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-D_ozlopI.js → ConfigTriggerMqtt-Ck__CWck.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-1UcaRD5S.js → ConfigTriggerSchedule-C1PZrHEu.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-D9_lg6yH.js → ConfigTriggerSensor-9xVgCtkn.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-COPR6t7r.js → ConfigTriggerSystem-Denf1gkO.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-C0v6uR67.js → ConfigTriggerWebhook-im24LkCn.js} +1 -1
  41. package/dist/interface/assets/Console-Q1HpmyO_.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-BxJf9sdu.js +5 -0
  43. package/dist/interface/assets/{CuiAssistantConversation-BkWDr6uX.css → CuiAssistantConversation-DmSdiv1b.css} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-CGBqZXR4.js → CuiAutomationRunsDialog-B3tJ-Cma.js} +1 -1
  45. package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +1 -0
  46. package/dist/interface/assets/{CuiBottomSheet-DomRjKV8.js → CuiBottomSheet-kvvLw1MQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +1 -0
  49. package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +1 -0
  50. package/dist/interface/assets/{CuiCameraShares-CVbWZZ_i.js → CuiCameraShares-B5ghuJS-.js} +1 -1
  51. package/dist/interface/assets/{CuiCameraTable-B1F2UjZk.js → CuiCameraTable-Y5XUkU7w.js} +1 -1
  52. package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +1 -0
  53. package/dist/interface/assets/{CuiChartTable-CcovDii1.js → CuiChartTable-CXdupaj5.js} +1 -1
  54. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +1 -0
  55. package/dist/interface/assets/{CuiConsole-BzJJnQTd.js → CuiConsole-5KgXSOS5.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-DPIbKnvU.css +1 -0
  57. package/dist/interface/assets/CuiDataTable-hArZWV9B.js +1 -0
  58. package/dist/interface/assets/CuiLightControl-MRpR0XIZ.js +1 -0
  59. package/dist/interface/assets/{CuiList-Dfklll0h.js → CuiList-D-l4HrBP.js} +1 -1
  60. package/dist/interface/assets/CuiPluginCard-whoQ5YHn.js +2 -0
  61. package/dist/interface/assets/CuiPluginCategoryChip-CH53zk2o.js +1 -0
  62. package/dist/interface/assets/CuiPluginOAuthButton-BBA0AzVO.js +2 -0
  63. package/dist/interface/assets/{CuiPluginTrustBadge-CILKiExH.js → CuiPluginTrustBadge-C0EX5aCI.js} +1 -1
  64. package/dist/interface/assets/{CuiQRCode-DHUwFLQz.js → CuiQRCode-BRT0NO5c.js} +1 -1
  65. package/dist/interface/assets/CuiSchema-DBY1x1BT.js +1 -0
  66. package/dist/interface/assets/{CuiTopNavbarItem-DBsbHvkJ.js → CuiTopNavbarItem-CpMT8_0r.js} +1 -1
  67. package/dist/interface/assets/Faces-Dqi30qs9.js +1 -0
  68. package/dist/interface/assets/FirstSteps-B8n4fGK3.js +1 -0
  69. package/dist/interface/assets/Floorplan-ZHXNaZA8.js +1 -0
  70. package/dist/interface/assets/{Instances-cgw_Xzu0.js → Instances-DEj3gs6H.js} +1 -1
  71. package/dist/interface/assets/{Logs-BrTGt33Q.js → Logs-CwHvSKd6.js} +2 -2
  72. package/dist/interface/assets/Menu-C4BxUV0P.js +1 -0
  73. package/dist/interface/assets/Metrics-BCOE-rcw.js +9 -0
  74. package/dist/interface/assets/{OAuthDeviceFlow-Bx6YBLUX.js → OAuthDeviceFlow-D6bjZOYS.js} +1 -1
  75. package/dist/interface/assets/Plugin-ppCvxkl4.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-C6xky2l3.js → PluginConsole-BP42Qpee.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-BnX5lZGz.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-D5dmitq0.js → PluginSchema-uVKXzfo6.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-C4MvWyLb.js +1 -0
  80. package/dist/interface/assets/PluginSearch-no79fTuf.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-Cj4Ilm8M.js → PluginUpdateProgress-73jprYHA.js} +1 -1
  82. package/dist/interface/assets/Plugins-DtEqS6_j.js +1 -0
  83. package/dist/interface/assets/RecentEventsFilter-CtyCbt6Z.js +1 -0
  84. package/dist/interface/assets/Recordings-DrcOsRLn.js +1 -0
  85. package/dist/interface/assets/{SensorEdit-BBTdSbok.js → SensorEdit-D4-mMg8S.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-BmGYTFWx.js → SensorHistory-C-X7VI-f.js} +1 -1
  87. package/dist/interface/assets/Sensors-BJh8BkCR.js +2 -0
  88. package/dist/interface/assets/{Settings-B-lq2Bls.js → Settings-B9CZvA-d.js} +1 -1
  89. package/dist/interface/assets/SettingsAccount-CkvScQmF.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D3zF2kLc.js +1 -0
  91. package/dist/interface/assets/{SettingsAppearance-DMhqHxXU.js → SettingsAppearance-CbG8M38w.js} +1 -1
  92. package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +1 -0
  93. package/dist/interface/assets/SettingsAssistant-BESab92C.css +1 -0
  94. package/dist/interface/assets/SettingsAssistant-DxYPnbms.js +1 -0
  95. package/dist/interface/assets/{SettingsBackup-C9clJ_2F.js → SettingsBackup-DZBzUyQm.js} +1 -1
  96. package/dist/interface/assets/{SettingsList-Ba5TjVzD.js → SettingsList-DFg8g7IM.js} +1 -1
  97. package/dist/interface/assets/{SettingsMqtt-4tFIdfzL.js → SettingsMqtt-BeujOZkh.js} +1 -1
  98. package/dist/interface/assets/SettingsNotifications-DtSTE76r.js +1 -0
  99. package/dist/interface/assets/{SettingsPermissions-B6vNyFvJ.js → SettingsPermissions-CPOAefv0.js} +1 -1
  100. package/dist/interface/assets/SettingsRecordings-ClAtT4Bh.js +1 -0
  101. package/dist/interface/assets/SettingsRemote-58S4Thfp.js +2 -0
  102. package/dist/interface/assets/SettingsSystem-tTGpuiRW.js +2 -0
  103. package/dist/interface/assets/{SettingsUsers-DOUvMVjf.js → SettingsUsers-D8b7I5c2.js} +1 -1
  104. package/dist/interface/assets/{Terminal-BoMq8civ.js → Terminal-1_Fi0VW-.js} +2 -2
  105. package/dist/interface/assets/Training-CQHfQjUP.css +1 -0
  106. package/dist/interface/assets/Training-DfOqDTHJ.js +1 -0
  107. package/dist/interface/assets/{Updates-Cceza_vs.js → Updates-BW0p7Wc5.js} +1 -1
  108. package/dist/interface/assets/{VariableInput-Ds5NaShw.js → VariableInput-sqnLuk6S.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-B0Y5QsCw.js → VariableSuggestions-3pbnxhyT.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-D3ugTFh9.js → VersionsHandler-CWmjDygB.js} +1 -1
  111. package/dist/interface/assets/VirtualSensorCreate-BzmFlvYD.js +1 -0
  112. package/dist/interface/assets/Workers-Dm9o2wMo.js +2 -0
  113. package/dist/interface/assets/api-B6TtU9Ew.css +2 -0
  114. package/dist/interface/assets/{api-C4b9FQa5.js → api-CQ-3I3-i.js} +1 -1
  115. package/dist/interface/assets/api-DPgKdIQZ.js +4 -0
  116. package/dist/interface/assets/{assistant-DfBoMwZZ.js → assistant-0UymvpMy.js} +1 -1
  117. package/dist/interface/assets/{auth-jXwc9evv.js → auth-C0jhqNaz.js} +1 -1
  118. package/dist/interface/assets/{automations-Bx7_-5ll.js → automations-Bj30nb8s.js} +1 -1
  119. package/dist/interface/assets/cameraSources-CiMjIjsh.js +1 -0
  120. package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +1 -0
  121. package/dist/interface/assets/{config-4L2n-1_z.js → config-D-uVfwYp.js} +1 -1
  122. package/dist/interface/assets/dots-vertical-C4DlXZyp.js +1 -0
  123. package/dist/interface/assets/eventIcons-BPQ-zSnz.js +1 -0
  124. package/dist/interface/assets/{flowSchema-ZMBzlKJI.js → flowSchema-D3nNJVLL.js} +1 -1
  125. package/dist/interface/assets/{intercomService-DQ4LZJfW.js → intercomService-BeoNs-09.js} +1 -1
  126. package/dist/interface/assets/main-BrNGfemk.js +3 -0
  127. package/dist/interface/assets/{mqtt-DEt78fr7.js → mqtt-D7jRwifB.js} +1 -1
  128. package/dist/interface/assets/{notifications-mJrKtTFp.js → notifications-BpRVoerg.js} +1 -1
  129. package/dist/interface/assets/pause-B7ud2O8d.js +1 -0
  130. package/dist/interface/assets/{plugins-IMJg5aI8.js → plugins-wZ4RDxCb.js} +1 -1
  131. package/dist/interface/assets/{rooms-Dt3X1UEj.js → rooms-CFcu2dU1.js} +1 -1
  132. package/dist/interface/assets/sensorIcons-B117n8l2.js +1 -0
  133. package/dist/interface/assets/{sensorSlots-CUWphRrL.js → sensorSlots-CAr3prFc.js} +1 -1
  134. package/dist/interface/assets/{sensors-DG-GPuvr.js → sensors-oriEG3KR.js} +1 -1
  135. package/dist/interface/assets/{server-CFtdMCM4.js → server-Ce6ou2NV.js} +1 -1
  136. package/dist/interface/assets/{theme-C8wlVvxI.js → theme-CBTC6-Lp.js} +1 -1
  137. package/dist/interface/assets/{types-BxQYBZ2c.js → types-C-amdBz6.js} +1 -1
  138. package/dist/interface/assets/types-CjU6-JvD.js +1 -0
  139. package/dist/interface/assets/types-CzjppLwt.js +1 -0
  140. package/dist/interface/assets/{ungrouped-Dbr16vFt.css → ungrouped-AYNBKz52.css} +1 -1
  141. package/dist/interface/assets/ungrouped-BQzKp2PT.js +1 -0
  142. package/dist/interface/assets/{updates-DqHYjhVs.js → updates-Cohtc6vb.js} +1 -1
  143. package/dist/interface/assets/{useAppVersion-iJHv6EYQ.js → useAppVersion-xxi6fR7J.js} +1 -1
  144. package/dist/interface/assets/{useAssistantActions-BeXqj2-6.js → useAssistantActions-BkRK1FBg.js} +1 -1
  145. package/dist/interface/assets/useBackupRestore-BGvhSqJB.js +1 -0
  146. package/dist/interface/assets/{useCameraOptions-DVcUIXzh.js → useCameraOptions-ophs2V4p.js} +1 -1
  147. package/dist/interface/assets/{useKeyboardInset-DpxykA20.js → useKeyboardInset-Cpz6Hs5c.js} +1 -1
  148. package/dist/interface/assets/{useLogsSocket-D2gJ0e00.js → useLogsSocket-CB07yhv4.js} +1 -1
  149. package/dist/interface/assets/{useNavLayout-D-KmCM3U.js → useNavLayout-BYEejBpb.js} +1 -1
  150. package/dist/interface/assets/{usePermissions-CsWQ7pWp.js → usePermissions-yWhjYMcr.js} +1 -1
  151. package/dist/interface/assets/{usePluginUpdates-D0bz8TeJ.js → usePluginUpdates-9rvsWfdJ.js} +1 -1
  152. package/dist/interface/assets/{usePushRegistration-B9vouC4k.js → usePushRegistration-b5owOzjH.js} +1 -1
  153. package/dist/interface/assets/{useServerRestart-CaYRL38s.js → useServerRestart-yRXDWnH_.js} +1 -1
  154. package/dist/interface/assets/{useStreamStatus-BSl9TJlX.js → useStreamStatus-BHyWrAHu.js} +1 -1
  155. package/dist/interface/assets/{useTabSwipe-B6GIPOrZ.js → useTabSwipe-Dr9HYP1J.js} +1 -1
  156. package/dist/interface/assets/{useUpdateChannel-BuIKUKQ9.js → useUpdateChannel-IVj0XKlN.js} +1 -1
  157. package/dist/interface/assets/{useUpdatesSocket-B8F-9tUI.js → useUpdatesSocket-CuPHbSF7.js} +1 -1
  158. package/dist/interface/assets/{useUserOptions-9Lcq7htw.js → useUserOptions-zIfrMDiG.js} +1 -1
  159. package/dist/interface/assets/{vendor-cameraui-zaB6gIk1.js → vendor-cameraui-Dhg7MEnt.js} +2 -2
  160. package/dist/interface/assets/{vendor-core-CfoDuMvj.js → vendor-core-CQ2HVu0L.js} +1 -1
  161. package/dist/interface/assets/{vendor-primevue-5HrOunkM.js → vendor-primevue-CeWNZxSE.js} +1 -1
  162. package/dist/interface/assets/vendor-zod-CBbC1rE7.js +109 -0
  163. package/dist/interface/ha/{404-BA6DAi0I.js → 404-B70KNhsW.js} +1 -1
  164. package/dist/interface/ha/{About-D3tEPbYC.js → About-DLNqqctZ.js} +3 -3
  165. package/dist/interface/ha/{Assistant-BSlIm7T1.js → Assistant-Duvvoz2B.js} +1004 -988
  166. package/dist/interface/ha/{Automation-B7ZCtbpe.js → Automation-DZ8zvsvo.js} +199 -199
  167. package/dist/interface/ha/{AutomationImport-CVEGBlET.js → AutomationImport-DOCdim5O.js} +7 -7
  168. package/dist/interface/ha/{AutomationStore-hW-ReFbV.js → AutomationStore-Bjoubp-m.js} +52 -51
  169. package/dist/interface/ha/{AutomationStoreDetail-R-1XPudW.js → AutomationStoreDetail-H-RWNpwm.js} +20 -20
  170. package/dist/interface/ha/{Automations-9CLEXB1U.js → Automations-GyofQfo7.js} +87 -100
  171. package/dist/interface/ha/{Camera-CQK1LgJe.js → Camera-Bo5nMQaU.js} +30 -30
  172. package/dist/interface/ha/{CameraConsole-C6CZ3tzc.js → CameraConsole-BmDQ3rcS.js} +5 -5
  173. package/dist/interface/ha/{Cameras-Bw_Co8e9.js → Cameras-BfHoFjpC.js} +224 -224
  174. package/dist/interface/ha/{Camview-fb7D6KvD.js → Camview-DVoIdM3o.js} +332 -331
  175. package/dist/interface/ha/{Config-Cf0XlhJ-.js → Config-CC8tQiOy.js} +110 -110
  176. package/dist/interface/ha/{ConfigActionAssistant-BtnJwaka.js → ConfigActionAssistant-hfsz38an.js} +4 -4
  177. package/dist/interface/ha/{ConfigActionCameraControl-B1NtlCI4.js → ConfigActionCameraControl-C0-wxlAS.js} +5 -5
  178. package/dist/interface/ha/{ConfigActionHttp-BpI7XQC3.js → ConfigActionHttp-CM_3bIUq.js} +2 -2
  179. package/dist/interface/ha/{ConfigActionImageInput-tLzrOm0l.js → ConfigActionImageInput-B5306Z_7.js} +1 -1
  180. package/dist/interface/ha/{ConfigActionMqtt-DIuCKfQL.js → ConfigActionMqtt-DLiM83Kz.js} +4 -4
  181. package/dist/interface/ha/{ConfigActionNotification-CotMZbgF.js → ConfigActionNotification-36VBlfim.js} +4 -4
  182. package/dist/interface/ha/{ConfigActionNotificationControl-ClnOPBa2.js → ConfigActionNotificationControl-DRjDvA1H.js} +2 -2
  183. package/dist/interface/ha/{ConfigActionOutput-DFRh3xK2.js → ConfigActionOutput-BkGHERoJ.js} +1 -1
  184. package/dist/interface/ha/{ConfigActionPlugin-BSUdCGwz.js → ConfigActionPlugin-Ds1_Pow7.js} +5 -5
  185. package/dist/interface/ha/{ConfigActionSensor-B-PHlt11.js → ConfigActionSensor-22uKE0d0.js} +6 -6
  186. package/dist/interface/ha/{ConfigActionSnapshot-DomyiKiQ.js → ConfigActionSnapshot-uTTsTfo2.js} +2 -2
  187. package/dist/interface/ha/{ConfigActionVariable-D4QZ0GSg.js → ConfigActionVariable-DNMJBiQV.js} +1 -1
  188. package/dist/interface/ha/{ConfigConditionIfElse-Din_LVbb.js → ConfigConditionIfElse-BVzmIDKK.js} +3 -3
  189. package/dist/interface/ha/{ConfigConditionSensorState-cnMbVYSj.js → ConfigConditionSensorState-Di7Ic1xI.js} +4 -4
  190. package/dist/interface/ha/{ConfigConditionSwitch-nLCPZ02V.js → ConfigConditionSwitch-D8CcTHJ1.js} +10 -10
  191. package/dist/interface/ha/{ConfigConditionTime-CcZFjBil.js → ConfigConditionTime-CRn4k6uE.js} +2 -2
  192. package/dist/interface/ha/{ConfigSensorValueInput-CrZoNX72.js → ConfigSensorValueInput-DthsOthT.js} +5 -4
  193. package/dist/interface/ha/{ConfigTriggerDetection-MsrbiErr.js → ConfigTriggerDetection-BDYanDEV.js} +4 -4
  194. package/dist/interface/ha/{ConfigTriggerGeofence-BxQ0n4-f.js → ConfigTriggerGeofence-Binp0lYx.js} +7 -7
  195. package/dist/interface/ha/{ConfigTriggerMqtt-ti8xd7vF.js → ConfigTriggerMqtt-BaPzSHbK.js} +1 -1
  196. package/dist/interface/ha/{ConfigTriggerSensor-CNlsV9yo.js → ConfigTriggerSensor-DiTaTZXm.js} +2 -2
  197. package/dist/interface/ha/{ConfigTriggerSystem-CsULDPX-.js → ConfigTriggerSystem-CsdWiz-S.js} +2 -2
  198. package/dist/interface/ha/{ConfigTriggerWebhook-BnUer9x_.js → ConfigTriggerWebhook-Ca0PsUmU.js} +2 -2
  199. package/dist/interface/ha/{Console-B1Y6mBPP.js → Console-0amlIoZR.js} +100 -100
  200. package/dist/interface/ha/{CuiAutomationRunsDialog-BHJIQ0Tj.js → CuiAutomationRunsDialog-DNBuwkgL.js} +2 -2
  201. package/dist/interface/ha/{CuiBottomSheet-DyCegs0G.js → CuiBottomSheet-CdXBYz4P.js} +1 -1
  202. package/dist/interface/ha/{CuiCameraRecordings-Cfzu3-OA.js → CuiCameraRecordings-D4ZB56nd.js} +21 -21
  203. package/dist/interface/ha/{CuiCameraShares-CE2Z9Osp.js → CuiCameraShares-YmzZusZR.js} +5 -5
  204. package/dist/interface/ha/{CuiCameraTable-DCm-DNjq.js → CuiCameraTable-DFzhCO3J.js} +8 -8
  205. package/dist/interface/ha/{CuiChartTable-BYkhLvXA.js → CuiChartTable-BvfJbFNS.js} +20 -18
  206. package/dist/interface/ha/{CuiConsole-DTDUpQ_E.js → CuiConsole-DtxyD6Sd.js} +5 -5
  207. package/dist/interface/ha/{CuiDataTable-Cxk-gD0O.js → CuiDataTable-CHvx6ALQ.js} +19 -12
  208. package/dist/interface/ha/{CuiPluginCard-CaJWPBXm.js → CuiPluginCard-B3vU57eD.js} +50 -50
  209. package/dist/interface/ha/{CuiPluginOAuthButton--RbsaIiq.js → CuiPluginOAuthButton-DgOFfP5e.js} +8 -8
  210. package/dist/interface/ha/{CuiPluginTrustBadge-G79t87hq.js → CuiPluginTrustBadge-udmtgGHt.js} +3 -3
  211. package/dist/interface/ha/{CuiQRCode-C0o0cS3C.js → CuiQRCode-8yDZMC3o.js} +7 -7
  212. package/dist/interface/ha/{CuiSchema-BmfjaboJ.js → CuiSchema-0Hikg2mm.js} +125 -125
  213. package/dist/interface/ha/{CuiTopNavbarItem-KlOpTPMA.js → CuiTopNavbarItem-B139fVxP.js} +1 -1
  214. package/dist/interface/ha/{Faces-CG1S8jsV.js → Faces-YdAf9USr.js} +45 -44
  215. package/dist/interface/ha/{FirstSteps-B4cODn_E.js → FirstSteps-Dts6TJ6O.js} +64 -64
  216. package/dist/interface/ha/{Floorplan-CM5cL4_h.js → Floorplan-D6XXe8ni.js} +428 -427
  217. package/dist/interface/ha/{Instances-B1KAGADd.js → Instances-DsIsonqp.js} +71 -71
  218. package/dist/interface/ha/{Logs-CNVJvujx.js → Logs-Cyo3LC94.js} +11 -11
  219. package/dist/interface/ha/{Menu-hlaVYE5G.js → Menu-yh_sI9d9.js} +20 -25
  220. package/dist/interface/ha/{Metrics-CUllrnJc.js → Metrics-VehQmsmN.js} +91 -90
  221. package/dist/interface/ha/{OAuthDeviceFlow-kYPoT4p2.js → OAuthDeviceFlow-CXp9NvbY.js} +9 -9
  222. package/dist/interface/ha/{Plugin-QvBE-VHD.js → Plugin-BqvlXx43.js} +127 -126
  223. package/dist/interface/ha/{PluginConsole-Cpd8sx5a.js → PluginConsole-Dx84BNoO.js} +6 -6
  224. package/dist/interface/ha/{PluginDetail-CqSaIeH-.js → PluginDetail-DUpDS2nD.js} +10 -10
  225. package/dist/interface/ha/{PluginSearch-C-3nAbyu.js → PluginSearch-Cvh0P9VB.js} +127 -126
  226. package/dist/interface/ha/{PluginUpdateProgress-Izcgxa6-.js → PluginUpdateProgress-CfyI2Qdp.js} +3 -3
  227. package/dist/interface/ha/Plugins-DXreIUwr.js +692 -0
  228. package/dist/interface/ha/RecentEventsFilter-C1deXNIS.js +79 -0
  229. package/dist/interface/ha/{Recordings-BSR6AGq2.js → Recordings-Cb8ifRcB.js} +352 -383
  230. package/dist/interface/ha/{SensorEdit-KLS5N1YP.js → SensorEdit-CsNXxcdj.js} +353 -351
  231. package/dist/interface/ha/{SensorHistory-nHGwqzDW.js → SensorHistory-DToDalOm.js} +2 -2
  232. package/dist/interface/ha/{Sensors-VAy09hDh.js → Sensors-B6giaowJ.js} +191 -189
  233. package/dist/interface/ha/{Settings-DINmP-PB.js → Settings-CVed7MM_.js} +22 -22
  234. package/dist/interface/ha/{SettingsAccount-B-3XO53P.js → SettingsAccount-CvvsLPoT.js} +263 -262
  235. package/dist/interface/ha/{SettingsAppearance-B7ONsdV3.js → SettingsAppearance-BDJeNGTd.js} +19 -19
  236. package/dist/interface/ha/SettingsAssistant-B168p5HB.js +1857 -0
  237. package/dist/interface/ha/{SettingsBackup-CRzyW7Ce.js → SettingsBackup-Bz_9xJ61.js} +42 -42
  238. package/dist/interface/ha/{SettingsList-GWb7HKeq.js → SettingsList-B42rajJc.js} +2 -2
  239. package/dist/interface/ha/{SettingsMqtt-Db8CUtzi.js → SettingsMqtt-B5Qy6bxD.js} +23 -23
  240. package/dist/interface/ha/SettingsNotifications-C59UxYic.js +529 -0
  241. package/dist/interface/ha/{SettingsRecordings-s52rT7TX.js → SettingsRecordings-CkJGOiyQ.js} +11 -10
  242. package/dist/interface/ha/{SettingsRemote-DYUJdmKW.js → SettingsRemote-Cc-qt3si.js} +340 -340
  243. package/dist/interface/ha/{SettingsSystem-Bkfc5Tky.js → SettingsSystem-Cco2XXsS.js} +9 -9
  244. package/dist/interface/ha/{SettingsUsers-BHLsFMG9.js → SettingsUsers-BDh-3saR.js} +36 -36
  245. package/dist/interface/ha/{Terminal-CDZjjg7e.js → Terminal-D2U-kFPW.js} +41 -41
  246. package/dist/interface/ha/Training-DWcaCI-3.js +1499 -0
  247. package/dist/interface/ha/{Updates-DM5YITjv.js → Updates-DGHNcvO9.js} +13 -13
  248. package/dist/interface/ha/{VariableInput-DOiVQbEb.js → VariableInput-Bujz1T1I.js} +1 -1
  249. package/dist/interface/ha/{VersionsHandler-CjzF5jII.js → VersionsHandler-CXvbeKbl.js} +10 -10
  250. package/dist/interface/ha/{VirtualSensorCreate-q7b13gfi.js → VirtualSensorCreate-DOYONbgu.js} +3 -3
  251. package/dist/interface/ha/{Workers-Vf16lK9P.js → Workers-tQbC3WS6.js} +28 -28
  252. package/dist/interface/ha/{accordion-DdpJ2jcK.js → accordion-X9Wa7KVq.js} +1 -1
  253. package/dist/interface/ha/{api-C0pVlzsW.js → api-BI6_Fcag.js} +9483 -9888
  254. package/dist/interface/ha/{api-Bnk0paIs.js → api-DfJZj7ht.js} +3 -3
  255. package/dist/interface/ha/{assistant-DJPdidEd.js → assistant-BqSg4N8v.js} +55 -55
  256. package/dist/interface/ha/{auth-CmCJIpis.js → auth-BFoSqfzS.js} +39 -39
  257. package/dist/interface/ha/{automationBlueprint-CtX7AOzy.js → automationBlueprint-Q0yt2MdH.js} +4 -3
  258. package/dist/interface/ha/cameraui-cards.js +1 -1
  259. package/dist/interface/ha/{cards-Cn0baEOx.js → cards-BW9I5B5Z.js} +561 -560
  260. package/dist/interface/ha/checkbox-D012nd17.js +279 -0
  261. package/dist/interface/ha/{config-DxaLI3Wy.js → config-CeNHEP9A.js} +16 -16
  262. package/dist/interface/ha/{datepicker-DpDmhDeD.js → datepicker-44Ub2Hx0.js} +329 -604
  263. package/dist/interface/ha/dist-BTp4AyuI.js +287 -0
  264. package/dist/interface/ha/{dist-aGnBxAoZ.js → dist-BV3OfApt.js} +763 -1048
  265. package/dist/interface/ha/dots-vertical-BEPlUtxU.js +19 -0
  266. package/dist/interface/ha/eventIcons-DrjNuTS2.js +676 -0
  267. package/dist/interface/ha/{mqtt-BSUalkMz.js → mqtt-BkYa2CXH.js} +12 -12
  268. package/dist/interface/ha/{multiselect-Cedfen4P.js → multiselect-B0fAnW75.js} +1 -1
  269. package/dist/interface/ha/{notifications-DuVSTES6.js → notifications-E3WSCGpc.js} +22 -22
  270. package/dist/interface/ha/pause-Ch6v65wA.js +19 -0
  271. package/dist/interface/ha/{pinia-Dk3LfWcE.js → pinia-DoDLbPZ3.js} +2293 -2274
  272. package/dist/interface/ha/{plugins-XTsvVLj3.js → plugins-2jjU7TfW.js} +68 -68
  273. package/dist/interface/ha/pwa/favicon-16.ico +0 -0
  274. package/dist/interface/ha/pwa/favicon-32.ico +0 -0
  275. package/dist/interface/ha/pwa/favicon-48.ico +0 -0
  276. package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
  277. package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
  278. package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
  279. package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
  280. package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
  281. package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
  282. package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
  283. package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
  284. package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
  285. package/dist/interface/ha/{rooms-Ch5UrfPN.js → rooms-BkEw1ev-.js} +8 -8
  286. package/dist/interface/ha/{server-h-kQ6sSS.js → server-CuK4o2fS.js} +31 -31
  287. package/dist/interface/ha/{types-DjunpV_X.js → types-BRHWeX0a.js} +48 -34
  288. package/dist/interface/ha/{ungrouped-DkDSBlpG.js → ungrouped-BDwep3kg.js} +189 -206
  289. package/dist/interface/ha/{updates-D0cNiMIr.js → updates-R4xTxour.js} +42 -42
  290. package/dist/interface/ha/{useAppVersion-Cpv2npEz.js → useAppVersion-uaFjqUpx.js} +1 -1
  291. package/dist/interface/ha/{useLogsSocket-Du83S3Wz.js → useLogsSocket-BZq9GXfy.js} +1 -1
  292. package/dist/interface/ha/{useNavLayout-XBJRTK3F.js → useNavLayout-BJdDE__R.js} +11 -11
  293. package/dist/interface/ha/{useServerRestart-CWhJrEyy.js → useServerRestart-DDCKnE6c.js} +1 -1
  294. package/dist/interface/ha/{useTabSwipe-BSlykGzV.js → useTabSwipe-CEH6ltIZ.js} +1 -1
  295. package/dist/interface/ha/{useUpdateChannel-DZttbpyK.js → useUpdateChannel-CHt1il2V.js} +2 -2
  296. package/dist/interface/ha/{useUpdatesSocket-DI15Udke.js → useUpdatesSocket-BnVaNioY.js} +1 -1
  297. package/dist/interface/ha/{useUserOptions-CQL8tMr4.js → useUserOptions-C7cQ1P3Q.js} +1 -1
  298. package/dist/interface/index.html +35 -34
  299. package/dist/interface/pwa/favicon-16.ico +0 -0
  300. package/dist/interface/pwa/favicon-32.ico +0 -0
  301. package/dist/interface/pwa/favicon-48.ico +0 -0
  302. package/dist/interface/pwa/pwa-120x120.png +0 -0
  303. package/dist/interface/pwa/pwa-24x24.png +0 -0
  304. package/dist/interface/pwa/pwa-36x36.png +0 -0
  305. package/dist/interface/pwa/pwa-48x48.png +0 -0
  306. package/dist/interface/pwa/pwa-50x50.png +0 -0
  307. package/dist/interface/pwa/pwa-64x64.png +0 -0
  308. package/dist/interface/pwa/pwa-72x72.png +0 -0
  309. package/dist/interface/pwa/pwa-88x88.png +0 -0
  310. package/dist/interface/pwa/pwa-96x96.png +0 -0
  311. package/dist/interface/sw.js +1 -1
  312. package/dist/server/package.json +7 -8
  313. package/dist/server/requirements.txt +1 -1
  314. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +2 -0
  315. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +2 -0
  316. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +9 -5
  317. package/dist/server/src/api/controllers/assistant.controller.js +2 -1
  318. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  319. package/dist/server/src/api/controllers/plugins.controller.js +3 -3
  320. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  321. package/dist/server/src/api/controllers/users.controller.d.ts +3 -1
  322. package/dist/server/src/api/controllers/users.controller.js +38 -0
  323. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  324. package/dist/server/src/api/database/index.d.ts +1 -1
  325. package/dist/server/src/api/database/index.js +1 -1
  326. package/dist/server/src/api/database/index.js.map +1 -1
  327. package/dist/server/src/api/database/migrations/v2-2-3.d.ts +3 -0
  328. package/dist/server/src/api/database/migrations/v2-2-3.js +22 -0
  329. package/dist/server/src/api/database/migrations/v2-2-3.js.map +1 -0
  330. package/dist/server/src/api/database/record-schemas.d.ts +44 -1
  331. package/dist/server/src/api/database/record-schemas.js +3 -3
  332. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  333. package/dist/server/src/api/database/types.d.ts +4 -2
  334. package/dist/server/src/api/routes/users.routes.js +24 -1
  335. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  336. package/dist/server/src/api/schemas/assistant.schema.d.ts +43 -1
  337. package/dist/server/src/api/schemas/assistant.schema.js +2 -1
  338. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  339. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -16
  340. package/dist/server/src/api/schemas/cameras.schema.js +5 -5
  341. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  342. package/dist/server/src/api/schemas/users.schema.d.ts +8 -0
  343. package/dist/server/src/api/schemas/users.schema.js +45 -0
  344. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  345. package/dist/server/src/api/services/users.service.d.ts +3 -1
  346. package/dist/server/src/api/services/users.service.js +33 -0
  347. package/dist/server/src/api/services/users.service.js.map +1 -1
  348. package/dist/server/src/api/types/index.d.ts +4 -1
  349. package/dist/server/src/api/types/index.js.map +1 -1
  350. package/dist/server/src/api/websocket/nsp/logs.d.ts +5 -2
  351. package/dist/server/src/api/websocket/nsp/logs.js +20 -5
  352. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  353. package/dist/server/src/api/websocket/nsp/training.d.ts +1 -1
  354. package/dist/server/src/api/websocket/nsp/training.js +3 -2
  355. package/dist/server/src/api/websocket/nsp/training.js.map +1 -1
  356. package/dist/server/src/assistant/manager.d.ts +1 -0
  357. package/dist/server/src/assistant/manager.js +24 -2
  358. package/dist/server/src/assistant/manager.js.map +1 -1
  359. package/dist/server/src/assistant/prompt.d.ts +1 -0
  360. package/dist/server/src/assistant/prompt.js +10 -1
  361. package/dist/server/src/assistant/prompt.js.map +1 -1
  362. package/dist/server/src/assistant/reasoning.d.ts +1 -1
  363. package/dist/server/src/assistant/reasoning.js +6 -3
  364. package/dist/server/src/assistant/reasoning.js.map +1 -1
  365. package/dist/server/src/assistant/retry.d.ts +4 -0
  366. package/dist/server/src/assistant/retry.js +3 -0
  367. package/dist/server/src/assistant/retry.js.map +1 -1
  368. package/dist/server/src/assistant/search.js +4 -2
  369. package/dist/server/src/assistant/search.js.map +1 -1
  370. package/dist/server/src/assistant/skills.js +3 -2
  371. package/dist/server/src/assistant/skills.js.map +1 -1
  372. package/dist/server/src/assistant/tool-names.d.ts +2 -0
  373. package/dist/server/src/assistant/tool-names.js +23 -0
  374. package/dist/server/src/assistant/tool-names.js.map +1 -0
  375. package/dist/server/src/assistant/tools/api.js +2 -0
  376. package/dist/server/src/assistant/tools/api.js.map +1 -1
  377. package/dist/server/src/assistant/tools/docs.js +1 -0
  378. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  379. package/dist/server/src/assistant/tools/index.js +2 -2
  380. package/dist/server/src/assistant/tools/index.js.map +1 -1
  381. package/dist/server/src/assistant/tools/memory.js +1 -0
  382. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  383. package/dist/server/src/assistant/tools/notifications.d.ts +2 -1
  384. package/dist/server/src/assistant/tools/notifications.js +69 -35
  385. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  386. package/dist/server/src/assistant/tools/plugins.d.ts +7 -1
  387. package/dist/server/src/assistant/tools/plugins.js +13 -9
  388. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  389. package/dist/server/src/assistant/tools/settings.js +1 -0
  390. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  391. package/dist/server/src/assistant/uploads.js +8 -1
  392. package/dist/server/src/assistant/uploads.js.map +1 -1
  393. package/dist/server/src/automations/utilities/imageInput.js +4 -2
  394. package/dist/server/src/automations/utilities/imageInput.js.map +1 -1
  395. package/dist/server/src/camera/controller.d.ts +3 -0
  396. package/dist/server/src/camera/controller.js +41 -28
  397. package/dist/server/src/camera/controller.js.map +1 -1
  398. package/dist/server/src/camera/index.d.ts +1 -7
  399. package/dist/server/src/camera/index.js +0 -13
  400. package/dist/server/src/camera/index.js.map +1 -1
  401. package/dist/server/src/camera/privacy/snapshot.js +4 -2
  402. package/dist/server/src/camera/privacy/snapshot.js.map +1 -1
  403. package/dist/server/src/camera/snapshot-store.d.ts +22 -0
  404. package/dist/server/src/camera/snapshot-store.js +78 -0
  405. package/dist/server/src/camera/snapshot-store.js.map +1 -0
  406. package/dist/server/src/camera/streaming/fmp4-session.d.ts +2 -1
  407. package/dist/server/src/camera/streaming/fmp4-session.js +4 -0
  408. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  409. package/dist/server/src/camera/streaming/rtp-session.js +1 -0
  410. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  411. package/dist/server/src/manager/downloadManager.d.ts +1 -0
  412. package/dist/server/src/manager/downloadManager.js +3 -0
  413. package/dist/server/src/manager/downloadManager.js.map +1 -1
  414. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  415. package/dist/server/src/manager/notificationManager.js +13 -2
  416. package/dist/server/src/manager/notificationManager.js.map +1 -1
  417. package/dist/server/src/manager/trainingCandidateManager.js +17 -13
  418. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  419. package/dist/server/src/manager/types.d.ts +4 -0
  420. package/dist/server/src/rpc/interfaces/device.d.ts +1 -0
  421. package/dist/server/src/sensors/registry.js +2 -2
  422. package/dist/server/src/sensors/registry.js.map +1 -1
  423. package/dist/server/src/utils/image.d.ts +1 -0
  424. package/dist/server/src/utils/image.js +95 -0
  425. package/dist/server/src/utils/image.js.map +1 -0
  426. package/package.json +7 -8
  427. package/dist/interface/assets/Assistant-CblA57eC.js +0 -1
  428. package/dist/interface/assets/Automation-WFaHCnEO.js +0 -3
  429. package/dist/interface/assets/AutomationImport-HRMq3VvF.js +0 -2
  430. package/dist/interface/assets/AutomationStore-BaaFYySv.js +0 -2
  431. package/dist/interface/assets/AutomationStoreDetail-IiLAbn4L.js +0 -2
  432. package/dist/interface/assets/Automations-DRTUxje4.js +0 -2
  433. package/dist/interface/assets/Camera-CaNYoR20.js +0 -2
  434. package/dist/interface/assets/Cameras-DnLbeJFs.js +0 -651
  435. package/dist/interface/assets/Camview-uZ50ebLh.js +0 -1
  436. package/dist/interface/assets/Console-CHdFH_Ip.js +0 -1
  437. package/dist/interface/assets/CuiAssistantConversation-B_eSNMuO.js +0 -5
  438. package/dist/interface/assets/CuiBottomSheet-B7hreGA-.js +0 -1
  439. package/dist/interface/assets/CuiCameraPipCard-BXCRph8M.js +0 -1
  440. package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +0 -1
  441. package/dist/interface/assets/CuiCameraRecordings-CztUs6YM.js +0 -1
  442. package/dist/interface/assets/CuiCameraTable-BmsSlihU.js +0 -1
  443. package/dist/interface/assets/CuiChartTable-DCGY-zVy.css +0 -1
  444. package/dist/interface/assets/CuiDataTable-CNFiiz_X.js +0 -1
  445. package/dist/interface/assets/CuiDataTable-DbkFXZeg.css +0 -1
  446. package/dist/interface/assets/CuiLightControl-u_yM0oyh.js +0 -1
  447. package/dist/interface/assets/CuiPluginCard-Bib3KXMs.js +0 -2
  448. package/dist/interface/assets/CuiPluginCategoryChip-CKSV5COz.js +0 -1
  449. package/dist/interface/assets/CuiPluginOAuthButton-Cug_uTVq.js +0 -2
  450. package/dist/interface/assets/CuiSchema-ycZ4rNC_.js +0 -1
  451. package/dist/interface/assets/Faces-D6pm4dxq.js +0 -1
  452. package/dist/interface/assets/FirstSteps-DotR0zU_.js +0 -1
  453. package/dist/interface/assets/Floorplan-xxlvYsYV.js +0 -1
  454. package/dist/interface/assets/Menu-6FMKvbpH.js +0 -1
  455. package/dist/interface/assets/Metrics-SQdgeJrD.js +0 -9
  456. package/dist/interface/assets/Plugin-CsT7_OZp.js +0 -1
  457. package/dist/interface/assets/PluginDetail-Bz65OQlN.js +0 -2
  458. package/dist/interface/assets/PluginSearch-CrzD6rwo.js +0 -1
  459. package/dist/interface/assets/PluginSearch-DKSrC539.js +0 -2
  460. package/dist/interface/assets/Plugins-BvuGEkhs.js +0 -1
  461. package/dist/interface/assets/Recordings-6MHDmY05.js +0 -1
  462. package/dist/interface/assets/Sensors-XQLst9D2.js +0 -2
  463. package/dist/interface/assets/SettingsAccount-BwC-JLu1.js +0 -1
  464. package/dist/interface/assets/SettingsAccount-D8txIS7w.js +0 -1
  465. package/dist/interface/assets/SettingsAppearance-D1PEIzvU.js +0 -1
  466. package/dist/interface/assets/SettingsAssistant-BpTwRGXe.css +0 -1
  467. package/dist/interface/assets/SettingsAssistant-C_9kjVnu.js +0 -1
  468. package/dist/interface/assets/SettingsNotifications-DhXKEfw0.js +0 -1
  469. package/dist/interface/assets/SettingsRecordings-BqRtaATr.js +0 -1
  470. package/dist/interface/assets/SettingsRemote-9YXNd_d3.js +0 -2
  471. package/dist/interface/assets/SettingsSystem-CwlTgN12.js +0 -2
  472. package/dist/interface/assets/Training-DMNjB3uX.css +0 -1
  473. package/dist/interface/assets/Training-DQP1EUdI.js +0 -1
  474. package/dist/interface/assets/VirtualSensorCreate-VIHqPQuq.js +0 -1
  475. package/dist/interface/assets/Workers-CJXGSHP0.js +0 -2
  476. package/dist/interface/assets/api-0KzHya6g.js +0 -4
  477. package/dist/interface/assets/api-C85p0Dk3.css +0 -2
  478. package/dist/interface/assets/cameraSources-B5dOcB7w.js +0 -1
  479. package/dist/interface/assets/cloudHandoff-DzrB62Ot.js +0 -1
  480. package/dist/interface/assets/main-BREBoPYq.js +0 -3
  481. package/dist/interface/assets/sensorIcons-Dwg45YYo.js +0 -1
  482. package/dist/interface/assets/types-B5ZroTch.js +0 -1
  483. package/dist/interface/assets/types-BZz-3rol.js +0 -1
  484. package/dist/interface/assets/ungrouped-CH2Ug0hy.js +0 -1
  485. package/dist/interface/assets/useBackupRestore-5E-Y8DMu.js +0 -1
  486. package/dist/interface/assets/vendor-zod-BMOt_yT8.js +0 -109
  487. package/dist/interface/ha/Plugins-BkvUlAHi.js +0 -705
  488. package/dist/interface/ha/SettingsAssistant-VQkALMWq.js +0 -1699
  489. package/dist/interface/ha/SettingsNotifications-lNH9mh9I.js +0 -529
  490. package/dist/interface/ha/Training-BbRm4L9a.js +0 -1469
@@ -3,29 +3,32 @@ import { D as n, G as r, H as i, Jt as a, U as o, Wt as s, Y as c, _t as l, d as
3
3
  import { t as M } from "./tooltip-X5MY9FoG.js";
4
4
  import { t as N } from "./message-BExXUXHN.js";
5
5
  import { t as P } from "./tag-Bko2QYOK.js";
6
- import { $r as F, B as I, Cn as ee, Cr as L, Ei as R, Fn as z, Fr as B, H as te, Hn as V, Ir as ne, K as H, Lr as re, Or as U, Pr as ie, Rr as W, Sr as ae, V as oe, Wn as se, Y as ce, cr as G, dr as le, en as ue, ft as de, g as fe, ir as K, ki as pe, kr as me, lr as he, nt as ge, ot as _e, q as ve, rt as ye, sr as be, tr as xe, ur as Se, yr as Ce, yt as we, z as Te, zn as Ee } from "./api-C0pVlzsW.js";
7
- import { F as De, M as Oe, z as ke } from "./protocol-BB4jdtUC-BcZnYd-h.js";
8
- import { h as Ae, u as je } from "./intercomService-Dwd0bhSN.js";
9
- import { n as Me } from "./vue-i18n-BBObX4QY.js";
10
- import { M as Ne, ct as Pe, nt as Fe, tt as Ie } from "./dist-aGnBxAoZ.js";
6
+ import { An as F, B as I, Dr as ee, En as L, Er as R, H as z, J as te, Jn as ne, Ln as re, Or as B, Pn as ie, Qn as V, Tr as H, U, V as ae, Vn as oe, W as se, Wr as W, Y as ce, Yn as le, Z as ue, at as G, br as K, g as de, gi as fe, hn as pe, ht as me, jn as he, kr as ge, lt as _e, mr as ve, nr as ye, ot as be, pr as xe, qt as Se, tr as Ce, ur as we, yi as Te, yr as Ee, z as De } from "./api-BI6_Fcag.js";
7
+ import { F as Oe, M as ke, z as Ae } from "./protocol-BB4jdtUC-BcZnYd-h.js";
8
+ import { h as je, u as Me } from "./intercomService-Dwd0bhSN.js";
9
+ import { n as Ne } from "./vue-i18n-BBObX4QY.js";
10
+ import { C as Pe, _ as Fe, g as Ie } from "./dist-BTp4AyuI.js";
11
11
  import { i as Le } from "./alert-outline-BssBb-kV.js";
12
- import { t as Re } from "./button-DJDZxmKj.js";
13
- import { t as ze } from "./inputtext-vdcrNX6K.js";
14
- import { a as q, t as Be } from "./datepicker-DpDmhDeD.js";
15
- import { t as Ve } from "./close-C_ajB9j7.js";
12
+ import { t as Re } from "./eventIcons-DrjNuTS2.js";
13
+ import { t as ze } from "./button-DJDZxmKj.js";
14
+ import { M as Be } from "./dist-BV3OfApt.js";
15
+ import { t as Ve } from "./inputtext-vdcrNX6K.js";
16
+ import { t as q } from "./checkbox-D012nd17.js";
17
+ import { t as He } from "./datepicker-44Ub2Hx0.js";
18
+ import { t as Ue } from "./close-C_ajB9j7.js";
16
19
  import { t as J } from "./select-CaVzuLaS.js";
17
- import { t as He } from "./progressbar-C2663Zd7.js";
18
- import { t as Ue } from "./multiselect-Cedfen4P.js";
19
- import { t as We } from "./textarea-DrKQ6YMZ.js";
20
- import { s as Ge, t as Ke } from "./assistant-DJPdidEd.js";
21
- import { i as qe, n as Y, t as Je } from "./eventLabels-B4C1_4vT.js";
22
- import { t as Ye } from "./ring-resize-11TaovpK.js";
23
- import { i as Xe, n as Ze, r as Qe, t as $e } from "./ungrouped-DkDSBlpG.js";
24
- import { t as et } from "./utils-DYtBrGDz.js";
25
- import { t as tt } from "./settings-DkoB1zyf.js";
26
- import { n as nt, t as rt } from "./round-alt-arrow-left-bold-z7BNLjup.js";
20
+ import { t as We } from "./progressbar-C2663Zd7.js";
21
+ import { t as Ge } from "./multiselect-B0fAnW75.js";
22
+ import { t as Ke } from "./textarea-DrKQ6YMZ.js";
23
+ import { s as qe, t as Je } from "./assistant-BqSg4N8v.js";
24
+ import { i as Ye, n as Y, t as Xe } from "./eventLabels-B4C1_4vT.js";
25
+ import { t as Ze } from "./ring-resize-11TaovpK.js";
26
+ import { i as Qe, n as $e, r as et, t as tt } from "./ungrouped-BDwep3kg.js";
27
+ import { t as nt } from "./utils-DYtBrGDz.js";
28
+ import { t as rt } from "./settings-DkoB1zyf.js";
29
+ import { n as it, t as at } from "./round-alt-arrow-left-bold-z7BNLjup.js";
27
30
  //#region node_modules/@camera.ui/sdk/dist/camera/events.js
28
- var it = [
31
+ var ot = [
29
32
  "motion",
30
33
  "audio",
31
34
  "contact",
@@ -48,62 +51,30 @@ var it = [
48
51
  "power",
49
52
  "lock",
50
53
  "garage"
51
- ], at = {
54
+ ], st = {
52
55
  viewBox: "0 0 24 24",
53
56
  width: "1.2em",
54
57
  height: "1.2em"
55
58
  };
56
- function ot(e, t) {
57
- return i(), v("svg", at, [...t[0] ||= [C("path", {
58
- fill: "currentColor",
59
- d: "M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75"
60
- }, null, -1)]]);
61
- }
62
- var st = l({
63
- name: "mage-filter-fill",
64
- render: ot
65
- }), ct = {
66
- viewBox: "0 0 24 24",
67
- width: "1.2em",
68
- height: "1.2em"
69
- };
70
- function X(e, t) {
71
- return i(), v("svg", ct, [...t[0] ||= [C("path", {
72
- fill: "none",
73
- stroke: "currentColor",
74
- "stroke-linecap": "round",
75
- "stroke-miterlimit": "10",
76
- "stroke-width": "1.5",
77
- d: "M21.25 12H8.895m-4.361 0H2.75m18.5 6.607h-5.748m-4.361 0H2.75m18.5-13.214h-3.105m-4.361 0H2.75m13.214 2.18a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm-9.25 6.607a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm6.607 6.608a2.18 2.18 0 1 0 0-4.361a2.18 2.18 0 0 0 0 4.36Z"
78
- }, null, -1)]]);
79
- }
80
- var lt = l({
81
- name: "mage-filter",
82
- render: X
83
- }), ut = {
84
- viewBox: "0 0 24 24",
85
- width: "1.2em",
86
- height: "1.2em"
87
- };
88
- function dt(e, t) {
89
- return i(), v("svg", ut, [...t[0] ||= [C("path", {
59
+ function ct(e, t) {
60
+ return i(), v("svg", st, [...t[0] ||= [C("path", {
90
61
  fill: "currentColor",
91
62
  d: "M6 12.45V9.64c1.47.83 3.61 1.36 6 1.36s4.53-.53 6-1.36v2.39c.17-.03.33-.03.5-.03c.5 0 1 .07 1.5.18V7c0-2.21-3.58-4-8-4S4 4.79 4 7v10c0 2.21 3.59 4 8 4h.5c-.26-.63-.41-1.3-.47-2H12c-3.87 0-6-1.5-6-2v-2.23c1.61.78 3.72 1.23 6 1.23h.5c.35-.82.84-1.54 1.45-2.14c-.63.09-1.28.14-1.95.14c-2.42 0-4.7-.6-6-1.55M12 5c3.87 0 6 1.5 6 2s-2.13 2-6 2s-6-1.5-6-2s2.13-2 6-2m6 13.5l1.77-1.77A2.5 2.5 0 1 0 20 20h1.71A3.99 3.99 0 0 1 18 22.5c-2.21 0-4-1.79-4-4s1.79-4 4-4c1.11 0 2.11.45 2.83 1.17L22 14.5v4z"
92
63
  }, null, -1)]]);
93
64
  }
94
- var ft = l({
65
+ var lt = l({
95
66
  name: "mdi-database-refresh-outline",
96
- render: dt
97
- }), pt = { class: "flex flex-col gap-4" }, mt = { class: "text-sm text-pretty" }, Z = {
67
+ render: ct
68
+ }), ut = { class: "flex flex-col gap-4" }, X = { class: "text-sm text-pretty" }, dt = {
98
69
  key: 0,
99
70
  class: "flex flex-col gap-2"
100
- }, ht = {
71
+ }, ft = {
101
72
  key: 0,
102
73
  class: "flex justify-between text-sm text-muted"
103
- }, gt = { key: 0 }, _t = /* @__PURE__ */ D({
74
+ }, pt = { key: 0 }, mt = /* @__PURE__ */ D({
104
75
  __name: "ClipReindex",
105
76
  setup(e, { expose: t }) {
106
- let r = n("dialogRefProps"), { t: o } = Me(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = be(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
77
+ let r = n("dialogRefProps"), { t: o } = Ne(), { 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(() => {
107
78
  if (y.value) {
108
79
  if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
109
80
  let { done: e, total: t, skipped: n } = s.value;
@@ -134,49 +105,49 @@ var ft = l({
134
105
  s.value?.running && (g.value = !0);
135
106
  });
136
107
  }), t({ onConfirm: E }), (e, t) => {
137
- let n = He;
138
- return i(), v("div", pt, [C("span", mt, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", Z, [k(n, {
108
+ let n = We;
109
+ return i(), v("div", ut, [C("span", X, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", dt, [k(n, {
139
110
  mode: p(l) ? "indeterminate" : "determinate",
140
111
  value: p(T),
141
112
  "show-value": !1,
142
113
  class: "h-2"
143
- }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", ht, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
114
+ }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", ft, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
144
115
  done: p(s)?.done ?? 0,
145
116
  total: p(s)?.total ?? 0
146
- })), 1), p(s)?.skipped ? (i(), v("span", gt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
117
+ })), 1), p(s)?.skipped ? (i(), v("span", pt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
147
118
  };
148
119
  }
149
- }), vt = {
120
+ }), ht = {
150
121
  viewBox: "0 0 24 24",
151
122
  width: "1.2em",
152
123
  height: "1.2em"
153
124
  };
154
- function yt(e, t) {
155
- return i(), v("svg", vt, [...t[0] ||= [C("path", {
125
+ function Z(e, t) {
126
+ return i(), v("svg", ht, [...t[0] ||= [C("path", {
156
127
  fill: "currentColor",
157
128
  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"
158
129
  }, null, -1)]]);
159
130
  }
160
- var bt = l({
131
+ var gt = l({
161
132
  name: "mdi-file-video-outline",
162
- render: yt
163
- }), xt = { class: "flex flex-col gap-6" }, St = { class: "flex flex-col field-gap" }, Ct = { class: "cui-label" }, wt = { class: "flex flex-col field-gap" }, Tt = { class: "cui-label" }, Et = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, Dt = { class: "flex flex-col gap-1" }, Q = { class: "text-xs text-muted" }, Ot = { class: "flex flex-col gap-1" }, $ = { class: "text-xs text-muted" }, kt = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, At = { class: "flex flex-col field-gap" }, jt = { class: "cui-label" }, Mt = { class: "flex flex-col field-gap" }, Nt = { class: "cui-label" }, Pt = { class: "flex flex-col field-gap" }, Ft = { class: "flex items-center gap-3" }, It = { class: "cui-label !mb-0" }, Lt = {
133
+ render: Z
134
+ }), _t = { class: "flex flex-col gap-6" }, vt = { class: "flex flex-col field-gap" }, yt = { 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" }, Q = { class: "flex flex-col field-gap" }, Ot = { class: "cui-label" }, $ = { class: "flex flex-col field-gap" }, kt = { class: "cui-label" }, At = { class: "flex flex-col field-gap" }, jt = { class: "flex items-center gap-3" }, Mt = { class: "cui-label !mb-0" }, Nt = {
164
135
  key: 0,
165
136
  class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
166
- }, Rt = { class: "font-semibold" }, zt = { class: "font-semibold" }, Bt = { class: "border border-color rounded-xl card-background overflow-hidden" }, Vt = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Ht = {
137
+ }, Pt = { class: "font-semibold" }, Ft = { class: "font-semibold" }, It = { class: "border border-color rounded-xl card-background overflow-hidden" }, Lt = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, Rt = {
167
138
  key: 0,
168
139
  class: "flex items-center justify-center gap-2 text-muted text-sm py-6"
169
- }, Ut = {
140
+ }, zt = {
170
141
  key: 1,
171
142
  class: "text-center text-muted text-sm py-6"
172
- }, Wt = { class: "text-xs text-muted px-0.5" }, Gt = { class: "font-mono text-xs truncate flex-1" }, Kt = { class: "text-xs text-muted tabular-nums shrink-0" }, qt = { class: "font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right" }, Jt = 30, Yt = /* @__PURE__ */ D({
143
+ }, Bt = { class: "text-xs text-muted px-0.5" }, Vt = { class: "font-mono text-xs truncate flex-1" }, Ht = { class: "text-xs text-muted tabular-nums shrink-0" }, Ut = { class: "font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right" }, Wt = 30, Gt = /* @__PURE__ */ D({
173
144
  __name: "ExportRecordings",
174
145
  props: {
175
146
  cameras: {},
176
147
  preselect: {}
177
148
  },
178
149
  setup(e, { expose: t }) {
179
- let o = e, { t: s } = Me(), c = pe(), l = n("dialogRefProps"), { plugin: g } = Ne("@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(() => [{
150
+ let o = e, { t: s } = Ne(), c = Te(), l = n("dialogRefProps"), { plugin: g } = Be("@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(() => [{
180
151
  label: s("views.recordings.export.quality_best"),
181
152
  value: "best"
182
153
  }, {
@@ -197,8 +168,8 @@ var bt = l({
197
168
  ].map((e) => ({
198
169
  label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
199
170
  value: e
200
- }))), F = m(() => E.value > 0), I = m(() => F.value ? "~" : ""), ee = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), R = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), z = m(() => {
201
- if (!R.value) return [];
171
+ }))), F = m(() => E.value > 0), I = m(() => F.value ? "~" : ""), ee = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), L = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), R = m(() => {
172
+ if (!L.value) return [];
202
173
  let e = [], t = D.value.getTime(), n = A.value.getTime(), r = new Date(D.value);
203
174
  r.setHours(0, 0, 0, 0);
204
175
  let i = new Date(A.value);
@@ -207,24 +178,24 @@ var bt = l({
207
178
  a.setDate(a.getDate() + 1);
208
179
  let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
209
180
  s > o && e.push({
210
- day: re(i),
181
+ day: ie(i),
211
182
  startUs: o * 1e3,
212
183
  endUs: s * 1e3
213
184
  }), r.setDate(r.getDate() + 1);
214
185
  }
215
186
  return e;
216
- }), B = m(() => _.value.map((e) => {
217
- let t = ee.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" : U(r);
187
+ }), z = m(() => _.value.map((e) => {
188
+ let t = ee.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : V(r);
218
189
  return {
219
190
  cameraId: e.cameraId,
220
191
  cameraName: t,
221
- name: `${ie(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
222
- span: i ? s("views.recordings.export.whole_day") : `${U(n)}–${a}`,
223
- bytes: F.value ? e.bytes / Jt : e.bytes
192
+ name: `${H(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
193
+ span: i ? s("views.recordings.export.whole_day") : `${V(n)}–${a}`,
194
+ bytes: F.value ? e.bytes / Wt : e.bytes
224
195
  };
225
196
  })), te = m(() => {
226
197
  let e = /* @__PURE__ */ new Map();
227
- for (let t of B.value) {
198
+ for (let t of z.value) {
228
199
  let n = e.get(t.cameraId);
229
200
  n || (n = {
230
201
  cameraId: t.cameraId,
@@ -234,20 +205,20 @@ var bt = l({
234
205
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
235
206
  }
236
207
  return [...e.values()];
237
- }), V = m(() => B.value.reduce((e, t) => e + t.bytes, 0)), ne = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : R.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
238
- function H(e) {
208
+ }), ne = m(() => z.value.reduce((e, t) => e + t.bytes, 0)), re = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : L.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
209
+ function B(e) {
239
210
  return String(e).padStart(2, "0");
240
211
  }
241
- function re(e) {
242
- return `${e.getFullYear()}-${H(e.getMonth() + 1)}-${H(e.getDate())}`;
212
+ function ie(e) {
213
+ return `${e.getFullYear()}-${B(e.getMonth() + 1)}-${B(e.getDate())}`;
243
214
  }
244
- function U(e) {
245
- return `${H(e.getHours())}:${H(e.getMinutes())}`;
215
+ function V(e) {
216
+ return `${B(e.getHours())}:${B(e.getMinutes())}`;
246
217
  }
247
- function ie(e) {
218
+ function H(e) {
248
219
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
249
220
  }
250
- function W(e) {
221
+ function U(e) {
251
222
  if (e <= 0) return "0 MB";
252
223
  let t = e / 1e6;
253
224
  if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
@@ -256,7 +227,7 @@ var bt = l({
256
227
  }
257
228
  async function ae() {
258
229
  let e = g.value;
259
- if (!e?.nvrExportEstimate || x.value.length === 0 || z.value.length === 0) {
230
+ if (!e?.nvrExportEstimate || x.value.length === 0 || R.value.length === 0) {
260
231
  _.value = [], y.value = !1;
261
232
  return;
262
233
  }
@@ -264,7 +235,7 @@ var bt = l({
264
235
  try {
265
236
  let t = await e.nvrExportEstimate({
266
237
  cameras: x.value,
267
- slices: z.value,
238
+ slices: R.value,
268
239
  quality: w.value
269
240
  });
270
241
  _.value = t.files ?? [];
@@ -275,7 +246,7 @@ var bt = l({
275
246
  }
276
247
  }
277
248
  async function oe() {
278
- if (!R.value || x.value.length === 0 || z.value.length === 0) return null;
249
+ if (!L.value || x.value.length === 0 || R.value.length === 0) return null;
279
250
  let e = g.value;
280
251
  if (!e?.nvrExportBatch) return c.add({
281
252
  severity: "error",
@@ -284,29 +255,29 @@ var bt = l({
284
255
  }), null;
285
256
  let t = await e.nvrExportBatch({
286
257
  cameras: x.value,
287
- slices: z.value,
258
+ slices: R.value,
288
259
  quality: w.value,
289
260
  timelapseIntervalSec: F.value ? E.value : 0
290
261
  });
291
- await L({
262
+ await ve({
292
263
  url: t.url,
293
264
  filename: t.filename
294
265
  });
295
266
  }
296
- return ke([
267
+ return Ae([
297
268
  x,
298
- z,
269
+ R,
299
270
  w
300
271
  ], ae, {
301
272
  debounce: 350,
302
273
  immediate: !0,
303
274
  deep: !0
304
275
  }), S(() => {
305
- l.disabled && (l.disabled.value = !R.value || x.value.length === 0 || !y.value && B.value.length === 0);
276
+ l.disabled && (l.disabled.value = !L.value || x.value.length === 0 || !y.value && z.value.length === 0);
306
277
  }), t({ onConfirm: oe }), (t, n) => {
307
- let o = Ue, s = Be, c = N, l = le, m = J, g = P, _ = me, S = bt;
308
- return i(), v("div", xt, [
309
- C("div", St, [C("label", Ct, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
278
+ let o = Ge, s = He, c = N, l = ye, m = J, g = P, _ = K, S = gt;
279
+ return i(), v("div", _t, [
280
+ C("div", vt, [C("label", yt, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
310
281
  modelValue: p(x),
311
282
  "onUpdate:modelValue": n[0] ||= (e) => f(x) ? x.value = e : null,
312
283
  options: e.cameras,
@@ -321,16 +292,16 @@ var bt = l({
321
292
  "options",
322
293
  "placeholder"
323
294
  ])]),
324
- C("div", wt, [
325
- C("label", Tt, a(t.$t("views.recordings.export.range")), 1),
326
- C("div", Et, [C("div", Dt, [C("span", Q, a(t.$t("views.recordings.export.from")), 1), k(s, {
295
+ C("div", bt, [
296
+ C("label", xt, a(t.$t("views.recordings.export.range")), 1),
297
+ C("div", St, [C("div", Ct, [C("span", wt, a(t.$t("views.recordings.export.from")), 1), k(s, {
327
298
  modelValue: p(D),
328
299
  "onUpdate:modelValue": n[1] ||= (e) => f(D) ? D.value = e : null,
329
300
  "show-time": "",
330
301
  "hour-format": "24",
331
302
  fluid: "",
332
303
  "max-date": p(A)
333
- }, null, 8, ["modelValue", "max-date"])]), C("div", Ot, [C("span", $, a(t.$t("views.recordings.export.to")), 1), k(s, {
304
+ }, null, 8, ["modelValue", "max-date"])]), C("div", Tt, [C("span", Et, a(t.$t("views.recordings.export.to")), 1), k(s, {
334
305
  modelValue: p(A),
335
306
  "onUpdate:modelValue": n[2] ||= (e) => f(A) ? A.value = e : null,
336
307
  "show-time": "",
@@ -338,7 +309,7 @@ var bt = l({
338
309
  fluid: "",
339
310
  "min-date": p(D)
340
311
  }, null, 8, ["modelValue", "min-date"])])]),
341
- p(R) ? (i(), u(c, {
312
+ p(L) ? (i(), u(c, {
342
313
  key: 1,
343
314
  severity: "secondary",
344
315
  variant: "simple",
@@ -358,7 +329,7 @@ var bt = l({
358
329
  _: 1
359
330
  }))
360
331
  ]),
361
- C("div", kt, [C("div", At, [C("label", jt, a(t.$t("views.recordings.export.quality")), 1), k(l, {
332
+ C("div", Dt, [C("div", Q, [C("label", Ot, a(t.$t("views.recordings.export.quality")), 1), k(l, {
362
333
  modelValue: p(w),
363
334
  "onUpdate:modelValue": n[3] ||= (e) => f(w) ? w.value = e : null,
364
335
  options: p(j),
@@ -369,7 +340,7 @@ var bt = l({
369
340
  root: { class: "flex w-full" },
370
341
  pcToggleButton: { root: { class: "flex-1" } }
371
342
  }
372
- }, null, 8, ["modelValue", "options"])]), C("div", Mt, [C("label", Nt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
343
+ }, null, 8, ["modelValue", "options"])]), C("div", $, [C("label", kt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
373
344
  modelValue: p(E),
374
345
  "onUpdate:modelValue": n[4] ||= (e) => f(E) ? E.value = e : null,
375
346
  options: p(M),
@@ -377,43 +348,43 @@ var bt = l({
377
348
  "option-value": "value",
378
349
  class: "w-full"
379
350
  }, null, 8, ["modelValue", "options"])])]),
380
- C("div", Pt, [C("div", Ft, [C("label", It, a(t.$t("views.recordings.export.result")), 1), p(B).length ? (i(), v("div", Lt, [
381
- C("span", Rt, a(p(B).length) + " " + a(p(B).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
351
+ C("div", At, [C("div", jt, [C("label", Mt, a(t.$t("views.recordings.export.result")), 1), p(z).length ? (i(), v("div", Nt, [
352
+ C("span", Pt, a(p(z).length) + " " + a(p(z).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
382
353
  n[5] ||= C("span", { class: "text-muted" }, "·", -1),
383
- C("span", zt, a(p(I)) + a(W(p(V))), 1),
354
+ C("span", Ft, a(p(I)) + a(U(p(ne))), 1),
384
355
  k(g, {
385
- value: p(B).length === 1 ? "MP4" : "ZIP",
356
+ value: p(z).length === 1 ? "MP4" : "ZIP",
386
357
  severity: "info"
387
358
  }, null, 8, ["value"])
388
- ])) : d("", !0)]), C("div", Bt, [C("div", Vt, [p(y) && !p(B).length ? (i(), v("div", Ht, [k(_, {
359
+ ])) : d("", !0)]), C("div", It, [C("div", Lt, [p(y) && !p(z).length ? (i(), v("div", Rt, [k(_, {
389
360
  style: {
390
361
  width: "1rem",
391
362
  height: "1rem"
392
363
  },
393
364
  "stroke-width": "4",
394
365
  class: "m-0"
395
- }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(B).length ? (i(!0), v(b, { key: 2 }, r(p(te), (e) => (i(), v("div", {
366
+ }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(z).length ? (i(!0), v(b, { key: 2 }, r(p(te), (e) => (i(), v("div", {
396
367
  key: e.cameraId,
397
368
  class: "flex flex-col gap-1"
398
- }, [C("span", Wt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(I)) + a(W(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
369
+ }, [C("span", Bt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(I)) + a(U(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
399
370
  key: e.name,
400
371
  class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
401
372
  }, [
402
373
  k(S, { class: "w-4 h-4 text-muted shrink-0" }),
403
- C("span", Gt, a(e.name), 1),
404
- C("span", Kt, a(e.span), 1),
405
- C("span", qt, a(p(I)) + a(W(e.bytes)), 1)
406
- ]))), 128))]))), 128)) : (i(), v("div", Ut, a(p(ne)), 1))])])])
374
+ C("span", Vt, a(e.name), 1),
375
+ C("span", Ht, a(e.span), 1),
376
+ C("span", Ut, a(p(I)) + a(U(e.bytes)), 1)
377
+ ]))), 128))]))), 128)) : (i(), v("div", zt, a(p(re)), 1))])])])
407
378
  ]);
408
379
  };
409
380
  }
410
- }), Xt = {
381
+ }), Kt = {
411
382
  viewBox: "0 0 24 24",
412
383
  width: "1.2em",
413
384
  height: "1.2em"
414
385
  };
415
- function Zt(e, t) {
416
- return i(), v("svg", Xt, [...t[0] ||= [C("path", {
386
+ function qt(e, t) {
387
+ return i(), v("svg", Kt, [...t[0] ||= [C("path", {
417
388
  fill: "none",
418
389
  stroke: "currentColor",
419
390
  "stroke-linecap": "round",
@@ -422,16 +393,16 @@ function Zt(e, t) {
422
393
  d: "m6 9l6 6l6-6"
423
394
  }, null, -1)]]);
424
395
  }
425
- var Qt = l({
396
+ var Jt = l({
426
397
  name: "tabler-chevron-down",
427
- render: Zt
428
- }), $t = {
398
+ render: qt
399
+ }), Yt = {
429
400
  viewBox: "0 0 24 24",
430
401
  width: "1.2em",
431
402
  height: "1.2em"
432
403
  };
433
- function en(e, t) {
434
- return i(), v("svg", $t, [...t[0] ||= [C("path", {
404
+ function Xt(e, t) {
405
+ return i(), v("svg", Yt, [...t[0] ||= [C("path", {
435
406
  fill: "none",
436
407
  stroke: "currentColor",
437
408
  "stroke-linecap": "round",
@@ -440,43 +411,43 @@ function en(e, t) {
440
411
  d: "m6 15l6-6l6 6"
441
412
  }, null, -1)]]);
442
413
  }
443
- var tn = l({
414
+ var Zt = l({
444
415
  name: "tabler-chevron-up",
445
- render: en
446
- }), nn = { class: "flex flex-col gap-2" }, rn = { class: "sidebar-section-title" }, an = {
416
+ render: Xt
417
+ }), Qt = { class: "flex flex-col gap-2" }, $t = { class: "sidebar-section-title" }, en = {
447
418
  key: 0,
448
419
  class: "text-xs text-muted"
449
- }, on = { class: "flex flex-col gap-2" }, sn = { class: "sidebar-section-title" }, cn = { class: "p-input-icon-left w-full" }, ln = { class: "text-xs text-muted" }, un = { class: "flex flex-col gap-2" }, dn = { class: "sidebar-section-title flex items-center gap-1.5" }, fn = {
420
+ }, 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 = {
450
421
  key: 0,
451
422
  class: "inline-flex items-center gap-1 text-xs text-muted"
452
- }, pn = {
423
+ }, ln = {
453
424
  key: 1,
454
425
  class: "flex flex-col gap-1.5 mt-1"
455
- }, mn = { class: "text-xs text-muted" }, hn = { class: "flex items-center gap-3" }, gn = { class: "text-xs font-mono w-8 text-right shrink-0" }, _n = { class: "flex flex-col gap-2" }, vn = { class: "sidebar-section-title flex items-center gap-1.5" }, yn = {
426
+ }, 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 = {
456
427
  key: 0,
457
428
  class: "text-xs text-muted"
458
- }, bn = {
429
+ }, gn = {
459
430
  key: 2,
460
431
  class: "flex flex-col gap-2"
461
- }, xn = { class: "sidebar-section-title" }, Sn = { class: "flex flex-col gap-2" }, Cn = { class: "sidebar-section-title" }, wn = { class: "flex flex-col gap-2" }, Tn = { class: "sidebar-section-title" }, En = { class: "relative rounded-md overflow-hidden" }, Dn = {
432
+ }, _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 = {
462
433
  key: 4,
463
434
  class: "sidebar-divider"
464
- }, On = {
435
+ }, wn = {
465
436
  key: 5,
466
437
  class: "flex flex-col gap-2"
467
- }, kn = { class: "sidebar-section-title" }, An = { class: "flex items-center gap-3" }, jn = { class: "text-xs font-mono w-8 text-right shrink-0" }, Mn = { class: "flex flex-col gap-2" }, Nn = { class: "sidebar-section-title" }, Pn = { class: "flex flex-wrap gap-1" }, Fn = { class: "flex flex-col gap-2" }, In = {
438
+ }, 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 = {
468
439
  key: 0,
469
440
  class: "flex flex-col gap-2"
470
- }, Ln = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Rn = {
441
+ }, Nn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Pn = {
471
442
  key: 0,
472
443
  class: "flex flex-col gap-2 ml-6"
473
- }, zn = { class: "filter-logic-divider" }, Bn = { class: "flex flex-col gap-2" }, Vn = {
444
+ }, Fn = { class: "filter-logic-divider" }, In = { class: "flex flex-col gap-2" }, Ln = {
474
445
  key: 0,
475
446
  class: "flex flex-col gap-2"
476
- }, Hn = { class: "filter-logic-divider" }, Un = { class: "flex flex-col gap-2" }, Wn = {
447
+ }, Rn = { class: "filter-logic-divider" }, zn = { class: "flex flex-col gap-2" }, Bn = {
477
448
  key: 0,
478
449
  class: "flex flex-col gap-2"
479
- }, Gn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Kn = 288, qn = /*#__PURE__*/ U(/* @__PURE__ */ D({
450
+ }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ Ee(/* @__PURE__ */ D({
480
451
  __name: "RecordingsFilterSidebar",
481
452
  props: {
482
453
  filters: {},
@@ -498,25 +469,25 @@ var tn = l({
498
469
  "close"
499
470
  ],
500
471
  setup(n, { expose: o, emit: s }) {
501
- let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Me(), { xlBreakpoint: w } = re(), { topbarOffset: E, bottombarHeight: D } = W(), { icons: j, generic: M } = we(), N = j, P = tn, F = Qt, I = x("sidebarRef"), L = O(h.filters.semanticQuery ?? ""), R = O(""), z = A({
472
+ let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Ne(), { xlBreakpoint: w } = B(), { topbarOffset: E, bottombarHeight: D } = ge(), { icons: j, generic: M } = Re(), N = j, P = Zt, I = Jt, ee = x("sidebarRef"), L = O(h.filters.semanticQuery ?? ""), R = O(""), z = A({
502
473
  eventTypes: !0,
503
474
  attributes: !0,
504
475
  sensorEvents: !0
505
- }), B = m(() => h.isOpen ? Kn : 0), te = m(() => {
476
+ }), te = m(() => h.isOpen ? Hn : 0), ne = m(() => {
506
477
  let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
507
478
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
508
479
  id: e,
509
480
  name: e === "Default" ? S("components.form.label.room_default") : e
510
481
  }));
511
- }), ne = m(() => {
482
+ }), ie = m(() => {
512
483
  let e = h.filters.rooms;
513
484
  return (e.length > 0 ? h.cameras.filter((t) => e.includes(t.room ?? "")) : h.cameras).map((e) => ({
514
485
  id: e.id,
515
486
  name: e.name
516
487
  }));
517
- }), H = m(() => {
488
+ }), V = m(() => {
518
489
  if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
519
- }), U = m(() => h.filters.contentKind === "episodes"), ie = m(() => [
490
+ }), H = m(() => h.filters.contentKind === "episodes"), U = m(() => [
520
491
  {
521
492
  label: S("views.recordings.content_kind_all"),
522
493
  value: "all"
@@ -529,13 +500,13 @@ var tn = l({
529
500
  label: S("views.recordings.content_kind_episodes"),
530
501
  value: "episodes"
531
502
  }
532
- ]), oe = m(() => [{
503
+ ]), ae = m(() => [{
533
504
  label: S("views.recordings.filter_and"),
534
505
  value: "and"
535
506
  }, {
536
507
  label: S("views.recordings.filter_or"),
537
508
  value: "or"
538
- }]), se = m(() => [
509
+ }]), oe = m(() => [
539
510
  {
540
511
  label: S("views.recordings.time_1h"),
541
512
  value: "1h"
@@ -552,37 +523,37 @@ var tn = l({
552
523
  label: S("views.recordings.time_1m"),
553
524
  value: "1m"
554
525
  }
555
- ]), ce = m(() => Fe.filter((e) => !l.has(e)).map((e) => ({
526
+ ]), se = m(() => Fe.filter((e) => !l.has(e)).map((e) => ({
556
527
  label: S(`views.recordings.type_${e}`),
557
528
  value: e,
558
529
  icon: j[e] ?? M
559
- }))), G = m(() => ({
530
+ }))), W = m(() => ({
560
531
  label: S("views.recordings.type_other"),
561
- value: V,
532
+ value: re,
562
533
  icon: j.other ?? M
563
- })), ue = m(() => it.map((e) => ({
564
- label: S(qe(e)),
534
+ })), ce = m(() => ot.map((e) => ({
535
+ label: S(Ye(e)),
565
536
  value: e,
566
537
  icon: N[e] ?? M
567
- }))), de = m(() => Pe.map((e) => ({
538
+ }))), le = m(() => Pe.map((e) => ({
568
539
  label: S(Y(e)),
569
540
  value: e,
570
541
  icon: j[e] ?? M
571
- }))), fe = m(() => Ie.map((e) => ({
572
- label: S(Je(e)),
542
+ }))), ue = m(() => Ie.map((e) => ({
543
+ label: S(Xe(e)),
573
544
  value: e,
574
545
  icon: j[e] ?? M
575
546
  })));
576
- function K(e, t) {
547
+ function G(e, t) {
577
548
  g("update:filters", {
578
549
  ...h.filters,
579
550
  [e]: t
580
551
  });
581
552
  }
582
- let pe = De((e) => {
583
- K("search", e);
553
+ let K = Oe((e) => {
554
+ G("search", e);
584
555
  }, 300);
585
- function me(e) {
556
+ function de(e) {
586
557
  let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
587
558
  g("update:filters", {
588
559
  ...h.filters,
@@ -590,81 +561,81 @@ var tn = l({
590
561
  cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
591
562
  });
592
563
  }
593
- function he() {
564
+ function fe() {
594
565
  let e = R.value.trim();
595
566
  e && !h.assistantSearchLoading && g("assistant-search", e);
596
567
  }
597
- function ge() {
568
+ function me() {
598
569
  let e = L.value.trim();
599
- K("semanticQuery", e), g("semantic-search", e);
570
+ G("semanticQuery", e), g("semantic-search", e);
600
571
  }
601
- function _e(e) {
572
+ function he(e) {
602
573
  let t = [...h.filters.eventTypes], n = t.indexOf(e);
603
- n >= 0 ? t.splice(n, 1) : t.push(e), K("eventTypes", t);
574
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
604
575
  }
605
- function ve(e) {
576
+ function _e(e) {
606
577
  let t = [...h.filters.audioLabels], n = t.indexOf(e);
607
- n >= 0 ? t.splice(n, 1) : t.push(e), K("audioLabels", t);
578
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
608
579
  }
609
- function ye(e) {
580
+ function ve(e) {
610
581
  let t = [...h.filters.sensorEvents], n = t.indexOf(e);
611
- n >= 0 ? t.splice(n, 1) : t.push(e), K("sensorEvents", t);
582
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
612
583
  }
613
584
  function be(e) {
614
585
  let t = [...h.filters.hasAttributes], n = t.indexOf(e);
615
- n >= 0 ? t.splice(n, 1) : t.push(e), K("hasAttributes", t);
586
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
616
587
  }
617
- function xe(e) {
588
+ function Se(e) {
618
589
  z[e] = !z[e];
619
590
  }
620
591
  return _(L, (e) => {
621
- !e?.trim() && h.filters.semanticQuery && K("semanticQuery", "");
622
- }), je(I, (e) => {
592
+ !e?.trim() && h.filters.semanticQuery && G("semanticQuery", "");
593
+ }), Me(ee, (e) => {
623
594
  let t = e.target;
624
595
  t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || h.isOpen && (h.isOverlay || !w.value) && g("close");
625
- }), o({ sidebarWidth: B }), (o, s) => {
626
- let l = le, m = ze, h = Ee, g = We, _ = Re, x = Se, S = Le, w = Ue, O = ae, A = ee, j = q;
596
+ }), o({ sidebarWidth: te }), (o, s) => {
597
+ let l = ye, m = Ve, h = F, g = Ke, _ = ze, x = Ce, S = Le, w = Ge, O = xe, A = pe, j = q;
627
598
  return i(), v("nav", {
628
599
  ref_key: "sidebarRef",
629
- ref: I,
600
+ ref: ee,
630
601
  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",
631
602
  style: y({
632
- width: `${p(B)}px`,
603
+ width: `${p(te)}px`,
633
604
  borderRightWidth: n.isOpen ? "1px" : "0px",
634
605
  paddingBottom: `calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${p(D)}px + ${p(E)}px)`
635
606
  })
636
607
  }, [C("div", {
637
608
  class: "flex flex-col gap-4 p-4",
638
- style: y({ width: `${Kn}px` })
609
+ style: y({ width: `${Hn}px` })
639
610
  }, [
640
- C("div", nn, [
641
- C("label", rn, a(o.$t("views.recordings.content_kind")), 1),
611
+ C("div", Qt, [
612
+ C("label", $t, a(o.$t("views.recordings.content_kind")), 1),
642
613
  k(l, {
643
614
  "model-value": n.filters.contentKind,
644
- options: p(ie),
615
+ options: p(U),
645
616
  "option-label": "label",
646
617
  "option-value": "value",
647
618
  "allow-empty": !1,
648
619
  class: "content-kind-toggle",
649
- "onUpdate:modelValue": s[0] ||= (e) => K("contentKind", e)
620
+ "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
650
621
  }, null, 8, ["model-value", "options"]),
651
- p(U) ? (i(), v("span", an, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
622
+ p(H) ? (i(), v("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
652
623
  ]),
653
624
  s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
654
- p(U) ? d("", !0) : (i(), v(b, { key: 0 }, [
655
- C("div", on, [
656
- C("label", sn, a(o.$t("views.recordings.search")), 1),
657
- C("span", cn, [k(m, {
625
+ p(H) ? d("", !0) : (i(), v(b, { key: 0 }, [
626
+ C("div", tn, [
627
+ C("label", nn, a(o.$t("views.recordings.search")), 1),
628
+ C("span", rn, [k(m, {
658
629
  "model-value": n.filters.search,
659
630
  placeholder: o.$t("views.recordings.search_placeholder"),
660
631
  class: "w-full text-sm",
661
- "onUpdate:modelValue": s[1] ||= (e) => p(pe)(e)
632
+ "onUpdate:modelValue": s[1] ||= (e) => p(K)(e)
662
633
  }, null, 8, ["model-value", "placeholder"])]),
663
- C("span", ln, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)
634
+ C("span", an, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)
664
635
  ]),
665
636
  s[16] ||= C("div", { class: "sidebar-divider" }, null, -1),
666
- C("div", un, [
667
- C("label", dn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
637
+ C("div", on, [
638
+ C("label", sn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
668
639
  k(g, {
669
640
  modelValue: p(L),
670
641
  "onUpdate:modelValue": s[2] ||= (e) => f(L) ? L.value = e : null,
@@ -685,33 +656,33 @@ var tn = l({
685
656
  class: "w-full text-xs",
686
657
  loading: n.semanticSearchLoading,
687
658
  disabled: !n.semanticSearchAvailable || !p(L)?.trim(),
688
- onClick: ge
659
+ onClick: me
689
660
  }, null, 8, [
690
661
  "label",
691
662
  "loading",
692
663
  "disabled"
693
664
  ]),
694
- n.semanticCount == null ? d("", !0) : (i(), v("span", fn, [k(h, { class: "w-3 h-3" }), T(" " + a(o.$t("views.recordings.semantic_results", { count: n.semanticCount })), 1)])),
695
- n.filters.semanticQuery ? (i(), v("div", pn, [C("label", mn, a(o.$t("views.recordings.min_match_score")), 1), C("div", hn, [k(x, {
665
+ 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)])),
666
+ n.filters.semanticQuery ? (i(), v("div", ln, [C("label", un, a(o.$t("views.recordings.min_match_score")), 1), C("div", dn, [k(x, {
696
667
  "model-value": n.filters.minSemanticScore,
697
668
  min: 0,
698
669
  max: 1,
699
670
  step: .05,
700
671
  class: "flex-1",
701
- "onUpdate:modelValue": s[3] ||= (e) => K("minSemanticScore", e)
702
- }, null, 8, ["model-value"]), C("span", gn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
672
+ "onUpdate:modelValue": s[3] ||= (e) => G("minSemanticScore", e)
673
+ }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
703
674
  ]),
704
675
  s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
705
676
  ], 64)),
706
- n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", _n, [
707
- C("label", vn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
677
+ n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", pn, [
678
+ C("label", mn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
708
679
  k(m, {
709
680
  modelValue: p(R),
710
681
  "onUpdate:modelValue": s[4] ||= (e) => f(R) ? R.value = e : null,
711
682
  placeholder: o.$t("views.recordings.assistant_search_placeholder"),
712
683
  class: "w-full text-sm",
713
684
  disabled: n.assistantSearchLoading,
714
- onKeydown: t(e(he, ["prevent"]), ["enter"])
685
+ onKeydown: t(e(fe, ["prevent"]), ["enter"])
715
686
  }, null, 8, [
716
687
  "modelValue",
717
688
  "placeholder",
@@ -726,17 +697,17 @@ var tn = l({
726
697
  class: "w-full text-xs",
727
698
  loading: n.assistantSearchLoading,
728
699
  disabled: !p(R).trim(),
729
- onClick: he
700
+ onClick: fe
730
701
  }, null, 8, [
731
702
  "label",
732
703
  "loading",
733
704
  "disabled"
734
705
  ]),
735
- n.assistantSearchNote ? (i(), v("span", yn, a(n.assistantSearchNote), 1)) : d("", !0)
706
+ n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
736
707
  ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
737
- p(te).length > 1 ? (i(), v("div", bn, [C("label", xn, a(o.$t("views.recordings.rooms")), 1), k(w, {
708
+ p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(w, {
738
709
  "model-value": n.filters.rooms,
739
- options: p(te),
710
+ options: p(ne),
740
711
  "option-label": "name",
741
712
  "option-value": "id",
742
713
  placeholder: o.$t("views.recordings.all_rooms"),
@@ -744,15 +715,15 @@ var tn = l({
744
715
  "max-selected-labels": 2,
745
716
  "show-toggle-all": !1,
746
717
  pt: { overlay: { style: "position: fixed" } },
747
- "onUpdate:modelValue": s[5] ||= (e) => me(e)
718
+ "onUpdate:modelValue": s[5] ||= (e) => de(e)
748
719
  }, null, 8, [
749
720
  "model-value",
750
721
  "options",
751
722
  "placeholder"
752
723
  ])])) : d("", !0),
753
- C("div", Sn, [C("label", Cn, a(o.$t("views.recordings.cameras")), 1), k(w, {
724
+ C("div", vn, [C("label", yn, a(o.$t("views.recordings.cameras")), 1), k(w, {
754
725
  "model-value": n.filters.cameraIds,
755
- options: p(ne),
726
+ options: p(ie),
756
727
  "option-label": "name",
757
728
  "option-value": "id",
758
729
  placeholder: o.$t("views.recordings.all_cameras"),
@@ -760,20 +731,20 @@ var tn = l({
760
731
  "max-selected-labels": 2,
761
732
  "show-toggle-all": !1,
762
733
  pt: { overlay: { style: "position: fixed" } },
763
- "onUpdate:modelValue": s[6] ||= (e) => K("cameraIds", e)
734
+ "onUpdate:modelValue": s[6] ||= (e) => G("cameraIds", e)
764
735
  }, null, 8, [
765
736
  "model-value",
766
737
  "options",
767
738
  "placeholder"
768
739
  ])]),
769
- p(H) && !p(U) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", wn, [
770
- C("label", Tn, a(o.$t("views.recordings.grid_search")), 1),
771
- C("div", En, [k(O, {
772
- camera: p(H),
740
+ p(V) && !p(H) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
741
+ C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
742
+ C("div", Sn, [k(O, {
743
+ camera: p(V),
773
744
  "object-fit": "cover"
774
745
  }, null, 8, ["camera"]), k(A, {
775
746
  "model-value": n.filters.gridRegions,
776
- "onUpdate:modelValue": s[7] ||= (e) => K("gridRegions", e)
747
+ "onUpdate:modelValue": s[7] ||= (e) => G("gridRegions", e)
777
748
  }, null, 8, ["model-value"])]),
778
749
  k(_, {
779
750
  label: o.$t("views.recordings.grid_clear"),
@@ -782,103 +753,103 @@ var tn = l({
782
753
  size: "small",
783
754
  class: "w-full text-xs",
784
755
  disabled: n.filters.gridRegions.length === 0,
785
- onClick: s[8] ||= (e) => K("gridRegions", [])
756
+ onClick: s[8] ||= (e) => G("gridRegions", [])
786
757
  }, null, 8, ["label", "disabled"])
787
758
  ])], 64)) : d("", !0),
788
- p(U) ? d("", !0) : (i(), v("div", Dn)),
789
- p(U) ? d("", !0) : (i(), v("div", On, [C("label", kn, a(o.$t("views.recordings.confidence")), 1), C("div", An, [k(x, {
759
+ p(H) ? d("", !0) : (i(), v("div", Cn)),
760
+ p(H) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
790
761
  "model-value": n.filters.minConfidence,
791
762
  min: 0,
792
763
  max: 1,
793
764
  step: .05,
794
765
  class: "flex-1",
795
- "onUpdate:modelValue": s[9] ||= (e) => K("minConfidence", e)
796
- }, null, 8, ["model-value"]), C("span", jn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
766
+ "onUpdate:modelValue": s[9] ||= (e) => G("minConfidence", e)
767
+ }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
797
768
  s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
798
- C("div", Mn, [C("label", Nn, a(o.$t("views.recordings.time_range")), 1), C("div", Pn, [(i(!0), v(b, null, r(p(se), (e) => (i(), u(_, {
769
+ C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(oe), (e) => (i(), u(_, {
799
770
  key: e.value,
800
771
  label: e.label,
801
772
  severity: n.filters.timeRange === e.value ? void 0 : "secondary",
802
773
  outlined: n.filters.timeRange !== e.value,
803
774
  size: "small",
804
775
  class: "text-xs flex-1 min-w-0",
805
- onClick: (t) => K("timeRange", n.filters.timeRange === e.value ? null : e.value)
776
+ onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
806
777
  }, null, 8, [
807
778
  "label",
808
779
  "severity",
809
780
  "outlined",
810
781
  "onClick"
811
782
  ]))), 128))])]),
812
- p(U) ? d("", !0) : (i(), v(b, { key: 6 }, [
783
+ p(H) ? d("", !0) : (i(), v(b, { key: 6 }, [
813
784
  s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
814
- C("div", Fn, [C("button", {
785
+ C("div", jn, [C("button", {
815
786
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
816
- onClick: s[10] ||= (e) => xe("sensorEvents")
817
- }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(z).sensorEvents ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(z).sensorEvents ? (i(), v("div", In, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v(b, { key: e.value }, [C("label", Ln, [
787
+ onClick: s[10] ||= (e) => Se("sensorEvents")
788
+ }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(z).sensorEvents ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
818
789
  k(j, {
819
790
  "model-value": n.filters.sensorEvents.includes(e.value),
820
791
  binary: !0,
821
- "onUpdate:modelValue": (t) => ye(e.value)
792
+ "onUpdate:modelValue": (t) => ve(e.value)
822
793
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
823
794
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
824
795
  C("span", null, a(e.label), 1)
825
- ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Rn, [(i(!0), v(b, null, r(p(de), (e) => (i(), v("label", {
796
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
826
797
  key: e.value,
827
798
  class: "flex items-center gap-2 cursor-pointer text-sm"
828
799
  }, [
829
800
  k(j, {
830
801
  "model-value": n.filters.audioLabels.includes(e.value),
831
802
  binary: !0,
832
- "onUpdate:modelValue": (t) => ve(e.value)
803
+ "onUpdate:modelValue": (t) => _e(e.value)
833
804
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
834
805
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
835
806
  C("span", null, a(e.label), 1)
836
807
  ]))), 128))])) : d("", !0)], 64))), 128))])) : d("", !0)]),
837
- C("div", zn, [
808
+ C("div", Fn, [
838
809
  s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
839
810
  k(l, {
840
811
  "model-value": n.filters.filterLogicTriggers,
841
- options: p(oe),
812
+ options: p(ae),
842
813
  "option-label": "label",
843
814
  "option-value": "value",
844
815
  "allow-empty": !1,
845
816
  class: "filter-logic-toggle",
846
- "onUpdate:modelValue": s[11] ||= (e) => K("filterLogicTriggers", e)
817
+ "onUpdate:modelValue": s[11] ||= (e) => G("filterLogicTriggers", e)
847
818
  }, null, 8, ["model-value", "options"]),
848
819
  s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
849
820
  ]),
850
- C("div", Bn, [C("button", {
821
+ C("div", In, [C("button", {
851
822
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
852
- onClick: s[12] ||= (e) => xe("eventTypes")
853
- }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(z).eventTypes ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(z).eventTypes ? (i(), v("div", Vn, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v("label", {
823
+ onClick: s[12] ||= (e) => Se("eventTypes")
824
+ }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(z).eventTypes ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(se), (e) => (i(), v("label", {
854
825
  key: e.value,
855
826
  class: "flex items-center gap-2 cursor-pointer text-sm"
856
827
  }, [
857
828
  k(j, {
858
829
  "model-value": n.filters.eventTypes.includes(e.value),
859
830
  binary: !0,
860
- "onUpdate:modelValue": (t) => _e(e.value)
831
+ "onUpdate:modelValue": (t) => he(e.value)
861
832
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
862
833
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
863
834
  C("span", null, a(e.label), 1)
864
835
  ]))), 128))])) : d("", !0)]),
865
- C("div", Hn, [
836
+ C("div", Rn, [
866
837
  s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
867
838
  k(l, {
868
839
  "model-value": n.filters.filterLogicAttributes,
869
- options: p(oe),
840
+ options: p(ae),
870
841
  "option-label": "label",
871
842
  "option-value": "value",
872
843
  "allow-empty": !1,
873
844
  class: "filter-logic-toggle",
874
- "onUpdate:modelValue": s[13] ||= (e) => K("filterLogicAttributes", e)
845
+ "onUpdate:modelValue": s[13] ||= (e) => G("filterLogicAttributes", e)
875
846
  }, null, 8, ["model-value", "options"]),
876
847
  s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
877
848
  ]),
878
- C("div", Un, [C("button", {
849
+ C("div", zn, [C("button", {
879
850
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
880
- onClick: s[14] ||= (e) => xe("attributes")
881
- }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(z).attributes ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(z).attributes ? (i(), v("div", Wn, [(i(!0), v(b, null, r(p(fe), (e) => (i(), v("label", {
851
+ onClick: s[14] ||= (e) => Se("attributes")
852
+ }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(z).attributes ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v("label", {
882
853
  key: e.value,
883
854
  class: "flex items-center gap-2 cursor-pointer text-sm"
884
855
  }, [
@@ -889,43 +860,43 @@ var tn = l({
889
860
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
890
861
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
891
862
  C("span", null, a(e.label), 1)
892
- ]))), 128)), C("label", Gn, [
863
+ ]))), 128)), C("label", Vn, [
893
864
  k(j, {
894
- "model-value": n.filters.eventTypes.includes(p(G).value),
865
+ "model-value": n.filters.eventTypes.includes(p(W).value),
895
866
  binary: !0,
896
- "onUpdate:modelValue": s[15] ||= (e) => _e(p(G).value)
867
+ "onUpdate:modelValue": s[15] ||= (e) => he(p(W).value)
897
868
  }, null, 8, ["model-value"]),
898
- (i(), u(c(p(G).icon), { class: "w-4 h-4 text-muted" })),
899
- C("span", null, a(p(G).label), 1)
869
+ (i(), u(c(p(W).icon), { class: "w-4 h-4 text-muted" })),
870
+ C("span", null, a(p(W).label), 1)
900
871
  ])])) : d("", !0)])
901
872
  ], 64))
902
873
  ], 4)], 4);
903
874
  };
904
875
  }
905
- }), [["__scopeId", "data-v-e863f967"]]), Jn = { class: "font-semibold text-xl truncate" }, Yn = { class: "w-full h-full relative" }, Xn = {
876
+ }), [["__scopeId", "data-v-e863f967"]]), Wn = { class: "font-semibold text-xl truncate" }, Gn = { class: "w-full h-full relative" }, Kn = {
906
877
  key: 0,
907
878
  class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
908
- }, Zn = { class: "relative z-2 page-title !m-0" }, Qn = {
879
+ }, qn = { class: "relative z-2 page-title !m-0" }, Jn = {
909
880
  key: 1,
910
881
  class: "fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center"
911
- }, $n = {
882
+ }, Yn = {
912
883
  key: 1,
913
884
  class: "flex justify-center py-4"
914
- }, er = {
885
+ }, Xn = {
915
886
  key: 2,
916
887
  class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
917
- }, tr = { class: "text-muted text-sm" }, nr = 288, rr = /* @__PURE__ */ D({
888
+ }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
918
889
  __name: "Recordings",
919
890
  setup(e) {
920
- let t = new Ke(), n = new ue(), r = new R(), c = de(), l = fe(), { bottombarHeight: f } = W(), { status: S, checking: T } = be(), { openEventTrace: D } = ye(), A = xe("@camera.ui/camera-ui-nvr"), N = pe(), { t: P, locale: ee } = Me(), { smBreakpoint: L, xlBreakpoint: V, mdBreakpoint: U } = re(), { registerScrollToTop: ae } = ve();
891
+ let t = new Je(), n = new Se(), r = new fe(), c = me(), l = de(), { bottombarHeight: f } = ge(), { status: S, checking: T } = ne(), { openEventTrace: D } = be(), A = oe("@camera.ui/camera-ui-nvr"), N = Te(), { t: P, locale: re } = Ne(), { smBreakpoint: K, xlBreakpoint: pe, mdBreakpoint: ve } = B(), { registerScrollToTop: ye } = ce();
921
892
  if (typeof VideoDecoder < "u") {
922
- let e = se({ cacheSize: 20 });
923
- o(K, e), Oe(() => e.dispose());
893
+ let e = ie({ cacheSize: 20 });
894
+ o(he, e), ke(() => e.dispose());
924
895
  }
925
- let { results: le, isSearching: me, isAvailable: Se, hasSearched: we, search: De, clear: ke } = G(), { data: je } = t.getAssistantStatusQuery(), { data: Ne } = n.getCamerasQuery({
896
+ let { results: xe, isSearching: Ce, isAvailable: Ee, hasSearched: Oe, search: Ae, clear: Me } = le(), { data: Pe } = t.getAssistantStatusQuery(), { data: Fe } = n.getCamerasQuery({
926
897
  page: 1,
927
898
  pageSize: -1
928
- }), { data: Pe } = r.getUserQuery(m(() => l.user?.username ?? "")), Fe = {
899
+ }), { data: Ie } = r.getUserQuery(m(() => l.user?.username ?? "")), Le = {
929
900
  contentKind: "all",
930
901
  favoritesOnly: !1,
931
902
  search: "",
@@ -944,63 +915,62 @@ var tn = l({
944
915
  minConfidence: .5,
945
916
  minSemanticScore: .5,
946
917
  onlyWithRecordings: !0
947
- }, Ie = {
918
+ }, Re = {
948
919
  "1h": 36e5,
949
920
  "1d": 864e5,
950
921
  "1w": 6048e5,
951
922
  "1m": 2592e6
952
- }, Le = x("gridRef"), ze = x("viewMenuRef"), q = O("closed"), Be = O(!1), J = O({ ...Fe }), He = O(!1), Ue = O(""), We = E({
953
- state: "ended",
923
+ }, Be = x("gridRef"), Ve = x("viewMenuRef"), q = O("closed"), He = O(!1), J = O({ ...Le }), We = O(!1), Ge = O(""), Ke = E({
954
924
  hasDetections: !0,
955
925
  withRecordingInfo: !0,
956
926
  hasRecording: !0
957
- }), qe = JSON.stringify(We.value), Y = O(!1), Je = E([]), it = O(null), at = x("reindexAnchorRef"), { left: ot } = Ae(at), ct = !1, X = m(() => V.value ? !0 : q.value === "opened"), ut = m(() => U.value), dt = ne(() => Le.value?.scrollY ?? 0), pt = m(() => X.value && ut.value ? !0 : dt.value && !S.value?.running), mt = m(() => U.value ? "0px" : X.value ? `${nr}px` : "0px"), Z = m(() => (Ne.value?.result ?? []).map((e) => ({
927
+ }), Ye = JSON.stringify(Ke.value), Y = O(!1), Xe = E([]), ot = O(null), st = x("reindexAnchorRef"), { left: ct } = je(st), ut = !1, X = m(() => pe.value ? !0 : q.value === "opened"), dt = m(() => ve.value), ft = ee(() => Be.value?.scrollY ?? 0), pt = m(() => X.value && dt.value ? !0 : ft.value && !S.value?.running), ht = m(() => ve.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Fe.value?.result ?? []).map((e) => ({
958
928
  id: e._id,
959
929
  name: e.name,
960
930
  room: e.room
961
- }))), ht = m(() => {
931
+ }))), gt = m(() => {
962
932
  let e = /* @__PURE__ */ new Map();
963
933
  for (let t of Z.value) e.set(t.id, t.name);
964
934
  return e;
965
- }), gt = m(() => {
935
+ }), _t = m(() => {
966
936
  let e = /* @__PURE__ */ new Map();
967
- for (let t of Ne.value?.result ?? []) e.set(t._id, t);
937
+ for (let t of Fe.value?.result ?? []) e.set(t._id, t);
968
938
  return e;
969
939
  }), vt = m(() => {
970
940
  let e = J.value.rooms;
971
941
  return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
972
942
  }), yt = m(() => J.value.cameraIds.filter((e) => vt.value.includes(e))), bt = m(() => vt.value);
973
- ae(() => Le.value?.scrollToTop());
974
- let { events: xt, isLoading: St, hasMore: Ct, loadMore: wt, loadThumbnails: Tt, deleteEvents: Et, pluginUnavailable: Dt } = he({
943
+ ye(() => Be.value?.scrollToTop());
944
+ let { events: xt, isLoading: St, hasMore: Ct, loadMore: wt, loadThumbnails: Tt, deleteEvents: Et, pluginUnavailable: Dt } = V({
975
945
  availableCameraIds: bt,
976
946
  cameraIds: yt,
977
947
  realtime: !0,
978
948
  pageSize: 40,
979
- filter: We,
949
+ filter: Ke,
980
950
  withEpisodes: !0
981
951
  }), Q = m(() => {
982
952
  let e = /* @__PURE__ */ new Map();
983
- for (let t of le.value ?? []) {
953
+ for (let t of xe.value ?? []) {
984
954
  let n = e.get(t.eventId);
985
955
  (!n || t.score > n) && e.set(t.eventId, t.score);
986
956
  }
987
957
  return e;
988
- }), Ot = m(() => we.value), $ = m(() => {
989
- let e = xt.value.filter((e) => e.state === "ended"), t = J.value;
990
- if (t.timeRange && Ie[t.timeRange]) {
991
- let n = Date.now() - Ie[t.timeRange];
958
+ }), Ot = m(() => Oe.value), $ = m(() => {
959
+ let e = xt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = J.value;
960
+ if (t.timeRange && Re[t.timeRange]) {
961
+ let n = Date.now() - Re[t.timeRange];
992
962
  e = e.filter((e) => e.startTime >= n);
993
963
  }
994
- return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && et(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Ot.value && (e = e.filter((e) => {
964
+ return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && nt(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Ot.value && (e = e.filter((e) => {
995
965
  let n = Q.value.get(e.id);
996
966
  return n != null && n >= t.minSemanticScore;
997
967
  }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
998
- }), kt = m(() => J.value.contentKind === "episodes"), At = m(() => je.value?.state === "ready"), jt = m(() => {
968
+ }), kt = m(() => J.value.contentKind === "episodes"), At = m(() => Pe.value?.state === "ready"), jt = m(() => {
999
969
  if (J.value.contentKind === "events") return [];
1000
970
  A.storeVersion.value;
1001
971
  let e = J.value;
1002
972
  if (!kt.value && (Y.value || Ot.value || e.gridRegions.length > 0 || e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5)) return [];
1003
- let t = yt.value.length > 0 ? yt.value : bt.value, n = e.timeRange && Ie[e.timeRange] ? Date.now() - Ie[e.timeRange] : 0, r = Infinity;
973
+ let t = yt.value.length > 0 ? yt.value : bt.value, n = e.timeRange && Re[e.timeRange] ? Date.now() - Re[e.timeRange] : 0, r = Infinity;
1004
974
  if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Ct.value && !kt.value) {
1005
975
  let e = Infinity;
1006
976
  for (let t of xt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
@@ -1014,17 +984,17 @@ var tn = l({
1014
984
  }));
1015
985
  return i;
1016
986
  }), Mt = m(() => {
1017
- if (kt.value) return [...jt.value].sort((e, t) => Ze(t) - Ze(e));
1018
- if (Y.value && Je.value.length) return Je.value;
987
+ if (kt.value) return [...jt.value].sort((e, t) => $e(t) - $e(e));
988
+ if (Y.value && Xe.value.length) return Xe.value;
1019
989
  let e = $.value.map((e) => ({
1020
990
  event: e,
1021
991
  key: e.id
1022
992
  }));
1023
- return jt.value.length && (e.push(...jt.value), e.sort((e, t) => Ze(t) - Ze(e))), e;
1024
- }), Nt = m(() => Ce(void 0, "admin")), { selectionMode: Pt, selectedIds: Ft, allSelected: It, bulkBusy: Lt, enterSelectionMode: Rt, exitSelectionMode: zt, toggleSelectAll: Bt, toggleSelection: Vt } = Te($, (e) => e.id);
1025
- function Ht() {
1026
- let e = [...Ft.value];
1027
- e.length && !Lt.value && c.openTextDialog({
993
+ return jt.value.length && (e.push(...jt.value), e.sort((e, t) => $e(t) - $e(e))), e;
994
+ }), Nt = m(() => we(void 0, "admin")), Pt = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Ft, selectedIds: It, allSelected: Lt, bulkBusy: Rt, enterSelectionMode: zt, exitSelectionMode: Bt, toggleSelectAll: Vt, toggleSelection: Ht } = De(Pt, (e) => e.id);
995
+ function Ut() {
996
+ let e = [...It.value];
997
+ e.length && !Rt.value && c.openTextDialog({
1028
998
  data: {
1029
999
  title: P("components.dialog.title.confirm"),
1030
1000
  contentText: P("views.recordings.delete_selected_confirm", { count: e.length }),
@@ -1032,9 +1002,9 @@ var tn = l({
1032
1002
  confirmButtonProps: { severity: "danger" }
1033
1003
  },
1034
1004
  onConfirm: async () => {
1035
- Lt.value = !0;
1005
+ Rt.value = !0;
1036
1006
  try {
1037
- await Et(e), zt(), N.add({
1007
+ await Et(e), Bt(), N.add({
1038
1008
  severity: "success",
1039
1009
  detail: P("views.recordings.delete_selected_done", { count: e.length }),
1040
1010
  life: 5e3
@@ -1046,12 +1016,12 @@ var tn = l({
1046
1016
  life: 5e3
1047
1017
  });
1048
1018
  } finally {
1049
- Lt.value = !1;
1019
+ Rt.value = !1;
1050
1020
  }
1051
1021
  }
1052
1022
  });
1053
1023
  }
1054
- let Ut = m(() => [
1024
+ let Wt = m(() => [
1055
1025
  {
1056
1026
  key: "ungroup",
1057
1027
  label: P("views.recordings.ungroup"),
@@ -1059,7 +1029,7 @@ var tn = l({
1059
1029
  toggle: !0,
1060
1030
  toggleState: Y.value,
1061
1031
  onClick: () => {
1062
- ct = !0, Y.value = !Y.value, l.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1032
+ ut = !0, Y.value = !Y.value, l.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1063
1033
  }
1064
1034
  },
1065
1035
  {
@@ -1089,15 +1059,15 @@ var tn = l({
1089
1059
  }
1090
1060
  }] : []
1091
1061
  ]);
1092
- function Wt() {
1093
- c.openComponentDialog(_t, { data: {
1062
+ function Kt() {
1063
+ c.openComponentDialog(mt, { data: {
1094
1064
  title: P("views.recordings.reindex.title"),
1095
1065
  contentProps: {},
1096
1066
  confirmText: P("views.recordings.reindex.start")
1097
1067
  } });
1098
1068
  }
1099
- function Gt() {
1100
- c.openComponentDialog(Yt, { data: {
1069
+ function qt() {
1070
+ c.openComponentDialog(Gt, { data: {
1101
1071
  title: P("views.recordings.export.title"),
1102
1072
  contentProps: {
1103
1073
  cameras: Z.value,
@@ -1106,25 +1076,25 @@ var tn = l({
1106
1076
  confirmText: P("views.recordings.export.confirm")
1107
1077
  } });
1108
1078
  }
1109
- function Kt() {
1079
+ function Jt() {
1110
1080
  let e = q.value;
1111
1081
  q.value = e === "opened" ? "closed" : "opened";
1112
1082
  }
1113
- function qt() {
1083
+ function Yt() {
1114
1084
  q.value = "closed";
1115
1085
  }
1116
- function Jt(e) {
1117
- !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && ke(), J.value = e;
1086
+ function Xt(e) {
1087
+ !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && Me(), J.value = e;
1118
1088
  }
1119
- async function Xt(e) {
1120
- He.value = !0, Ue.value = "";
1089
+ async function Zt(e) {
1090
+ We.value = !0, Ge.value = "";
1121
1091
  try {
1122
- let t = await Ge(e, ee.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1123
- Jt({
1124
- ...Fe,
1092
+ let t = await qe(e, re.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1093
+ Xt({
1094
+ ...Le,
1125
1095
  ...t.filters,
1126
1096
  favoritesOnly: Nt.value && t.filters.favoritesOnly
1127
- }), Zt(t.filters.semanticQuery), Ue.value = t.note;
1097
+ }), Qt(t.filters.semanticQuery), Ge.value = t.note;
1128
1098
  } catch (e) {
1129
1099
  N.add({
1130
1100
  severity: "error",
@@ -1132,23 +1102,23 @@ var tn = l({
1132
1102
  life: 5e3
1133
1103
  });
1134
1104
  } finally {
1135
- He.value = !1;
1105
+ We.value = !1;
1136
1106
  }
1137
1107
  }
1138
- function Zt(e) {
1108
+ function Qt(e) {
1139
1109
  if (!e.trim()) {
1140
- ke();
1110
+ Me();
1141
1111
  return;
1142
1112
  }
1143
- De(e);
1113
+ Ae(e);
1144
1114
  }
1145
- function Qt(e) {
1146
- let t = gt.value.get(e.cameraId);
1115
+ function $t(e) {
1116
+ let t = _t.value.get(e.cameraId);
1147
1117
  t && D(e, t);
1148
1118
  }
1149
- function $t(e) {
1150
- let t = gt.value.get(e.cameraId);
1151
- t && c.openComponentDialog(ge, {
1119
+ function en(e) {
1120
+ let t = _t.value.get(e.cameraId);
1121
+ t && c.openComponentDialog(G, {
1152
1122
  data: {
1153
1123
  title: t.name,
1154
1124
  dedupeKey: `camera-event:${t._id}:${e.startTime}`,
@@ -1160,7 +1130,7 @@ var tn = l({
1160
1130
  eventTimestamp: e.startTime
1161
1131
  },
1162
1132
  headerActions: e.segments?.some((e) => e?.description) ? [{
1163
- icon: Ee,
1133
+ icon: F,
1164
1134
  toggle: !0,
1165
1135
  onClick: () => {}
1166
1136
  }] : void 0,
@@ -1178,7 +1148,7 @@ var tn = l({
1178
1148
  } }
1179
1149
  });
1180
1150
  }
1181
- return _(V, (e) => {
1151
+ return _(pe, (e) => {
1182
1152
  e && (q.value = "closed");
1183
1153
  }), _(J, (e) => {
1184
1154
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
@@ -1190,22 +1160,21 @@ var tn = l({
1190
1160
  filterLogicAttributes: t ? e.filterLogicAttributes : void 0,
1191
1161
  search: e.search || void 0,
1192
1162
  minConfidence: e.minConfidence > 0 ? e.minConfidence : void 0,
1193
- state: "ended",
1194
1163
  hasDetections: !t,
1195
1164
  withRecordingInfo: !0,
1196
1165
  hasRecording: e.onlyWithRecordings || void 0,
1197
1166
  favoritesOnly: e.favoritesOnly || void 0
1198
1167
  }, r = JSON.stringify(n);
1199
- r !== qe && (qe = r, We.value = n);
1168
+ r !== Ye && (Ye = r, Ke.value = n);
1200
1169
  }, {
1201
1170
  deep: !0,
1202
1171
  immediate: !0
1203
- }), _(Pe, (e) => {
1204
- if (!e || ct) return;
1172
+ }), _(Ie, (e) => {
1173
+ if (!e || ut) return;
1205
1174
  let t = e.preferences?.recordings?.ungrouped;
1206
1175
  t !== void 0 && (Y.value = t);
1207
1176
  }, { immediate: !0 }), _([Y, $], ([e, t]) => {
1208
- Je.value = e ? $e(t) : [];
1177
+ Xe.value = e ? tt(t) : [];
1209
1178
  }), _(() => J.value.cameraIds, (e) => {
1210
1179
  e.length !== 1 && J.value.gridRegions.length > 0 && (J.value = {
1211
1180
  ...J.value,
@@ -1213,13 +1182,13 @@ var tn = l({
1213
1182
  });
1214
1183
  }), j(() => {
1215
1184
  requestAnimationFrame(() => {
1216
- Be.value = !0;
1185
+ He.value = !0;
1217
1186
  });
1218
1187
  }), (e, t) => {
1219
- let n = H, r = lt, o = st, c = Re, l = tt, m = rt, _ = nt, x = ce, E = Xe, D = Qe, O = Ye, A = F, j = ie, N = B, P = M;
1188
+ let n = te, r = U, o = z, c = ze, l = rt, m = at, _ = it, x = ue, E = Qe, D = et, O = Ze, A = W, j = H, N = R, P = M;
1220
1189
  return i(), v("div", null, [
1221
1190
  k(n, { position: "center" }, {
1222
- default: h(() => [C("span", Jn, a(e.$t("views.recordings.title")), 1)]),
1191
+ default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
1223
1192
  _: 1
1224
1193
  }),
1225
1194
  k(n, { position: "left" }, {
@@ -1229,7 +1198,7 @@ var tn = l({
1229
1198
  class: "cui-button p-2 text-color",
1230
1199
  text: "",
1231
1200
  rounded: "",
1232
- onClick: Kt
1201
+ onClick: Jt
1233
1202
  }, {
1234
1203
  icon: h(() => [p(q) === "closed" ? (i(), u(r, {
1235
1204
  key: 0,
@@ -1250,7 +1219,7 @@ var tn = l({
1250
1219
  class: "cui-button p-2 text-color",
1251
1220
  text: "",
1252
1221
  rounded: "",
1253
- onClick: t[0] ||= (e) => p(ze)?.toggleMenu(e)
1222
+ onClick: t[0] ||= (e) => p(Ve)?.toggleMenu(e)
1254
1223
  }, {
1255
1224
  icon: h(() => [k(l, {
1256
1225
  width: "100%",
@@ -1260,22 +1229,22 @@ var tn = l({
1260
1229
  })]),
1261
1230
  _: 1
1262
1231
  }),
1263
- k(qn, {
1232
+ k(Un, {
1264
1233
  filters: p(J),
1265
1234
  cameras: p(Z),
1266
1235
  "is-open": p(X),
1267
- "is-overlay": p(ut),
1236
+ "is-overlay": p(dt),
1268
1237
  "result-count": p(Mt).length,
1269
1238
  "semantic-count": p(Ot) ? p(Q).size : void 0,
1270
- "semantic-search-available": p(Se),
1271
- "semantic-search-loading": p(me),
1239
+ "semantic-search-available": p(Ee),
1240
+ "semantic-search-loading": p(Ce),
1272
1241
  "assistant-search-available": p(At),
1273
- "assistant-search-loading": p(He),
1274
- "assistant-search-note": p(Ue),
1275
- "onUpdate:filters": Jt,
1276
- onSemanticSearch: Zt,
1277
- onAssistantSearch: Xt,
1278
- onClose: qt
1242
+ "assistant-search-loading": p(We),
1243
+ "assistant-search-note": p(Ge),
1244
+ "onUpdate:filters": Xt,
1245
+ onSemanticSearch: Qt,
1246
+ onAssistantSearch: Zt,
1247
+ onClose: Yt
1279
1248
  }, null, 8, [
1280
1249
  "filters",
1281
1250
  "cameras",
@@ -1292,30 +1261,30 @@ var tn = l({
1292
1261
  (i(), u(g, {
1293
1262
  to: "#container",
1294
1263
  defer: ""
1295
- }, [p(X) && p(ut) ? (i(), v("div", {
1264
+ }, [p(X) && p(dt) ? (i(), v("div", {
1296
1265
  key: 0,
1297
1266
  class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1298
- onClick: qt
1267
+ onClick: Yt
1299
1268
  })) : d("", !0)])),
1300
1269
  C("main", {
1301
1270
  ref_key: "reindexAnchorRef",
1302
- ref: at,
1271
+ ref: st,
1303
1272
  class: "relative w-full h-full",
1304
1273
  style: y({
1305
- paddingLeft: p(mt),
1306
- transition: p(Be) ? "padding-left 200ms" : void 0
1274
+ paddingLeft: p(ht),
1275
+ transition: p(He) ? "padding-left 200ms" : void 0
1307
1276
  })
1308
- }, [C("div", Yn, [
1309
- p(L) ? d("", !0) : (i(), v("div", Xn, [
1277
+ }, [C("div", Gn, [
1278
+ p(K) ? d("", !0) : (i(), v("div", Kn, [
1310
1279
  t[3] ||= C("div", { class: "ml-2" }, null, -1),
1311
- p(V) ? d("", !0) : (i(), u(c, {
1280
+ p(pe) ? d("", !0) : (i(), u(c, {
1312
1281
  key: 0,
1313
1282
  id: "recordings-sidebar-toggle",
1314
1283
  severity: "secondary",
1315
1284
  class: "mr-2 cui-icon-lg relative z-2",
1316
1285
  text: "",
1317
1286
  rounded: "",
1318
- onClick: Kt
1287
+ onClick: Jt
1319
1288
  }, {
1320
1289
  icon: h(() => [p(X) ? (i(), u(m, {
1321
1290
  key: 0,
@@ -1328,7 +1297,7 @@ var tn = l({
1328
1297
  }))]),
1329
1298
  _: 1
1330
1299
  })),
1331
- C("h1", Zn, a(e.$t("views.recordings.title")), 1),
1300
+ C("h1", qn, a(e.$t("views.recordings.title")), 1),
1332
1301
  t[4] ||= C("div", { class: "gradient-blur rotate-180 !h-[70px]" }, [
1333
1302
  C("div"),
1334
1303
  C("div"),
@@ -1338,12 +1307,12 @@ var tn = l({
1338
1307
  C("div")
1339
1308
  ], -1)
1340
1309
  ])),
1341
- p(L) ? d("", !0) : (i(), v("div", Qn, [w((i(), u(c, {
1310
+ p(K) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1342
1311
  severity: "secondary",
1343
1312
  text: "",
1344
1313
  rounded: "",
1345
1314
  class: "cui-icon-lg relative z-2",
1346
- onClick: t[1] ||= (e) => p(ze)?.toggleMenu(e)
1315
+ onClick: t[1] ||= (e) => p(Ve)?.toggleMenu(e)
1347
1316
  }, {
1348
1317
  icon: h(() => [k(l, {
1349
1318
  width: "100%",
@@ -1357,15 +1326,15 @@ var tn = l({
1357
1326
  { bottom: !0 }
1358
1327
  ]])])),
1359
1328
  C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1360
- "pt-4": p(L),
1361
- "pt-[calc(40px+2rem)]": !p(L)
1329
+ "pt-4": p(K),
1330
+ "pt-[calc(40px+2rem)]": !p(K)
1362
1331
  }]) }, [
1363
1332
  p(Mt).length ? (i(), u(D, {
1364
1333
  key: 0,
1365
1334
  ref_key: "gridRef",
1366
- ref: Le,
1335
+ ref: Be,
1367
1336
  items: p(Mt),
1368
- "min-item-width": p(L) ? 160 : 180,
1337
+ "min-item-width": p(K) ? 160 : 180,
1369
1338
  gap: 8,
1370
1339
  "has-more": p(Ct),
1371
1340
  "load-more": p(wt),
@@ -1375,9 +1344,9 @@ var tn = l({
1375
1344
  item: h(({ item: e }) => [e.episode ? (i(), u(x, {
1376
1345
  key: 0,
1377
1346
  episode: e.episode,
1378
- "camera-by-id": p(gt),
1347
+ "camera-by-id": p(_t),
1379
1348
  fluid: "",
1380
- "click-disabled": p(Pt)
1349
+ "click-disabled": p(Ft)
1381
1350
  }, null, 8, [
1382
1351
  "episode",
1383
1352
  "camera-by-id",
@@ -1385,19 +1354,19 @@ var tn = l({
1385
1354
  ])) : (i(), u(E, {
1386
1355
  key: 1,
1387
1356
  event: e.event,
1388
- "camera-name": p(ht).get(e.event.cameraId),
1389
- camera: p(gt).get(e.event.cameraId),
1357
+ "camera-name": p(gt).get(e.event.cameraId),
1358
+ camera: p(_t).get(e.event.cameraId),
1390
1359
  "load-thumbnails": p(Tt),
1391
1360
  "semantic-score": p(Q).get(e.event.id),
1392
1361
  "seg-index": e.segIndex,
1393
- "selection-mode": p(Pt),
1394
- selected: p(Ft).has(e.event.id),
1395
- "sibling-active": e.segIndex !== void 0 && p(it) === e.event.id,
1396
- onSelect: (t) => p(Vt)(e.event.id),
1397
- onScrollToEvent: () => $t(e.event),
1398
- onOpenTrace: () => Qt(e.event),
1399
- onMouseenter: (t) => it.value = e.segIndex === void 0 ? null : e.event.id,
1400
- onMouseleave: t[2] ||= (e) => it.value = null
1362
+ "selection-mode": p(Ft) && e.event.state === "ended",
1363
+ selected: p(It).has(e.event.id),
1364
+ "sibling-active": e.segIndex !== void 0 && p(ot) === e.event.id,
1365
+ onSelect: (t) => p(Ht)(e.event.id),
1366
+ onScrollToEvent: () => en(e.event),
1367
+ onOpenTrace: () => $t(e.event),
1368
+ onMouseenter: (t) => ot.value = e.segIndex === void 0 ? null : e.event.id,
1369
+ onMouseleave: t[2] ||= (e) => ot.value = null
1401
1370
  }, null, 8, [
1402
1371
  "event",
1403
1372
  "camera-name",
@@ -1421,21 +1390,21 @@ var tn = l({
1421
1390
  "load-more",
1422
1391
  "item-key"
1423
1392
  ])) : d("", !0),
1424
- p(St) || p(me) ? (i(), v("div", $n, [k(O, {
1393
+ p(St) || p(Ce) ? (i(), v("div", Yn, [k(O, {
1425
1394
  width: "24px",
1426
1395
  height: "24px",
1427
1396
  class: "text-muted"
1428
1397
  })])) : d("", !0),
1429
- !p($).length && !p(St) && !p(me) ? (i(), v("div", er, [k(A, { class: "w-12 h-12 text-muted" }), C("span", tr, a(p(Dt) ? e.$t("views.recordings.recordings_unavailable") : e.$t("views.recordings.no_recordings")), 1)])) : d("", !0)
1398
+ !p($).length && !p(St) && !p(Ce) ? (i(), v("div", Xn, [k(A, { class: "w-12 h-12 text-muted" }), C("span", Zn, a(p(Dt) ? e.$t("views.recordings.recordings_unavailable") : e.$t("views.recordings.no_recordings")), 1)])) : d("", !0)
1430
1399
  ], 2)
1431
1400
  ])], 4),
1432
1401
  p(Nt) && p(Z).length ? (i(), v("div", {
1433
1402
  key: 0,
1434
1403
  class: s(["fixed z-10", p(pt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1435
1404
  style: y({
1436
- left: `calc(${p(ot)}px + ${p(mt)} + 0.75rem + var(--safe-area-inset-left))`,
1405
+ left: `calc(${p(ct)}px + ${p(ht)} + 0.75rem + var(--safe-area-inset-left))`,
1437
1406
  bottom: `calc(${p(f)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1438
- transition: p(Be) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1407
+ transition: p(He) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1439
1408
  })
1440
1409
  }, [k(c, {
1441
1410
  severity: "secondary",
@@ -1446,27 +1415,27 @@ var tn = l({
1446
1415
  done: p(S).done,
1447
1416
  total: p(S).total
1448
1417
  }) : e.$t("views.recordings.reindex.button"),
1449
- onClick: Wt
1418
+ onClick: Kt
1450
1419
  }, {
1451
- icon: h(() => [p(S)?.running ? (i(), u(p(Ye), { key: 0 })) : (i(), u(p(ft), { key: 1 }))]),
1420
+ icon: h(() => [p(S)?.running ? (i(), u(p(Ze), { key: 0 })) : (i(), u(p(lt), { key: 1 }))]),
1452
1421
  _: 1
1453
1422
  }, 8, ["disabled", "label"])], 6)) : d("", !0),
1454
1423
  p(Z).length ? (i(), u(N, {
1455
1424
  key: 1,
1456
- "force-visible": p(Pt),
1457
- "scroll-y": p(Le)?.scrollY ?? 0
1425
+ "force-visible": p(Ft),
1426
+ "scroll-y": p(Be)?.scrollY ?? 0
1458
1427
  }, {
1459
- default: h(() => [p(Pt) ? (i(), v(b, { key: 1 }, [
1428
+ default: h(() => [p(Ft) ? (i(), v(b, { key: 1 }, [
1460
1429
  k(j, {
1461
1430
  grouped: "",
1462
1431
  "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
1463
1432
  "button-props": { severity: "secondary" },
1464
- icon: p(Ve),
1433
+ icon: p(Ue),
1465
1434
  "icon-props": {
1466
1435
  width: "100%",
1467
1436
  height: "100%"
1468
1437
  },
1469
- onClick: p(zt)
1438
+ onClick: p(Bt)
1470
1439
  }, null, 8, [
1471
1440
  "tooltip-props",
1472
1441
  "icon",
@@ -1474,14 +1443,14 @@ var tn = l({
1474
1443
  ]),
1475
1444
  k(j, {
1476
1445
  grouped: "",
1477
- "tooltip-props": { value: p(It) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1478
- "button-props": { severity: p(It) ? "primary" : "secondary" },
1479
- icon: p(te),
1446
+ "tooltip-props": { value: p(Lt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1447
+ "button-props": { severity: p(Lt) ? "primary" : "secondary" },
1448
+ icon: p(se),
1480
1449
  "icon-props": {
1481
1450
  width: "100%",
1482
1451
  height: "100%"
1483
1452
  },
1484
- onClick: p(Bt)
1453
+ onClick: p(Vt)
1485
1454
  }, null, 8, [
1486
1455
  "tooltip-props",
1487
1456
  "button-props",
@@ -1493,14 +1462,14 @@ var tn = l({
1493
1462
  "tooltip-props": { value: e.$t("components.form.tooltip.delete_selected") },
1494
1463
  "button-props": {
1495
1464
  severity: "danger",
1496
- disabled: !p(Ft).size || p(Lt)
1465
+ disabled: !p(It).size || p(Rt)
1497
1466
  },
1498
- icon: p(oe),
1467
+ icon: p(ae),
1499
1468
  "icon-props": {
1500
1469
  width: "100%",
1501
1470
  height: "100%"
1502
1471
  },
1503
- onClick: Ht
1472
+ onClick: Ut
1504
1473
  }, null, 8, [
1505
1474
  "tooltip-props",
1506
1475
  "button-props",
@@ -1516,7 +1485,7 @@ var tn = l({
1516
1485
  width: "100%",
1517
1486
  height: "100%"
1518
1487
  },
1519
- onClick: p(Rt)
1488
+ onClick: p(zt)
1520
1489
  }, null, 8, [
1521
1490
  "tooltip-props",
1522
1491
  "icon",
@@ -1530,14 +1499,14 @@ var tn = l({
1530
1499
  width: "26px",
1531
1500
  height: "26px"
1532
1501
  },
1533
- onClick: Gt
1502
+ onClick: qt
1534
1503
  }, null, 8, ["tooltip-props", "icon"])], 64))]),
1535
1504
  _: 1
1536
1505
  }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1537
- k(z, {
1506
+ k(L, {
1538
1507
  ref_key: "viewMenuRef",
1539
- ref: ze,
1540
- items: p(Ut),
1508
+ ref: Ve,
1509
+ items: p(Wt),
1541
1510
  "auto-hide": !1,
1542
1511
  popover: { pt: {
1543
1512
  root: { class: "w-[22rem]" },
@@ -1549,4 +1518,4 @@ var tn = l({
1549
1518
  }
1550
1519
  });
1551
1520
  //#endregion
1552
- export { rr as default };
1521
+ export { $n as default };