@camera.ui/server 2.1.15 → 2.1.16

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 (403) hide show
  1. package/dist/interface/assets/{404-DwgMdXqW.js → 404-CqZDSHs_.js} +1 -1
  2. package/dist/interface/assets/{About-REFUgZk_.js → About-Dk4SUTxo.js} +1 -1
  3. package/dist/interface/assets/Automation-CDvt2MXN.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DDywNuRK.js +2 -0
  5. package/dist/interface/assets/AutomationStore-o0JYwGRr.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-DeAGahaF.js +2 -0
  7. package/dist/interface/assets/Automations-2K-7hZfK.js +2 -0
  8. package/dist/interface/assets/Camera-B72IU-UF.js +2 -0
  9. package/dist/interface/assets/Camera-Cm9I0H6c.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S61HjIGA.js → CameraConsole-32WtMX1a.js} +1 -1
  11. package/dist/interface/assets/{Cameras-57rPP3Y_.js → Cameras-zffI0fD9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-KzzN0Q1w.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CBSLHn_I.js → CertificateUpload-Dg0V9Hei.js} +1 -1
  15. package/dist/interface/assets/Config-CKrqFe-g.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-B7KwK7vb.js → ConfigActionCameraControl-sbvBJQr3.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DwTGfeP4.js → ConfigActionDelay-CiPxydTn.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-idm-FKXM.js → ConfigActionHttp-UqiZm0kq.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-C-v-_UEM.js → ConfigActionImageInput-DkGVZ-ti.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-CG1o9_6A.js → ConfigActionMqtt-DQu5H4bY.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-DtoP3c7I.js → ConfigActionNotification-C2uXIMpm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BvHIqHE7.js → ConfigActionNotificationControl-B_EpM5m9.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BQvDZGKV.js → ConfigActionOutput-DeOsk0T1.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C7mcZ0Kz.js → ConfigActionPlugin-CSZHcNQ6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BFnb75FI.js → ConfigActionSensor-Dx7DcDVr.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BfzPScY6.js → ConfigActionSnapshot-Baj-r4Cd.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-CjIeZnOV.js → ConfigActionVariable-Ccu___aS.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Dgcqs9QP.js → ConfigConditionIfElse-0hU7UW8q.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DtLt1AvW.js → ConfigConditionSensorState-BX19KYLJ.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-C6BfIozf.js → ConfigConditionSwitch-D-XUhwcE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-NcjSe4RM.js → ConfigConditionTime-B6OO8cmh.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DuvBl4YL.js → ConfigSensorValueInput-DZHYQez8.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsVb-Svo.js → ConfigTriggerDetection-BNyR5aOG.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Cuq1SnOZ.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-vG37zALd.js → ConfigTriggerManual-DFSTAuUt.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BPl_Puje.js → ConfigTriggerMqtt-D_O8RyrQ.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-Bn2drGV5.js → ConfigTriggerSchedule-BFZnBfCM.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DP0CXRLo.js → ConfigTriggerSensor-D1Tst2wQ.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DQikAjbB.js → ConfigTriggerSystem-BNfatCp8.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Cl7KWuRQ.js → ConfigTriggerWebhook--nEO_Odl.js} +1 -1
  41. package/dist/interface/assets/{Console-hUeddOJc.js → Console-DkylrXI4.js} +1 -1
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-D_rNvqan.js → CuiAutomationRunsDialog-CkMRT1C8.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-DILQuWKb.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-mKu68LHd.js +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-Djp8qBvZ.js +1 -0
  47. package/dist/interface/assets/CuiCameraRecordings-Bi0I7jeO.js +1 -0
  48. package/dist/interface/assets/CuiCameraShares-B73pWIFh.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-CUdAnRJP.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CfXoLbtY.js → CuiCameraTable-DripFD6D.js} +1 -1
  51. package/dist/interface/assets/{CuiChartTable-BWRwoTLX.js → CuiChartTable-DyyQV7mt.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-Cb3wDLZr.js → CuiConsole-UxJwQqNG.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-aAZV_F3r.js → CuiDataTable-DZm0I8k7.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-CB3l0ZLj.js +1 -0
  55. package/dist/interface/assets/{CuiList-BZYxCLqz.js → CuiList-DMQgYqaU.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-HpQMNND1.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-C9trJ_ql.js → CuiPluginCategoryChip-C6aEP-ug.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-DpGacvsa.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-D5gkIhJv.js → CuiPluginTrustBadge-Dl1PEsm6.js} +1 -1
  60. package/dist/interface/assets/CuiQRCode-D04Onyhk.js +1 -0
  61. package/dist/interface/assets/CuiRecordingsGrid-BhATIjIf.css +1 -0
  62. package/dist/interface/assets/CuiRecordingsGrid-BzyJWpFt.js +1 -0
  63. package/dist/interface/assets/CuiSchema-thjfmEWw.js +1 -0
  64. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  65. package/dist/interface/assets/CuiTopNavbarItem-qPj6XwXr.js +1 -0
  66. package/dist/interface/assets/Faces-DRWIPDfH.js +1 -0
  67. package/dist/interface/assets/FirstSteps-C6GVpZVr.js +1 -0
  68. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  69. package/dist/interface/assets/Floorplan-Q-UYDnrE.js +1 -0
  70. package/dist/interface/assets/Instances-VC4-anOF.js +1 -0
  71. package/dist/interface/assets/{Logs-CfYTWOv2.js → Logs-DROgZxLH.js} +2 -2
  72. package/dist/interface/assets/{Menu-HzmLhy40.js → Menu-CmTk2or7.js} +1 -1
  73. package/dist/interface/assets/Metrics-CYZF-em9.js +9 -0
  74. package/dist/interface/assets/{OAuthDeviceFlow-DBac627V.js → OAuthDeviceFlow-BrdiDoCh.js} +1 -1
  75. package/dist/interface/assets/Plugin-DuPHiiYJ.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-C5dZgdl9.js → PluginConsole-CxiW1w6K.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-DWP7_hNa.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-DJ8NY8hW.js → PluginSchema-BgVZ_4if.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-1djFQUjL.js +1 -0
  80. package/dist/interface/assets/PluginSearch-Ba-hQHxm.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-DgqaTwSS.js → PluginUpdateProgress-DEcle8-x.js} +1 -1
  82. package/dist/interface/assets/Plugins-BZ3U4pcG.js +1 -0
  83. package/dist/interface/assets/Recordings-CI5MIFR-.js +1 -0
  84. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  85. package/dist/interface/assets/{SensorEdit-DF4sw0EW.js → SensorEdit-B6s-VZ3F.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-bCcPH0_I.js → SensorHistory-H03yZia0.js} +1 -1
  87. package/dist/interface/assets/Sensors-DDPUwbb-.js +2 -0
  88. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DzGV2Ngo.css} +1 -1
  89. package/dist/interface/assets/Settings-9nC18KH8.js +1 -0
  90. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  91. package/dist/interface/assets/SettingsAccount-BTYvhCJP.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-CKi0z3Bm.js +1 -0
  93. package/dist/interface/assets/SettingsAppearance-CDbQnSvl.js +1 -0
  94. package/dist/interface/assets/{SettingsAppearance-B59zzxu4.js → SettingsAppearance-D9Y28zzz.js} +1 -1
  95. package/dist/interface/assets/SettingsBackup-Bu48xw4v.js +1 -0
  96. package/dist/interface/assets/{SettingsList-Nc7OCZrn.js → SettingsList-74c5OMQf.js} +1 -1
  97. package/dist/interface/assets/SettingsMqtt-81rJ4zV6.js +1 -0
  98. package/dist/interface/assets/{SettingsNotifications-BH63oRsc.js → SettingsNotifications-xHV5KiZg.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-BZXAgxUl.js → SettingsPermissions-DqyVtVKE.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-Biyy3rTF.js → SettingsRecordings-Bxn28Frz.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-7h2dKJlF.js +2 -0
  102. package/dist/interface/assets/SettingsSystem-D-MLhCdN.js +2 -0
  103. package/dist/interface/assets/SettingsUsers-DUOJN7uO.js +1 -0
  104. package/dist/interface/assets/{Terminal-AsI0lb5n.js → Terminal-45QW5yPE.js} +2 -2
  105. package/dist/interface/assets/Training-B5SzDUAC.css +1 -0
  106. package/dist/interface/assets/Training-DWrQVSS0.js +1 -0
  107. package/dist/interface/assets/Updates-B32Pra5E.js +2 -0
  108. package/dist/interface/assets/{VariableInput-__I-FsBF.js → VariableInput-CyTGQFtz.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-B-7auf15.js → VariableSuggestions-BLlD4F87.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-BTe1Ev3b.js → VersionsHandler-CIq6v6lE.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-DdLgJECI.js → VirtualSensorCreate-Di2IyYAg.js} +1 -1
  112. package/dist/interface/assets/Workers-tb039NGc.js +2 -0
  113. package/dist/interface/assets/{api-84bL4zpk.js → api-4JRK8ya0.js} +1 -1
  114. package/dist/interface/assets/api-CFf063x3.js +4 -0
  115. package/dist/interface/assets/api-eoOLTOnS.css +2 -0
  116. package/dist/interface/assets/{auth-F2wU_mtw.js → auth-ISkWvJbZ.js} +1 -1
  117. package/dist/interface/assets/{automations-D6fqhxhY.js → automations-CeH81DN-.js} +1 -1
  118. package/dist/interface/assets/{cameraSources-C3PFkewy.js → cameraSources-CgAEmb37.js} +1 -1
  119. package/dist/interface/assets/cloudHandoff-B_kCnm4R.js +1 -0
  120. package/dist/interface/assets/{config-Jzs6YXbB.js → config-DthCyQJv.js} +1 -1
  121. package/dist/interface/assets/{flowSchema-C1fWwuQa.js → flowSchema-DZ2bDhJt.js} +1 -1
  122. package/dist/interface/assets/{intercomService-fFto_C1t.js → intercomService-Bd71KwsB.js} +1 -1
  123. package/dist/interface/assets/main--lW4P3A4.js +3 -0
  124. package/dist/interface/assets/main-ExPfCNlz.css +1 -0
  125. package/dist/interface/assets/mqtt-oPORDio9.js +1 -0
  126. package/dist/interface/assets/{notifications-CIJEGR7A.js → notifications-BirFkpbF.js} +1 -1
  127. package/dist/interface/assets/{plugins-HYHSAzD-.js → plugins-vyA7MMhx.js} +1 -1
  128. package/dist/interface/assets/rooms-MfPQPywT.js +1 -0
  129. package/dist/interface/assets/{sensorIcons-ByPd6LR6.js → sensorIcons-B4H11BbT.js} +1 -1
  130. package/dist/interface/assets/{sensors-BgjfSfk6.js → sensors-xryx8Wvn.js} +1 -1
  131. package/dist/interface/assets/{server-CIDx_I6S.js → server-BK9gwxH8.js} +1 -1
  132. package/dist/interface/assets/{theme-GSy1mQOB.js → theme-DQeAzJ1v.js} +1 -1
  133. package/dist/interface/assets/{types-Do9v0d7I.js → types-Bcj_K26s.js} +1 -1
  134. package/dist/interface/assets/types-D626ASim.js +1 -0
  135. package/dist/interface/assets/{types-Dlk_iSoE.js → types-kN1Tn2Og.js} +1 -1
  136. package/dist/interface/assets/ungrouped-C6pQb0X4.css +1 -0
  137. package/dist/interface/assets/ungrouped-C_gJm6d7.js +1 -0
  138. package/dist/interface/assets/{updates-73Yq11IN.js → updates-Dzqxen12.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-B0_bYa9V.js → useAppVersion-JY7cdzlr.js} +1 -1
  140. package/dist/interface/assets/useBackupRestore-CeShFVWy.js +1 -0
  141. package/dist/interface/assets/{useCameraOptions-DKeZhfOM.js → useCameraOptions-BeUNT5Rz.js} +1 -1
  142. package/dist/interface/assets/{useLogsSocket-CmyTTUGN.js → useLogsSocket-DDSuX00j.js} +1 -1
  143. package/dist/interface/assets/{useNavLayout-DOFS3269.js → useNavLayout-DgAgRNq2.js} +1 -1
  144. package/dist/interface/assets/{usePermissions-D5I3gACT.js → usePermissions-DFzwIs8L.js} +1 -1
  145. package/dist/interface/assets/{usePluginUpdates-BWxJ04h7.js → usePluginUpdates-Bb-LOOyL.js} +1 -1
  146. package/dist/interface/assets/{usePushRegistration-DWreQ-Hn.js → usePushRegistration-iverdyzz.js} +1 -1
  147. package/dist/interface/assets/{useServerRestart-DDW-nw_t.js → useServerRestart-BchofDLe.js} +1 -1
  148. package/dist/interface/assets/{useStreamStatus-COIha2d8.js → useStreamStatus-BOJt1v1c.js} +1 -1
  149. package/dist/interface/assets/{useTabSwipe-aoMqro29.js → useTabSwipe-v0Yet-YZ.js} +1 -1
  150. package/dist/interface/assets/{useUpdateChannel-CM9MYCZy.js → useUpdateChannel-K9ADk5yx.js} +1 -1
  151. package/dist/interface/assets/{useUpdatesSocket-DY4i32ml.js → useUpdatesSocket-sj1-DmFM.js} +1 -1
  152. package/dist/interface/assets/{useUserOptions-DHfprGgA.js → useUserOptions-BnF_qBdZ.js} +1 -1
  153. package/dist/interface/assets/{vendor-cameraui-BRv7o4zz.js → vendor-cameraui-BPX4wReW.js} +1 -1
  154. package/dist/interface/assets/{vendor-core-BUse5adB.js → vendor-core-D0ANiY7g.js} +1 -1
  155. package/dist/interface/assets/{vendor-primevue-C85v-zl5.js → vendor-primevue-iEFYdXsu.js} +1 -1
  156. package/dist/interface/ha/{404-TwTUCqDv.js → 404-DlQnv9jN.js} +1 -1
  157. package/dist/interface/ha/{About-BeZkyUdW.js → About-BLQJmllv.js} +6 -6
  158. package/dist/interface/ha/{Automation-CL7j0Vgh.js → Automation-DLMPArOd.js} +184 -184
  159. package/dist/interface/ha/{AutomationImport-D7arOHP-.js → AutomationImport-Qzz3Ta4D.js} +6 -6
  160. package/dist/interface/ha/{AutomationStore-DN0yBk6X.js → AutomationStore-DNXC9s6h.js} +51 -51
  161. package/dist/interface/ha/{AutomationStoreDetail-DUuLEnvx.js → AutomationStoreDetail-CTqydRKj.js} +24 -24
  162. package/dist/interface/ha/{Automations-Dfbren5V.js → Automations-DRxe1fli.js} +102 -102
  163. package/dist/interface/ha/{Camera-BxWpvZM8.js → Camera-OrI4Wf4F.js} +180 -180
  164. package/dist/interface/ha/{CameraConsole-DT7BFGXD.js → CameraConsole-6yGhoHmu.js} +4 -4
  165. package/dist/interface/ha/{Cameras-ClmwBeNf.js → Cameras-DpEaKKDG.js} +253 -253
  166. package/dist/interface/ha/{Camview-CFAKNI6-.js → Camview-CnPz4cGs.js} +128 -128
  167. package/dist/interface/ha/{Config-D83QNz1P.js → Config-Bb2ERyAA.js} +11 -11
  168. package/dist/interface/ha/{ConfigActionCameraControl-D-2_gkM-.js → ConfigActionCameraControl-CC2tWFz2.js} +3 -3
  169. package/dist/interface/ha/{ConfigActionHttp-CDmzaJOb.js → ConfigActionHttp-DBsEL44i.js} +2 -2
  170. package/dist/interface/ha/{ConfigActionImageInput-7mA-jNIj.js → ConfigActionImageInput-Rt3AOJ3I.js} +1 -1
  171. package/dist/interface/ha/{ConfigActionMqtt-CGLqAswk.js → ConfigActionMqtt-BYSSc954.js} +4 -4
  172. package/dist/interface/ha/{ConfigActionNotification-DyhLsVfe.js → ConfigActionNotification-DKlIsZJd.js} +3 -3
  173. package/dist/interface/ha/{ConfigActionNotificationControl-C381uizv.js → ConfigActionNotificationControl-D5AVW2tR.js} +2 -2
  174. package/dist/interface/ha/{ConfigActionOutput-Cg6IMq5u.js → ConfigActionOutput-DIlu8Ujc.js} +1 -1
  175. package/dist/interface/ha/{ConfigActionPlugin-vFD_OHt8.js → ConfigActionPlugin-o1YNBh-g.js} +4 -4
  176. package/dist/interface/ha/{ConfigActionSensor-B0JYbb-_.js → ConfigActionSensor-BEvwg0tf.js} +5 -5
  177. package/dist/interface/ha/{ConfigActionSnapshot-DlYRwdII.js → ConfigActionSnapshot-Bnw0JNNj.js} +2 -2
  178. package/dist/interface/ha/{ConfigActionVariable-6HNVpSjs.js → ConfigActionVariable-oGPagsvF.js} +1 -1
  179. package/dist/interface/ha/{ConfigConditionIfElse-b5UhYSf4.js → ConfigConditionIfElse-7LCDNDvS.js} +3 -3
  180. package/dist/interface/ha/{ConfigConditionSensorState-CI1CS9qa.js → ConfigConditionSensorState-nO-s7wi6.js} +4 -4
  181. package/dist/interface/ha/{ConfigConditionSwitch-DGoKb_ZM.js → ConfigConditionSwitch-GrIKkY-P.js} +4 -4
  182. package/dist/interface/ha/{ConfigSensorValueInput-BGQytgns.js → ConfigSensorValueInput-Cthp3KXt.js} +7 -7
  183. package/dist/interface/ha/{ConfigTriggerDetection-l_h4kt0X.js → ConfigTriggerDetection-CJE9QFaK.js} +11 -11
  184. package/dist/interface/ha/{ConfigTriggerGeofence-Y2Od0L2_.js → ConfigTriggerGeofence-Cyeu7Cit.js} +5 -5
  185. package/dist/interface/ha/{ConfigTriggerMqtt-DttCVDHe.js → ConfigTriggerMqtt-D5EoOztE.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSensor-O4mWaXnJ.js → ConfigTriggerSensor-DYg_HRjO.js} +1 -1
  187. package/dist/interface/ha/{ConfigTriggerSystem-C_uWI6kc.js → ConfigTriggerSystem-DzpajiyS.js} +2 -2
  188. package/dist/interface/ha/{ConfigTriggerWebhook-CY5vDxZe.js → ConfigTriggerWebhook-IE4PVb4O.js} +2 -2
  189. package/dist/interface/ha/{Console-DdOU0_jE.js → Console-BYgny5Dy.js} +100 -100
  190. package/dist/interface/ha/{CuiAutomationRunsDialog-_WF5J4hV.js → CuiAutomationRunsDialog-CoYgpbW0.js} +2 -2
  191. package/dist/interface/ha/{CuiBottomSheet-Bzr2zhm3.js → CuiBottomSheet-C4cK3fYK.js} +3 -3
  192. package/dist/interface/ha/{CuiCameraRecordings-HqWrHpr-.js → CuiCameraRecordings-BAxchc71.js} +16 -15
  193. package/dist/interface/ha/{CuiCameraShares-Bw1RlqC-.js → CuiCameraShares-CfQr1iyX.js} +7 -7
  194. package/dist/interface/ha/{CuiCameraTable-DvIlmfmW.js → CuiCameraTable-B60mcEl_.js} +9 -9
  195. package/dist/interface/ha/{CuiChartTable-C6vRR9ny.js → CuiChartTable-CbUVz-Cj.js} +42 -42
  196. package/dist/interface/ha/{CuiConsole-B6fDJfvq.js → CuiConsole-DEjAQFwC.js} +19 -19
  197. package/dist/interface/ha/{CuiDataTable-BLL7vWD1.js → CuiDataTable-005ptLsa.js} +7 -7
  198. package/dist/interface/ha/{CuiPluginCard-CsJ-dlra.js → CuiPluginCard-BWwPLJ6m.js} +33 -33
  199. package/dist/interface/ha/CuiPluginOAuthButton-CgmDgRY9.js +79 -0
  200. package/dist/interface/ha/{CuiPluginTrustBadge-CQtfi3UI.js → CuiPluginTrustBadge-BWnP1whX.js} +3 -3
  201. package/dist/interface/ha/{CuiQRCode-DOj5PJo2.js → CuiQRCode-ONkk6Wqy.js} +6 -6
  202. package/dist/interface/ha/{ungrouped-aASsOUNF.js → CuiRecordingsGrid-D6HHyF1D.js} +81 -462
  203. package/dist/interface/ha/{CuiSchema-Dg43r2Vo.js → CuiSchema-C3uI1GwG.js} +138 -138
  204. package/dist/interface/ha/{CuiTopNavbarItem-CMu_hCIP.js → CuiTopNavbarItem-Bhws0XkE.js} +3 -3
  205. package/dist/interface/ha/{Faces-Ed0ytbse.js → Faces-DuxYlZGd.js} +79 -79
  206. package/dist/interface/ha/{FirstSteps-Dkw2Enre.js → FirstSteps-BAlqShSK.js} +64 -64
  207. package/dist/interface/ha/{Floorplan-IdC1tgDr.js → Floorplan-BVwSNFd6.js} +332 -332
  208. package/dist/interface/ha/{Instances-dvDlInn-.js → Instances-BM9sRNSP.js} +73 -73
  209. package/dist/interface/ha/{Logs-rUL_mLTJ.js → Logs-KISz4BU-.js} +11 -11
  210. package/dist/interface/ha/{Menu-CfMgYCN9.js → Menu-DYI6PeIn.js} +19 -19
  211. package/dist/interface/ha/{Metrics-DYNvEdb-.js → Metrics-BjpKFunA.js} +101 -101
  212. package/dist/interface/ha/{OAuthDeviceFlow-vgBWOkzP.js → OAuthDeviceFlow-DG-KUGZj.js} +4 -4
  213. package/dist/interface/ha/{Plugin-PqUW_696.js → Plugin-BjWyUUhe.js} +103 -103
  214. package/dist/interface/ha/{PluginConsole-CFJKNhQw.js → PluginConsole-BK3cotea.js} +6 -6
  215. package/dist/interface/ha/{PluginDetail-cC8nut35.js → PluginDetail-BDzDeShX.js} +13 -13
  216. package/dist/interface/ha/{PluginSearch-BzSs0ibh.js → PluginSearch-DsFUuPC-.js} +54 -54
  217. package/dist/interface/ha/{PluginUpdateProgress-CtM7lrl9.js → PluginUpdateProgress-BMrdkjRq.js} +3 -3
  218. package/dist/interface/ha/{Plugins-CzvlXEaH.js → Plugins-3WPnsHXw.js} +27 -27
  219. package/dist/interface/ha/{Recordings-BtsW8I5D.js → Recordings-0wDF4ArK.js} +153 -134
  220. package/dist/interface/ha/{SensorEdit-DMwyTDIG.js → SensorEdit-B0L2zIha.js} +359 -359
  221. package/dist/interface/ha/{SensorHistory-DoJhFbTC.js → SensorHistory-CQJEY1sW.js} +2 -2
  222. package/dist/interface/ha/{Sensors-BoRfutfx.js → Sensors-BYdBTCLo.js} +251 -251
  223. package/dist/interface/ha/{Settings-vmfs1rfj.js → Settings-BaqGiBCa.js} +24 -24
  224. package/dist/interface/ha/SettingsAccount-B0Sth0EF.js +970 -0
  225. package/dist/interface/ha/{SettingsAppearance-v9zeetcx.js → SettingsAppearance-B_oylmTa.js} +14 -14
  226. package/dist/interface/ha/{SettingsBackup-eO4r8MZe.js → SettingsBackup-BLmoV5AW.js} +8 -8
  227. package/dist/interface/ha/{SettingsList-burOi4S6.js → SettingsList-CMX7wMye.js} +5 -5
  228. package/dist/interface/ha/{SettingsMqtt-CjZERKR8.js → SettingsMqtt-C-sGwxOZ.js} +148 -148
  229. package/dist/interface/ha/SettingsNotifications-tc9FCCUF.js +529 -0
  230. package/dist/interface/ha/{SettingsRecordings-DzsXkzeu.js → SettingsRecordings-DDs16z2A.js} +6 -6
  231. package/dist/interface/ha/{SettingsRemote-B0HZwZj3.js → SettingsRemote-0c0umjFJ.js} +355 -355
  232. package/dist/interface/ha/{SettingsSystem-Bc_c8XYh.js → SettingsSystem-DfXxWXQk.js} +10 -10
  233. package/dist/interface/ha/{SettingsUsers-CxL65q1C.js → SettingsUsers-CmjC0zsF.js} +42 -42
  234. package/dist/interface/ha/{Terminal-DsX-_5R2.js → Terminal-nbUX6PPZ.js} +76 -76
  235. package/dist/interface/ha/Training-GMcD4Qg9.js +1440 -0
  236. package/dist/interface/ha/{Updates-DG9i-tQu.js → Updates-UaxBGn6D.js} +14 -14
  237. package/dist/interface/ha/{VariableInput-CcevSEwK.js → VariableInput-0bF2H1Bm.js} +1 -1
  238. package/dist/interface/ha/{VersionsHandler-5GeFt6Lw.js → VersionsHandler-CnXVnfBl.js} +10 -10
  239. package/dist/interface/ha/{VirtualSensorCreate-dWN8FANX.js → VirtualSensorCreate-BE60rAkJ.js} +7 -7
  240. package/dist/interface/ha/{Workers-D1y6eFKT.js → Workers-CaX3Z3w-.js} +104 -104
  241. package/dist/interface/ha/{api-DDUXI4DG.js → api-CmcbBFTx.js} +9738 -9383
  242. package/dist/interface/ha/{api-BgQ9AVgK.js → api-S-NnjUWl.js} +4 -4
  243. package/dist/interface/ha/{auth-C8Vp1TkJ.js → auth-CqYE7s1-.js} +24 -24
  244. package/dist/interface/ha/{automationBlueprint-DhRjWL2p.js → automationBlueprint-Dmp54JD1.js} +2 -2
  245. package/dist/interface/ha/cameraui-cards.js +1 -1
  246. package/dist/interface/ha/{cards-BGikU5nh.js → cards-MnCBmBIR.js} +121 -121
  247. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  248. package/dist/interface/ha/{config-WqhFqx8D.js → config-C94KN4WM.js} +15 -15
  249. package/dist/interface/ha/{mqtt-CQopAljB.js → mqtt-HDLqlOJt.js} +15 -15
  250. package/dist/interface/ha/{notifications-C4IU7Zbu.js → notifications-C2_2_NRh.js} +22 -22
  251. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DLNUke3Q.js} +172 -149
  252. package/dist/interface/ha/{plugins-C2n0mAnr.js → plugins-l2i4DgqO.js} +68 -68
  253. package/dist/interface/ha/{rooms-qqdOrA2J.js → rooms-Bp1ZVAzT.js} +11 -11
  254. package/dist/interface/ha/{server-D6Yglz-z.js → server-BsduJDAB.js} +32 -32
  255. package/dist/interface/ha/{types-BtcJ7st-.js → types-iZUCCt1P.js} +30 -30
  256. package/dist/interface/ha/ungrouped-wz-KNJpA.js +426 -0
  257. package/dist/interface/ha/{updates-BuAFU-ZQ.js → updates-CDsPvhpo.js} +36 -36
  258. package/dist/interface/ha/{useAppVersion-D0EOwpoO.js → useAppVersion-BJtSGn4X.js} +1 -1
  259. package/dist/interface/ha/{useLogsSocket-CCewWMZM.js → useLogsSocket-Ck-ZQpQD.js} +1 -1
  260. package/dist/interface/ha/{useNavLayout-B_QzdVtJ.js → useNavLayout-Bn6HYs-i.js} +19 -19
  261. package/dist/interface/ha/{useServerRestart-B0OMNlwZ.js → useServerRestart-fff_KK9Y.js} +1 -1
  262. package/dist/interface/ha/{useTabSwipe-DG6Gx2Md.js → useTabSwipe-B1CQZuyT.js} +1 -1
  263. package/dist/interface/ha/{useUpdateChannel-CXDGlWX2.js → useUpdateChannel-DUBmGEDe.js} +2 -2
  264. package/dist/interface/ha/{useUpdatesSocket-BgCJLp_W.js → useUpdatesSocket-DoLb2kcJ.js} +1 -1
  265. package/dist/interface/ha/{useUserOptions-rirRksyl.js → useUserOptions-D0kNSHFH.js} +1 -1
  266. package/dist/interface/index.html +27 -27
  267. package/dist/interface/sw.js +1 -1
  268. package/dist/server/package.json +8 -8
  269. package/dist/server/src/api/controllers/training.controller.d.ts +38 -0
  270. package/dist/server/src/api/controllers/training.controller.js +97 -0
  271. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  272. package/dist/server/src/api/database/constants.d.ts +1 -0
  273. package/dist/server/src/api/database/constants.js +1 -0
  274. package/dist/server/src/api/database/constants.js.map +1 -1
  275. package/dist/server/src/api/database/index.d.ts +3 -2
  276. package/dist/server/src/api/database/index.js +4 -2
  277. package/dist/server/src/api/database/index.js.map +1 -1
  278. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  280. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  281. package/dist/server/src/api/database/record-schemas.d.ts +6 -1
  282. package/dist/server/src/api/database/record-schemas.js +7 -0
  283. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  284. package/dist/server/src/api/database/types.d.ts +27 -0
  285. package/dist/server/src/api/index.js +1 -1
  286. package/dist/server/src/api/index.js.map +1 -1
  287. package/dist/server/src/api/render-index.js +1 -1
  288. package/dist/server/src/api/render-index.js.map +1 -1
  289. package/dist/server/src/api/routes/index.js +2 -0
  290. package/dist/server/src/api/routes/index.js.map +1 -1
  291. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  292. package/dist/server/src/api/routes/training.routes.js +106 -0
  293. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  294. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  295. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  296. package/dist/server/src/api/schemas/training.schema.d.ts +42 -0
  297. package/dist/server/src/api/schemas/training.schema.js +42 -0
  298. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  299. package/dist/server/src/api/services/cameras.service.js +7 -2
  300. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  301. package/dist/server/src/api/websocket/index.js +3 -1
  302. package/dist/server/src/api/websocket/index.js.map +1 -1
  303. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  304. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  305. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  306. package/dist/server/src/api/websocket/types.d.ts +1 -1
  307. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  308. package/dist/server/src/camera/decoder/detection-coordinator.js +31 -1
  309. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  310. package/dist/server/src/camera/decoder/event-manager.d.ts +6 -0
  311. package/dist/server/src/camera/decoder/event-manager.js +43 -1
  312. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  313. package/dist/server/src/camera/decoder/training-sink.d.ts +26 -0
  314. package/dist/server/src/camera/decoder/training-sink.js +131 -0
  315. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  316. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  317. package/dist/server/src/camera/decoder/types.js +12 -0
  318. package/dist/server/src/camera/decoder/types.js.map +1 -1
  319. package/dist/server/src/manager/coreManager.d.ts +3 -1
  320. package/dist/server/src/manager/coreManager.js +18 -0
  321. package/dist/server/src/manager/coreManager.js.map +1 -1
  322. package/dist/server/src/manager/trainingCandidateManager.d.ts +42 -0
  323. package/dist/server/src/manager/trainingCandidateManager.js +250 -0
  324. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  325. package/dist/server/src/manager/types.d.ts +18 -0
  326. package/dist/server/src/manager/types.js.map +1 -1
  327. package/dist/server/src/remote/api/index.d.ts +2 -0
  328. package/dist/server/src/remote/api/index.js +3 -0
  329. package/dist/server/src/remote/api/index.js.map +1 -1
  330. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  331. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  332. package/dist/server/src/remote/api/routes/train.d.ts +19 -0
  333. package/dist/server/src/remote/api/routes/train.js +47 -0
  334. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  335. package/dist/server/src/rpc/index.d.ts +2 -0
  336. package/dist/server/src/rpc/index.js +5 -0
  337. package/dist/server/src/rpc/index.js.map +1 -1
  338. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  339. package/dist/server/src/rpc/server.js +2 -0
  340. package/dist/server/src/rpc/server.js.map +1 -1
  341. package/package.json +8 -8
  342. package/dist/interface/assets/Automation-DThD-djr.js +0 -3
  343. package/dist/interface/assets/AutomationImport-CHKkZqA4.js +0 -2
  344. package/dist/interface/assets/AutomationStore-Aon4kqZU.js +0 -2
  345. package/dist/interface/assets/AutomationStoreDetail-CfZ45tLW.js +0 -2
  346. package/dist/interface/assets/Automations-BkRuMd-d.js +0 -2
  347. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  348. package/dist/interface/assets/Camera-G6xTnRAk.js +0 -2
  349. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  350. package/dist/interface/assets/Camview-BjCuw7nI.js +0 -1
  351. package/dist/interface/assets/Config-BTXb1LHN.js +0 -2
  352. package/dist/interface/assets/ConfigTriggerGeofence-DLuNWaN6.js +0 -1
  353. package/dist/interface/assets/CuiBottomSheet-BGVpKjqe.js +0 -1
  354. package/dist/interface/assets/CuiBottomSheet-DOW6gNj0.js +0 -1
  355. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  356. package/dist/interface/assets/CuiCameraPipCard-BBMkU-eN.js +0 -1
  357. package/dist/interface/assets/CuiCameraRecordings-h6Yel4J4.js +0 -1
  358. package/dist/interface/assets/CuiCameraShares-C9Th3jEn.js +0 -1
  359. package/dist/interface/assets/CuiCameraTable-Cti7FZma.js +0 -1
  360. package/dist/interface/assets/CuiLightControl-BhBIiPv-.js +0 -1
  361. package/dist/interface/assets/CuiPluginCard-yYGvVtDJ.js +0 -2
  362. package/dist/interface/assets/CuiPluginOAuthButton-C8VRPoMj.js +0 -2
  363. package/dist/interface/assets/CuiQRCode-DY5Q-Xel.js +0 -1
  364. package/dist/interface/assets/CuiSchema-Dy2eRCu2.js +0 -1
  365. package/dist/interface/assets/CuiTopNavbarItem-Btig8IUi.js +0 -1
  366. package/dist/interface/assets/Faces-D5PMl5Bx.js +0 -1
  367. package/dist/interface/assets/FirstSteps-BcjeaLz_.js +0 -1
  368. package/dist/interface/assets/Floorplan-DHl3zibU.js +0 -1
  369. package/dist/interface/assets/Instances-DXksjsQR.js +0 -1
  370. package/dist/interface/assets/Metrics-BWTImHsV.js +0 -9
  371. package/dist/interface/assets/Plugin-D5WuhMPO.js +0 -1
  372. package/dist/interface/assets/PluginDetail-3qrahg0_.js +0 -2
  373. package/dist/interface/assets/PluginSearch-D8zmSpkN.js +0 -2
  374. package/dist/interface/assets/PluginSearch-D_ba5x-O.js +0 -1
  375. package/dist/interface/assets/Plugins-5MzJrkSA.js +0 -1
  376. package/dist/interface/assets/Recordings-BuGuUwYE.js +0 -1
  377. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  378. package/dist/interface/assets/Sensors-D6GwAXQ2.js +0 -2
  379. package/dist/interface/assets/Settings-BZf-ziEZ.js +0 -1
  380. package/dist/interface/assets/SettingsAccount--5p79E6E.js +0 -1
  381. package/dist/interface/assets/SettingsAccount-Dlc0Wddo.js +0 -1
  382. package/dist/interface/assets/SettingsAppearance-xPKxmDpp.js +0 -1
  383. package/dist/interface/assets/SettingsBackup-CJJ5VBzp.js +0 -1
  384. package/dist/interface/assets/SettingsMqtt-DUUAcYuG.js +0 -1
  385. package/dist/interface/assets/SettingsRemote-Dbaxaq5H.js +0 -2
  386. package/dist/interface/assets/SettingsSystem-DzHIleOc.js +0 -2
  387. package/dist/interface/assets/SettingsUsers-D5YuEr7c.js +0 -1
  388. package/dist/interface/assets/Updates-DnAut-3U.js +0 -2
  389. package/dist/interface/assets/Workers-6aoL2zvF.js +0 -2
  390. package/dist/interface/assets/api-BI5TkcMD.js +0 -4
  391. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  392. package/dist/interface/assets/cloudHandoff-B1HA65AZ.js +0 -1
  393. package/dist/interface/assets/main-C6AqiNZK.js +0 -3
  394. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  395. package/dist/interface/assets/mqtt-DGNlVikj.js +0 -1
  396. package/dist/interface/assets/rooms-DL_uUrGc.js +0 -1
  397. package/dist/interface/assets/types-QIK1kdY6.js +0 -1
  398. package/dist/interface/assets/ungrouped-CupkuPIQ.js +0 -1
  399. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  400. package/dist/interface/assets/useBackupRestore-jdHT_hab.js +0 -1
  401. package/dist/interface/ha/CuiPluginOAuthButton-ChNW42ux.js +0 -105
  402. package/dist/interface/ha/SettingsAccount-xJy6kGf6.js +0 -970
  403. package/dist/interface/ha/SettingsNotifications-QCKfSffa.js +0 -529
@@ -2,7 +2,7 @@ import { D as e, G as t, H as n, Jt as r, U as i, Wt as a, Y as o, _t as s, d as
2
2
  import { t as A } from "./tooltip-BIrD_hC8.js";
3
3
  import { t as j } from "./message-C8U_kMBA.js";
4
4
  import { t as M } from "./tag-CXgC9OZ6.js";
5
- import { $n as N, B as ee, Dn as P, Dr as F, Er as te, G as I, Gn as L, Hr as R, In as ne, Kn as re, L as z, Nn as B, Q as ie, Qn as ae, R as oe, Tr as V, W as se, Xn as H, Z as ce, ar as le, dr as ue, er as U, et as W, gi as de, hn as fe, hr as pe, m as me, mr as he, ot as ge, pi as _e, pt as ve, q as ye, qt as be, tr as G, vr as K, wr as xe, yr as Se, z as Ce } from "./api-DDUXI4DG.js";
5
+ import { Ar as N, B as ee, Cr as P, G as F, J as te, Jn as I, K as L, Mn as R, Mr as ne, Qn as z, Qt as re, R as B, Si as ie, V as ae, Xn as V, _t as H, ar as U, bn as oe, br as se, et as ce, gr as le, h as W, ir as ue, it as de, jr as fe, kr as pe, nr as me, or as G, qr as he, rr as ge, tt as _e, ur as ve, ut as ye, wr as K, yi as be, yr as xe, z as Se, zn as Ce } from "./api-CmcbBFTx.js";
6
6
  import { F as we, M as Te, z as Ee } from "./protocol-BB4jdtUC-K1r3LFCq.js";
7
7
  import { h as De, u as Oe } from "./intercomService-jB2mTgsn.js";
8
8
  import { n as ke } from "./vue-i18n-Dcb07o5U.js";
@@ -17,8 +17,9 @@ import { t as Y } from "./multiselect-BbgV_fPx.js";
17
17
  import { t as ze } from "./textarea-DvLkfUX7.js";
18
18
  import { i as Be, n as Ve, t as He } from "./eventLabels-B4C1_4vT.js";
19
19
  import { t as Ue } from "./ring-resize-VS4MSeBv.js";
20
- import { i as We, n as Ge, r as Ke, t as qe } from "./ungrouped-aASsOUNF.js";
21
- import { t as Je } from "./utils-DYtBrGDz.js";
20
+ import { n as We, r as Ge, t as Ke } from "./ungrouped-wz-KNJpA.js";
21
+ import { t as qe } from "./utils-DYtBrGDz.js";
22
+ import { t as Je } from "./CuiRecordingsGrid-D6HHyF1D.js";
22
23
  import { t as Ye } from "./settings-EKkSQLzv.js";
23
24
  import { n as Xe, t as Ze } from "./round-alt-arrow-left-bold-CWEg-ZLF.js";
24
25
  //#region node_modules/@camera.ui/sdk/dist/camera/events.js
@@ -100,7 +101,7 @@ var at = s({
100
101
  }, ut = { key: 0 }, dt = /* @__PURE__ */ T({
101
102
  __name: "ClipReindex",
102
103
  setup(t, { expose: i }) {
103
- let a = e("dialogRefProps"), { t: o } = ke(), { status: s, isBusy: c, checking: u, refresh: p, start: m, cancel: _ } = L(), v = E(!1), y = E(!1), S = E(0), C = f(() => s.value?.running === !0), w = f(() => {
104
+ let a = e("dialogRefProps"), { t: o } = ke(), { status: s, isBusy: c, checking: u, refresh: p, start: m, cancel: _ } = z(), v = E(!1), y = E(!1), S = E(0), C = f(() => s.value?.running === !0), w = f(() => {
104
105
  if (y.value) {
105
106
  if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
106
107
  let { done: e, total: t, skipped: n } = s.value;
@@ -173,7 +174,7 @@ var mt = s({
173
174
  preselect: {}
174
175
  },
175
176
  setup(i, { expose: a }) {
176
- let o = i, { t: s } = ke(), m = de(), h = e("dialogRefProps"), { plugin: _ } = Ae("@camera.ui/camera-ui-nvr"), y = E([]), S = E(!1), w = E(o.preselect?.length ? [...o.preselect] : []), T = E("best"), O = E(0), k = E(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = E(/* @__PURE__ */ new Date()), N = f(() => [{
177
+ let o = i, { t: s } = ke(), m = ie(), h = e("dialogRefProps"), { plugin: _ } = Ae("@camera.ui/camera-ui-nvr"), y = E([]), S = E(!1), w = E(o.preselect?.length ? [...o.preselect] : []), T = E("best"), O = E(0), k = E(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = E(/* @__PURE__ */ new Date()), N = f(() => [{
177
178
  label: s("views.recordings.export.quality_best"),
178
179
  value: "best"
179
180
  }, {
@@ -204,19 +205,19 @@ var mt = s({
204
205
  a.setDate(a.getDate() + 1);
205
206
  let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
206
207
  s > o && e.push({
207
- day: ie(i),
208
+ day: ae(i),
208
209
  startUs: o * 1e3,
209
210
  endUs: s * 1e3
210
211
  }), r.setDate(r.getDate() + 1);
211
212
  }
212
213
  return e;
213
214
  }), R = f(() => y.value.map((e) => {
214
- let t = te.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : ae(r);
215
+ let t = te.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : V(r);
215
216
  return {
216
217
  cameraId: e.cameraId,
217
218
  cameraName: t,
218
- name: `${oe(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
219
- span: i ? s("views.recordings.export.whole_day") : `${ae(n)}–${a}`,
219
+ name: `${H(t)}_${e.day}${P.value ? "_timelapse" : ""}.mp4`,
220
+ span: i ? s("views.recordings.export.whole_day") : `${V(n)}–${a}`,
220
221
  bytes: P.value ? e.bytes / Ht : e.bytes
221
222
  };
222
223
  })), ne = f(() => {
@@ -231,27 +232,27 @@ var mt = s({
231
232
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
232
233
  }
233
234
  return [...e.values()];
234
- }), re = f(() => R.value.reduce((e, t) => e + t.bytes, 0)), z = f(() => w.value.length === 0 ? s("views.recordings.export.no_cameras") : I.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
235
+ }), z = f(() => R.value.reduce((e, t) => e + t.bytes, 0)), re = f(() => w.value.length === 0 ? s("views.recordings.export.no_cameras") : I.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
235
236
  function B(e) {
236
237
  return String(e).padStart(2, "0");
237
238
  }
238
- function ie(e) {
239
+ function ae(e) {
239
240
  return `${e.getFullYear()}-${B(e.getMonth() + 1)}-${B(e.getDate())}`;
240
241
  }
241
- function ae(e) {
242
+ function V(e) {
242
243
  return `${B(e.getHours())}:${B(e.getMinutes())}`;
243
244
  }
244
- function oe(e) {
245
+ function H(e) {
245
246
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
246
247
  }
247
- function V(e) {
248
+ function U(e) {
248
249
  if (e <= 0) return "0 MB";
249
250
  let t = e / 1e6;
250
251
  if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
251
252
  let n = e / 1e9;
252
253
  return `${n.toFixed(+(n < 10))} GB`;
253
254
  }
254
- async function se() {
255
+ async function oe() {
255
256
  let e = _.value;
256
257
  if (!e?.nvrExportEstimate || w.value.length === 0 || L.value.length === 0) {
257
258
  y.value = [], S.value = !1;
@@ -271,7 +272,7 @@ var mt = s({
271
272
  S.value = !1;
272
273
  }
273
274
  }
274
- async function H() {
275
+ async function ce() {
275
276
  if (!I.value || w.value.length === 0 || L.value.length === 0) return null;
276
277
  let e = _.value;
277
278
  if (!e?.nvrExportBatch) return m.add({
@@ -285,7 +286,7 @@ var mt = s({
285
286
  quality: T.value,
286
287
  timelapseIntervalSec: P.value ? O.value : 0
287
288
  });
288
- await pe({
289
+ await se({
289
290
  url: t.url,
290
291
  filename: t.filename
291
292
  });
@@ -294,14 +295,14 @@ var mt = s({
294
295
  w,
295
296
  L,
296
297
  T
297
- ], se, {
298
+ ], oe, {
298
299
  debounce: 350,
299
300
  immediate: !0,
300
301
  deep: !0
301
302
  }), b(() => {
302
303
  h.disabled && (h.disabled.value = !I.value || w.value.length === 0 || !S.value && R.value.length === 0);
303
- }), a({ onConfirm: H }), (e, a) => {
304
- let o = Y, s = J, f = j, m = G, h = Le, _ = M, y = Se, b = mt;
304
+ }), a({ onConfirm: ce }), (e, a) => {
305
+ let o = Y, s = J, f = j, m = G, h = Le, _ = M, y = K, b = mt;
305
306
  return n(), g("div", ht, [
306
307
  x("div", gt, [x("label", _t, r(e.$t("views.recordings.export.cameras")), 1), D(o, {
307
308
  modelValue: d(w),
@@ -377,7 +378,7 @@ var mt = s({
377
378
  x("div", Ot, [x("div", kt, [x("label", At, r(e.$t("views.recordings.export.result")), 1), d(R).length ? (n(), g("div", jt, [
378
379
  x("span", Mt, r(d(R).length) + " " + r(d(R).length === 1 ? e.$t("views.recordings.export.file") : e.$t("views.recordings.export.files")), 1),
379
380
  a[5] ||= x("span", { class: "text-muted" }, "·", -1),
380
- x("span", Nt, r(d(F)) + r(V(d(re))), 1),
381
+ x("span", Nt, r(d(F)) + r(U(d(z))), 1),
381
382
  D(_, {
382
383
  value: d(R).length === 1 ? "MP4" : "ZIP",
383
384
  severity: "info"
@@ -392,15 +393,15 @@ var mt = s({
392
393
  }), x("span", null, r(e.$t("views.recordings.export.estimating")), 1)])) : d(R).length ? (n(!0), g(v, { key: 2 }, t(d(ne), (e) => (n(), g("div", {
393
394
  key: e.cameraId,
394
395
  class: "flex flex-col gap-1"
395
- }, [x("span", Rt, r(e.cameraName) + " · " + r(e.files.length) + " · " + r(d(F)) + r(V(e.bytes)), 1), (n(!0), g(v, null, t(e.files, (e) => (n(), g("div", {
396
+ }, [x("span", Rt, r(e.cameraName) + " · " + r(e.files.length) + " · " + r(d(F)) + r(U(e.bytes)), 1), (n(!0), g(v, null, t(e.files, (e) => (n(), g("div", {
396
397
  key: e.name,
397
398
  class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
398
399
  }, [
399
400
  D(b, { class: "w-4 h-4 text-muted shrink-0" }),
400
401
  x("span", zt, r(e.name), 1),
401
402
  x("span", Bt, r(e.span), 1),
402
- x("span", Vt, r(d(F)) + r(V(e.bytes)), 1)
403
- ]))), 128))]))), 128)) : (n(), g("div", Lt, r(d(z)), 1))])])])
403
+ x("span", Vt, r(d(F)) + r(U(e.bytes)), 1)
404
+ ]))), 128))]))), 128)) : (n(), g("div", Lt, r(d(re)), 1))])])])
404
405
  ]);
405
406
  };
406
407
  }
@@ -470,7 +471,7 @@ var Yt = s({
470
471
  }, Nn = { class: "filter-logic-divider" }, Pn = { class: "flex flex-col gap-2" }, Fn = {
471
472
  key: 0,
472
473
  class: "flex flex-col gap-2"
473
- }, In = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Ln = 288, Rn = /*#__PURE__*/ K(/* @__PURE__ */ T({
474
+ }, In = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Ln = 288, Rn = /*#__PURE__*/ P(/* @__PURE__ */ T({
474
475
  __name: "RecordingsFilterSidebar",
475
476
  props: {
476
477
  filters: {},
@@ -488,25 +489,25 @@ var Yt = s({
488
489
  "close"
489
490
  ],
490
491
  setup(e, { expose: i, emit: a }) {
491
- let s = /* @__PURE__ */ new Set(["motion", "audio"]), p = e, m = a, { t: b } = ke(), { xlBreakpoint: S } = te(), { topbarOffset: w, bottombarHeight: T } = F(), { icons: k, generic: A } = ve(), j = k, M = Yt, N = Kt, ee = y("sidebarRef"), P = E(p.filters.semanticQuery ?? ""), I = O({
492
+ let s = /* @__PURE__ */ new Set(["motion", "audio"]), p = e, m = a, { t: b } = ke(), { xlBreakpoint: S } = fe(), { topbarOffset: w, bottombarHeight: T } = ne(), { icons: k, generic: A } = H(), j = k, M = Yt, N = Kt, ee = y("sidebarRef"), P = E(p.filters.semanticQuery ?? ""), F = O({
492
493
  eventTypes: !0,
493
494
  attributes: !0,
494
495
  sensorEvents: !0
495
- }), L = f(() => p.isOpen ? Ln : 0), R = f(() => {
496
+ }), te = f(() => p.isOpen ? Ln : 0), I = f(() => {
496
497
  let e = [...new Set(p.cameras.map((e) => e.room).filter((e) => !!e))];
497
498
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
498
499
  id: e,
499
500
  name: e === "Default" ? b("components.form.label.room_default") : e
500
501
  }));
501
- }), ne = f(() => {
502
+ }), L = f(() => {
502
503
  let e = p.filters.rooms;
503
504
  return (e.length > 0 ? p.cameras.filter((t) => e.includes(t.room ?? "")) : p.cameras).map((e) => ({
504
505
  id: e.id,
505
506
  name: e.name
506
507
  }));
507
- }), re = f(() => {
508
+ }), R = f(() => {
508
509
  if (p.filters.cameraIds.length === 1) return p.cameras.find((e) => e.id === p.filters.cameraIds[0])?.name;
509
- }), z = f(() => p.filters.contentKind === "episodes"), B = f(() => [
510
+ }), z = f(() => p.filters.contentKind === "episodes"), re = f(() => [
510
511
  {
511
512
  label: b("views.recordings.content_kind_all"),
512
513
  value: "all"
@@ -519,13 +520,13 @@ var Yt = s({
519
520
  label: b("views.recordings.content_kind_episodes"),
520
521
  value: "episodes"
521
522
  }
522
- ]), ie = f(() => [{
523
+ ]), B = f(() => [{
523
524
  label: b("views.recordings.filter_and"),
524
525
  value: "and"
525
526
  }, {
526
527
  label: b("views.recordings.filter_or"),
527
528
  value: "or"
528
- }]), ae = f(() => [
529
+ }]), ie = f(() => [
529
530
  {
530
531
  label: b("views.recordings.time_1h"),
531
532
  value: "1h"
@@ -542,13 +543,13 @@ var Yt = s({
542
543
  label: b("views.recordings.time_1m"),
543
544
  value: "1m"
544
545
  }
545
- ]), oe = f(() => Me.filter((e) => !s.has(e)).map((e) => ({
546
+ ]), ae = f(() => Me.filter((e) => !s.has(e)).map((e) => ({
546
547
  label: b(`views.recordings.type_${e}`),
547
548
  value: e,
548
549
  icon: k[e] ?? A
549
550
  }))), V = f(() => ({
550
551
  label: b("views.recordings.type_other"),
551
- value: H,
552
+ value: me,
552
553
  icon: k.other ?? A
553
554
  })), se = f(() => Qe.map((e) => ({
554
555
  label: b(Be(e)),
@@ -558,7 +559,7 @@ var Yt = s({
558
559
  label: b(Ve(e)),
559
560
  value: e,
560
561
  icon: k[e] ?? A
561
- }))), ue = f(() => Ne.map((e) => ({
562
+ }))), le = f(() => Ne.map((e) => ({
562
563
  label: b(He(e)),
563
564
  value: e,
564
565
  icon: k[e] ?? A
@@ -569,10 +570,10 @@ var Yt = s({
569
570
  [e]: t
570
571
  });
571
572
  }
572
- let de = we((e) => {
573
+ let ue = we((e) => {
573
574
  W("search", e);
574
575
  }, 300);
575
- function pe(e) {
576
+ function de(e) {
576
577
  let t = new Set(p.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
577
578
  m("update:filters", {
578
579
  ...p.filters,
@@ -580,44 +581,44 @@ var Yt = s({
580
581
  cameraIds: p.filters.cameraIds.filter((e) => t.has(e))
581
582
  });
582
583
  }
583
- function me() {
584
+ function pe() {
584
585
  let e = P.value.trim();
585
586
  W("semanticQuery", e), m("semantic-search", e);
586
587
  }
587
- function ge(e) {
588
+ function he(e) {
588
589
  let t = [...p.filters.eventTypes], n = t.indexOf(e);
589
590
  n >= 0 ? t.splice(n, 1) : t.push(e), W("eventTypes", t);
590
591
  }
591
- function _e(e) {
592
+ function ge(e) {
592
593
  let t = [...p.filters.audioLabels], n = t.indexOf(e);
593
594
  n >= 0 ? t.splice(n, 1) : t.push(e), W("audioLabels", t);
594
595
  }
595
- function ye(e) {
596
+ function _e(e) {
596
597
  let t = [...p.filters.sensorEvents], n = t.indexOf(e);
597
598
  n >= 0 ? t.splice(n, 1) : t.push(e), W("sensorEvents", t);
598
599
  }
599
- function be(e) {
600
+ function ye(e) {
600
601
  let t = [...p.filters.hasAttributes], n = t.indexOf(e);
601
602
  n >= 0 ? t.splice(n, 1) : t.push(e), W("hasAttributes", t);
602
603
  }
603
604
  function K(e) {
604
- I[e] = !I[e];
605
+ F[e] = !F[e];
605
606
  }
606
607
  return h(P, (e) => {
607
608
  !e?.trim() && p.filters.semanticQuery && W("semanticQuery", "");
608
609
  }), Oe(ee, (e) => {
609
610
  let t = e.target;
610
611
  t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || p.isOpen && (p.isOverlay || !S.value) && m("close");
611
- }), i({ sidebarWidth: L }), (i, a) => {
612
- let s = G, f = q, p = le, m = ze, h = Pe, y = U, b = Y, S = he, E = fe, O = Fe;
612
+ }), i({ sidebarWidth: te }), (i, a) => {
613
+ let s = G, f = q, p = ve, m = ze, h = Pe, y = U, b = Y, S = xe, E = oe, O = Fe;
613
614
  return n(), g("nav", {
614
615
  ref_key: "sidebarRef",
615
616
  ref: ee,
616
617
  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",
617
618
  style: _({
618
- width: `${d(L)}px`,
619
+ width: `${d(te)}px`,
619
620
  borderRightWidth: e.isOpen ? "1px" : "0px",
620
- paddingBottom: `calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${d(T)}px + ${d(w)}px)`
621
+ paddingBottom: `calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${d(T)}px + ${d(w)}px)`
621
622
  })
622
623
  }, [x("div", {
623
624
  class: "flex flex-col gap-4 p-4",
@@ -627,7 +628,7 @@ var Yt = s({
627
628
  x("label", Zt, r(i.$t("views.recordings.content_kind")), 1),
628
629
  D(s, {
629
630
  "model-value": e.filters.contentKind,
630
- options: d(B),
631
+ options: d(re),
631
632
  "option-label": "label",
632
633
  "option-value": "value",
633
634
  "allow-empty": !1,
@@ -644,7 +645,7 @@ var Yt = s({
644
645
  "model-value": e.filters.search,
645
646
  placeholder: i.$t("views.recordings.search_placeholder"),
646
647
  class: "w-full text-sm",
647
- "onUpdate:modelValue": a[1] ||= (e) => d(de)(e)
648
+ "onUpdate:modelValue": a[1] ||= (e) => d(ue)(e)
648
649
  }, null, 8, ["model-value", "placeholder"])]),
649
650
  x("span", nn, r(i.$t("views.recordings.result_count", { count: e.resultCount })), 1)
650
651
  ]),
@@ -671,7 +672,7 @@ var Yt = s({
671
672
  class: "w-full text-xs",
672
673
  loading: e.semanticSearchLoading,
673
674
  disabled: !e.semanticSearchAvailable || !d(P)?.trim(),
674
- onClick: me
675
+ onClick: pe
675
676
  }, null, 8, [
676
677
  "label",
677
678
  "loading",
@@ -689,9 +690,9 @@ var Yt = s({
689
690
  ]),
690
691
  a[16] ||= x("div", { class: "sidebar-divider" }, null, -1)
691
692
  ], 64)),
692
- d(R).length > 1 ? (n(), g("div", dn, [x("label", fn, r(i.$t("views.recordings.rooms")), 1), D(b, {
693
+ d(I).length > 1 ? (n(), g("div", dn, [x("label", fn, r(i.$t("views.recordings.rooms")), 1), D(b, {
693
694
  "model-value": e.filters.rooms,
694
- options: d(R),
695
+ options: d(I),
695
696
  "option-label": "name",
696
697
  "option-value": "id",
697
698
  placeholder: i.$t("views.recordings.all_rooms"),
@@ -699,7 +700,7 @@ var Yt = s({
699
700
  "max-selected-labels": 2,
700
701
  "show-toggle-all": !1,
701
702
  pt: { overlay: { style: "position: fixed" } },
702
- "onUpdate:modelValue": a[4] ||= (e) => pe(e)
703
+ "onUpdate:modelValue": a[4] ||= (e) => de(e)
703
704
  }, null, 8, [
704
705
  "model-value",
705
706
  "options",
@@ -707,7 +708,7 @@ var Yt = s({
707
708
  ])])) : l("", !0),
708
709
  x("div", pn, [x("label", mn, r(i.$t("views.recordings.cameras")), 1), D(b, {
709
710
  "model-value": e.filters.cameraIds,
710
- options: d(ne),
711
+ options: d(L),
711
712
  "option-label": "name",
712
713
  "option-value": "id",
713
714
  placeholder: i.$t("views.recordings.all_cameras"),
@@ -721,10 +722,10 @@ var Yt = s({
721
722
  "options",
722
723
  "placeholder"
723
724
  ])]),
724
- d(re) && !d(z) ? (n(), g(v, { key: 2 }, [a[17] ||= x("div", { class: "sidebar-divider" }, null, -1), x("div", hn, [
725
+ d(R) && !d(z) ? (n(), g(v, { key: 2 }, [a[17] ||= x("div", { class: "sidebar-divider" }, null, -1), x("div", hn, [
725
726
  x("label", gn, r(i.$t("views.recordings.grid_search")), 1),
726
727
  x("div", _n, [D(S, {
727
- camera: d(re),
728
+ camera: d(R),
728
729
  "object-fit": "cover"
729
730
  }, null, 8, ["camera"]), D(E, {
730
731
  "model-value": e.filters.gridRegions,
@@ -750,7 +751,7 @@ var Yt = s({
750
751
  "onUpdate:modelValue": a[8] ||= (e) => W("minConfidence", e)
751
752
  }, null, 8, ["model-value"]), x("span", Sn, r(Math.round(e.filters.minConfidence * 100)) + "%", 1)])])),
752
753
  a[24] ||= x("div", { class: "sidebar-divider" }, null, -1),
753
- x("div", Cn, [x("label", wn, r(i.$t("views.recordings.time_range")), 1), x("div", Tn, [(n(!0), g(v, null, t(d(ae), (t) => (n(), c(h, {
754
+ x("div", Cn, [x("label", wn, r(i.$t("views.recordings.time_range")), 1), x("div", Tn, [(n(!0), g(v, null, t(d(ie), (t) => (n(), c(h, {
754
755
  key: t.value,
755
756
  label: t.label,
756
757
  severity: e.filters.timeRange === t.value ? void 0 : "secondary",
@@ -769,11 +770,11 @@ var Yt = s({
769
770
  x("div", En, [x("button", {
770
771
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
771
772
  onClick: a[9] ||= (e) => K("sensorEvents")
772
- }, [x("span", null, r(i.$t("views.recordings.sensor_events")), 1), (n(), c(o(d(I).sensorEvents ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(I).sensorEvents ? (n(), g("div", Dn, [(n(!0), g(v, null, t(d(se), (i) => (n(), g(v, { key: i.value }, [x("label", On, [
773
+ }, [x("span", null, r(i.$t("views.recordings.sensor_events")), 1), (n(), c(o(d(F).sensorEvents ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(F).sensorEvents ? (n(), g("div", Dn, [(n(!0), g(v, null, t(d(se), (i) => (n(), g(v, { key: i.value }, [x("label", On, [
773
774
  D(O, {
774
775
  "model-value": e.filters.sensorEvents.includes(i.value),
775
776
  binary: !0,
776
- "onUpdate:modelValue": (e) => ye(i.value)
777
+ "onUpdate:modelValue": (e) => _e(i.value)
777
778
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
778
779
  (n(), c(o(i.icon), { class: "w-4 h-4 text-muted" })),
779
780
  x("span", null, r(i.label), 1)
@@ -784,7 +785,7 @@ var Yt = s({
784
785
  D(O, {
785
786
  "model-value": e.filters.audioLabels.includes(t.value),
786
787
  binary: !0,
787
- "onUpdate:modelValue": (e) => _e(t.value)
788
+ "onUpdate:modelValue": (e) => ge(t.value)
788
789
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
789
790
  (n(), c(o(t.icon), { class: "w-4 h-4 text-muted" })),
790
791
  x("span", null, r(t.label), 1)
@@ -793,7 +794,7 @@ var Yt = s({
793
794
  a[18] ||= x("div", { class: "filter-logic-line" }, null, -1),
794
795
  D(s, {
795
796
  "model-value": e.filters.filterLogicTriggers,
796
- options: d(ie),
797
+ options: d(B),
797
798
  "option-label": "label",
798
799
  "option-value": "value",
799
800
  "allow-empty": !1,
@@ -805,14 +806,14 @@ var Yt = s({
805
806
  x("div", jn, [x("button", {
806
807
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
807
808
  onClick: a[11] ||= (e) => K("eventTypes")
808
- }, [x("span", null, r(i.$t("views.recordings.event_type")), 1), (n(), c(o(d(I).eventTypes ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(I).eventTypes ? (n(), g("div", Mn, [(n(!0), g(v, null, t(d(oe), (t) => (n(), g("label", {
809
+ }, [x("span", null, r(i.$t("views.recordings.event_type")), 1), (n(), c(o(d(F).eventTypes ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(F).eventTypes ? (n(), g("div", Mn, [(n(!0), g(v, null, t(d(ae), (t) => (n(), g("label", {
809
810
  key: t.value,
810
811
  class: "flex items-center gap-2 cursor-pointer text-sm"
811
812
  }, [
812
813
  D(O, {
813
814
  "model-value": e.filters.eventTypes.includes(t.value),
814
815
  binary: !0,
815
- "onUpdate:modelValue": (e) => ge(t.value)
816
+ "onUpdate:modelValue": (e) => he(t.value)
816
817
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
817
818
  (n(), c(o(t.icon), { class: "w-4 h-4 text-muted" })),
818
819
  x("span", null, r(t.label), 1)
@@ -821,7 +822,7 @@ var Yt = s({
821
822
  a[20] ||= x("div", { class: "filter-logic-line" }, null, -1),
822
823
  D(s, {
823
824
  "model-value": e.filters.filterLogicAttributes,
824
- options: d(ie),
825
+ options: d(B),
825
826
  "option-label": "label",
826
827
  "option-value": "value",
827
828
  "allow-empty": !1,
@@ -833,14 +834,14 @@ var Yt = s({
833
834
  x("div", Pn, [x("button", {
834
835
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
835
836
  onClick: a[13] ||= (e) => K("attributes")
836
- }, [x("span", null, r(i.$t("views.recordings.attributes")), 1), (n(), c(o(d(I).attributes ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(I).attributes ? (n(), g("div", Fn, [(n(!0), g(v, null, t(d(ue), (t) => (n(), g("label", {
837
+ }, [x("span", null, r(i.$t("views.recordings.attributes")), 1), (n(), c(o(d(F).attributes ? d(M) : d(N)), { class: "w-4 h-4 text-muted" }))]), d(F).attributes ? (n(), g("div", Fn, [(n(!0), g(v, null, t(d(le), (t) => (n(), g("label", {
837
838
  key: t.value,
838
839
  class: "flex items-center gap-2 cursor-pointer text-sm"
839
840
  }, [
840
841
  D(O, {
841
842
  "model-value": e.filters.hasAttributes.includes(t.value),
842
843
  binary: !0,
843
- "onUpdate:modelValue": (e) => be(t.value)
844
+ "onUpdate:modelValue": (e) => ye(t.value)
844
845
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
845
846
  (n(), c(o(t.icon), { class: "w-4 h-4 text-muted" })),
846
847
  x("span", null, r(t.label), 1)
@@ -848,7 +849,7 @@ var Yt = s({
848
849
  D(O, {
849
850
  "model-value": e.filters.eventTypes.includes(d(V).value),
850
851
  binary: !0,
851
- "onUpdate:modelValue": a[14] ||= (e) => ge(d(V).value)
852
+ "onUpdate:modelValue": a[14] ||= (e) => he(d(V).value)
852
853
  }, null, 8, ["model-value"]),
853
854
  (n(), c(o(d(V).icon), { class: "w-4 h-4 text-muted" })),
854
855
  x("span", null, r(d(V).label), 1)
@@ -857,7 +858,7 @@ var Yt = s({
857
858
  ], 4)], 4);
858
859
  };
859
860
  }
860
- }), [["__scopeId", "data-v-dd31ab16"]]), zn = { class: "font-semibold text-xl truncate" }, Bn = { class: "w-full h-full relative" }, Vn = {
861
+ }), [["__scopeId", "data-v-77b6c215"]]), zn = { class: "font-semibold text-xl truncate" }, Bn = { class: "w-full h-full relative" }, Vn = {
861
862
  key: 0,
862
863
  class: "w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10"
863
864
  }, Hn = { class: "relative z-2 page-title !m-0" }, Un = {
@@ -872,12 +873,12 @@ var Yt = s({
872
873
  }, Kn = { class: "text-muted text-sm" }, qn = 288, Jn = /* @__PURE__ */ T({
873
874
  __name: "Recordings",
874
875
  setup(e) {
875
- let t = new be(), o = new _e(), s = ge(), u = me(), { bottombarHeight: b } = F(), { status: C, checking: T } = L(), { openEventTrace: O } = ie(), j = ae("@camera.ui/camera-ui-nvr"), M = de(), { t: H } = ke(), { smBreakpoint: U, xlBreakpoint: fe, mdBreakpoint: pe } = te(), { registerScrollToTop: he } = I();
876
+ let t = new re(), o = new be(), s = ye(), u = W(), { bottombarHeight: b } = ne(), { status: C, checking: T } = z(), { openEventTrace: O } = _e(), j = ge("@camera.ui/camera-ui-nvr"), M = ie(), { t: P } = ke(), { smBreakpoint: H, xlBreakpoint: U, mdBreakpoint: oe } = fe(), { registerScrollToTop: se } = L();
876
877
  if (typeof VideoDecoder < "u") {
877
- let e = N({ cacheSize: 20 });
878
- i(B, e), Te(() => e.dispose());
878
+ let e = ue({ cacheSize: 20 });
879
+ i(Ce, e), Te(() => e.dispose());
879
880
  }
880
- let { results: ve, isSearching: G, isAvailable: K, hasSearched: Se, search: we, clear: Ee } = ne(), { data: Oe } = t.getCamerasQuery({
881
+ let { results: me, isSearching: G, isAvailable: K, hasSearched: xe, search: we, clear: Ee } = I(), { data: Oe } = t.getCamerasQuery({
881
882
  page: 1,
882
883
  pageSize: -1
883
884
  }), { data: Ae } = o.getUserQuery(f(() => u.user?.username ?? "")), je = {
@@ -887,6 +888,7 @@ var Yt = s({
887
888
  "1m": 2592e6
888
889
  }, Me = y("gridRef"), Ne = y("viewMenuRef"), q = E("closed"), Fe = E(!1), J = E({
889
890
  contentKind: "all",
891
+ favoritesOnly: !1,
890
892
  search: "",
891
893
  semanticQuery: "",
892
894
  filterLogicTriggers: "or",
@@ -908,7 +910,7 @@ var Yt = s({
908
910
  hasDetections: !0,
909
911
  withRecordingInfo: !0,
910
912
  hasRecording: !0
911
- }), Re = JSON.stringify(Le.value), Y = E(!1), ze = w([]), Be = E(null), Ve = y("reindexAnchorRef"), { left: He } = De(Ve), Qe = !1, X = f(() => fe.value ? !0 : q.value === "opened"), $e = f(() => pe.value), tt = f(() => X.value && $e.value ? !0 : (Me.value?.scrollY ?? 0) > 10 && !C.value?.running), nt = f(() => pe.value ? "0px" : X.value ? `${qn}px` : "0px"), Z = f(() => (Oe.value?.result ?? []).map((e) => ({
913
+ }), Re = JSON.stringify(Le.value), Y = E(!1), ze = w([]), Be = E(null), Ve = y("reindexAnchorRef"), { left: He } = De(Ve), Qe = !1, X = f(() => U.value ? !0 : q.value === "opened"), $e = f(() => oe.value), tt = f(() => X.value && $e.value ? !0 : (Me.value?.scrollY ?? 0) > 10 && !C.value?.running), nt = f(() => oe.value ? "0px" : X.value ? `${qn}px` : "0px"), Z = f(() => (Oe.value?.result ?? []).map((e) => ({
912
914
  id: e._id,
913
915
  name: e.name,
914
916
  room: e.room
@@ -924,8 +926,8 @@ var Yt = s({
924
926
  let e = J.value.rooms;
925
927
  return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
926
928
  }), ct = f(() => J.value.cameraIds.filter((e) => st.value.includes(e))), lt = f(() => st.value);
927
- he(() => Me.value?.scrollToTop());
928
- let { events: ut, isLoading: ft, hasMore: pt, loadMore: mt, loadThumbnails: ht, deleteEvents: gt, pluginUnavailable: _t } = re({
929
+ se(() => Me.value?.scrollToTop());
930
+ let { events: ut, isLoading: ft, hasMore: pt, loadMore: mt, loadThumbnails: ht, deleteEvents: gt, pluginUnavailable: _t } = V({
929
931
  availableCameraIds: lt,
930
932
  cameraIds: ct,
931
933
  realtime: !0,
@@ -934,18 +936,18 @@ var Yt = s({
934
936
  withEpisodes: !0
935
937
  }), Q = f(() => {
936
938
  let e = /* @__PURE__ */ new Map();
937
- for (let t of ve.value ?? []) {
939
+ for (let t of me.value ?? []) {
938
940
  let n = e.get(t.eventId);
939
941
  (!n || t.score > n) && e.set(t.eventId, t.score);
940
942
  }
941
943
  return e;
942
- }), vt = f(() => Se.value), $ = f(() => {
944
+ }), vt = f(() => xe.value), $ = f(() => {
943
945
  let e = ut.value.filter((e) => e.state === "ended"), t = J.value;
944
946
  if (t.timeRange && je[t.timeRange]) {
945
947
  let n = Date.now() - je[t.timeRange];
946
948
  e = e.filter((e) => e.startTime >= n);
947
949
  }
948
- return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && Je(e.box, t.gridRegions))))), vt.value && (e = e.filter((e) => {
950
+ return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && qe(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), vt.value && (e = e.filter((e) => {
949
951
  let n = Q.value.get(e.id);
950
952
  return n != null && n >= t.minSemanticScore;
951
953
  }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
@@ -961,28 +963,28 @@ var Yt = s({
961
963
  n = Math.max(n, e);
962
964
  }
963
965
  let i = [];
964
- for (let e of j.getEpisodes()) e.description && (n && e.endTime < n || e.startTime > r || t.length > 0 && !e.members.some((e) => t.includes(e.cameraId)) || i.push({
966
+ for (let a of j.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({
965
967
  event: void 0,
966
- key: `episode:${e.id}`,
967
- episode: e
968
+ key: `episode:${a.id}`,
969
+ episode: a
968
970
  }));
969
971
  return i;
970
972
  }), xt = f(() => {
971
- if (yt.value) return [...bt.value].sort((e, t) => Ge(t) - Ge(e));
973
+ if (yt.value) return [...bt.value].sort((e, t) => We(t) - We(e));
972
974
  if (Y.value && ze.value.length) return ze.value;
973
975
  let e = $.value.map((e) => ({
974
976
  event: e,
975
977
  key: e.id
976
978
  }));
977
- return bt.value.length && (e.push(...bt.value), e.sort((e, t) => Ge(t) - Ge(e))), e;
978
- }), St = f(() => ue(void 0, "admin")), { selectionMode: Ct, selectedIds: wt, allSelected: Tt, bulkBusy: Et, enterSelectionMode: Dt, exitSelectionMode: Ot, toggleSelectAll: kt, toggleSelection: At } = z($, (e) => e.id);
979
+ return bt.value.length && (e.push(...bt.value), e.sort((e, t) => We(t) - We(e))), e;
980
+ }), St = f(() => le(void 0, "admin")), { selectionMode: Ct, selectedIds: wt, allSelected: Tt, bulkBusy: Et, enterSelectionMode: Dt, exitSelectionMode: Ot, toggleSelectAll: kt, toggleSelection: At } = B($, (e) => e.id);
979
981
  function jt() {
980
982
  let e = [...wt.value];
981
983
  !e.length || Et.value || s.openTextDialog({
982
984
  data: {
983
- title: H("components.dialog.title.confirm"),
984
- contentText: H("views.recordings.delete_selected_confirm", { count: e.length }),
985
- confirmText: H("components.form.button.remove"),
985
+ title: P("components.dialog.title.confirm"),
986
+ contentText: P("views.recordings.delete_selected_confirm", { count: e.length }),
987
+ confirmText: P("components.form.button.remove"),
986
988
  confirmButtonProps: { severity: "danger" }
987
989
  },
988
990
  onConfirm: async () => {
@@ -990,7 +992,7 @@ var Yt = s({
990
992
  try {
991
993
  await gt(e), Ot(), M.add({
992
994
  severity: "success",
993
- detail: H("views.recordings.delete_selected_done", { count: e.length }),
995
+ detail: P("views.recordings.delete_selected_done", { count: e.length }),
994
996
  life: 5e3
995
997
  });
996
998
  } catch (e) {
@@ -1005,43 +1007,59 @@ var Yt = s({
1005
1007
  }
1006
1008
  });
1007
1009
  }
1008
- let Mt = f(() => [{
1009
- key: "ungroup",
1010
- label: H("views.recordings.ungroup"),
1011
- description: H("views.recordings.ungroup_hint"),
1012
- toggle: !0,
1013
- toggleState: Y.value,
1014
- onClick: () => {
1015
- Qe = !0, Y.value = !Y.value, u.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1016
- }
1017
- }, {
1018
- key: "onlyWithRecordings",
1019
- label: H("views.recordings.only_with_recordings"),
1020
- description: H("views.recordings.only_with_recordings_hint"),
1021
- toggle: !0,
1022
- toggleState: J.value.onlyWithRecordings,
1023
- onClick: () => {
1024
- J.value = {
1025
- ...J.value,
1026
- onlyWithRecordings: !J.value.onlyWithRecordings
1027
- };
1010
+ let Mt = f(() => [
1011
+ {
1012
+ key: "ungroup",
1013
+ label: P("views.recordings.ungroup"),
1014
+ description: P("views.recordings.ungroup_hint"),
1015
+ toggle: !0,
1016
+ toggleState: Y.value,
1017
+ onClick: () => {
1018
+ Qe = !0, Y.value = !Y.value, u.updateUser({ preferences: { recordings: { ungrouped: Y.value } } });
1019
+ }
1020
+ },
1021
+ {
1022
+ key: "onlyWithRecordings",
1023
+ label: P("views.recordings.only_with_recordings"),
1024
+ description: P("views.recordings.only_with_recordings_hint"),
1025
+ toggle: !0,
1026
+ toggleState: J.value.onlyWithRecordings,
1027
+ onClick: () => {
1028
+ J.value = {
1029
+ ...J.value,
1030
+ onlyWithRecordings: !J.value.onlyWithRecordings
1031
+ };
1032
+ }
1033
+ },
1034
+ {
1035
+ key: "favoritesOnly",
1036
+ label: P("views.recordings.favorites_only"),
1037
+ description: P("views.recordings.favorites_hint"),
1038
+ toggle: !0,
1039
+ toggleState: J.value.favoritesOnly,
1040
+ onClick: () => {
1041
+ J.value = {
1042
+ ...J.value,
1043
+ favoritesOnly: !J.value.favoritesOnly
1044
+ };
1045
+ }
1028
1046
  }
1029
- }]);
1047
+ ]);
1030
1048
  function Nt() {
1031
1049
  s.openComponentDialog(dt, { data: {
1032
- title: H("views.recordings.reindex.title"),
1050
+ title: P("views.recordings.reindex.title"),
1033
1051
  contentProps: {},
1034
- confirmText: H("views.recordings.reindex.start")
1052
+ confirmText: P("views.recordings.reindex.start")
1035
1053
  } });
1036
1054
  }
1037
1055
  function Pt() {
1038
1056
  s.openComponentDialog(Ut, { data: {
1039
- title: H("views.recordings.export.title"),
1057
+ title: P("views.recordings.export.title"),
1040
1058
  contentProps: {
1041
1059
  cameras: Z.value,
1042
1060
  preselect: J.value.cameraIds?.length ? J.value.cameraIds : []
1043
1061
  },
1044
- confirmText: H("views.recordings.export.confirm")
1062
+ confirmText: P("views.recordings.export.confirm")
1045
1063
  } });
1046
1064
  }
1047
1065
  function Ft() {
@@ -1079,7 +1097,7 @@ var Yt = s({
1079
1097
  eventTimestamp: e.startTime
1080
1098
  },
1081
1099
  headerActions: e.segments?.some((e) => e?.description) ? [{
1082
- icon: le,
1100
+ icon: ve,
1083
1101
  toggle: !0,
1084
1102
  onClick: () => {}
1085
1103
  }] : void 0,
@@ -1092,12 +1110,12 @@ var Yt = s({
1092
1110
  },
1093
1111
  dialogSize: { desktop: {
1094
1112
  maxWidth: "800px",
1095
- maxHeight: "calc(100vh - max(1rem, env(safe-area-inset-top, 0px)) - max(1rem, env(safe-area-inset-bottom, 0px)))",
1113
+ maxHeight: "calc(100vh - max(1rem, var(--safe-area-inset-top)) - max(1rem, var(--safe-area-inset-bottom)))",
1096
1114
  width: "50vw"
1097
1115
  } }
1098
1116
  });
1099
1117
  }
1100
- return h(fe, (e) => {
1118
+ return h(U, (e) => {
1101
1119
  e && (q.value = "closed");
1102
1120
  }), h(J, (e) => {
1103
1121
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
@@ -1112,7 +1130,8 @@ var Yt = s({
1112
1130
  state: "ended",
1113
1131
  hasDetections: !t,
1114
1132
  withRecordingInfo: !0,
1115
- hasRecording: e.onlyWithRecordings || void 0
1133
+ hasRecording: e.onlyWithRecordings || void 0,
1134
+ favoritesOnly: e.favoritesOnly || void 0
1116
1135
  }, r = JSON.stringify(n);
1117
1136
  r !== Re && (Re = r, Le.value = n);
1118
1137
  }, {
@@ -1123,7 +1142,7 @@ var Yt = s({
1123
1142
  let t = e.preferences?.recordings?.ungrouped;
1124
1143
  t !== void 0 && (Y.value = t);
1125
1144
  }, { immediate: !0 }), h([Y, $], ([e, t]) => {
1126
- ze.value = e ? qe(t) : [];
1145
+ ze.value = e ? Ke(t) : [];
1127
1146
  }), h(() => J.value.cameraIds, (e) => {
1128
1147
  e.length !== 1 && J.value.gridRegions.length > 0 && (J.value = {
1129
1148
  ...J.value,
@@ -1134,7 +1153,7 @@ var Yt = s({
1134
1153
  Fe.value = !0;
1135
1154
  });
1136
1155
  }), (e, t) => {
1137
- let i = se, o = rt, s = et, u = Pe, f = Ye, h = Ze, y = Xe, w = ye, E = We, O = Ke, k = Ue, j = R, M = xe, N = V, F = A;
1156
+ let i = F, o = rt, s = et, u = Pe, f = Ye, h = Ze, y = Xe, w = te, E = Ge, O = Je, k = Ue, j = he, M = pe, P = N, I = A;
1138
1157
  return n(), g("div", null, [
1139
1158
  D(i, { position: "center" }, {
1140
1159
  default: p(() => [x("span", zn, r(e.$t("views.recordings.title")), 1)]),
@@ -1217,9 +1236,9 @@ var Yt = s({
1217
1236
  transition: d(Fe) ? "padding-left 200ms" : void 0
1218
1237
  })
1219
1238
  }, [x("div", Bn, [
1220
- d(U) ? l("", !0) : (n(), g("div", Vn, [
1239
+ d(H) ? l("", !0) : (n(), g("div", Vn, [
1221
1240
  t[3] ||= x("div", { class: "ml-2" }, null, -1),
1222
- d(fe) ? l("", !0) : (n(), c(u, {
1241
+ d(U) ? l("", !0) : (n(), c(u, {
1223
1242
  key: 0,
1224
1243
  id: "recordings-sidebar-toggle",
1225
1244
  severity: "secondary",
@@ -1249,7 +1268,7 @@ var Yt = s({
1249
1268
  x("div")
1250
1269
  ], -1)
1251
1270
  ])),
1252
- d(U) ? l("", !0) : (n(), g("div", Un, [S((n(), c(u, {
1271
+ d(H) ? l("", !0) : (n(), g("div", Un, [S((n(), c(u, {
1253
1272
  severity: "secondary",
1254
1273
  text: "",
1255
1274
  rounded: "",
@@ -1262,21 +1281,21 @@ var Yt = s({
1262
1281
  })]),
1263
1282
  _: 1
1264
1283
  })), [[
1265
- F,
1284
+ I,
1266
1285
  { value: e.$t("views.recordings.view_options") },
1267
1286
  void 0,
1268
1287
  { bottom: !0 }
1269
1288
  ]])])),
1270
1289
  x("div", { class: a(["px-2 h-full w-full flex flex-col", {
1271
- "pt-4": d(U),
1272
- "pt-[calc(40px+2rem)]": !d(U)
1290
+ "pt-4": d(H),
1291
+ "pt-[calc(40px+2rem)]": !d(H)
1273
1292
  }]) }, [
1274
1293
  d(xt).length ? (n(), c(O, {
1275
1294
  key: 0,
1276
1295
  ref_key: "gridRef",
1277
1296
  ref: Me,
1278
1297
  items: d(xt),
1279
- "min-item-width": d(U) ? 160 : 180,
1298
+ "min-item-width": d(H) ? 160 : 180,
1280
1299
  gap: 8,
1281
1300
  "has-more": d(pt),
1282
1301
  "load-more": d(mt),
@@ -1344,8 +1363,8 @@ var Yt = s({
1344
1363
  key: 0,
1345
1364
  class: a(["fixed z-10", d(tt) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
1346
1365
  style: _({
1347
- left: `calc(${d(He)}px + ${d(nt)} + 0.75rem + env(safe-area-inset-left, 0px))`,
1348
- bottom: `calc(${d(b)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,
1366
+ left: `calc(${d(He)}px + ${d(nt)} + 0.75rem + var(--safe-area-inset-left))`,
1367
+ bottom: `calc(${d(b)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1349
1368
  transition: d(Fe) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
1350
1369
  })
1351
1370
  }, [D(u, {
@@ -1362,7 +1381,7 @@ var Yt = s({
1362
1381
  icon: p(() => [d(C)?.running ? (n(), c(d(Ue), { key: 0 })) : (n(), c(d(at), { key: 1 }))]),
1363
1382
  _: 1
1364
1383
  }, 8, ["disabled", "label"])], 6)) : l("", !0),
1365
- d(Z).length ? (n(), c(N, {
1384
+ d(Z).length ? (n(), c(P, {
1366
1385
  key: 1,
1367
1386
  "force-visible": d(Ct),
1368
1387
  "scroll-y": d(Me)?.scrollY ?? 0
@@ -1387,7 +1406,7 @@ var Yt = s({
1387
1406
  grouped: "",
1388
1407
  "tooltip-props": { value: d(Tt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1389
1408
  "button-props": { severity: d(Tt) ? "primary" : "secondary" },
1390
- icon: d(ee),
1409
+ icon: d(ae),
1391
1410
  "icon-props": {
1392
1411
  width: "100%",
1393
1412
  height: "100%"
@@ -1406,7 +1425,7 @@ var Yt = s({
1406
1425
  severity: "danger",
1407
1426
  disabled: !d(wt).size || d(Et)
1408
1427
  },
1409
- icon: d(Ce),
1428
+ icon: d(ee),
1410
1429
  "icon-props": {
1411
1430
  width: "100%",
1412
1431
  height: "100%"
@@ -1422,7 +1441,7 @@ var Yt = s({
1422
1441
  grouped: "",
1423
1442
  "tooltip-props": { value: e.$t("views.recordings.select") },
1424
1443
  "button-props": { severity: "secondary" },
1425
- icon: d(oe),
1444
+ icon: d(Se),
1426
1445
  "icon-props": {
1427
1446
  width: "100%",
1428
1447
  height: "100%"
@@ -1436,7 +1455,7 @@ var Yt = s({
1436
1455
  grouped: "",
1437
1456
  "tooltip-props": { value: e.$t("views.recordings.export.title") },
1438
1457
  "button-props": { class: "text-white" },
1439
- icon: d(W),
1458
+ icon: d(de),
1440
1459
  "icon-props": {
1441
1460
  width: "26px",
1442
1461
  height: "26px"
@@ -1445,7 +1464,7 @@ var Yt = s({
1445
1464
  }, null, 8, ["tooltip-props", "icon"])], 64))]),
1446
1465
  _: 1
1447
1466
  }, 8, ["force-visible", "scroll-y"])) : l("", !0),
1448
- D(P, {
1467
+ D(R, {
1449
1468
  ref_key: "viewMenuRef",
1450
1469
  ref: Ne,
1451
1470
  items: d(Mt),