@camera.ui/server 2.2.5-beta.2 → 2.2.5-beta.4

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 (420) hide show
  1. package/dist/interface/assets/{404-BDvtK1qR.js → 404-YZOLos9r.js} +1 -1
  2. package/dist/interface/assets/{About-B4A35rRx.js → About-HtxMc8JZ.js} +1 -1
  3. package/dist/interface/assets/Assistant-bB8RBo-m.js +1 -0
  4. package/dist/interface/assets/Automation-D3DcUyui.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-CEJdhE_d.js → AutomationImport-Dp_hT6hQ.js} +2 -2
  6. package/dist/interface/assets/AutomationStore-BKR7GXMk.js +2 -0
  7. package/dist/interface/assets/{AutomationStoreDetail-BenRMMtV.js → AutomationStoreDetail-B9yh51WQ.js} +2 -2
  8. package/dist/interface/assets/Automations-BdZZW2eN.js +2 -0
  9. package/dist/interface/assets/Camera-Ct7ndOxr.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-D24yXOQn.js → CameraConsole-BI93OaRt.js} +2 -2
  11. package/dist/interface/assets/Cameras-Ctub8sVt.js +651 -0
  12. package/dist/interface/assets/Camview-BjQdTHNh.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-26LAL4MY.js → CertificateUpload-xW55NA1Q.js} +1 -1
  14. package/dist/interface/assets/Config-CBTbYd5v.js +2 -0
  15. package/dist/interface/assets/{ConfigActionAssistant-Cl_kr3hp.js → ConfigActionAssistant-B488rOp5.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-CL4vXcNe.js → ConfigActionCameraControl-ZMUuBxOs.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DtPgmqWh.js → ConfigActionDelay-BJ11xvOW.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-DnkZTP5l.js → ConfigActionHttp-DOUo69OR.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-3svn6YP9.js → ConfigActionImageInput-BMzuVZW9.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-BTsFTLgm.js → ConfigActionMqtt-Co_uksca.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-Cr4xJrZp.js → ConfigActionNotification-CcZkstYx.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-Cxkb_g8p.js → ConfigActionNotificationControl--VeucoTw.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-WTr7FGf_.js → ConfigActionOutput-CyDa1LGA.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-BpcJepbD.js → ConfigActionPlugin-Kfg3ZEQF.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BgD_F-hD.js → ConfigActionSensor-DhAF0HPw.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-DjR-Z08N.js → ConfigActionSnapshot-zMe3SPvW.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-gPuPbjpm.js → ConfigActionVariable-BE5q3NwY.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-CUHKJmPx.js → ConfigConditionIfElse-BNIRtSVD.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-D-gPRqMu.js → ConfigConditionSensorState-DTNd-SzI.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-BRf1T5tJ.js → ConfigConditionSwitch-BU5wWMU1.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-BC0n6sWO.js → ConfigConditionTime-KXTCIVIV.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-BUHapx4M.js → ConfigSensorValueInput-BC1FpMm-.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-Byd6SLGg.js → ConfigTriggerDetection-hIN1hi53.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-B2dWcFrl.js → ConfigTriggerManual-C5vwxS-e.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-B_aUDBu4.js → ConfigTriggerMqtt-B4PtWC3E.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-DAZo1PLj.js → ConfigTriggerSchedule-BZzUdGBa.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-BCqAiPu4.js → ConfigTriggerSensor-D18nwMsj.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DuBydCiq.js → ConfigTriggerSystem-BhygWLB4.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-DDsnpwJr.js → ConfigTriggerWebhook-yyuBuhLD.js} +1 -1
  41. package/dist/interface/assets/Console-Cfk9MA9m.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +5 -0
  43. package/dist/interface/assets/CuiAssistantConversation-lkpZg3ML.css +1 -0
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-C_sMg7E1.js → CuiAutomationRunsDialog-B0ohEHw0.js} +1 -1
  45. package/dist/interface/assets/{CuiBottomSheet-D_0LrjA_.js → CuiBottomSheet-DWefGWK2.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +1 -0
  47. package/dist/interface/assets/CuiCameraPipCard-C2qaGJlH.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +1 -0
  49. package/dist/interface/assets/{CuiCameraShares-BIUB1xMa.js → CuiCameraShares-DcqOcePX.js} +1 -1
  50. package/dist/interface/assets/{CuiCameraTable-D-UhqHk4.js → CuiCameraTable-BOkfp_5M.js} +2 -2
  51. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +1 -0
  52. package/dist/interface/assets/{CuiChartTable-CSK4Mzn3.js → CuiChartTable-DP38uBwK.js} +1 -1
  53. package/dist/interface/assets/{CuiConsole-DAbJXJBq.js → CuiConsole-C7xE_nQg.js} +2 -2
  54. package/dist/interface/assets/{CuiDataTable-DgcJsG-K.js → CuiDataTable-CsqH-RB1.js} +1 -1
  55. package/dist/interface/assets/CuiLightControl-ChGYpQAK.js +1 -0
  56. package/dist/interface/assets/{CuiLightControl-DFrZm_sv.css → CuiLightControl-D9sm8NZb.css} +1 -1
  57. package/dist/interface/assets/{CuiList-HdsA9vV1.js → CuiList-DJp0__mV.js} +1 -1
  58. package/dist/interface/assets/CuiPluginCard-CWImTZ6l.js +2 -0
  59. package/dist/interface/assets/{CuiPluginCategoryChip-C7R1jP7r.js → CuiPluginCategoryChip-Ch_upS6Y.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-BJJw0IaC.js → CuiPluginOAuthButton-DEQ9xILN.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-Bmm1qYdC.js → CuiPluginTrustBadge-sVWdvHcM.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-DTSEFMBt.js → CuiQRCode-DqSF4SkD.js} +1 -1
  63. package/dist/interface/assets/CuiSchema-ytExUVhI.js +1 -0
  64. package/dist/interface/assets/CuiTopNavbarItem-B_KWykgq.js +1 -0
  65. package/dist/interface/assets/Faces-Cb6XMxDC.js +1 -0
  66. package/dist/interface/assets/FirstSteps-QNYTkEJo.js +1 -0
  67. package/dist/interface/assets/Floorplan-DbqADtN1.js +1 -0
  68. package/dist/interface/assets/Instances-DrMzPD65.js +1 -0
  69. package/dist/interface/assets/{Logs-BjcfuMQV.js → Logs-BSPT80vP.js} +2 -2
  70. package/dist/interface/assets/{Menu-BjjnSgdP.js → Menu-HHtuhIS2.js} +1 -1
  71. package/dist/interface/assets/Metrics-CqhUnVRA.js +12 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-9v-Czy_u.js → OAuthDeviceFlow-Bn1nlWNa.js} +1 -1
  73. package/dist/interface/assets/Plugin-DyOg_fbg.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C7sO42RG.js → PluginConsole-Cv-uhnPY.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-cpOz7FkA.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-D0eL9H-b.js → PluginSchema-DW3TGeTM.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +2 -0
  78. package/dist/interface/assets/PluginSearch-C8xHKikH.js +1 -0
  79. package/dist/interface/assets/{PluginUpdateProgress--MM9D8hs.js → PluginUpdateProgress-n6q6vzyd.js} +1 -1
  80. package/dist/interface/assets/Plugins-CuujWEtM.js +1 -0
  81. package/dist/interface/assets/{RecentEventsFilter-CvIJS8Se.js → RecentEventsFilter-CTR5JK_P.js} +1 -1
  82. package/dist/interface/assets/Recordings-ths9khZr.js +1 -0
  83. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-Efw0bZ-X.js → SensorHistory-9CdOpCPs.js} +1 -1
  85. package/dist/interface/assets/Sensors-CK5uExfU.js +2 -0
  86. package/dist/interface/assets/Settings-DN5hFtw_.js +1 -0
  87. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +1 -0
  89. package/dist/interface/assets/{SettingsAccount-si-6gWl5.css → SettingsAccount-CY8YE_cy.css} +1 -1
  90. package/dist/interface/assets/SettingsAppearance-BY1xQMx4.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +1 -0
  92. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +1 -0
  93. package/dist/interface/assets/{SettingsBackup-BqKBKis5.js → SettingsBackup-D_weokqu.js} +1 -1
  94. package/dist/interface/assets/{SettingsList-BU191rmt.js → SettingsList-Bq24WTDU.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-8TZOUxg2.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-sI64FPZG.js → SettingsPermissions-M8u_jrN0.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-CghrKErw.js → SettingsRecordings-C1Kp5xW_.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +2 -0
  100. package/dist/interface/assets/{SettingsSystem-DP1p1Xns.js → SettingsSystem-Cetu2faJ.js} +2 -2
  101. package/dist/interface/assets/{SettingsUsers-Dpej-he1.js → SettingsUsers-CDwtQLdV.js} +1 -1
  102. package/dist/interface/assets/{Terminal-DPRPXCSt.js → Terminal-Dl-aAZME.js} +2 -2
  103. package/dist/interface/assets/{Training-Dwf5rXyC.css → Training-B1oQjAr8.css} +1 -1
  104. package/dist/interface/assets/Training-DdZjXgt1.js +1 -0
  105. package/dist/interface/assets/{Updates-QTvCp1aS.js → Updates-CkB1lXuo.js} +1 -1
  106. package/dist/interface/assets/{VariableInput-DhusSZPw.js → VariableInput-BxPj5wo6.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-Bkzz4Mv3.js → VariableSuggestions-CbizvAkz.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-DjNSpSYy.js → VersionsHandler-CePyEUVO.js} +2 -2
  109. package/dist/interface/assets/{VirtualSensorCreate-soGT6h2c.js → VirtualSensorCreate-D_GVoeL7.js} +1 -1
  110. package/dist/interface/assets/Workers-7yiebNkl.js +2 -0
  111. package/dist/interface/assets/api-DK2Bav9D.js +4 -0
  112. package/dist/interface/assets/api-DTCqDA-h.css +2 -0
  113. package/dist/interface/assets/{api-CK2tonlH.js → api-DW2niHRN.js} +1 -1
  114. package/dist/interface/assets/{assistant-BEe1ExZL.js → assistant-BJ6xKcw_.js} +1 -1
  115. package/dist/interface/assets/{auth-QEpUGkWd.js → auth-Dc8bUpc-.js} +1 -1
  116. package/dist/interface/assets/{automations-BBIBV4Uu.js → automations-DXrjbArj.js} +1 -1
  117. package/dist/interface/assets/{cameraSources-Cm18cW9L.js → cameraSources-QJfUDOQJ.js} +1 -1
  118. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +1 -0
  119. package/dist/interface/assets/{config-vwkU8aqP.js → config-CiQDwB4t.js} +1 -1
  120. package/dist/interface/assets/{flowSchema-rzBroL0H.js → flowSchema-BRTZHQ1w.js} +1 -1
  121. package/dist/interface/assets/{intercomService-Du8V_HxF.js → intercomService-BnA-FQ0Q.js} +1 -1
  122. package/dist/interface/assets/{main-XHFrBKKz.css → main-BoGhBedC.css} +1 -1
  123. package/dist/interface/assets/main-D74mRIxc.js +3 -0
  124. package/dist/interface/assets/mqtt-iD9XHYO_.js +1 -0
  125. package/dist/interface/assets/{notifications-CN6eTJb_.js → notifications-CbAJX7RF.js} +1 -1
  126. package/dist/interface/assets/{plugins-DKtX7zQp.js → plugins-eIUrXNeM.js} +1 -1
  127. package/dist/interface/assets/rooms-BqPyo8jc.js +1 -0
  128. package/dist/interface/assets/{sensorIcons-ztqlMLDc.js → sensorIcons-DQVgryYP.js} +1 -1
  129. package/dist/interface/assets/{sensorSlots-D-uxjuv3.js → sensorSlots-BZCXtnb6.js} +1 -1
  130. package/dist/interface/assets/{sensors-DV2Z0IJt.js → sensors-DttBNEEt.js} +1 -1
  131. package/dist/interface/assets/{server-CfZnIVzn.js → server-DUFhf2c_.js} +1 -1
  132. package/dist/interface/assets/{theme-Bi7qdjBK.js → theme-BMmjtQ4w.js} +1 -1
  133. package/dist/interface/assets/{types-CNLAvgyw.js → types-5rE8Tz0_.js} +1 -1
  134. package/dist/interface/assets/{types-DwbeYXvn.js → types-CXw7CEzu.js} +1 -1
  135. package/dist/interface/assets/{types-DuwD8xp5.js → types-DWTSNJ79.js} +1 -1
  136. package/dist/interface/assets/ungrouped-D56FGIrg.js +1 -0
  137. package/dist/interface/assets/ungrouped-DHMJ9Rg1.css +1 -0
  138. package/dist/interface/assets/{updates-BqCH6Vr8.js → updates-TIPWXKzL.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-B-rmq3Bb.js → useAppVersion-BIz44Bg4.js} +1 -1
  140. package/dist/interface/assets/{useAssistantActions-Kf-5ijVf.js → useAssistantActions-CLkkw9kB.js} +1 -1
  141. package/dist/interface/assets/useBackupRestore-Crfd592q.js +1 -0
  142. package/dist/interface/assets/{useCameraOptions-Dt2J8sP_.js → useCameraOptions-A97teAIr.js} +1 -1
  143. package/dist/interface/assets/{useKeyboardInset-DtD3I2WC.js → useKeyboardInset-DXVi1dLG.js} +1 -1
  144. package/dist/interface/assets/{useLogsSocket-CEhUQdiY.js → useLogsSocket-BlFxVXjF.js} +1 -1
  145. package/dist/interface/assets/{useNavLayout-CtpYjS5W.js → useNavLayout-C5obaCNv.js} +1 -1
  146. package/dist/interface/assets/{usePermissions-CJzuagwD.js → usePermissions-C8hB_pG1.js} +1 -1
  147. package/dist/interface/assets/{usePluginUpdates-BwoWN5yb.js → usePluginUpdates-DO0-Gk4Q.js} +1 -1
  148. package/dist/interface/assets/{usePushRegistration-ANx4BS6_.js → usePushRegistration-BUttCraQ.js} +1 -1
  149. package/dist/interface/assets/{useServerRestart-7edyD8M0.js → useServerRestart-Cz9eVHUE.js} +1 -1
  150. package/dist/interface/assets/{useStreamStatus-DCSWHdbW.js → useStreamStatus-BhS_MCCB.js} +1 -1
  151. package/dist/interface/assets/{useTabSwipe-DfS3R3uP.js → useTabSwipe-D4k8lm1M.js} +1 -1
  152. package/dist/interface/assets/{useUpdateChannel-Cr9mSIRC.js → useUpdateChannel-D9lhfW0y.js} +1 -1
  153. package/dist/interface/assets/{useUpdatesSocket-B5Rm9syb.js → useUpdatesSocket-DnH9sON5.js} +1 -1
  154. package/dist/interface/assets/{useUserOptions-CJjImz8V.js → useUserOptions-BTRBUuE2.js} +1 -1
  155. package/dist/interface/assets/{vendor-cameraui-BbGOMenD.js → vendor-cameraui-QXD8jkcj.js} +26 -26
  156. package/dist/interface/assets/{vendor-core-tgH2YubJ.js → vendor-core-CnhnyKDl.js} +1 -1
  157. package/dist/interface/assets/{vendor-primevue-DNJJiEZl.js → vendor-primevue-CCUqY55W.js} +207 -207
  158. package/dist/interface/ha/{404-Dl6JtQWv.js → 404-DLhJqxRl.js} +1 -1
  159. package/dist/interface/ha/{About-wjv4kCO3.js → About-DC0i1iE4.js} +3 -3
  160. package/dist/interface/ha/{Assistant-Dpb4IsDC.js → Assistant-BmazMPIg.js} +821 -825
  161. package/dist/interface/ha/{Automation-CqTPjCUh.js → Automation-gabF9YzQ.js} +336 -336
  162. package/dist/interface/ha/{AutomationImport-CvdeneoU.js → AutomationImport-DaqZNs9s.js} +8 -8
  163. package/dist/interface/ha/{AutomationStore-bVPE68io.js → AutomationStore-DzM4huo5.js} +54 -54
  164. package/dist/interface/ha/{AutomationStoreDetail-BYaNUjoH.js → AutomationStoreDetail-CpzQMt_D.js} +7 -7
  165. package/dist/interface/ha/{Automations-BfsYh2A_.js → Automations-Dcm4Us50.js} +81 -81
  166. package/dist/interface/ha/{Camera-C70onr_O.js → Camera-CNK3QR7l.js} +198 -198
  167. package/dist/interface/ha/{CameraConsole-Dg3lV-wq.js → CameraConsole-CpcF0411.js} +5 -5
  168. package/dist/interface/ha/{Cameras-DpM6gt3G.js → Cameras-Cf9rwRyf.js} +293 -294
  169. package/dist/interface/ha/{Camview-CO_bHntH.js → Camview-BFKR2t6C.js} +87 -87
  170. package/dist/interface/ha/{Config-D-cpocuH.js → Config-1XH3zfr2.js} +11 -11
  171. package/dist/interface/ha/{ConfigActionAssistant-DVVVfVvT.js → ConfigActionAssistant-C0-NFoTB.js} +5 -5
  172. package/dist/interface/ha/{ConfigActionCameraControl-BPpzE9-F.js → ConfigActionCameraControl-DNSKZPSZ.js} +5 -5
  173. package/dist/interface/ha/{ConfigActionDelay-zU6H75hY.js → ConfigActionDelay-iZ3lPGzw.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionHttp-BsNy03j4.js → ConfigActionHttp-DVJAcGkl.js} +3 -3
  175. package/dist/interface/ha/{ConfigActionImageInput-JUvNYn0w.js → ConfigActionImageInput-VVbHHHZs.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionMqtt-PZqAKfTo.js → ConfigActionMqtt-N5OUJDzM.js} +4 -4
  177. package/dist/interface/ha/{ConfigActionNotification-DIL7abEm.js → ConfigActionNotification-s142tQoU.js} +6 -6
  178. package/dist/interface/ha/{ConfigActionNotificationControl-BQ2w5yeg.js → ConfigActionNotificationControl-Dh7kaKVP.js} +3 -3
  179. package/dist/interface/ha/{ConfigActionOutput-DVilKhPV.js → ConfigActionOutput-B4HHTg5C.js} +1 -1
  180. package/dist/interface/ha/{ConfigActionPlugin-BUfTEJQ_.js → ConfigActionPlugin-D20G2Dqf.js} +5 -5
  181. package/dist/interface/ha/{ConfigActionSensor-Dzp16VyX.js → ConfigActionSensor-BS3jrFaG.js} +6 -6
  182. package/dist/interface/ha/{ConfigActionSnapshot-CRjD5AMC.js → ConfigActionSnapshot-CInLAcwK.js} +3 -3
  183. package/dist/interface/ha/{ConfigActionVariable-CR8g7gEh.js → ConfigActionVariable-C5vADGNF.js} +2 -2
  184. package/dist/interface/ha/{ConfigConditionIfElse-CHoSgzXF.js → ConfigConditionIfElse-CPeWDD31.js} +4 -4
  185. package/dist/interface/ha/{ConfigConditionSensorState-Dn8_OhQe.js → ConfigConditionSensorState-BM5GmpN6.js} +6 -6
  186. package/dist/interface/ha/{ConfigConditionSwitch-Ds-nqWeU.js → ConfigConditionSwitch-Dmz9FduJ.js} +4 -4
  187. package/dist/interface/ha/{ConfigConditionTime-DWNfEluj.js → ConfigConditionTime-DF6llIJq.js} +2 -2
  188. package/dist/interface/ha/{ConfigSensorValueInput-DwXM9wP1.js → ConfigSensorValueInput-Ch5njvtv.js} +7 -7
  189. package/dist/interface/ha/{ConfigTriggerDetection-D37OkR_u.js → ConfigTriggerDetection-BR2QWNyO.js} +5 -5
  190. package/dist/interface/ha/{ConfigTriggerGeofence-EbXy_y3Q.js → ConfigTriggerGeofence-CaImOjyW.js} +9 -9
  191. package/dist/interface/ha/{ConfigTriggerMqtt-BX6uNEZy.js → ConfigTriggerMqtt-DWz1XwZQ.js} +2 -2
  192. package/dist/interface/ha/{ConfigTriggerSensor-BFGEtBVF.js → ConfigTriggerSensor-lfnhz0im.js} +3 -3
  193. package/dist/interface/ha/{ConfigTriggerSystem-fRnAgUGR.js → ConfigTriggerSystem-CwUhyFAj.js} +3 -3
  194. package/dist/interface/ha/{ConfigTriggerWebhook-DegifRdj.js → ConfigTriggerWebhook-J6Xts7GQ.js} +2 -2
  195. package/dist/interface/ha/{Console-Bo6S5psN.js → Console-BSdKFm6Y.js} +8 -8
  196. package/dist/interface/ha/{CuiAutomationRunsDialog-DXpNJqDE.js → CuiAutomationRunsDialog-BU8sympp.js} +3 -3
  197. package/dist/interface/ha/{CuiBottomSheet-DLkC2OmT.js → CuiBottomSheet-Bnp7ta7V.js} +1 -1
  198. package/dist/interface/ha/{CuiCameraRecordings-9tdkxXiT.js → CuiCameraRecordings-E-mMqKSs.js} +18 -19
  199. package/dist/interface/ha/{CuiCameraShares-BbqY_2b7.js → CuiCameraShares-DcNwd2OC.js} +8 -8
  200. package/dist/interface/ha/{CuiCameraTable-BmH1yAgl.js → CuiCameraTable-DNW9Vm_A.js} +6 -6
  201. package/dist/interface/ha/{CuiChartTable-BjBBI7Fo.js → CuiChartTable-muC7jL2H.js} +6 -6
  202. package/dist/interface/ha/{CuiConsole-By3m4UbE.js → CuiConsole-ND8bcuTg.js} +2 -2
  203. package/dist/interface/ha/{CuiDataTable-C_ndu5My.js → CuiDataTable-CN4T8DgP.js} +13 -13
  204. package/dist/interface/ha/{CuiPluginCard-BLQ1galy.js → CuiPluginCard-nIQiyQvH.js} +31 -31
  205. package/dist/interface/ha/{CuiPluginOAuthButton-BDghklSy.js → CuiPluginOAuthButton-FJ49NfUh.js} +3 -3
  206. package/dist/interface/ha/{CuiPluginTrustBadge-DolANNao.js → CuiPluginTrustBadge-D6eanMyI.js} +2 -2
  207. package/dist/interface/ha/{CuiQRCode-CcjPngXI.js → CuiQRCode-BdJzeeoE.js} +2 -2
  208. package/dist/interface/ha/{CuiSchema-D9JFf0dp.js → CuiSchema-DY0V-8xP.js} +67 -67
  209. package/dist/interface/ha/{CuiTopNavbarItem-DcUEq-4e.js → CuiTopNavbarItem-DT5pAKHp.js} +7 -8
  210. package/dist/interface/ha/{Faces-DjXHzr77.js → Faces-C_svyTrr.js} +92 -92
  211. package/dist/interface/ha/{FirstSteps-CQAP9Siw.js → FirstSteps-yS2M2cor.js} +9 -9
  212. package/dist/interface/ha/{Floorplan-DyaPzlQO.js → Floorplan-DSOeScjI.js} +194 -194
  213. package/dist/interface/ha/{Instances-DWjaU5gj.js → Instances-B4h5EKpF.js} +20 -20
  214. package/dist/interface/ha/{Logs-Dlx-X1NS.js → Logs-BH0Lxvs6.js} +12 -12
  215. package/dist/interface/ha/{Menu-iqEe01qO.js → Menu-COH7QXuE.js} +13 -13
  216. package/dist/interface/ha/{Metrics-Br2Dyvzh.js → Metrics-BtnRqL_I.js} +136 -136
  217. package/dist/interface/ha/{OAuthDeviceFlow-CIGk92FD.js → OAuthDeviceFlow-D2QJ9MnP.js} +8 -8
  218. package/dist/interface/ha/{Plugin-DklIr7j2.js → Plugin-EfUSqwyh.js} +85 -85
  219. package/dist/interface/ha/{PluginConsole-DCfxPtGU.js → PluginConsole-hh_o15f7.js} +4 -4
  220. package/dist/interface/ha/PluginDetail-DFiXGkrY.js +805 -0
  221. package/dist/interface/ha/{PluginSearch-BTKBnjxb.js → PluginSearch-Cdrfubrj.js} +54 -54
  222. package/dist/interface/ha/{PluginUpdateProgress-Dej5AcCt.js → PluginUpdateProgress-BD2g2kVj.js} +3 -3
  223. package/dist/interface/ha/{Plugins-C2fONspm.js → Plugins-qFiHW-Nk.js} +45 -45
  224. package/dist/interface/ha/{RecentEventsFilter-ylgjiDo8.js → RecentEventsFilter-UWrXnvfq.js} +1 -1
  225. package/dist/interface/ha/{Recordings-w39I43cc.js → Recordings-BzeC6tOz.js} +437 -419
  226. package/dist/interface/ha/{SensorEdit-BkKi1l-A.js → SensorEdit-BSgy7lkZ.js} +360 -360
  227. package/dist/interface/ha/{SensorHistory-BGJjMlc3.js → SensorHistory-IDvP8LKH.js} +2 -2
  228. package/dist/interface/ha/{Sensors-D_Wi9XPa.js → Sensors-Diqp4oZ0.js} +96 -97
  229. package/dist/interface/ha/{Settings-Bn7WLWf0.js → Settings-BgDsxAlx.js} +11 -11
  230. package/dist/interface/ha/{SettingsAccount-CRTex-1j.js → SettingsAccount-DBXMQPYk.js} +159 -159
  231. package/dist/interface/ha/{SettingsAppearance-B1qmJnYk.js → SettingsAppearance-VmbjnT3o.js} +6 -6
  232. package/dist/interface/ha/{SettingsAssistant-DDd1X0BC.js → SettingsAssistant-C2R4ZetE.js} +133 -133
  233. package/dist/interface/ha/{SettingsBackup-DZbhSB13.js → SettingsBackup-BqY9TwYn.js} +20 -20
  234. package/dist/interface/ha/{SettingsList-BQdyPe0H.js → SettingsList-CzHcfo2N.js} +4 -4
  235. package/dist/interface/ha/{SettingsMqtt-CSZcY6ht.js → SettingsMqtt-DqV3h3Ow.js} +149 -149
  236. package/dist/interface/ha/{SettingsNotifications-CfEhl0-y.js → SettingsNotifications-yn5fIR_7.js} +6 -6
  237. package/dist/interface/ha/{SettingsRecordings-BnAGDvcH.js → SettingsRecordings-DDs1lyfY.js} +8 -8
  238. package/dist/interface/ha/{SettingsRemote-w86TQVUA.js → SettingsRemote-jBw3l5E0.js} +172 -172
  239. package/dist/interface/ha/{SettingsSystem-CENjHL3k.js → SettingsSystem-BOv9hNlk.js} +9 -9
  240. package/dist/interface/ha/{SettingsUsers-CqSHRklV.js → SettingsUsers-Biv-2F4C.js} +90 -90
  241. package/dist/interface/ha/{Terminal-WsuxG3k-.js → Terminal-CmcrGEV0.js} +4 -4
  242. package/dist/interface/ha/Training-BEzPiXZg.js +1512 -0
  243. package/dist/interface/ha/{Updates-Dl_lLLR2.js → Updates-DJAcmDQJ.js} +12 -12
  244. package/dist/interface/ha/{VariableInput-C8Q81GUt.js → VariableInput-DlYg7t0m.js} +2 -2
  245. package/dist/interface/ha/{VersionsHandler-BOvjesvp.js → VersionsHandler-UnrAWn-b.js} +11 -11
  246. package/dist/interface/ha/{VirtualSensorCreate-sgwATaky.js → VirtualSensorCreate-CssxeaCC.js} +2 -2
  247. package/dist/interface/ha/{Workers-CkDuQ9NG.js → Workers-CLpqLugC.js} +14 -14
  248. package/dist/interface/ha/{accordion-Xem2SzgR.js → accordion-BylV-jUK.js} +2 -2
  249. package/dist/interface/ha/{api-BmYisoxj.js → api-BP7mlzjP.js} +11181 -11736
  250. package/dist/interface/ha/{api-oqpIZTkx.js → api-B_tDa73J.js} +1 -1
  251. package/dist/interface/ha/{assistant-0jE4C19U.js → assistant-Cb6ACguQ.js} +1 -1
  252. package/dist/interface/ha/{auth-B4Msg7R-.js → auth-DOYDRgFm.js} +1 -1
  253. package/dist/interface/ha/{autocomplete-B94Amei3.js → autocomplete-Cp3u2Ywa.js} +4 -4
  254. package/dist/interface/ha/{automationBlueprint-C-12Yjl7.js → automationBlueprint-CbbG_ku4.js} +1 -1
  255. package/dist/interface/ha/cameraui-cards.js +1 -1
  256. package/dist/interface/ha/{cards-BrOcoiQJ.js → cards-BpBP1zVW.js} +1206 -1198
  257. package/dist/interface/ha/{config-IG56wp6m.js → config-DroY1HBs.js} +1 -1
  258. package/dist/interface/ha/{datepicker-B4Azs5zr.js → datepicker-DXk97lTw.js} +4 -4
  259. package/dist/interface/ha/{mqtt-pl13wSmG.js → mqtt-NJTVdd53.js} +1 -1
  260. package/dist/interface/ha/{multiselect-Dp4XDBRR.js → multiselect-BOb4ScAZ.js} +4 -4
  261. package/dist/interface/ha/{notifications-B6wxSmou.js → notifications-BPTvvgvv.js} +1 -1
  262. package/dist/interface/ha/{plugins-BwwaWxye.js → plugins-B29K3nQP.js} +1 -1
  263. package/dist/interface/ha/{rooms-NIzjFYAd.js → rooms-DLw0WUy_.js} +1 -1
  264. package/dist/interface/ha/{select-UR3ZRDew.js → select-DV7p2EDj.js} +4 -4
  265. package/dist/interface/ha/{server-YOLwDVAW.js → server-B4b5_Ecu.js} +1 -1
  266. package/dist/interface/ha/{speeddial-LCbl5g8p.js → speeddial-B5p0fuqL.js} +1 -1
  267. package/dist/interface/ha/{tooltip-Z7VN-E1u.js → tooltip-BDrlgLof.js} +1 -1
  268. package/dist/interface/ha/{types-B8B9MqK0.js → types-DJHHL7nn.js} +1 -1
  269. package/dist/interface/ha/{ungrouped-DttNEB62.js → ungrouped-xyK1QrsM.js} +344 -376
  270. package/dist/interface/ha/{updates-DVhiQhMM.js → updates-XFSu9Tfm.js} +5 -5
  271. package/dist/interface/ha/{useAppVersion-CG4D44Aa.js → useAppVersion-BH3rU1zz.js} +1 -1
  272. package/dist/interface/ha/{useLogsSocket-PKsRDttg.js → useLogsSocket-CaTRzvgU.js} +1 -1
  273. package/dist/interface/ha/{useNavLayout-DoEcPx9Z.js → useNavLayout-DV0_OQx0.js} +1 -1
  274. package/dist/interface/ha/{useServerRestart-CMl589qX.js → useServerRestart-C8tynLUf.js} +1 -1
  275. package/dist/interface/ha/{useTabSwipe-Cmqdn0J5.js → useTabSwipe-CFoLDp3j.js} +1 -1
  276. package/dist/interface/ha/{useUpdateChannel-BBW2EX7N.js → useUpdateChannel-DSG2RTPe.js} +2 -2
  277. package/dist/interface/ha/{useUpdatesSocket-B6ICpKKC.js → useUpdatesSocket-CSQ0g7-6.js} +1 -1
  278. package/dist/interface/ha/{useUserOptions-CzclRfar.js → useUserOptions-CFaCy6L1.js} +1 -1
  279. package/dist/interface/ha/{virtualscroller-C5j7FXj4.js → virtualscroller-B-UQZDMJ.js} +88 -88
  280. package/dist/interface/index.html +34 -34
  281. package/dist/interface/sw.js +1 -1
  282. package/dist/server/package.json +22 -20
  283. package/dist/server/requirements.txt +1 -1
  284. package/dist/server/src/api/controllers/auth.controller.js +5 -6
  285. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  286. package/dist/server/src/api/controllers/plugins.controller.js +5 -5
  287. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  288. package/dist/server/src/api/database/checks.js +20 -8
  289. package/dist/server/src/api/database/checks.js.map +1 -1
  290. package/dist/server/src/api/database/selfcheck.js +2 -2
  291. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  292. package/dist/server/src/api/index.js +8 -6
  293. package/dist/server/src/api/index.js.map +1 -1
  294. package/dist/server/src/api/plugins/logger.plugin.js +11 -11
  295. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  296. package/dist/server/src/api/services/twoFactor.service.d.ts +4 -5
  297. package/dist/server/src/api/services/twoFactor.service.js +16 -17
  298. package/dist/server/src/api/services/twoFactor.service.js.map +1 -1
  299. package/dist/server/src/api/types/index.d.ts +0 -1
  300. package/dist/server/src/api/utils/cert.js +128 -135
  301. package/dist/server/src/api/utils/cert.js.map +1 -1
  302. package/dist/server/src/api/utils/form-body.d.ts +2 -0
  303. package/dist/server/src/api/utils/form-body.js +22 -0
  304. package/dist/server/src/api/utils/form-body.js.map +1 -0
  305. package/dist/server/src/api/utils/install-logger.js +12 -12
  306. package/dist/server/src/api/utils/install-logger.js.map +1 -1
  307. package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -3
  308. package/dist/server/src/api/websocket/nsp/logs.js +79 -65
  309. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  310. package/dist/server/src/assistant/history.d.ts +2 -0
  311. package/dist/server/src/assistant/history.js +46 -0
  312. package/dist/server/src/assistant/history.js.map +1 -0
  313. package/dist/server/src/assistant/manager.js +2 -1
  314. package/dist/server/src/assistant/manager.js.map +1 -1
  315. package/dist/server/src/camera/controller.d.ts +1 -0
  316. package/dist/server/src/camera/controller.js +23 -18
  317. package/dist/server/src/camera/controller.js.map +1 -1
  318. package/dist/server/src/camera/decoder/worker.d.ts +3 -0
  319. package/dist/server/src/camera/decoder/worker.js +42 -5
  320. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  321. package/dist/server/src/go2rtc/index.js +2 -2
  322. package/dist/server/src/go2rtc/index.js.map +1 -1
  323. package/dist/server/src/main.js +5 -5
  324. package/dist/server/src/main.js.map +1 -1
  325. package/dist/server/src/manager/discoveryManager.js +2 -2
  326. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  327. package/dist/server/src/remote/services/cloudflare-managed.js +6 -3
  328. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  329. package/dist/server/src/remote/services/cloudflare.d.ts +0 -1
  330. package/dist/server/src/remote/services/cloudflare.js +9 -20
  331. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  332. package/dist/server/src/remote/services/cloudflaredBinary.d.ts +3 -2
  333. package/dist/server/src/remote/services/cloudflaredBinary.js +9 -16
  334. package/dist/server/src/remote/services/cloudflaredBinary.js.map +1 -1
  335. package/dist/server/src/rpc/server.js +2 -2
  336. package/dist/server/src/rpc/server.js.map +1 -1
  337. package/dist/server/src/utils/automation-registry/index.js +3 -3
  338. package/dist/server/src/utils/automation-registry/index.js.map +1 -1
  339. package/dist/server/src/utils/colors.d.ts +2 -0
  340. package/dist/server/src/utils/colors.js +8 -0
  341. package/dist/server/src/utils/colors.js.map +1 -0
  342. package/dist/server/src/utils/npm/auth.d.ts +3 -2
  343. package/dist/server/src/utils/npm/auth.js +1 -1
  344. package/dist/server/src/utils/npm/auth.js.map +1 -1
  345. package/dist/server/src/utils/npm/index.d.ts +3 -15
  346. package/dist/server/src/utils/npm/index.js +26 -17
  347. package/dist/server/src/utils/npm/index.js.map +1 -1
  348. package/dist/server/src/utils/npm/registry.d.ts +69 -0
  349. package/dist/server/src/utils/npm/registry.js +240 -0
  350. package/dist/server/src/utils/npm/registry.js.map +1 -0
  351. package/dist/server/src/utils/plugin-registry/index.js +3 -3
  352. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  353. package/dist/server/src/utils/process.d.ts +10 -0
  354. package/dist/server/src/utils/process.js +112 -0
  355. package/dist/server/src/utils/process.js.map +1 -0
  356. package/dist/server/src/utils/totp.d.ts +12 -0
  357. package/dist/server/src/utils/totp.js +71 -0
  358. package/dist/server/src/utils/totp.js.map +1 -0
  359. package/dist/server/src/utils/ttl-cache.d.ts +20 -0
  360. package/dist/server/src/utils/ttl-cache.js +63 -0
  361. package/dist/server/src/utils/ttl-cache.js.map +1 -0
  362. package/npm-shrinkwrap.json +6427 -0
  363. package/package.json +22 -20
  364. package/dist/interface/assets/Assistant-BKxssfw-.js +0 -1
  365. package/dist/interface/assets/Automation-CP59cgP7.js +0 -3
  366. package/dist/interface/assets/AutomationStore-BZGR_5Xl.js +0 -2
  367. package/dist/interface/assets/Automations-BpXorYAS.js +0 -2
  368. package/dist/interface/assets/Camera-UBUfaR5a.js +0 -2
  369. package/dist/interface/assets/Cameras-B21Y8MdQ.js +0 -651
  370. package/dist/interface/assets/Camview-BySyPtU5.js +0 -1
  371. package/dist/interface/assets/Config-BGyGmukb.js +0 -2
  372. package/dist/interface/assets/ConfigTriggerGeofence-CkzTFEZn.js +0 -1
  373. package/dist/interface/assets/Console-HXmKYaK_.js +0 -1
  374. package/dist/interface/assets/CuiAssistantConversation-2qrRCsgw.js +0 -5
  375. package/dist/interface/assets/CuiAssistantConversation-DmSdiv1b.css +0 -1
  376. package/dist/interface/assets/CuiBottomSheet-CTr-KHC8.js +0 -1
  377. package/dist/interface/assets/CuiCameraPipCard-BZCayhy_.js +0 -1
  378. package/dist/interface/assets/CuiCameraRecordings-BbaEL2ST.js +0 -1
  379. package/dist/interface/assets/CuiCameraTable-C5tQHs63.js +0 -1
  380. package/dist/interface/assets/CuiLightControl-v6k9hVGl.js +0 -1
  381. package/dist/interface/assets/CuiPluginCard-5MRYJcF2.js +0 -2
  382. package/dist/interface/assets/CuiSchema-BDXeXora.js +0 -1
  383. package/dist/interface/assets/CuiTopNavbarItem-BVknLbRO.js +0 -1
  384. package/dist/interface/assets/Faces-BEpYvbB0.js +0 -1
  385. package/dist/interface/assets/FirstSteps-U93RDOcP.js +0 -1
  386. package/dist/interface/assets/Floorplan-D8XoCNOB.js +0 -1
  387. package/dist/interface/assets/Instances-CFwZotvU.js +0 -1
  388. package/dist/interface/assets/Metrics-Ca_d5CbP.js +0 -12
  389. package/dist/interface/assets/Plugin-BjLw46Sw.js +0 -1
  390. package/dist/interface/assets/PluginDetail-BuLW4lkN.js +0 -2
  391. package/dist/interface/assets/PluginSearch--LLMEeyx.js +0 -2
  392. package/dist/interface/assets/PluginSearch-0akjE0ef.js +0 -1
  393. package/dist/interface/assets/Plugins-26O511gf.js +0 -1
  394. package/dist/interface/assets/Recordings-DQOGeSFm.js +0 -1
  395. package/dist/interface/assets/SensorEdit-DEW5D80x.js +0 -1
  396. package/dist/interface/assets/Sensors-C8yOyAwo.js +0 -2
  397. package/dist/interface/assets/Settings-B-RgMeVm.js +0 -1
  398. package/dist/interface/assets/SettingsAccount-B6aXFx3F.js +0 -1
  399. package/dist/interface/assets/SettingsAccount-_0ccrXYU.js +0 -1
  400. package/dist/interface/assets/SettingsAppearance-CkDwzx6f.js +0 -1
  401. package/dist/interface/assets/SettingsAppearance-DBFE3uVH.js +0 -1
  402. package/dist/interface/assets/SettingsAssistant-DN5OUJqt.js +0 -1
  403. package/dist/interface/assets/SettingsMqtt-hsKZkU-o.js +0 -1
  404. package/dist/interface/assets/SettingsNotifications-DIeiUEAk.js +0 -1
  405. package/dist/interface/assets/SettingsRemote-Doa0aBMC.js +0 -2
  406. package/dist/interface/assets/Training-DYlefOX1.js +0 -1
  407. package/dist/interface/assets/Workers-CUVvTuts.js +0 -2
  408. package/dist/interface/assets/api-B0wYDGQj.css +0 -2
  409. package/dist/interface/assets/api-BNrZVfeD.js +0 -4
  410. package/dist/interface/assets/cloudHandoff-Dnndt2el.js +0 -1
  411. package/dist/interface/assets/main-CRlC4FBY.js +0 -3
  412. package/dist/interface/assets/mqtt-BY6-Hrbv.js +0 -1
  413. package/dist/interface/assets/ring-resize-DyqCo2UN.js +0 -1
  414. package/dist/interface/assets/rooms-BHP4q6yf.js +0 -1
  415. package/dist/interface/assets/ungrouped-DBRZ-Ori.css +0 -1
  416. package/dist/interface/assets/ungrouped-DHLAmt__.js +0 -1
  417. package/dist/interface/assets/useBackupRestore-Dj-ZXODq.js +0 -1
  418. package/dist/interface/ha/PluginDetail-BFfRnkdG.js +0 -230
  419. package/dist/interface/ha/Training-hu_XOYBk.js +0 -1505
  420. package/dist/interface/ha/ring-resize-Dr2PxWIg.js +0 -16
@@ -1,57 +1,56 @@
1
1
  import { m as e, p as t } from "./ripple-ZDATPc2w.js";
2
2
  import { D as n, G as r, H as i, Jt as a, U as o, Wt as s, Y as c, _t as l, d as u, f as d, gt as f, kt as p, l as m, lt as h, o as g, ot as _, p as v, qt as y, r as b, rt as x, st as S, u as C, ut as w, v as T, wt as E, x as D, xt as O, y as k, yt as A, z as j } from "./runtime-core.esm-bundler-_TfE0DWz.js";
3
- import { t as M } from "./tooltip-Z7VN-E1u.js";
3
+ import { t as M } from "./tooltip-BDrlgLof.js";
4
4
  import { t as N } from "./message-D6dIy_hz.js";
5
5
  import { t as P } from "./tag-mchuCAPR.js";
6
- import { An as F, B as I, Dr as ee, En as L, Er as R, Fn as z, Gn as te, H as ne, Hn as re, J as B, Ln as ie, Or as ae, Rn as V, Tr as H, U as oe, V as se, Vn as ce, W as U, Wr as le, Y as ue, Z as de, _i as W, at as fe, bi as pe, br as G, g as me, hn as he, ht as ge, kr as _e, lt as ve, mi as ye, mr as be, nr as xe, ot as Se, pr as Ce, qn as K, qt as we, tr as Te, ur as Ee, yr as De, z as Oe } from "./api-BmYisoxj.js";
7
- import { F as ke, M as Ae, z as je } from "./protocol-BB4jdtUC-DW3jl2tV.js";
8
- import { h as Me, u as Ne } from "./intercomService-B7HkLs6z.js";
9
- import { n as Pe } from "./vue-i18n-D5EAy78K.js";
10
- import { C as Fe, _ as Ie, g as Le } from "./dist-BTp4AyuI.js";
11
- import { i as Re } from "./alert-outline-FcLLjoOK.js";
12
- import { t as ze } from "./eventIcons-BFNUgeGr.js";
13
- import { t as Be } from "./button-BouAFgf5.js";
14
- import { M as Ve } from "./dist-C6MBHJhs.js";
15
- import { t as q } from "./inputtext-C_ygnPrC.js";
16
- import { t as He } from "./checkbox-CAKzZcqk.js";
17
- import { t as J } from "./datepicker-B4Azs5zr.js";
18
- import { t as Ue } from "./close-CxFbonhd.js";
19
- import { t as We } from "./select-UR3ZRDew.js";
20
- import { t as Ge } from "./progressbar-CaUaM8Bt.js";
21
- import { t as Ke } from "./multiselect-Dp4XDBRR.js";
22
- import { t as qe } from "./textarea-ByXnzJzx.js";
23
- import { s as Je, t as Ye } from "./assistant-0jE4C19U.js";
24
- import { i as Y, n as Xe, t as Ze } from "./eventLabels-B4C1_4vT.js";
25
- import { t as Qe } from "./ring-resize-Dr2PxWIg.js";
26
- import { i as $e, n as et, r as tt, t as nt } from "./ungrouped-DttNEB62.js";
27
- import { t as rt } from "./utils-DYtBrGDz.js";
28
- import { t as it } from "./settings-lWJfHaif.js";
29
- import { n as at, t as ot } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
6
+ import { B as F, Dr as I, Er as L, H as R, In as z, J as B, Jn as ee, Nn as te, On as ne, Or as V, Sr as H, Tr as U, U as re, Un as ie, V as ae, W as oe, Wr as W, Y as se, Yt as ce, Z as le, Zn as G, _i as ue, _n as de, _r as K, _t as fe, ar as pe, bi as me, ca as he, g as ge, ir as _e, kr as ve, mi as ye, mr as be, ot as xe, qn as Se, rr as Ce, st as we, tr as Te, tt as Ee, ut as De, vr as Oe, wr as ke, z as Ae } from "./api-BP7mlzjP.js";
7
+ import { F as je, M as Me, z as Ne } from "./protocol-BB4jdtUC-DW3jl2tV.js";
8
+ import { h as Pe, u as Fe } from "./intercomService-B7HkLs6z.js";
9
+ import { n as Ie } from "./vue-i18n-D5EAy78K.js";
10
+ import { C as Le, _ as Re, g as ze } from "./dist-BTp4AyuI.js";
11
+ import { i as Be } from "./alert-outline-FcLLjoOK.js";
12
+ import { t as Ve } from "./eventIcons-BFNUgeGr.js";
13
+ import { t as He } from "./button-BouAFgf5.js";
14
+ import { M as Ue } from "./dist-C6MBHJhs.js";
15
+ import { t as We } from "./inputtext-C_ygnPrC.js";
16
+ import { t as q } from "./checkbox-CAKzZcqk.js";
17
+ import { t as Ge } from "./datepicker-DXk97lTw.js";
18
+ import { t as Ke } from "./close-CxFbonhd.js";
19
+ import { t as J } from "./select-DV7p2EDj.js";
20
+ import { t as qe } from "./progressbar-CaUaM8Bt.js";
21
+ import { t as Je } from "./multiselect-BOb4ScAZ.js";
22
+ import { t as Ye } from "./textarea-ByXnzJzx.js";
23
+ import { s as Xe, t as Ze } from "./assistant-Cb6ACguQ.js";
24
+ import { i as Qe, n as Y, t as $e } from "./eventLabels-B4C1_4vT.js";
25
+ import { i as et, n as tt, r as nt, t as rt } from "./ungrouped-xyK1QrsM.js";
26
+ import { t as it } from "./utils-DYtBrGDz.js";
27
+ import { t as at } from "./settings-lWJfHaif.js";
28
+ import { n as ot, t as st } from "./round-alt-arrow-left-bold-DDy2dLUM.js";
30
29
  //#region ~icons/mdi/database-refresh-outline
31
- var st = {
30
+ var ct = {
32
31
  viewBox: "0 0 24 24",
33
32
  width: "1.2em",
34
33
  height: "1.2em"
35
34
  };
36
- function ct(e, t) {
37
- return i(), v("svg", st, [...t[0] ||= [C("path", {
35
+ function lt(e, t) {
36
+ return i(), v("svg", ct, [...t[0] ||= [C("path", {
38
37
  fill: "currentColor",
39
38
  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"
40
39
  }, null, -1)]]);
41
40
  }
42
- var lt = l({
41
+ var ut = l({
43
42
  name: "mdi-database-refresh-outline",
44
- render: ct
45
- }), ut = { class: "flex flex-col gap-4" }, X = { class: "text-sm text-pretty" }, dt = {
43
+ render: lt
44
+ }), dt = { class: "flex flex-col gap-4" }, ft = { class: "text-sm text-pretty" }, X = {
46
45
  key: 0,
47
46
  class: "flex flex-col gap-2"
48
- }, ft = {
47
+ }, pt = {
49
48
  key: 0,
50
49
  class: "flex justify-between text-sm text-muted"
51
- }, pt = { key: 0 }, mt = /* @__PURE__ */ D({
50
+ }, mt = { key: 0 }, ht = /* @__PURE__ */ D({
52
51
  __name: "ClipReindex",
53
52
  setup(e, { expose: t }) {
54
- let r = n("dialogRefProps"), { t: o } = Pe(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = K(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
53
+ let r = n("dialogRefProps"), { t: o } = Ie(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = G(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
55
54
  if (y.value) {
56
55
  if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
57
56
  let { done: e, total: t, skipped: n } = s.value;
@@ -82,49 +81,49 @@ var lt = l({
82
81
  s.value?.running && (g.value = !0);
83
82
  });
84
83
  }), t({ onConfirm: E }), (e, t) => {
85
- let n = Ge;
86
- return i(), v("div", ut, [C("span", X, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", dt, [k(n, {
84
+ let n = qe;
85
+ return i(), v("div", dt, [C("span", ft, a(p(w)), 1), p(g) || p(x) ? (i(), v("div", X, [k(n, {
87
86
  mode: p(l) ? "indeterminate" : "determinate",
88
87
  value: p(T),
89
88
  "show-value": !1,
90
89
  class: "h-2"
91
- }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", ft, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
90
+ }, null, 8, ["mode", "value"]), p(x) && !p(l) ? (i(), v("div", pt, [C("span", null, a(e.$t("views.recordings.reindex.progress", {
92
91
  done: p(s)?.done ?? 0,
93
92
  total: p(s)?.total ?? 0
94
- })), 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)]);
93
+ })), 1), p(s)?.skipped ? (i(), v("span", mt, a(e.$t("views.recordings.reindex.skipped", { count: p(s).skipped })), 1)) : d("", !0)])) : d("", !0)])) : d("", !0)]);
95
94
  };
96
95
  }
97
- }), ht = {
96
+ }), gt = {
98
97
  viewBox: "0 0 24 24",
99
98
  width: "1.2em",
100
99
  height: "1.2em"
101
100
  };
102
- function Z(e, t) {
103
- return i(), v("svg", ht, [...t[0] ||= [C("path", {
101
+ function _t(e, t) {
102
+ return i(), v("svg", gt, [...t[0] ||= [C("path", {
104
103
  fill: "currentColor",
105
104
  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"
106
105
  }, null, -1)]]);
107
106
  }
108
- var gt = l({
107
+ var Z = l({
109
108
  name: "mdi-file-video-outline",
110
- render: Z
111
- }), _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 = {
109
+ render: _t
110
+ }), vt = { class: "flex flex-col gap-6" }, yt = { class: "flex flex-col field-gap" }, bt = { class: "cui-label" }, xt = { class: "flex flex-col field-gap" }, St = { class: "cui-label" }, Ct = { class: "grid grid-cols-1 xs:grid-cols-2 gap-3" }, wt = { class: "flex flex-col gap-1" }, Tt = { class: "text-xs text-muted" }, Et = { class: "flex flex-col gap-1" }, Dt = { class: "text-xs text-muted" }, Ot = { class: "grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4" }, kt = { class: "flex flex-col field-gap" }, At = { class: "cui-label" }, jt = { class: "flex flex-col field-gap" }, Q = { class: "cui-label" }, Mt = { class: "flex flex-col field-gap" }, Nt = { class: "flex items-center gap-3" }, $ = { class: "cui-label !mb-0" }, Pt = {
112
111
  key: 0,
113
112
  class: "ml-auto flex items-center gap-2.5 text-sm tabular-nums"
114
- }, 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 = {
113
+ }, Ft = { class: "font-semibold" }, It = { class: "font-semibold" }, Lt = { class: "border border-color rounded-xl card-background overflow-hidden" }, Rt = { class: "flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5" }, zt = {
115
114
  key: 0,
116
115
  class: "flex items-center justify-center gap-2 text-muted text-sm py-6"
117
- }, zt = {
116
+ }, Bt = {
118
117
  key: 1,
119
118
  class: "text-center text-muted text-sm py-6"
120
- }, 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({
119
+ }, Vt = { class: "text-xs text-muted px-0.5" }, Ht = { class: "font-mono text-xs truncate flex-1" }, Ut = { class: "text-xs text-muted tabular-nums shrink-0" }, Wt = { class: "font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right" }, Gt = 30, Kt = /* @__PURE__ */ D({
121
120
  __name: "ExportRecordings",
122
121
  props: {
123
122
  cameras: {},
124
123
  preselect: {}
125
124
  },
126
125
  setup(e, { expose: t }) {
127
- let o = e, { t: s } = Pe(), c = pe(), l = n("dialogRefProps"), { plugin: g } = Ve("@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(() => [{
126
+ let o = e, { t: s } = Ie(), c = me(), l = n("dialogRefProps"), { plugin: g } = Ue("@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(() => [{
128
127
  label: s("views.recordings.export.quality_best"),
129
128
  value: "best"
130
129
  }, {
@@ -145,8 +144,8 @@ var gt = l({
145
144
  ].map((e) => ({
146
145
  label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
147
146
  value: e
148
- }))), 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(() => {
149
- if (!L.value) return [];
147
+ }))), F = m(() => E.value > 0), I = m(() => F.value ? "~" : ""), L = 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(() => {
148
+ if (!R.value) return [];
150
149
  let e = [], t = D.value.getTime(), n = A.value.getTime(), r = new Date(D.value);
151
150
  r.setHours(0, 0, 0, 0);
152
151
  let i = new Date(A.value);
@@ -155,24 +154,24 @@ var gt = l({
155
154
  a.setDate(a.getDate() + 1);
156
155
  let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
157
156
  s > o && e.push({
158
- day: ie(i),
157
+ day: U(i),
159
158
  startUs: o * 1e3,
160
159
  endUs: s * 1e3
161
160
  }), r.setDate(r.getDate() + 1);
162
161
  }
163
162
  return e;
164
- }), z = m(() => _.value.map((e) => {
165
- 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" : ae(r);
163
+ }), B = m(() => _.value.map((e) => {
164
+ let t = L.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" : re(r);
166
165
  return {
167
166
  cameraId: e.cameraId,
168
167
  cameraName: t,
169
- name: `${V(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
170
- span: i ? s("views.recordings.export.whole_day") : `${ae(n)}–${a}`,
171
- bytes: F.value ? e.bytes / Wt : e.bytes
168
+ name: `${ie(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
169
+ span: i ? s("views.recordings.export.whole_day") : `${re(n)}–${a}`,
170
+ bytes: F.value ? e.bytes / Gt : e.bytes
172
171
  };
173
- })), te = m(() => {
172
+ })), ee = m(() => {
174
173
  let e = /* @__PURE__ */ new Map();
175
- for (let t of z.value) {
174
+ for (let t of B.value) {
176
175
  let n = e.get(t.cameraId);
177
176
  n || (n = {
178
177
  cameraId: t.cameraId,
@@ -182,20 +181,20 @@ var gt = l({
182
181
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
183
182
  }
184
183
  return [...e.values()];
185
- }), 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"));
186
- function B(e) {
184
+ }), te = 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"));
185
+ function V(e) {
187
186
  return String(e).padStart(2, "0");
188
187
  }
189
- function ie(e) {
190
- return `${e.getFullYear()}-${B(e.getMonth() + 1)}-${B(e.getDate())}`;
188
+ function U(e) {
189
+ return `${e.getFullYear()}-${V(e.getMonth() + 1)}-${V(e.getDate())}`;
191
190
  }
192
- function ae(e) {
193
- return `${B(e.getHours())}:${B(e.getMinutes())}`;
191
+ function re(e) {
192
+ return `${V(e.getHours())}:${V(e.getMinutes())}`;
194
193
  }
195
- function V(e) {
194
+ function ie(e) {
196
195
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
197
196
  }
198
- function H(e) {
197
+ function ae(e) {
199
198
  if (e <= 0) return "0 MB";
200
199
  let t = e / 1e6;
201
200
  if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
@@ -204,7 +203,7 @@ var gt = l({
204
203
  }
205
204
  async function oe() {
206
205
  let e = g.value;
207
- if (!e?.nvrExportEstimate || x.value.length === 0 || R.value.length === 0) {
206
+ if (!e?.nvrExportEstimate || x.value.length === 0 || z.value.length === 0) {
208
207
  _.value = [], y.value = !1;
209
208
  return;
210
209
  }
@@ -212,7 +211,7 @@ var gt = l({
212
211
  try {
213
212
  let t = await e.nvrExportEstimate({
214
213
  cameras: x.value,
215
- slices: R.value,
214
+ slices: z.value,
216
215
  quality: w.value
217
216
  });
218
217
  _.value = t.files ?? [];
@@ -222,8 +221,8 @@ var gt = l({
222
221
  y.value = !1;
223
222
  }
224
223
  }
225
- async function se() {
226
- if (!L.value || x.value.length === 0 || R.value.length === 0) return null;
224
+ async function W() {
225
+ if (!R.value || x.value.length === 0 || z.value.length === 0) return null;
227
226
  let e = g.value;
228
227
  if (!e?.nvrExportBatch) return c.add({
229
228
  severity: "error",
@@ -232,29 +231,29 @@ var gt = l({
232
231
  }), null;
233
232
  let t = await e.nvrExportBatch({
234
233
  cameras: x.value,
235
- slices: R.value,
234
+ slices: z.value,
236
235
  quality: w.value,
237
236
  timelapseIntervalSec: F.value ? E.value : 0
238
237
  });
239
- await be({
238
+ await Oe({
240
239
  url: t.url,
241
240
  filename: t.filename
242
241
  });
243
242
  }
244
- return je([
243
+ return Ne([
245
244
  x,
246
- R,
245
+ z,
247
246
  w
248
247
  ], oe, {
249
248
  debounce: 350,
250
249
  immediate: !0,
251
250
  deep: !0
252
251
  }), S(() => {
253
- l.disabled && (l.disabled.value = !L.value || x.value.length === 0 || !y.value && z.value.length === 0);
254
- }), t({ onConfirm: se }), (t, n) => {
255
- let o = Ke, s = J, c = N, l = xe, m = We, g = P, _ = G, S = gt;
256
- return i(), v("div", _t, [
257
- C("div", vt, [C("label", yt, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
252
+ l.disabled && (l.disabled.value = !R.value || x.value.length === 0 || !y.value && B.value.length === 0);
253
+ }), t({ onConfirm: W }), (t, n) => {
254
+ let o = Je, s = Ge, c = N, l = pe, m = J, g = P, _ = H, S = Z;
255
+ return i(), v("div", vt, [
256
+ C("div", yt, [C("label", bt, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
258
257
  modelValue: p(x),
259
258
  "onUpdate:modelValue": n[0] ||= (e) => f(x) ? x.value = e : null,
260
259
  options: e.cameras,
@@ -269,16 +268,16 @@ var gt = l({
269
268
  "options",
270
269
  "placeholder"
271
270
  ])]),
272
- C("div", bt, [
273
- C("label", xt, a(t.$t("views.recordings.export.range")), 1),
274
- C("div", St, [C("div", Ct, [C("span", wt, a(t.$t("views.recordings.export.from")), 1), k(s, {
271
+ C("div", xt, [
272
+ C("label", St, a(t.$t("views.recordings.export.range")), 1),
273
+ C("div", Ct, [C("div", wt, [C("span", Tt, a(t.$t("views.recordings.export.from")), 1), k(s, {
275
274
  modelValue: p(D),
276
275
  "onUpdate:modelValue": n[1] ||= (e) => f(D) ? D.value = e : null,
277
276
  "show-time": "",
278
277
  "hour-format": "24",
279
278
  fluid: "",
280
279
  "max-date": p(A)
281
- }, null, 8, ["modelValue", "max-date"])]), C("div", Tt, [C("span", Et, a(t.$t("views.recordings.export.to")), 1), k(s, {
280
+ }, null, 8, ["modelValue", "max-date"])]), C("div", Et, [C("span", Dt, a(t.$t("views.recordings.export.to")), 1), k(s, {
282
281
  modelValue: p(A),
283
282
  "onUpdate:modelValue": n[2] ||= (e) => f(A) ? A.value = e : null,
284
283
  "show-time": "",
@@ -286,7 +285,7 @@ var gt = l({
286
285
  fluid: "",
287
286
  "min-date": p(D)
288
287
  }, null, 8, ["modelValue", "min-date"])])]),
289
- p(L) ? (i(), u(c, {
288
+ p(R) ? (i(), u(c, {
290
289
  key: 1,
291
290
  severity: "secondary",
292
291
  variant: "simple",
@@ -306,7 +305,7 @@ var gt = l({
306
305
  _: 1
307
306
  }))
308
307
  ]),
309
- C("div", Dt, [C("div", Q, [C("label", Ot, a(t.$t("views.recordings.export.quality")), 1), k(l, {
308
+ C("div", Ot, [C("div", kt, [C("label", At, a(t.$t("views.recordings.export.quality")), 1), k(l, {
310
309
  modelValue: p(w),
311
310
  "onUpdate:modelValue": n[3] ||= (e) => f(w) ? w.value = e : null,
312
311
  options: p(j),
@@ -317,7 +316,7 @@ var gt = l({
317
316
  root: { class: "flex w-full" },
318
317
  pcToggleButton: { root: { class: "flex-1" } }
319
318
  }
320
- }, null, 8, ["modelValue", "options"])]), C("div", $, [C("label", kt, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
319
+ }, null, 8, ["modelValue", "options"])]), C("div", jt, [C("label", Q, a(t.$t("views.recordings.export.timelapse")), 1), k(m, {
321
320
  modelValue: p(E),
322
321
  "onUpdate:modelValue": n[4] ||= (e) => f(E) ? E.value = e : null,
323
322
  options: p(M),
@@ -325,43 +324,43 @@ var gt = l({
325
324
  "option-value": "value",
326
325
  class: "w-full"
327
326
  }, null, 8, ["modelValue", "options"])])]),
328
- C("div", At, [C("div", jt, [C("label", Mt, a(t.$t("views.recordings.export.result")), 1), p(z).length ? (i(), v("div", Nt, [
329
- 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),
327
+ C("div", Mt, [C("div", Nt, [C("label", $, a(t.$t("views.recordings.export.result")), 1), p(B).length ? (i(), v("div", Pt, [
328
+ C("span", Ft, a(p(B).length) + " " + a(p(B).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
330
329
  n[5] ||= C("span", { class: "text-muted" }, "·", -1),
331
- C("span", Ft, a(p(I)) + a(H(p(ne))), 1),
330
+ C("span", It, a(p(I)) + a(ae(p(te))), 1),
332
331
  k(g, {
333
- value: p(z).length === 1 ? "MP4" : "ZIP",
332
+ value: p(B).length === 1 ? "MP4" : "ZIP",
334
333
  severity: "info"
335
334
  }, null, 8, ["value"])
336
- ])) : d("", !0)]), C("div", It, [C("div", Lt, [p(y) && !p(z).length ? (i(), v("div", Rt, [k(_, {
335
+ ])) : d("", !0)]), C("div", Lt, [C("div", Rt, [p(y) && !p(B).length ? (i(), v("div", zt, [k(_, {
337
336
  style: {
338
337
  width: "1rem",
339
338
  height: "1rem"
340
339
  },
341
340
  "stroke-width": "4",
342
341
  class: "m-0"
343
- }), 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", {
342
+ }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(B).length ? (i(!0), v(b, { key: 2 }, r(p(ee), (e) => (i(), v("div", {
344
343
  key: e.cameraId,
345
344
  class: "flex flex-col gap-1"
346
- }, [C("span", Bt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(I)) + a(H(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
345
+ }, [C("span", Vt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(I)) + a(ae(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
347
346
  key: e.name,
348
347
  class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
349
348
  }, [
350
349
  k(S, { class: "w-4 h-4 text-muted shrink-0" }),
351
- C("span", Vt, a(e.name), 1),
352
- C("span", Ht, a(e.span), 1),
353
- C("span", Ut, a(p(I)) + a(H(e.bytes)), 1)
354
- ]))), 128))]))), 128)) : (i(), v("div", zt, a(p(re)), 1))])])])
350
+ C("span", Ht, a(e.name), 1),
351
+ C("span", Ut, a(e.span), 1),
352
+ C("span", Wt, a(p(I)) + a(ae(e.bytes)), 1)
353
+ ]))), 128))]))), 128)) : (i(), v("div", Bt, a(p(ne)), 1))])])])
355
354
  ]);
356
355
  };
357
356
  }
358
- }), Kt = {
357
+ }), qt = {
359
358
  viewBox: "0 0 24 24",
360
359
  width: "1.2em",
361
360
  height: "1.2em"
362
361
  };
363
- function qt(e, t) {
364
- return i(), v("svg", Kt, [...t[0] ||= [C("path", {
362
+ function Jt(e, t) {
363
+ return i(), v("svg", qt, [...t[0] ||= [C("path", {
365
364
  fill: "none",
366
365
  stroke: "currentColor",
367
366
  "stroke-linecap": "round",
@@ -370,16 +369,16 @@ function qt(e, t) {
370
369
  d: "m6 9l6 6l6-6"
371
370
  }, null, -1)]]);
372
371
  }
373
- var Jt = l({
372
+ var Yt = l({
374
373
  name: "tabler-chevron-down",
375
- render: qt
376
- }), Yt = {
374
+ render: Jt
375
+ }), Xt = {
377
376
  viewBox: "0 0 24 24",
378
377
  width: "1.2em",
379
378
  height: "1.2em"
380
379
  };
381
- function Xt(e, t) {
382
- return i(), v("svg", Yt, [...t[0] ||= [C("path", {
380
+ function Zt(e, t) {
381
+ return i(), v("svg", Xt, [...t[0] ||= [C("path", {
383
382
  fill: "none",
384
383
  stroke: "currentColor",
385
384
  "stroke-linecap": "round",
@@ -388,43 +387,43 @@ function Xt(e, t) {
388
387
  d: "m6 15l6-6l6 6"
389
388
  }, null, -1)]]);
390
389
  }
391
- var Zt = l({
390
+ var Qt = l({
392
391
  name: "tabler-chevron-up",
393
- render: Xt
394
- }), Qt = { class: "flex flex-col gap-2" }, $t = { class: "sidebar-section-title" }, en = {
392
+ render: Zt
393
+ }), $t = { class: "flex flex-col gap-2" }, en = { class: "sidebar-section-title" }, tn = {
395
394
  key: 0,
396
395
  class: "text-xs text-muted"
397
- }, 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 = {
396
+ }, nn = { class: "flex flex-col gap-2" }, rn = { class: "sidebar-section-title" }, an = { class: "p-input-icon-left w-full" }, on = { class: "text-xs text-muted" }, sn = { class: "flex flex-col gap-2" }, cn = { class: "sidebar-section-title flex items-center gap-1.5" }, ln = {
398
397
  key: 0,
399
398
  class: "inline-flex items-center gap-1 text-xs text-muted"
400
- }, ln = {
399
+ }, un = {
401
400
  key: 1,
402
401
  class: "flex flex-col gap-1.5 mt-1"
403
- }, 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 = {
402
+ }, dn = { class: "text-xs text-muted" }, fn = { class: "flex items-center gap-3" }, pn = { class: "text-xs font-mono w-8 text-right shrink-0" }, mn = { class: "flex flex-col gap-2" }, hn = { class: "sidebar-section-title flex items-center gap-1.5" }, gn = {
404
403
  key: 0,
405
404
  class: "text-xs text-muted"
406
- }, gn = {
405
+ }, _n = {
407
406
  key: 2,
408
407
  class: "flex flex-col gap-2"
409
- }, _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 = {
408
+ }, vn = { class: "sidebar-section-title" }, yn = { class: "flex flex-col gap-2" }, bn = { class: "sidebar-section-title" }, xn = { class: "flex flex-col gap-2" }, Sn = { class: "sidebar-section-title" }, Cn = { class: "relative rounded-md overflow-hidden" }, wn = {
410
409
  key: 4,
411
410
  class: "sidebar-divider"
412
- }, wn = {
411
+ }, Tn = {
413
412
  key: 5,
414
413
  class: "flex flex-col gap-2"
415
- }, 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 = {
414
+ }, En = { class: "sidebar-section-title" }, Dn = { class: "flex items-center gap-3" }, On = { class: "text-xs font-mono w-8 text-right shrink-0" }, kn = { class: "flex flex-col gap-2" }, An = { class: "sidebar-section-title" }, jn = { class: "flex flex-wrap gap-1" }, Mn = { class: "flex flex-col gap-2" }, Nn = {
416
415
  key: 0,
417
416
  class: "flex flex-col gap-2"
418
- }, Nn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Pn = {
417
+ }, Pn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Fn = {
419
418
  key: 0,
420
419
  class: "flex flex-col gap-2 ml-6"
421
- }, Fn = { class: "filter-logic-divider" }, In = { class: "flex flex-col gap-2" }, Ln = {
420
+ }, In = { class: "filter-logic-divider" }, Ln = { class: "flex flex-col gap-2" }, Rn = {
422
421
  key: 0,
423
422
  class: "flex flex-col gap-2"
424
- }, Rn = { class: "filter-logic-divider" }, zn = { class: "flex flex-col gap-2" }, Bn = {
423
+ }, zn = { class: "filter-logic-divider" }, Bn = { class: "flex flex-col gap-2" }, Vn = {
425
424
  key: 0,
426
425
  class: "flex flex-col gap-2"
427
- }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ De(/* @__PURE__ */ D({
426
+ }, Hn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Un = 288, Wn = /*#__PURE__*/ ke(/* @__PURE__ */ D({
428
427
  __name: "RecordingsFilterSidebar",
429
428
  props: {
430
429
  filters: {},
@@ -446,25 +445,25 @@ var Zt = l({
446
445
  "close"
447
446
  ],
448
447
  setup(n, { expose: o, emit: s }) {
449
- let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Pe(), { xlBreakpoint: w } = ae(), { topbarOffset: E, bottombarHeight: D } = _e(), { icons: j, generic: M } = ze(), N = j, P = Zt, I = Jt, ee = x("sidebarRef"), L = O(h.filters.semanticQuery ?? ""), R = O(""), z = A({
448
+ let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Ie(), { xlBreakpoint: w } = V(), { topbarOffset: E, bottombarHeight: D } = ve(), { icons: j, generic: M } = Ve(), N = j, P = Qt, F = Yt, I = x("sidebarRef"), L = O(h.filters.semanticQuery ?? ""), R = O(""), z = A({
450
449
  eventTypes: !0,
451
450
  attributes: !0,
452
451
  sensorEvents: !0
453
- }), te = m(() => h.isOpen ? Hn : 0), ne = m(() => {
452
+ }), B = m(() => h.isOpen ? Un : 0), ee = m(() => {
454
453
  let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
455
454
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
456
455
  id: e,
457
456
  name: e === "Default" ? S("components.form.label.room_default") : e
458
457
  }));
459
- }), re = m(() => {
458
+ }), ne = m(() => {
460
459
  let e = h.filters.rooms;
461
460
  return (e.length > 0 ? h.cameras.filter((t) => e.includes(t.room ?? "")) : h.cameras).map((e) => ({
462
461
  id: e.id,
463
462
  name: e.name
464
463
  }));
465
- }), B = m(() => {
464
+ }), H = m(() => {
466
465
  if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
467
- }), V = m(() => h.filters.contentKind === "episodes"), H = m(() => [
466
+ }), U = m(() => h.filters.contentKind === "episodes"), re = m(() => [
468
467
  {
469
468
  label: S("views.recordings.content_kind_all"),
470
469
  value: "all"
@@ -477,13 +476,13 @@ var Zt = l({
477
476
  label: S("views.recordings.content_kind_episodes"),
478
477
  value: "episodes"
479
478
  }
480
- ]), oe = m(() => [{
479
+ ]), ie = m(() => [{
481
480
  label: S("views.recordings.filter_and"),
482
481
  value: "and"
483
482
  }, {
484
483
  label: S("views.recordings.filter_or"),
485
484
  value: "or"
486
- }]), se = m(() => [
485
+ }]), ae = m(() => [
487
486
  {
488
487
  label: S("views.recordings.time_1h"),
489
488
  value: "1h"
@@ -500,37 +499,37 @@ var Zt = l({
500
499
  label: S("views.recordings.time_1m"),
501
500
  value: "1m"
502
501
  }
503
- ]), ce = m(() => Ie.filter((e) => !l.has(e)).map((e) => ({
502
+ ]), oe = m(() => Re.filter((e) => !l.has(e)).map((e) => ({
504
503
  label: S(`views.recordings.type_${e}`),
505
504
  value: e,
506
505
  icon: j[e] ?? M
507
- }))), U = m(() => ({
506
+ }))), W = m(() => ({
508
507
  label: S("views.recordings.type_other"),
509
- value: ie,
508
+ value: Ce,
510
509
  icon: j.other ?? M
511
- })), le = m(() => ye.map((e) => ({
512
- label: S(Y(e)),
510
+ })), se = m(() => ye.map((e) => ({
511
+ label: S(Qe(e)),
513
512
  value: e,
514
513
  icon: N[e] ?? M
515
- }))), ue = m(() => Fe.map((e) => ({
516
- label: S(Xe(e)),
514
+ }))), ce = m(() => Le.map((e) => ({
515
+ label: S(Y(e)),
517
516
  value: e,
518
517
  icon: j[e] ?? M
519
- }))), de = m(() => Le.map((e) => ({
520
- label: S(Ze(e)),
518
+ }))), le = m(() => ze.map((e) => ({
519
+ label: S($e(e)),
521
520
  value: e,
522
521
  icon: j[e] ?? M
523
522
  })));
524
- function W(e, t) {
523
+ function G(e, t) {
525
524
  g("update:filters", {
526
525
  ...h.filters,
527
526
  [e]: t
528
527
  });
529
528
  }
530
- let fe = ke((e) => {
531
- W("search", e);
529
+ let ue = je((e) => {
530
+ G("search", e);
532
531
  }, 300);
533
- function pe(e) {
532
+ function fe(e) {
534
533
  let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
535
534
  g("update:filters", {
536
535
  ...h.filters,
@@ -538,81 +537,81 @@ var Zt = l({
538
537
  cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
539
538
  });
540
539
  }
541
- function G() {
540
+ function me() {
542
541
  let e = R.value.trim();
543
542
  e && !h.assistantSearchLoading && g("assistant-search", e);
544
543
  }
545
- function me() {
544
+ function he() {
546
545
  let e = L.value.trim();
547
- W("semanticQuery", e), g("semantic-search", e);
546
+ G("semanticQuery", e), g("semantic-search", e);
548
547
  }
549
548
  function ge(e) {
550
549
  let t = [...h.filters.eventTypes], n = t.indexOf(e);
551
- n >= 0 ? t.splice(n, 1) : t.push(e), W("eventTypes", t);
550
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
552
551
  }
553
- function ve(e) {
552
+ function be(e) {
554
553
  let t = [...h.filters.audioLabels], n = t.indexOf(e);
555
- n >= 0 ? t.splice(n, 1) : t.push(e), W("audioLabels", t);
554
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
556
555
  }
557
- function be(e) {
556
+ function xe(e) {
558
557
  let t = [...h.filters.sensorEvents], n = t.indexOf(e);
559
- n >= 0 ? t.splice(n, 1) : t.push(e), W("sensorEvents", t);
558
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
560
559
  }
561
560
  function Se(e) {
562
561
  let t = [...h.filters.hasAttributes], n = t.indexOf(e);
563
- n >= 0 ? t.splice(n, 1) : t.push(e), W("hasAttributes", t);
562
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
564
563
  }
565
- function K(e) {
564
+ function we(e) {
566
565
  z[e] = !z[e];
567
566
  }
568
567
  return _(L, (e) => {
569
- !e?.trim() && h.filters.semanticQuery && W("semanticQuery", "");
570
- }), Ne(ee, (e) => {
568
+ !e?.trim() && h.filters.semanticQuery && G("semanticQuery", "");
569
+ }), Fe(I, (e) => {
571
570
  let t = e.target;
572
571
  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");
573
- }), o({ sidebarWidth: te }), (o, s) => {
574
- let l = xe, m = q, h = F, g = qe, _ = Be, x = Te, S = Re, w = Ke, O = Ce, A = he, j = He;
572
+ }), o({ sidebarWidth: B }), (o, s) => {
573
+ let l = pe, m = We, h = te, g = Ye, _ = He, x = _e, S = Be, w = Je, O = K, A = de, j = q;
575
574
  return i(), v("nav", {
576
575
  ref_key: "sidebarRef",
577
- ref: ee,
576
+ ref: I,
578
577
  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",
579
578
  style: y({
580
- width: `${p(te)}px`,
579
+ width: `${p(B)}px`,
581
580
  borderRightWidth: n.isOpen ? "1px" : "0px",
582
581
  paddingBottom: `calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${p(D)}px + ${p(E)}px)`
583
582
  })
584
583
  }, [C("div", {
585
584
  class: "flex flex-col gap-4 p-4",
586
- style: y({ width: `${Hn}px` })
585
+ style: y({ width: `${Un}px` })
587
586
  }, [
588
- C("div", Qt, [
589
- C("label", $t, a(o.$t("views.recordings.content_kind")), 1),
587
+ C("div", $t, [
588
+ C("label", en, a(o.$t("views.recordings.content_kind")), 1),
590
589
  k(l, {
591
590
  "model-value": n.filters.contentKind,
592
- options: p(H),
591
+ options: p(re),
593
592
  "option-label": "label",
594
593
  "option-value": "value",
595
594
  "allow-empty": !1,
596
595
  class: "content-kind-toggle",
597
- "onUpdate:modelValue": s[0] ||= (e) => W("contentKind", e)
596
+ "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
598
597
  }, null, 8, ["model-value", "options"]),
599
- p(V) ? (i(), v("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
598
+ p(U) ? (i(), v("span", tn, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
600
599
  ]),
601
600
  s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
602
- p(V) ? d("", !0) : (i(), v(b, { key: 0 }, [
603
- C("div", tn, [
604
- C("label", nn, a(o.$t("views.recordings.search")), 1),
605
- C("span", rn, [k(m, {
601
+ p(U) ? d("", !0) : (i(), v(b, { key: 0 }, [
602
+ C("div", nn, [
603
+ C("label", rn, a(o.$t("views.recordings.search")), 1),
604
+ C("span", an, [k(m, {
606
605
  "model-value": n.filters.search,
607
606
  placeholder: o.$t("views.recordings.search_placeholder"),
608
607
  class: "w-full text-sm",
609
- "onUpdate:modelValue": s[1] ||= (e) => p(fe)(e)
608
+ "onUpdate:modelValue": s[1] ||= (e) => p(ue)(e)
610
609
  }, null, 8, ["model-value", "placeholder"])]),
611
- C("span", an, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)
610
+ C("span", on, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)
612
611
  ]),
613
612
  s[16] ||= C("div", { class: "sidebar-divider" }, null, -1),
614
- C("div", on, [
615
- C("label", sn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
613
+ C("div", sn, [
614
+ C("label", cn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
616
615
  k(g, {
617
616
  modelValue: p(L),
618
617
  "onUpdate:modelValue": s[2] ||= (e) => f(L) ? L.value = e : null,
@@ -633,33 +632,33 @@ var Zt = l({
633
632
  class: "w-full text-xs",
634
633
  loading: n.semanticSearchLoading,
635
634
  disabled: !n.semanticSearchAvailable || !p(L)?.trim(),
636
- onClick: me
635
+ onClick: he
637
636
  }, null, 8, [
638
637
  "label",
639
638
  "loading",
640
639
  "disabled"
641
640
  ]),
642
- 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)])),
643
- n.filters.semanticQuery ? (i(), v("div", ln, [C("label", un, a(o.$t("views.recordings.min_match_score")), 1), C("div", dn, [k(x, {
641
+ n.semanticCount == null ? d("", !0) : (i(), v("span", ln, [k(h, { class: "w-3 h-3" }), T(" " + a(o.$t("views.recordings.semantic_results", { count: n.semanticCount })), 1)])),
642
+ n.filters.semanticQuery ? (i(), v("div", un, [C("label", dn, a(o.$t("views.recordings.min_match_score")), 1), C("div", fn, [k(x, {
644
643
  "model-value": n.filters.minSemanticScore,
645
644
  min: 0,
646
645
  max: 1,
647
646
  step: .05,
648
647
  class: "flex-1",
649
- "onUpdate:modelValue": s[3] ||= (e) => W("minSemanticScore", e)
650
- }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
648
+ "onUpdate:modelValue": s[3] ||= (e) => G("minSemanticScore", e)
649
+ }, null, 8, ["model-value"]), C("span", pn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
651
650
  ]),
652
651
  s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
653
652
  ], 64)),
654
- n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", pn, [
655
- C("label", mn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
653
+ n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", mn, [
654
+ C("label", hn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
656
655
  k(m, {
657
656
  modelValue: p(R),
658
657
  "onUpdate:modelValue": s[4] ||= (e) => f(R) ? R.value = e : null,
659
658
  placeholder: o.$t("views.recordings.assistant_search_placeholder"),
660
659
  class: "w-full text-sm",
661
660
  disabled: n.assistantSearchLoading,
662
- onKeydown: t(e(G, ["prevent"]), ["enter"])
661
+ onKeydown: t(e(me, ["prevent"]), ["enter"])
663
662
  }, null, 8, [
664
663
  "modelValue",
665
664
  "placeholder",
@@ -674,17 +673,17 @@ var Zt = l({
674
673
  class: "w-full text-xs",
675
674
  loading: n.assistantSearchLoading,
676
675
  disabled: !p(R).trim(),
677
- onClick: G
676
+ onClick: me
678
677
  }, null, 8, [
679
678
  "label",
680
679
  "loading",
681
680
  "disabled"
682
681
  ]),
683
- n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
682
+ n.assistantSearchNote ? (i(), v("span", gn, a(n.assistantSearchNote), 1)) : d("", !0)
684
683
  ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
685
- p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(w, {
684
+ p(ee).length > 1 ? (i(), v("div", _n, [C("label", vn, a(o.$t("views.recordings.rooms")), 1), k(w, {
686
685
  "model-value": n.filters.rooms,
687
- options: p(ne),
686
+ options: p(ee),
688
687
  "option-label": "name",
689
688
  "option-value": "id",
690
689
  placeholder: o.$t("views.recordings.all_rooms"),
@@ -692,15 +691,15 @@ var Zt = l({
692
691
  "max-selected-labels": 2,
693
692
  "show-toggle-all": !1,
694
693
  pt: { overlay: { style: "position: fixed" } },
695
- "onUpdate:modelValue": s[5] ||= (e) => pe(e)
694
+ "onUpdate:modelValue": s[5] ||= (e) => fe(e)
696
695
  }, null, 8, [
697
696
  "model-value",
698
697
  "options",
699
698
  "placeholder"
700
699
  ])])) : d("", !0),
701
- C("div", vn, [C("label", yn, a(o.$t("views.recordings.cameras")), 1), k(w, {
700
+ C("div", yn, [C("label", bn, a(o.$t("views.recordings.cameras")), 1), k(w, {
702
701
  "model-value": n.filters.cameraIds,
703
- options: p(re),
702
+ options: p(ne),
704
703
  "option-label": "name",
705
704
  "option-value": "id",
706
705
  placeholder: o.$t("views.recordings.all_cameras"),
@@ -708,20 +707,20 @@ var Zt = l({
708
707
  "max-selected-labels": 2,
709
708
  "show-toggle-all": !1,
710
709
  pt: { overlay: { style: "position: fixed" } },
711
- "onUpdate:modelValue": s[6] ||= (e) => W("cameraIds", e)
710
+ "onUpdate:modelValue": s[6] ||= (e) => G("cameraIds", e)
712
711
  }, null, 8, [
713
712
  "model-value",
714
713
  "options",
715
714
  "placeholder"
716
715
  ])]),
717
- p(B) && !p(V) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
718
- C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
719
- C("div", Sn, [k(O, {
720
- camera: p(B),
716
+ p(H) && !p(U) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", xn, [
717
+ C("label", Sn, a(o.$t("views.recordings.grid_search")), 1),
718
+ C("div", Cn, [k(O, {
719
+ camera: p(H),
721
720
  "object-fit": "cover"
722
721
  }, null, 8, ["camera"]), k(A, {
723
722
  "model-value": n.filters.gridRegions,
724
- "onUpdate:modelValue": s[7] ||= (e) => W("gridRegions", e)
723
+ "onUpdate:modelValue": s[7] ||= (e) => G("gridRegions", e)
725
724
  }, null, 8, ["model-value"])]),
726
725
  k(_, {
727
726
  label: o.$t("views.recordings.grid_clear"),
@@ -730,75 +729,75 @@ var Zt = l({
730
729
  size: "small",
731
730
  class: "w-full text-xs",
732
731
  disabled: n.filters.gridRegions.length === 0,
733
- onClick: s[8] ||= (e) => W("gridRegions", [])
732
+ onClick: s[8] ||= (e) => G("gridRegions", [])
734
733
  }, null, 8, ["label", "disabled"])
735
734
  ])], 64)) : d("", !0),
736
- p(V) ? d("", !0) : (i(), v("div", Cn)),
737
- p(V) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
735
+ p(U) ? d("", !0) : (i(), v("div", wn)),
736
+ p(U) ? d("", !0) : (i(), v("div", Tn, [C("label", En, a(o.$t("views.recordings.confidence")), 1), C("div", Dn, [k(x, {
738
737
  "model-value": n.filters.minConfidence,
739
738
  min: 0,
740
739
  max: 1,
741
740
  step: .05,
742
741
  class: "flex-1",
743
- "onUpdate:modelValue": s[9] ||= (e) => W("minConfidence", e)
744
- }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
742
+ "onUpdate:modelValue": s[9] ||= (e) => G("minConfidence", e)
743
+ }, null, 8, ["model-value"]), C("span", On, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
745
744
  s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
746
- C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(se), (e) => (i(), u(_, {
745
+ C("div", kn, [C("label", An, a(o.$t("views.recordings.time_range")), 1), C("div", jn, [(i(!0), v(b, null, r(p(ae), (e) => (i(), u(_, {
747
746
  key: e.value,
748
747
  label: e.label,
749
748
  severity: n.filters.timeRange === e.value ? void 0 : "secondary",
750
749
  outlined: n.filters.timeRange !== e.value,
751
750
  size: "small",
752
751
  class: "text-xs flex-1 min-w-0",
753
- onClick: (t) => W("timeRange", n.filters.timeRange === e.value ? null : e.value)
752
+ onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
754
753
  }, null, 8, [
755
754
  "label",
756
755
  "severity",
757
756
  "outlined",
758
757
  "onClick"
759
758
  ]))), 128))])]),
760
- p(V) ? d("", !0) : (i(), v(b, { key: 6 }, [
759
+ p(U) ? d("", !0) : (i(), v(b, { key: 6 }, [
761
760
  s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
762
- C("div", jn, [C("button", {
761
+ C("div", Mn, [C("button", {
763
762
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
764
- onClick: s[10] ||= (e) => K("sensorEvents")
765
- }, [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(le), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
763
+ onClick: s[10] ||= (e) => we("sensorEvents")
764
+ }, [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", Nn, [(i(!0), v(b, null, r(p(se), (e) => (i(), v(b, { key: e.value }, [C("label", Pn, [
766
765
  k(j, {
767
766
  "model-value": n.filters.sensorEvents.includes(e.value),
768
767
  binary: !0,
769
- "onUpdate:modelValue": (t) => be(e.value)
768
+ "onUpdate:modelValue": (t) => xe(e.value)
770
769
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
771
770
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
772
771
  C("span", null, a(e.label), 1)
773
- ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v("label", {
772
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Fn, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v("label", {
774
773
  key: e.value,
775
774
  class: "flex items-center gap-2 cursor-pointer text-sm"
776
775
  }, [
777
776
  k(j, {
778
777
  "model-value": n.filters.audioLabels.includes(e.value),
779
778
  binary: !0,
780
- "onUpdate:modelValue": (t) => ve(e.value)
779
+ "onUpdate:modelValue": (t) => be(e.value)
781
780
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
782
781
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
783
782
  C("span", null, a(e.label), 1)
784
783
  ]))), 128))])) : d("", !0)], 64))), 128))])) : d("", !0)]),
785
- C("div", Fn, [
784
+ C("div", In, [
786
785
  s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
787
786
  k(l, {
788
787
  "model-value": n.filters.filterLogicTriggers,
789
- options: p(oe),
788
+ options: p(ie),
790
789
  "option-label": "label",
791
790
  "option-value": "value",
792
791
  "allow-empty": !1,
793
792
  class: "filter-logic-toggle",
794
- "onUpdate:modelValue": s[11] ||= (e) => W("filterLogicTriggers", e)
793
+ "onUpdate:modelValue": s[11] ||= (e) => G("filterLogicTriggers", e)
795
794
  }, null, 8, ["model-value", "options"]),
796
795
  s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
797
796
  ]),
798
- C("div", In, [C("button", {
797
+ C("div", Ln, [C("button", {
799
798
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
800
- onClick: s[12] ||= (e) => K("eventTypes")
801
- }, [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(ce), (e) => (i(), v("label", {
799
+ onClick: s[12] ||= (e) => we("eventTypes")
800
+ }, [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", Rn, [(i(!0), v(b, null, r(p(oe), (e) => (i(), v("label", {
802
801
  key: e.value,
803
802
  class: "flex items-center gap-2 cursor-pointer text-sm"
804
803
  }, [
@@ -810,23 +809,23 @@ var Zt = l({
810
809
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
811
810
  C("span", null, a(e.label), 1)
812
811
  ]))), 128))])) : d("", !0)]),
813
- C("div", Rn, [
812
+ C("div", zn, [
814
813
  s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
815
814
  k(l, {
816
815
  "model-value": n.filters.filterLogicAttributes,
817
- options: p(oe),
816
+ options: p(ie),
818
817
  "option-label": "label",
819
818
  "option-value": "value",
820
819
  "allow-empty": !1,
821
820
  class: "filter-logic-toggle",
822
- "onUpdate:modelValue": s[13] ||= (e) => W("filterLogicAttributes", e)
821
+ "onUpdate:modelValue": s[13] ||= (e) => G("filterLogicAttributes", e)
823
822
  }, null, 8, ["model-value", "options"]),
824
823
  s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
825
824
  ]),
826
- C("div", zn, [C("button", {
825
+ C("div", Bn, [C("button", {
827
826
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
828
- onClick: s[14] ||= (e) => K("attributes")
829
- }, [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(de), (e) => (i(), v("label", {
827
+ onClick: s[14] ||= (e) => we("attributes")
828
+ }, [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", Vn, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
830
829
  key: e.value,
831
830
  class: "flex items-center gap-2 cursor-pointer text-sm"
832
831
  }, [
@@ -837,43 +836,43 @@ var Zt = l({
837
836
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
838
837
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
839
838
  C("span", null, a(e.label), 1)
840
- ]))), 128)), C("label", Vn, [
839
+ ]))), 128)), C("label", Hn, [
841
840
  k(j, {
842
- "model-value": n.filters.eventTypes.includes(p(U).value),
841
+ "model-value": n.filters.eventTypes.includes(p(W).value),
843
842
  binary: !0,
844
- "onUpdate:modelValue": s[15] ||= (e) => ge(p(U).value)
843
+ "onUpdate:modelValue": s[15] ||= (e) => ge(p(W).value)
845
844
  }, null, 8, ["model-value"]),
846
- (i(), u(c(p(U).icon), { class: "w-4 h-4 text-muted" })),
847
- C("span", null, a(p(U).label), 1)
845
+ (i(), u(c(p(W).icon), { class: "w-4 h-4 text-muted" })),
846
+ C("span", null, a(p(W).label), 1)
848
847
  ])])) : d("", !0)])
849
848
  ], 64))
850
849
  ], 4)], 4);
851
850
  };
852
851
  }
853
- }), [["__scopeId", "data-v-e863f967"]]), Wn = { class: "font-semibold text-xl truncate" }, Gn = { class: "w-full h-full relative" }, Kn = {
852
+ }), [["__scopeId", "data-v-e863f967"]]), Gn = { class: "font-semibold text-xl truncate" }, Kn = { class: "w-full h-full relative" }, qn = {
854
853
  key: 0,
855
854
  class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
856
- }, qn = { class: "relative z-2 page-title !m-0" }, Jn = {
855
+ }, Jn = { class: "relative z-2 page-title !m-0" }, Yn = {
857
856
  key: 1,
858
857
  class: "fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center"
859
- }, Yn = {
860
- key: 1,
861
- class: "flex justify-center py-4"
862
858
  }, Xn = {
863
859
  key: 2,
860
+ class: "flex justify-center py-4"
861
+ }, Zn = {
862
+ key: 3,
864
863
  class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
865
- }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
864
+ }, Qn = { class: "text-muted text-sm" }, $n = 288, er = /* @__PURE__ */ D({
866
865
  __name: "Recordings",
867
866
  setup(e) {
868
- let t = new Ye(), n = new we(), r = new W(), c = ge(), l = me(), { bottombarHeight: f } = _e(), { status: S, checking: T } = K(), { openEventTrace: D } = Se(), A = re("@camera.ui/camera-ui-nvr"), N = pe(), { t: P, locale: ie } = Pe(), { smBreakpoint: G, xlBreakpoint: he, mdBreakpoint: ye } = ae(), { registerScrollToTop: be } = ue();
867
+ let t = new Ze(), n = new ce(), c = new ue(), l = fe(), f = ge(), { bottombarHeight: S } = ve(), { status: T, checking: D } = G(), { openEventTrace: A } = we(), N = Se("@camera.ui/camera-ui-nvr"), P = me(), { t: H, locale: de } = Ie(), { smBreakpoint: K, xlBreakpoint: pe, mdBreakpoint: _e } = V(), { registerScrollToTop: ye } = se();
869
868
  if (typeof VideoDecoder < "u") {
870
- let e = ce({ cacheSize: 20 });
871
- o(z, e), Ae(() => e.dispose());
869
+ let e = ee({ cacheSize: 20 });
870
+ o(ie, e), Me(() => e.dispose());
872
871
  }
873
- let { results: xe, isSearching: Ce, isAvailable: Te, hasSearched: De, search: ke, clear: je } = te(), { data: Ne } = t.getAssistantStatusQuery(), { data: Fe } = n.getCamerasQuery({
872
+ let { results: Ce, isSearching: Oe, isAvailable: ke, hasSearched: je, search: Ne, clear: Fe } = Te(), { data: Le } = t.getAssistantStatusQuery(), { data: Re } = n.getCamerasQuery({
874
873
  page: 1,
875
874
  pageSize: -1
876
- }), { data: Ie } = r.getUserQuery(m(() => l.user?.username ?? "")), Le = {
875
+ }), { data: ze } = c.getUserQuery(m(() => f.user?.username ?? "")), Be = {
877
876
  contentKind: "all",
878
877
  favoritesOnly: !1,
879
878
  search: "",
@@ -892,127 +891,127 @@ var Zt = l({
892
891
  minConfidence: .5,
893
892
  minSemanticScore: .5,
894
893
  onlyWithRecordings: !0
895
- }, Re = {
894
+ }, Ve = {
896
895
  "1h": 36e5,
897
896
  "1d": 864e5,
898
897
  "1w": 6048e5,
899
898
  "1m": 2592e6
900
- }, ze = x("gridRef"), Ve = x("viewMenuRef"), q = O("closed"), He = O(!1), J = O({ ...Le }), We = O(!1), Ge = O(""), Ke = E({
899
+ }, Ue = x("gridRef"), We = x("viewMenuRef"), q = O("closed"), Ge = O(!1), J = O({ ...Be }), qe = O(!1), Je = O(""), Ye = E({
901
900
  hasDetections: !0,
902
901
  withRecordingInfo: !0,
903
902
  hasRecording: !0
904
- }), qe = JSON.stringify(Ke.value), Y = O(!1), Xe = E([]), Ze = O(null), st = x("reindexAnchorRef"), { left: ct } = Me(st), ut = !1, X = m(() => he.value ? !0 : q.value === "opened"), dt = m(() => ye.value), ft = ee(() => ze.value?.scrollY ?? 0), pt = m(() => X.value && dt.value ? !0 : ft.value && !S.value?.running), ht = m(() => ye.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Fe.value?.result ?? []).map((e) => ({
903
+ }), Qe = JSON.stringify(Ye.value), Y = O(!1), $e = E([]), ct = O(null), lt = x("reindexAnchorRef"), { left: dt } = Pe(lt), ft = !1, X = m(() => pe.value ? !0 : q.value === "opened"), pt = m(() => _e.value), mt = I(() => Ue.value?.scrollY ?? 0), gt = m(() => X.value && pt.value ? !0 : mt.value && !T.value?.running), _t = m(() => _e.value ? "0px" : X.value ? `${$n}px` : "0px"), Z = m(() => (Re.value?.result ?? []).map((e) => ({
905
904
  id: e._id,
906
905
  name: e.name,
907
906
  room: e.room
908
- }))), gt = m(() => {
907
+ }))), vt = m(() => {
909
908
  let e = /* @__PURE__ */ new Map();
910
909
  for (let t of Z.value) e.set(t.id, t.name);
911
910
  return e;
912
- }), _t = m(() => {
911
+ }), yt = m(() => {
913
912
  let e = /* @__PURE__ */ new Map();
914
- for (let t of Fe.value?.result ?? []) e.set(t._id, t);
913
+ for (let t of Re.value?.result ?? []) e.set(t._id, t);
915
914
  return e;
916
- }), vt = m(() => {
915
+ }), bt = m(() => {
917
916
  let e = J.value.rooms;
918
917
  return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
919
- }), yt = m(() => J.value.cameraIds.filter((e) => vt.value.includes(e))), bt = m(() => vt.value);
920
- be(() => ze.value?.scrollToTop());
921
- let { events: xt, isLoading: St, hasMore: Ct, loadMore: wt, loadThumbnails: Tt, deleteEvents: Et, pluginUnavailable: Dt } = V({
922
- availableCameraIds: bt,
923
- cameraIds: yt,
918
+ }), xt = m(() => J.value.cameraIds.filter((e) => bt.value.includes(e))), St = m(() => bt.value);
919
+ ye(() => Ue.value?.scrollToTop());
920
+ let { events: Ct, isLoading: wt, hasMore: Tt, loadMore: Et, loadThumbnails: Dt, deleteEvents: Ot, reset: kt, loadFailed: At, pluginUnavailable: jt } = z({
921
+ availableCameraIds: St,
922
+ cameraIds: xt,
924
923
  realtime: !0,
925
924
  pageSize: 40,
926
- filter: Ke,
925
+ filter: Ye,
927
926
  withEpisodes: !0
928
927
  }), Q = m(() => {
929
928
  let e = /* @__PURE__ */ new Map();
930
- for (let t of xe.value ?? []) {
929
+ for (let t of Ce.value ?? []) {
931
930
  let n = e.get(t.eventId);
932
931
  (!n || t.score > n) && e.set(t.eventId, t.score);
933
932
  }
934
933
  return e;
935
- }), Ot = m(() => De.value), $ = m(() => {
936
- let e = xt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = J.value;
937
- if (t.timeRange && Re[t.timeRange]) {
938
- let n = Date.now() - Re[t.timeRange];
934
+ }), Mt = m(() => je.value), Nt = m(() => jt.value ? H("views.recordings.recordings_unavailable") : At.value ? H("views.recordings.load_failed") : H("views.recordings.no_recordings")), $ = m(() => {
935
+ let e = Ct.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = J.value;
936
+ if (t.timeRange && Ve[t.timeRange]) {
937
+ let n = Date.now() - Ve[t.timeRange];
939
938
  e = e.filter((e) => e.startTime >= n);
940
939
  }
941
- return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && rt(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Ot.value && (e = e.filter((e) => {
940
+ return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && it(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Mt.value && (e = e.filter((e) => {
942
941
  let n = Q.value.get(e.id);
943
942
  return n != null && n >= t.minSemanticScore;
944
943
  }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
945
- }), kt = m(() => J.value.contentKind === "episodes"), At = m(() => Ne.value?.state === "ready"), jt = m(() => {
944
+ }), Pt = m(() => J.value.contentKind === "episodes"), Ft = m(() => Le.value?.state === "ready"), It = m(() => {
946
945
  if (J.value.contentKind === "events") return [];
947
- A.storeVersion.value;
946
+ N.storeVersion.value;
948
947
  let e = J.value;
949
- 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 [];
950
- let t = yt.value.length > 0 ? yt.value : bt.value, n = e.timeRange && Re[e.timeRange] ? Date.now() - Re[e.timeRange] : 0, r = Infinity;
951
- if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Ct.value && !kt.value) {
948
+ if (!Pt.value && (Y.value || Mt.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 [];
949
+ let t = xt.value.length > 0 ? xt.value : St.value, n = e.timeRange && Ve[e.timeRange] ? Date.now() - Ve[e.timeRange] : 0, r = Infinity;
950
+ if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Tt.value && !Pt.value) {
952
951
  let e = Infinity;
953
- for (let t of xt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
952
+ for (let t of Ct.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
954
953
  n = Math.max(n, e);
955
954
  }
956
955
  let i = [];
957
- for (let a of A.getEpisodes()) a.description && (!e.favoritesOnly || a.favorite) && (n && a.endTime < n || a.startTime > r || t.length > 0 && !a.members.some((e) => t.includes(e.cameraId)) || i.push({
956
+ for (let a of N.getEpisodes()) a.description && (!e.favoritesOnly || a.favorite) && (n && a.endTime < n || a.startTime > r || t.length > 0 && !a.members.some((e) => t.includes(e.cameraId)) || i.push({
958
957
  event: void 0,
959
958
  key: `episode:${a.id}`,
960
959
  episode: a
961
960
  }));
962
961
  return i;
963
- }), Mt = m(() => {
964
- if (kt.value) return [...jt.value].sort((e, t) => et(t) - et(e));
965
- if (Y.value && Xe.value.length) return Xe.value;
962
+ }), Lt = m(() => {
963
+ if (Pt.value) return [...It.value].sort((e, t) => tt(t) - tt(e));
964
+ if (Y.value && $e.value.length) return $e.value;
966
965
  let e = $.value.map((e) => ({
967
966
  event: e,
968
967
  key: e.id
969
968
  }));
970
- return jt.value.length && (e.push(...jt.value), e.sort((e, t) => et(t) - et(e))), e;
971
- }), Nt = m(() => Ee(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 } = Oe(Pt, (e) => e.id);
972
- function Ut() {
973
- let e = [...It.value];
974
- e.length && !Rt.value && c.openTextDialog({
969
+ return It.value.length && (e.push(...It.value), e.sort((e, t) => tt(t) - tt(e))), e;
970
+ }), Rt = m(() => be(void 0, "admin")), zt = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Bt, selectedIds: Vt, allSelected: Ht, bulkBusy: Ut, enterSelectionMode: Wt, exitSelectionMode: Gt, toggleSelectAll: qt, toggleSelection: Jt } = Ae(zt, (e) => e.id);
971
+ function Yt() {
972
+ let e = [...Vt.value];
973
+ e.length && !Ut.value && l.openTextDialog({
975
974
  data: {
976
- title: P("components.dialog.title.confirm"),
977
- contentText: P("views.recordings.delete_selected_confirm", { count: e.length }),
978
- confirmText: P("components.form.button.remove"),
975
+ title: H("components.dialog.title.confirm"),
976
+ contentText: H("views.recordings.delete_selected_confirm", { count: e.length }),
977
+ confirmText: H("components.form.button.remove"),
979
978
  confirmButtonProps: { severity: "danger" }
980
979
  },
981
980
  onConfirm: async () => {
982
- Rt.value = !0;
981
+ Ut.value = !0;
983
982
  try {
984
- await Et(e), Bt(), N.add({
983
+ await Ot(e), Gt(), P.add({
985
984
  severity: "success",
986
- detail: P("views.recordings.delete_selected_done", { count: e.length }),
985
+ detail: H("views.recordings.delete_selected_done", { count: e.length }),
987
986
  life: 5e3
988
987
  });
989
988
  } catch (e) {
990
- N.add({
989
+ P.add({
991
990
  severity: "error",
992
991
  detail: e?.message ?? String(e),
993
992
  life: 5e3
994
993
  });
995
994
  } finally {
996
- Rt.value = !1;
995
+ Ut.value = !1;
997
996
  }
998
997
  }
999
998
  });
1000
999
  }
1001
- let Wt = m(() => [
1000
+ let Xt = m(() => [
1002
1001
  {
1003
1002
  key: "ungroup",
1004
- label: P("views.recordings.ungroup"),
1005
- description: P("views.recordings.ungroup_hint"),
1003
+ label: H("views.recordings.ungroup"),
1004
+ description: H("views.recordings.ungroup_hint"),
1006
1005
  toggle: !0,
1007
1006
  toggleState: Y.value,
1008
1007
  onClick: () => {
1009
- ut = !0, Y.value = !Y.value, l.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1008
+ ft = !0, Y.value = !Y.value, f.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1010
1009
  }
1011
1010
  },
1012
1011
  {
1013
1012
  key: "onlyWithRecordings",
1014
- label: P("views.recordings.only_with_recordings"),
1015
- description: P("views.recordings.only_with_recordings_hint"),
1013
+ label: H("views.recordings.only_with_recordings"),
1014
+ description: H("views.recordings.only_with_recordings_hint"),
1016
1015
  toggle: !0,
1017
1016
  toggleState: J.value.onlyWithRecordings,
1018
1017
  onClick: () => {
@@ -1022,10 +1021,10 @@ var Zt = l({
1022
1021
  };
1023
1022
  }
1024
1023
  },
1025
- ...Nt.value ? [{
1024
+ ...Rt.value ? [{
1026
1025
  key: "favoritesOnly",
1027
- label: P("views.recordings.favorites_only"),
1028
- description: P("views.recordings.favorites_hint"),
1026
+ label: H("views.recordings.favorites_only"),
1027
+ description: H("views.recordings.favorites_hint"),
1029
1028
  toggle: !0,
1030
1029
  toggleState: J.value.favoritesOnly,
1031
1030
  onClick: () => {
@@ -1036,66 +1035,66 @@ var Zt = l({
1036
1035
  }
1037
1036
  }] : []
1038
1037
  ]);
1039
- function Kt() {
1040
- c.openComponentDialog(mt, { data: {
1041
- title: P("views.recordings.reindex.title"),
1038
+ function Zt() {
1039
+ l.openComponentDialog(ht, { data: {
1040
+ title: H("views.recordings.reindex.title"),
1042
1041
  contentProps: {},
1043
- confirmText: P("views.recordings.reindex.start")
1042
+ confirmText: H("views.recordings.reindex.start")
1044
1043
  } });
1045
1044
  }
1046
- function qt() {
1047
- c.openComponentDialog(Gt, { data: {
1048
- title: P("views.recordings.export.title"),
1045
+ function Qt() {
1046
+ l.openComponentDialog(Kt, { data: {
1047
+ title: H("views.recordings.export.title"),
1049
1048
  contentProps: {
1050
1049
  cameras: Z.value,
1051
1050
  preselect: J.value.cameraIds?.length ? J.value.cameraIds : []
1052
1051
  },
1053
- confirmText: P("views.recordings.export.confirm")
1052
+ confirmText: H("views.recordings.export.confirm")
1054
1053
  } });
1055
1054
  }
1056
- function Jt() {
1055
+ function $t() {
1057
1056
  let e = q.value;
1058
1057
  q.value = e === "opened" ? "closed" : "opened";
1059
1058
  }
1060
- function Yt() {
1059
+ function en() {
1061
1060
  q.value = "closed";
1062
1061
  }
1063
- function Xt(e) {
1064
- !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && je(), J.value = e;
1062
+ function tn(e) {
1063
+ !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && Fe(), J.value = e;
1065
1064
  }
1066
- async function Zt(e) {
1067
- We.value = !0, Ge.value = "";
1065
+ async function nn(e) {
1066
+ qe.value = !0, Je.value = "";
1068
1067
  try {
1069
- let t = await Je(e, ie.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1070
- Xt({
1071
- ...Le,
1068
+ let t = await Xe(e, de.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1069
+ tn({
1070
+ ...Be,
1072
1071
  ...t.filters,
1073
- favoritesOnly: Nt.value && t.filters.favoritesOnly
1074
- }), Qt(t.filters.semanticQuery), Ge.value = t.note;
1072
+ favoritesOnly: Rt.value && t.filters.favoritesOnly
1073
+ }), rn(t.filters.semanticQuery), Je.value = t.note;
1075
1074
  } catch (e) {
1076
- N.add({
1075
+ P.add({
1077
1076
  severity: "error",
1078
- detail: e?.response?.data?.message ?? P("views.recordings.assistant_search_failed"),
1077
+ detail: e?.response?.data?.message ?? H("views.recordings.assistant_search_failed"),
1079
1078
  life: 5e3
1080
1079
  });
1081
1080
  } finally {
1082
- We.value = !1;
1081
+ qe.value = !1;
1083
1082
  }
1084
1083
  }
1085
- function Qt(e) {
1084
+ function rn(e) {
1086
1085
  if (!e.trim()) {
1087
- je();
1086
+ Fe();
1088
1087
  return;
1089
1088
  }
1090
- ke(e);
1089
+ Ne(e);
1091
1090
  }
1092
- function $t(e, t) {
1093
- let n = _t.value.get(e.cameraId);
1094
- n && D(e, n, t);
1091
+ function an(e, t) {
1092
+ let n = yt.value.get(e.cameraId);
1093
+ n && A(e, n, t);
1095
1094
  }
1096
- function en(e, t) {
1097
- let n = _t.value.get(e.cameraId);
1098
- n && c.openComponentDialog(fe, {
1095
+ function on(e, t) {
1096
+ let n = yt.value.get(e.cameraId);
1097
+ n && l.openComponentDialog(xe, {
1099
1098
  data: {
1100
1099
  title: n.name,
1101
1100
  dedupeKey: `camera-event:${n._id}:${t}`,
@@ -1107,7 +1106,7 @@ var Zt = l({
1107
1106
  eventTimestamp: t
1108
1107
  },
1109
1108
  headerActions: e.segments?.some((e) => e?.description) ? [{
1110
- icon: F,
1109
+ icon: te,
1111
1110
  toggle: !0,
1112
1111
  onClick: () => {}
1113
1112
  }] : void 0,
@@ -1125,7 +1124,7 @@ var Zt = l({
1125
1124
  } }
1126
1125
  });
1127
1126
  }
1128
- return _(he, (e) => {
1127
+ return _(pe, (e) => {
1129
1128
  e && (q.value = "closed");
1130
1129
  }), _(J, (e) => {
1131
1130
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
@@ -1142,16 +1141,16 @@ var Zt = l({
1142
1141
  hasRecording: e.onlyWithRecordings || void 0,
1143
1142
  favoritesOnly: e.favoritesOnly || void 0
1144
1143
  }, r = JSON.stringify(n);
1145
- r !== qe && (qe = r, Ke.value = n);
1144
+ r !== Qe && (Qe = r, Ye.value = n);
1146
1145
  }, {
1147
1146
  deep: !0,
1148
1147
  immediate: !0
1149
- }), _(Ie, (e) => {
1150
- if (!e || ut) return;
1148
+ }), _(ze, (e) => {
1149
+ if (!e || ft) return;
1151
1150
  let t = e.preferences?.recordings?.ungrouped;
1152
1151
  t !== void 0 && (Y.value = t);
1153
1152
  }, { immediate: !0 }), _([Y, $], ([e, t]) => {
1154
- Xe.value = e ? nt(t) : [];
1153
+ $e.value = e ? rt(t) : [];
1155
1154
  }), _(() => J.value.cameraIds, (e) => {
1156
1155
  e.length !== 1 && J.value.gridRegions.length > 0 && (J.value = {
1157
1156
  ...J.value,
@@ -1159,29 +1158,29 @@ var Zt = l({
1159
1158
  });
1160
1159
  }), j(() => {
1161
1160
  requestAnimationFrame(() => {
1162
- He.value = !0;
1161
+ Ge.value = !0;
1163
1162
  });
1164
1163
  }), (e, t) => {
1165
- let n = B, r = oe, o = ne, c = Be, l = it, m = ot, _ = at, x = de, E = $e, D = tt, O = Qe, A = le, j = H, N = R, P = M;
1164
+ let n = B, o = re, c = R, l = He, f = at, m = st, _ = ot, x = le, E = et, O = nt, A = he, j = Ee, N = W, P = U, I = L, z = M;
1166
1165
  return i(), v("div", null, [
1167
1166
  k(n, { position: "center" }, {
1168
- default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
1167
+ default: h(() => [C("span", Gn, a(e.$t("views.recordings.title")), 1)]),
1169
1168
  _: 1
1170
1169
  }),
1171
1170
  k(n, { position: "left" }, {
1172
- default: h(() => [k(c, {
1171
+ default: h(() => [k(l, {
1173
1172
  id: "recordings-sidebar-toggle",
1174
1173
  severity: "secondary",
1175
1174
  class: "cui-button p-2 text-color",
1176
1175
  text: "",
1177
1176
  rounded: "",
1178
- onClick: Jt
1177
+ onClick: $t
1179
1178
  }, {
1180
- icon: h(() => [p(q) === "closed" ? (i(), u(r, {
1179
+ icon: h(() => [p(q) === "closed" ? (i(), u(o, {
1181
1180
  key: 0,
1182
1181
  width: "100%",
1183
1182
  height: "100%"
1184
- })) : (i(), u(o, {
1183
+ })) : (i(), u(c, {
1185
1184
  key: 1,
1186
1185
  width: "100%",
1187
1186
  height: "100%"
@@ -1191,14 +1190,14 @@ var Zt = l({
1191
1190
  _: 1
1192
1191
  }),
1193
1192
  k(n, { position: "right" }, {
1194
- default: h(() => [k(c, {
1193
+ default: h(() => [k(l, {
1195
1194
  severity: "secondary",
1196
1195
  class: "cui-button p-2 text-color",
1197
1196
  text: "",
1198
1197
  rounded: "",
1199
- onClick: t[0] ||= (e) => p(Ve)?.toggleMenu(e)
1198
+ onClick: t[0] ||= (e) => p(We)?.toggleMenu(e)
1200
1199
  }, {
1201
- icon: h(() => [k(l, {
1200
+ icon: h(() => [k(f, {
1202
1201
  width: "100%",
1203
1202
  height: "100%"
1204
1203
  })]),
@@ -1206,22 +1205,22 @@ var Zt = l({
1206
1205
  })]),
1207
1206
  _: 1
1208
1207
  }),
1209
- k(Un, {
1208
+ k(Wn, {
1210
1209
  filters: p(J),
1211
1210
  cameras: p(Z),
1212
1211
  "is-open": p(X),
1213
- "is-overlay": p(dt),
1214
- "result-count": p(Mt).length,
1215
- "semantic-count": p(Ot) ? p(Q).size : void 0,
1216
- "semantic-search-available": p(Te),
1217
- "semantic-search-loading": p(Ce),
1218
- "assistant-search-available": p(At),
1219
- "assistant-search-loading": p(We),
1220
- "assistant-search-note": p(Ge),
1221
- "onUpdate:filters": Xt,
1222
- onSemanticSearch: Qt,
1223
- onAssistantSearch: Zt,
1224
- onClose: Yt
1212
+ "is-overlay": p(pt),
1213
+ "result-count": p(Lt).length,
1214
+ "semantic-count": p(Mt) ? p(Q).size : void 0,
1215
+ "semantic-search-available": p(ke),
1216
+ "semantic-search-loading": p(Oe),
1217
+ "assistant-search-available": p(Ft),
1218
+ "assistant-search-loading": p(qe),
1219
+ "assistant-search-note": p(Je),
1220
+ "onUpdate:filters": tn,
1221
+ onSemanticSearch: rn,
1222
+ onAssistantSearch: nn,
1223
+ onClose: en
1225
1224
  }, null, 8, [
1226
1225
  "filters",
1227
1226
  "cameras",
@@ -1238,30 +1237,30 @@ var Zt = l({
1238
1237
  (i(), u(g, {
1239
1238
  to: "#container",
1240
1239
  defer: ""
1241
- }, [p(X) && p(dt) ? (i(), v("div", {
1240
+ }, [p(X) && p(pt) ? (i(), v("div", {
1242
1241
  key: 0,
1243
1242
  class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1244
- onClick: Yt
1243
+ onClick: en
1245
1244
  })) : d("", !0)])),
1246
1245
  C("main", {
1247
1246
  ref_key: "reindexAnchorRef",
1248
- ref: st,
1247
+ ref: lt,
1249
1248
  class: "relative w-full h-full",
1250
1249
  style: y({
1251
- paddingLeft: p(ht),
1252
- transition: p(He) ? "padding-left 200ms" : void 0
1250
+ paddingLeft: p(_t),
1251
+ transition: p(Ge) ? "padding-left 200ms" : void 0
1253
1252
  })
1254
- }, [C("div", Gn, [
1255
- p(G) ? d("", !0) : (i(), v("div", Kn, [
1253
+ }, [C("div", Kn, [
1254
+ p(K) ? d("", !0) : (i(), v("div", qn, [
1256
1255
  t[3] ||= C("div", { class: "ml-2" }, null, -1),
1257
- p(he) ? d("", !0) : (i(), u(c, {
1256
+ p(pe) ? d("", !0) : (i(), u(l, {
1258
1257
  key: 0,
1259
1258
  id: "recordings-sidebar-toggle",
1260
1259
  severity: "secondary",
1261
1260
  class: "mr-2 cui-icon-lg relative z-2",
1262
1261
  text: "",
1263
1262
  rounded: "",
1264
- onClick: Jt
1263
+ onClick: $t
1265
1264
  }, {
1266
1265
  icon: h(() => [p(X) ? (i(), u(m, {
1267
1266
  key: 0,
@@ -1274,7 +1273,7 @@ var Zt = l({
1274
1273
  }))]),
1275
1274
  _: 1
1276
1275
  })),
1277
- C("h1", qn, a(e.$t("views.recordings.title")), 1),
1276
+ C("h1", Jn, a(e.$t("views.recordings.title")), 1),
1278
1277
  t[4] ||= C("div", { class: "gradient-blur rotate-180 !h-[70px]" }, [
1279
1278
  C("div"),
1280
1279
  C("div"),
@@ -1284,46 +1283,46 @@ var Zt = l({
1284
1283
  C("div")
1285
1284
  ], -1)
1286
1285
  ])),
1287
- p(G) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1286
+ p(K) ? d("", !0) : (i(), v("div", Yn, [w((i(), u(l, {
1288
1287
  severity: "secondary",
1289
1288
  text: "",
1290
1289
  rounded: "",
1291
1290
  class: "cui-icon-lg relative z-2",
1292
- onClick: t[1] ||= (e) => p(Ve)?.toggleMenu(e)
1291
+ onClick: t[1] ||= (e) => p(We)?.toggleMenu(e)
1293
1292
  }, {
1294
- icon: h(() => [k(l, {
1293
+ icon: h(() => [k(f, {
1295
1294
  width: "100%",
1296
1295
  height: "100%"
1297
1296
  })]),
1298
1297
  _: 1
1299
1298
  })), [[
1300
- P,
1299
+ z,
1301
1300
  { value: e.$t("views.recordings.view_options") },
1302
1301
  void 0,
1303
1302
  { bottom: !0 }
1304
1303
  ]])])),
1305
1304
  C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1306
- "pt-4": p(G),
1307
- "pt-[calc(40px+2rem)]": !p(G)
1305
+ "pt-4": p(K),
1306
+ "pt-[calc(40px+2rem)]": !p(K)
1308
1307
  }]) }, [
1309
- p(Mt).length ? (i(), u(D, {
1308
+ p(Lt).length ? (i(), u(O, {
1310
1309
  key: 0,
1311
1310
  ref_key: "gridRef",
1312
- ref: ze,
1313
- items: p(Mt),
1314
- "min-item-width": p(G) ? 160 : 180,
1311
+ ref: Ue,
1312
+ items: p(Lt),
1313
+ "min-item-width": p(K) ? 160 : 180,
1315
1314
  gap: 8,
1316
- "has-more": p(Ct),
1317
- "load-more": p(wt),
1315
+ "has-more": p(Tt),
1316
+ "load-more": p(Et),
1318
1317
  "item-key": (e) => e.key,
1319
1318
  class: "flex-1 min-h-0"
1320
1319
  }, {
1321
1320
  item: h(({ item: e }) => [e.episode ? (i(), u(x, {
1322
1321
  key: 0,
1323
1322
  episode: e.episode,
1324
- "camera-by-id": p(_t),
1323
+ "camera-by-id": p(yt),
1325
1324
  fluid: "",
1326
- "click-disabled": p(Ft)
1325
+ "click-disabled": p(Bt)
1327
1326
  }, null, 8, [
1328
1327
  "episode",
1329
1328
  "camera-by-id",
@@ -1331,19 +1330,19 @@ var Zt = l({
1331
1330
  ])) : (i(), u(E, {
1332
1331
  key: 1,
1333
1332
  event: e.event,
1334
- "camera-name": p(gt).get(e.event.cameraId),
1335
- camera: p(_t).get(e.event.cameraId),
1336
- "load-thumbnails": p(Tt),
1333
+ "camera-name": p(vt).get(e.event.cameraId),
1334
+ camera: p(yt).get(e.event.cameraId),
1335
+ "load-thumbnails": p(Dt),
1337
1336
  "semantic-score": p(Q).get(e.event.id),
1338
1337
  "seg-index": e.segIndex,
1339
- "selection-mode": p(Ft) && e.event.state === "ended",
1340
- selected: p(It).has(e.event.id),
1341
- "sibling-active": e.segIndex !== void 0 && p(Ze) === e.event.id,
1342
- onSelect: (t) => p(Ht)(e.event.id),
1343
- onScrollToEvent: (t) => en(e.event, t),
1344
- onOpenTrace: (t) => $t(e.event, t),
1345
- onMouseenter: (t) => Ze.value = e.segIndex === void 0 ? null : e.event.id,
1346
- onMouseleave: t[2] ||= (e) => Ze.value = null
1338
+ "selection-mode": p(Bt) && e.event.state === "ended",
1339
+ selected: p(Vt).has(e.event.id),
1340
+ "sibling-active": e.segIndex !== void 0 && p(ct) === e.event.id,
1341
+ onSelect: (t) => p(Jt)(e.event.id),
1342
+ onScrollToEvent: (t) => on(e.event, t),
1343
+ onOpenTrace: (t) => an(e.event, t),
1344
+ onMouseenter: (t) => ct.value = e.segIndex === void 0 ? null : e.event.id,
1345
+ onMouseleave: t[2] ||= (e) => ct.value = null
1347
1346
  }, null, 8, [
1348
1347
  "event",
1349
1348
  "camera-name",
@@ -1366,124 +1365,143 @@ var Zt = l({
1366
1365
  "has-more",
1367
1366
  "load-more",
1368
1367
  "item-key"
1369
- ])) : d("", !0),
1370
- p(St) || p(Ce) ? (i(), v("div", Yn, [k(O, {
1368
+ ])) : p(wt) ? (i(), v("div", {
1369
+ key: 1,
1370
+ class: "grid gap-2 flex-1 min-h-0 overflow-hidden content-start",
1371
+ style: y({ gridTemplateColumns: `repeat(auto-fill, minmax(${p(K) ? 160 : 180}px, 1fr))` })
1372
+ }, [(i(), v(b, null, r(24, (e) => k(A, {
1373
+ key: `skeleton-${e}`,
1374
+ class: "w-full rounded-xl",
1375
+ style: { "aspect-ratio": "1/1" },
1376
+ height: "auto"
1377
+ })), 64))], 4)) : d("", !0),
1378
+ p(wt) && p(Lt).length || p(Oe) ? (i(), v("div", Xn, [k(j, {
1371
1379
  width: "24px",
1372
1380
  height: "24px",
1373
1381
  class: "text-muted"
1374
1382
  })])) : d("", !0),
1375
- !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)
1383
+ !p($).length && !p(wt) && !p(Oe) ? (i(), v("div", Zn, [
1384
+ k(N, { class: "w-12 h-12 text-muted" }),
1385
+ C("span", Qn, a(p(Nt)), 1),
1386
+ p(At) && !p(jt) ? (i(), u(l, {
1387
+ key: 0,
1388
+ severity: "secondary",
1389
+ class: "cui-button-small",
1390
+ label: e.$t("views.recordings.load_failed_retry"),
1391
+ onClick: p(kt)
1392
+ }, null, 8, ["label", "onClick"])) : d("", !0)
1393
+ ])) : d("", !0)
1376
1394
  ], 2)
1377
1395
  ])], 4),
1378
- p(Nt) && p(Z).length ? (i(), v("div", {
1396
+ p(Rt) && p(Z).length ? (i(), v("div", {
1379
1397
  key: 0,
1380
- class: s(["fixed z-10", p(pt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1398
+ class: s(["fixed z-10", p(gt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1381
1399
  style: y({
1382
- left: `calc(${p(ct)}px + ${p(ht)} + 0.75rem + var(--safe-area-inset-left))`,
1383
- bottom: `calc(${p(f)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1384
- transition: p(He) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1400
+ left: `calc(${p(dt)}px + ${p(_t)} + 0.75rem + var(--safe-area-inset-left))`,
1401
+ bottom: `calc(${p(S)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1402
+ transition: p(Ge) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1385
1403
  })
1386
- }, [k(c, {
1404
+ }, [k(l, {
1387
1405
  severity: "secondary",
1388
1406
  rounded: "",
1389
1407
  class: "shadow-lg",
1390
- disabled: p(S)?.running,
1391
- label: p(T) ? e.$t("views.recordings.reindex.checking") : p(S)?.running ? e.$t("views.recordings.reindex.progress", {
1392
- done: p(S).done,
1393
- total: p(S).total
1408
+ disabled: p(T)?.running,
1409
+ label: p(D) ? e.$t("views.recordings.reindex.checking") : p(T)?.running ? e.$t("views.recordings.reindex.progress", {
1410
+ done: p(T).done,
1411
+ total: p(T).total
1394
1412
  }) : e.$t("views.recordings.reindex.button"),
1395
- onClick: Kt
1413
+ onClick: Zt
1396
1414
  }, {
1397
- icon: h(() => [p(S)?.running ? (i(), u(p(Qe), { key: 0 })) : (i(), u(p(lt), { key: 1 }))]),
1415
+ icon: h(() => [p(T)?.running ? (i(), u(p(Ee), { key: 0 })) : (i(), u(p(ut), { key: 1 }))]),
1398
1416
  _: 1
1399
1417
  }, 8, ["disabled", "label"])], 6)) : d("", !0),
1400
- p(Z).length ? (i(), u(N, {
1418
+ p(Z).length ? (i(), u(I, {
1401
1419
  key: 1,
1402
- "force-visible": p(Ft),
1403
- "scroll-y": p(ze)?.scrollY ?? 0
1420
+ "force-visible": p(Bt),
1421
+ "scroll-y": p(Ue)?.scrollY ?? 0
1404
1422
  }, {
1405
- default: h(() => [p(Ft) ? (i(), v(b, { key: 1 }, [
1406
- k(j, {
1423
+ default: h(() => [p(Bt) ? (i(), v(b, { key: 1 }, [
1424
+ k(P, {
1407
1425
  grouped: "",
1408
1426
  "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
1409
1427
  "button-props": { severity: "secondary" },
1410
- icon: p(Ue),
1428
+ icon: p(Ke),
1411
1429
  "icon-props": {
1412
1430
  width: "100%",
1413
1431
  height: "100%"
1414
1432
  },
1415
- onClick: p(Bt)
1433
+ onClick: p(Gt)
1416
1434
  }, null, 8, [
1417
1435
  "tooltip-props",
1418
1436
  "icon",
1419
1437
  "onClick"
1420
1438
  ]),
1421
- k(j, {
1439
+ k(P, {
1422
1440
  grouped: "",
1423
- "tooltip-props": { value: p(Lt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1424
- "button-props": { severity: p(Lt) ? "primary" : "secondary" },
1425
- icon: p(U),
1441
+ "tooltip-props": { value: p(Ht) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1442
+ "button-props": { severity: p(Ht) ? "primary" : "secondary" },
1443
+ icon: p(oe),
1426
1444
  "icon-props": {
1427
1445
  width: "100%",
1428
1446
  height: "100%"
1429
1447
  },
1430
- onClick: p(Vt)
1448
+ onClick: p(qt)
1431
1449
  }, null, 8, [
1432
1450
  "tooltip-props",
1433
1451
  "button-props",
1434
1452
  "icon",
1435
1453
  "onClick"
1436
1454
  ]),
1437
- k(j, {
1455
+ k(P, {
1438
1456
  grouped: "",
1439
1457
  "tooltip-props": { value: e.$t("components.form.tooltip.delete_selected") },
1440
1458
  "button-props": {
1441
1459
  severity: "danger",
1442
- disabled: !p(It).size || p(Rt)
1460
+ disabled: !p(Vt).size || p(Ut)
1443
1461
  },
1444
- icon: p(se),
1462
+ icon: p(ae),
1445
1463
  "icon-props": {
1446
1464
  width: "100%",
1447
1465
  height: "100%"
1448
1466
  },
1449
- onClick: Ut
1467
+ onClick: Yt
1450
1468
  }, null, 8, [
1451
1469
  "tooltip-props",
1452
1470
  "button-props",
1453
1471
  "icon"
1454
1472
  ])
1455
- ], 64)) : (i(), v(b, { key: 0 }, [p(Nt) && p($).length ? (i(), u(j, {
1473
+ ], 64)) : (i(), v(b, { key: 0 }, [p(Rt) && p($).length ? (i(), u(P, {
1456
1474
  key: 0,
1457
1475
  grouped: "",
1458
1476
  "tooltip-props": { value: e.$t("views.recordings.select") },
1459
1477
  "button-props": { severity: "secondary" },
1460
- icon: p(I),
1478
+ icon: p(F),
1461
1479
  "icon-props": {
1462
1480
  width: "100%",
1463
1481
  height: "100%"
1464
1482
  },
1465
- onClick: p(zt)
1483
+ onClick: p(Wt)
1466
1484
  }, null, 8, [
1467
1485
  "tooltip-props",
1468
1486
  "icon",
1469
1487
  "onClick"
1470
- ])) : d("", !0), k(j, {
1488
+ ])) : d("", !0), k(P, {
1471
1489
  grouped: "",
1472
1490
  "tooltip-props": { value: e.$t("views.recordings.export.title") },
1473
1491
  "button-props": { class: "text-white" },
1474
- icon: p(ve),
1492
+ icon: p(De),
1475
1493
  "icon-props": {
1476
1494
  width: "26px",
1477
1495
  height: "26px"
1478
1496
  },
1479
- onClick: qt
1497
+ onClick: Qt
1480
1498
  }, null, 8, ["tooltip-props", "icon"])], 64))]),
1481
1499
  _: 1
1482
1500
  }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1483
- k(L, {
1501
+ k(ne, {
1484
1502
  ref_key: "viewMenuRef",
1485
- ref: Ve,
1486
- items: p(Wt),
1503
+ ref: We,
1504
+ items: p(Xt),
1487
1505
  "auto-hide": !1,
1488
1506
  popover: { pt: {
1489
1507
  root: { class: "w-[22rem]" },
@@ -1495,4 +1513,4 @@ var Zt = l({
1495
1513
  }
1496
1514
  });
1497
1515
  //#endregion
1498
- export { $n as default };
1516
+ export { er as default };