@camera.ui/server 2.1.15 → 2.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/interface/assets/{404-DwgMdXqW.js → 404-Cg1J2LX8.js} +1 -1
  2. package/dist/interface/assets/{About-REFUgZk_.js → About-CW7G6onF.js} +1 -1
  3. package/dist/interface/assets/Automation-CIwBJK1Y.js +3 -0
  4. package/dist/interface/assets/AutomationImport-CHkNv7C-.js +2 -0
  5. package/dist/interface/assets/AutomationStore-5bTym-Gl.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-BF8UoG_l.js +2 -0
  7. package/dist/interface/assets/Automations-CaX2fHhJ.js +2 -0
  8. package/dist/interface/assets/Camera-1zdmJnP-.js +2 -0
  9. package/dist/interface/assets/Camera-DSyI4J5-.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S61HjIGA.js → CameraConsole-CB1HEFKJ.js} +2 -2
  11. package/dist/interface/assets/{Cameras-57rPP3Y_.js → Cameras-CyCY0rW9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-Dia7G1u_.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CBSLHn_I.js → CertificateUpload-jP-JIxmY.js} +1 -1
  15. package/dist/interface/assets/Config-DOa7WHyQ.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-B7KwK7vb.js → ConfigActionCameraControl-BmCE3XLC.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DwTGfeP4.js → ConfigActionDelay-CfHCZ0uf.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-idm-FKXM.js → ConfigActionHttp-DdM7gEb0.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-C-v-_UEM.js → ConfigActionImageInput-CrPPNT4K.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-CG1o9_6A.js → ConfigActionMqtt-D7-u4zri.js} +1 -1
  21. package/dist/interface/assets/ConfigActionNotification-BSuUI2FP.js +1 -0
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BvHIqHE7.js → ConfigActionNotificationControl-DfvAxKnx.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BQvDZGKV.js → ConfigActionOutput-DPplSpm_.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C7mcZ0Kz.js → ConfigActionPlugin-BnRn_p26.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BFnb75FI.js → ConfigActionSensor-CoEoqFAY.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BfzPScY6.js → ConfigActionSnapshot-wXdFiyU-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-CjIeZnOV.js → ConfigActionVariable-BqJvOOHH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Dgcqs9QP.js → ConfigConditionIfElse-DG2Kgqn5.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DtLt1AvW.js → ConfigConditionSensorState-BytECo6r.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-C6BfIozf.js → ConfigConditionSwitch-DaSt9uZE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-NcjSe4RM.js → ConfigConditionTime-D42OsshU.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DuvBl4YL.js → ConfigSensorValueInput-BtEmtZSm.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsVb-Svo.js → ConfigTriggerDetection-CDH2fzsu.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Dopegic5.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-vG37zALd.js → ConfigTriggerManual-DAtWfH0-.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BPl_Puje.js → ConfigTriggerMqtt-CB3_PxqD.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-Bn2drGV5.js → ConfigTriggerSchedule-BUzOrF23.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DP0CXRLo.js → ConfigTriggerSensor-D5kRIb7I.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DQikAjbB.js → ConfigTriggerSystem-Cud77VMR.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Cl7KWuRQ.js → ConfigTriggerWebhook-CeG5R3kV.js} +1 -1
  41. package/dist/interface/assets/Console-DdOD6Pd5.js +1 -0
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-D_rNvqan.js → CuiAutomationRunsDialog-Cym6xMVJ.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-B3QSHp4-.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-BSoMhymR.js +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-DGgrxZJd.js +1 -0
  47. package/dist/interface/assets/{CuiCameraRecordings-h6Yel4J4.js → CuiCameraRecordings-Bu68AFdM.js} +1 -1
  48. package/dist/interface/assets/CuiCameraShares-BOhfTcxQ.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-C1CHYnda.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CfXoLbtY.js → CuiCameraTable-D0lc0VAJ.js} +2 -2
  51. package/dist/interface/assets/{CuiChartTable-BWRwoTLX.js → CuiChartTable-DcrFI8tT.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-Cb3wDLZr.js → CuiConsole-ICLBq4Q-.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-aAZV_F3r.js → CuiDataTable-BooFPsGH.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-D1ih2hO-.js +1 -0
  55. package/dist/interface/assets/{CuiList-BZYxCLqz.js → CuiList-ChI82KjI.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-DqdSWrwb.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-C9trJ_ql.js → CuiPluginCategoryChip-DsRcMb72.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-BSvRKUSY.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-D5gkIhJv.js → CuiPluginTrustBadge-DXL7N1LC.js} +1 -1
  60. package/dist/interface/assets/{CuiQRCode-DY5Q-Xel.js → CuiQRCode-DHln6Lo9.js} +1 -1
  61. package/dist/interface/assets/CuiSchema-B7i2O3Fy.js +1 -0
  62. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  63. package/dist/interface/assets/CuiTopNavbarItem-TMfTyt8u.js +1 -0
  64. package/dist/interface/assets/Faces-CyTkMqMW.js +1 -0
  65. package/dist/interface/assets/FirstSteps-B4gb7Sgn.js +1 -0
  66. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  67. package/dist/interface/assets/Floorplan-DBwWnuys.js +1 -0
  68. package/dist/interface/assets/Instances-D9fnwItz.js +1 -0
  69. package/dist/interface/assets/{Logs-CfYTWOv2.js → Logs-Brk6fJa0.js} +2 -2
  70. package/dist/interface/assets/{Menu-HzmLhy40.js → Menu-CrdBz1Er.js} +1 -1
  71. package/dist/interface/assets/Metrics-DXMgfNIL.js +9 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-DBac627V.js → OAuthDeviceFlow-D5hSwHeO.js} +1 -1
  73. package/dist/interface/assets/Plugin-C65oNZ9N.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C5dZgdl9.js → PluginConsole-Bs3Z5u9-.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-C3KUrHvq.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-DJ8NY8hW.js → PluginSchema-D22zRDkZ.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-4ngDmZQ2.js +1 -0
  78. package/dist/interface/assets/PluginSearch-D7XYJzl4.js +2 -0
  79. package/dist/interface/assets/{PluginUpdateProgress-DgqaTwSS.js → PluginUpdateProgress-MEdR7mID.js} +1 -1
  80. package/dist/interface/assets/Plugins-DQTlb12n.js +1 -0
  81. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  82. package/dist/interface/assets/Recordings-CqBwRvn-.js +1 -0
  83. package/dist/interface/assets/SensorEdit-BM2zHAM7.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-bCcPH0_I.js → SensorHistory-Dbv2ODqn.js} +1 -1
  85. package/dist/interface/assets/Sensors-B4YzyU7R.js +2 -0
  86. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DETviyjO.css} +1 -1
  87. package/dist/interface/assets/Settings--wgPYOyK.js +1 -0
  88. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  89. package/dist/interface/assets/SettingsAccount-BF6Cp8Rt.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D7CHP0f1.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-Ba0jbbVW.js +1 -0
  92. package/dist/interface/assets/SettingsAppearance-BpXZwBjO.js +1 -0
  93. package/dist/interface/assets/SettingsBackup-qEYm-6De.js +1 -0
  94. package/dist/interface/assets/{SettingsList-Nc7OCZrn.js → SettingsList-1brGZ2E_.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-Ds8YpoLA.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-Diqpfbrh.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-BZXAgxUl.js → SettingsPermissions-GmGacrLc.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-Biyy3rTF.js → SettingsRecordings-CtEm_7PE.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-CENHI51U.js +2 -0
  100. package/dist/interface/assets/SettingsSystem-YkigO2-V.js +2 -0
  101. package/dist/interface/assets/SettingsUsers-BNPa87gu.js +1 -0
  102. package/dist/interface/assets/{Terminal-AsI0lb5n.js → Terminal-uxOHZpUp.js} +3 -3
  103. package/dist/interface/assets/Training-BRZKDa8S.js +1 -0
  104. package/dist/interface/assets/Training-DMNjB3uX.css +1 -0
  105. package/dist/interface/assets/Updates-CbscgL60.js +2 -0
  106. package/dist/interface/assets/{VariableInput-__I-FsBF.js → VariableInput-Dqg4sqBD.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-B-7auf15.js → VariableSuggestions-DZCkPAVs.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-BTe1Ev3b.js → VersionsHandler-BYFshrhO.js} +2 -2
  109. package/dist/interface/assets/{VirtualSensorCreate-DdLgJECI.js → VirtualSensorCreate-CQ-C4si3.js} +1 -1
  110. package/dist/interface/assets/Workers-DC77SjZQ.js +2 -0
  111. package/dist/interface/assets/api-Cb8_C_se.js +4 -0
  112. package/dist/interface/assets/{api-84bL4zpk.js → api-CbYNh0N1.js} +1 -1
  113. package/dist/interface/assets/api-DIyogyx5.css +2 -0
  114. package/dist/interface/assets/{auth-F2wU_mtw.js → auth-Bev1OdHw.js} +1 -1
  115. package/dist/interface/assets/{automations-D6fqhxhY.js → automations-DrpESBB_.js} +1 -1
  116. package/dist/interface/assets/cameraSources-QF2xqMxX.js +1 -0
  117. package/dist/interface/assets/cloudHandoff-BknPGUc0.js +1 -0
  118. package/dist/interface/assets/{config-Jzs6YXbB.js → config-DCK7k2P4.js} +1 -1
  119. package/dist/interface/assets/{flowSchema-C1fWwuQa.js → flowSchema-D3Ddm5sW.js} +1 -1
  120. package/dist/interface/assets/{intercomService-fFto_C1t.js → intercomService-DIwpkwG4.js} +1 -1
  121. package/dist/interface/assets/main-Cb5Z8N7b.css +1 -0
  122. package/dist/interface/assets/main-DVwdxi04.js +3 -0
  123. package/dist/interface/assets/mqtt-COWs_r7k.js +1 -0
  124. package/dist/interface/assets/{notifications-CIJEGR7A.js → notifications-sIv1-H85.js} +1 -1
  125. package/dist/interface/assets/{plugins-HYHSAzD-.js → plugins-CXQj6XQt.js} +1 -1
  126. package/dist/interface/assets/rooms-DScX89Ks.js +1 -0
  127. package/dist/interface/assets/{sensorIcons-ByPd6LR6.js → sensorIcons-CvVtOgZB.js} +1 -1
  128. package/dist/interface/assets/sensorSlots-DsfKs8_k.js +1 -0
  129. package/dist/interface/assets/{sensors-BgjfSfk6.js → sensors-Bf_gYmB5.js} +1 -1
  130. package/dist/interface/assets/{server-CIDx_I6S.js → server-CahE6_Pv.js} +1 -1
  131. package/dist/interface/assets/{theme-GSy1mQOB.js → theme-DmUc7UHl.js} +1 -1
  132. package/dist/interface/assets/{types-Do9v0d7I.js → types-D4kUDpid.js} +1 -1
  133. package/dist/interface/assets/{types-Dlk_iSoE.js → types-Dse8_nTX.js} +1 -1
  134. package/dist/interface/assets/types-hwOSxlNg.js +1 -0
  135. package/dist/interface/assets/ungrouped-Byxe4LNR.js +1 -0
  136. package/dist/interface/assets/ungrouped-n3OnGhCH.css +1 -0
  137. package/dist/interface/assets/{updates-73Yq11IN.js → updates-C4gAnNY6.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-B0_bYa9V.js → useAppVersion--b5Zj7tl.js} +1 -1
  139. package/dist/interface/assets/useBackupRestore-Bx13MgrJ.js +1 -0
  140. package/dist/interface/assets/{useCameraOptions-DKeZhfOM.js → useCameraOptions-DN4gJjIl.js} +1 -1
  141. package/dist/interface/assets/{useLogsSocket-CmyTTUGN.js → useLogsSocket-DqVa6Hky.js} +1 -1
  142. package/dist/interface/assets/{useNavLayout-DOFS3269.js → useNavLayout-CuQ9F9cj.js} +1 -1
  143. package/dist/interface/assets/{usePermissions-D5I3gACT.js → usePermissions-C1L7m3Nc.js} +1 -1
  144. package/dist/interface/assets/{usePluginUpdates-BWxJ04h7.js → usePluginUpdates-CvQPy02x.js} +1 -1
  145. package/dist/interface/assets/{usePushRegistration-DWreQ-Hn.js → usePushRegistration-BKvefMFq.js} +1 -1
  146. package/dist/interface/assets/{useServerRestart-DDW-nw_t.js → useServerRestart-ByN6484v.js} +1 -1
  147. package/dist/interface/assets/{useStreamStatus-COIha2d8.js → useStreamStatus-BbtTnidZ.js} +1 -1
  148. package/dist/interface/assets/{useTabSwipe-aoMqro29.js → useTabSwipe-D9udGzPx.js} +1 -1
  149. package/dist/interface/assets/{useUpdateChannel-CM9MYCZy.js → useUpdateChannel-8t3W9dNr.js} +1 -1
  150. package/dist/interface/assets/{useUpdatesSocket-DY4i32ml.js → useUpdatesSocket-D9s_5T3l.js} +1 -1
  151. package/dist/interface/assets/{useUserOptions-DHfprGgA.js → useUserOptions-CEPYkuSm.js} +1 -1
  152. package/dist/interface/assets/{vendor-cameraui-BRv7o4zz.js → vendor-cameraui-Dlzn4pyz.js} +26 -26
  153. package/dist/interface/assets/vendor-core-COMSlypG.js +1 -0
  154. package/dist/interface/assets/{vendor-primevue-C85v-zl5.js → vendor-primevue-DF71EsUM.js} +55 -55
  155. package/dist/interface/ha/{404-TwTUCqDv.js → 404-Bm-oxxip.js} +1 -1
  156. package/dist/interface/ha/{About-BeZkyUdW.js → About-CDcN0Q2J.js} +6 -6
  157. package/dist/interface/ha/{Automation-CL7j0Vgh.js → Automation-BQd4b0ym.js} +149 -149
  158. package/dist/interface/ha/{AutomationImport-D7arOHP-.js → AutomationImport-CX1C76Wb.js} +6 -6
  159. package/dist/interface/ha/{AutomationStore-DN0yBk6X.js → AutomationStore-D4B0KpoW.js} +27 -27
  160. package/dist/interface/ha/{AutomationStoreDetail-DUuLEnvx.js → AutomationStoreDetail-B53Giz4B.js} +24 -24
  161. package/dist/interface/ha/{Automations-Dfbren5V.js → Automations-BXlwOElS.js} +94 -94
  162. package/dist/interface/ha/{Camera-BxWpvZM8.js → Camera-CauwMneE.js} +182 -180
  163. package/dist/interface/ha/{CameraConsole-DT7BFGXD.js → CameraConsole-CmsMjuIR.js} +5 -5
  164. package/dist/interface/ha/{Cameras-ClmwBeNf.js → Cameras-CyHDmgs0.js} +117 -117
  165. package/dist/interface/ha/{Camview-CFAKNI6-.js → Camview-BwwvU5k8.js} +112 -112
  166. package/dist/interface/ha/{Config-D83QNz1P.js → Config-C_Zuyeoc.js} +9 -9
  167. package/dist/interface/ha/{ConfigActionCameraControl-D-2_gkM-.js → ConfigActionCameraControl-C1_QyuX8.js} +3 -3
  168. package/dist/interface/ha/{ConfigActionHttp-CDmzaJOb.js → ConfigActionHttp-C0d433mh.js} +2 -2
  169. package/dist/interface/ha/{ConfigActionImageInput-7mA-jNIj.js → ConfigActionImageInput-BYys2FwC.js} +1 -1
  170. package/dist/interface/ha/{ConfigActionMqtt-CGLqAswk.js → ConfigActionMqtt-DznDfzze.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionNotification-DyhLsVfe.js → ConfigActionNotification-CC2qfBLm.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionNotificationControl-C381uizv.js → ConfigActionNotificationControl-3jlm7_A4.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionOutput-Cg6IMq5u.js → ConfigActionOutput-BEf1U3_l.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionPlugin-vFD_OHt8.js → ConfigActionPlugin-C57BUrJD.js} +5 -5
  175. package/dist/interface/ha/{ConfigActionSensor-B0JYbb-_.js → ConfigActionSensor-BkoSPCUJ.js} +5 -5
  176. package/dist/interface/ha/{ConfigActionSnapshot-DlYRwdII.js → ConfigActionSnapshot-CC3EpmCq.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionVariable-6HNVpSjs.js → ConfigActionVariable-JDyDhSzZ.js} +1 -1
  178. package/dist/interface/ha/{ConfigConditionIfElse-b5UhYSf4.js → ConfigConditionIfElse-BVg-TUpv.js} +3 -3
  179. package/dist/interface/ha/{ConfigConditionSensorState-CI1CS9qa.js → ConfigConditionSensorState-YYeWly1H.js} +4 -4
  180. package/dist/interface/ha/{ConfigConditionSwitch-DGoKb_ZM.js → ConfigConditionSwitch-DQHXX-4U.js} +5 -5
  181. package/dist/interface/ha/{ConfigSensorValueInput-BGQytgns.js → ConfigSensorValueInput-BuuzQ1nJ.js} +8 -8
  182. package/dist/interface/ha/{ConfigTriggerDetection-l_h4kt0X.js → ConfigTriggerDetection-CUvkAmpJ.js} +3 -3
  183. package/dist/interface/ha/{ConfigTriggerGeofence-Y2Od0L2_.js → ConfigTriggerGeofence-CCHELnfy.js} +7 -7
  184. package/dist/interface/ha/{ConfigTriggerMqtt-DttCVDHe.js → ConfigTriggerMqtt-BfLnCiWZ.js} +1 -1
  185. package/dist/interface/ha/{ConfigTriggerSensor-O4mWaXnJ.js → ConfigTriggerSensor-Bi-Jld2G.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSystem-C_uWI6kc.js → ConfigTriggerSystem-_HXrWjaJ.js} +2 -2
  187. package/dist/interface/ha/{ConfigTriggerWebhook-CY5vDxZe.js → ConfigTriggerWebhook-CFYsVF_r.js} +2 -2
  188. package/dist/interface/ha/{Console-DdOU0_jE.js → Console-CR95JZFd.js} +101 -101
  189. package/dist/interface/ha/{CuiAutomationRunsDialog-_WF5J4hV.js → CuiAutomationRunsDialog--mpkPFmw.js} +2 -2
  190. package/dist/interface/ha/{CuiBottomSheet-Bzr2zhm3.js → CuiBottomSheet-DfFzwDjq.js} +3 -3
  191. package/dist/interface/ha/{CuiCameraRecordings-HqWrHpr-.js → CuiCameraRecordings-DCIFFbFk.js} +13 -13
  192. package/dist/interface/ha/{CuiCameraShares-Bw1RlqC-.js → CuiCameraShares-Dwv_XtX4.js} +7 -7
  193. package/dist/interface/ha/{CuiCameraTable-DvIlmfmW.js → CuiCameraTable-L6wd-VYz.js} +9 -9
  194. package/dist/interface/ha/{CuiChartTable-C6vRR9ny.js → CuiChartTable-CxJR8u6U.js} +16 -16
  195. package/dist/interface/ha/{CuiConsole-B6fDJfvq.js → CuiConsole-CvL9TXZY.js} +7 -7
  196. package/dist/interface/ha/{CuiDataTable-BLL7vWD1.js → CuiDataTable-Bn80WJXi.js} +7 -7
  197. package/dist/interface/ha/{CuiPluginCard-CsJ-dlra.js → CuiPluginCard-CtOzPAal.js} +32 -32
  198. package/dist/interface/ha/CuiPluginOAuthButton-1LgNMLII.js +79 -0
  199. package/dist/interface/ha/{CuiPluginTrustBadge-CQtfi3UI.js → CuiPluginTrustBadge-mHuy3ab9.js} +3 -3
  200. package/dist/interface/ha/{CuiQRCode-DOj5PJo2.js → CuiQRCode-CloepWte.js} +6 -6
  201. package/dist/interface/ha/{CuiSchema-Dg43r2Vo.js → CuiSchema-CJsEWewj.js} +132 -132
  202. package/dist/interface/ha/{CuiTopNavbarItem-CMu_hCIP.js → CuiTopNavbarItem-B2EM-tmz.js} +3 -3
  203. package/dist/interface/ha/{Faces-Ed0ytbse.js → Faces-BMkZfxDm.js} +66 -66
  204. package/dist/interface/ha/{FirstSteps-Dkw2Enre.js → FirstSteps-BH0mga3u.js} +67 -67
  205. package/dist/interface/ha/{Floorplan-IdC1tgDr.js → Floorplan-CyfIUI4Z.js} +220 -220
  206. package/dist/interface/ha/{Instances-dvDlInn-.js → Instances-BwNXc91J.js} +18 -18
  207. package/dist/interface/ha/{Logs-rUL_mLTJ.js → Logs-CcSiN16r.js} +11 -11
  208. package/dist/interface/ha/{Menu-CfMgYCN9.js → Menu-qdN0OBb7.js} +15 -15
  209. package/dist/interface/ha/{Metrics-DYNvEdb-.js → Metrics-ClM5lhvC.js} +93 -93
  210. package/dist/interface/ha/{OAuthDeviceFlow-vgBWOkzP.js → OAuthDeviceFlow-BBr-rER_.js} +5 -5
  211. package/dist/interface/ha/{Plugin-PqUW_696.js → Plugin-BBkSXygO.js} +104 -104
  212. package/dist/interface/ha/{PluginConsole-CFJKNhQw.js → PluginConsole-DqrBnXSX.js} +4 -4
  213. package/dist/interface/ha/{PluginDetail-cC8nut35.js → PluginDetail-Clu6nv-B.js} +12 -12
  214. package/dist/interface/ha/{PluginSearch-BzSs0ibh.js → PluginSearch-Dn-24FLX.js} +53 -53
  215. package/dist/interface/ha/{PluginUpdateProgress-CtM7lrl9.js → PluginUpdateProgress-CzhHUKDg.js} +3 -3
  216. package/dist/interface/ha/{Plugins-CzvlXEaH.js → Plugins-qYJD5ioU.js} +27 -27
  217. package/dist/interface/ha/{Recordings-BtsW8I5D.js → Recordings-CBIt3vL7.js} +384 -366
  218. package/dist/interface/ha/{SensorEdit-DMwyTDIG.js → SensorEdit-BbG6apZA.js} +353 -353
  219. package/dist/interface/ha/{SensorHistory-DoJhFbTC.js → SensorHistory-CqGsnQPW.js} +2 -2
  220. package/dist/interface/ha/{Sensors-BoRfutfx.js → Sensors-mKWkCDF8.js} +507 -481
  221. package/dist/interface/ha/{Settings-vmfs1rfj.js → Settings-C5J4ubiA.js} +24 -24
  222. package/dist/interface/ha/SettingsAccount-tCyZsBxG.js +970 -0
  223. package/dist/interface/ha/{SettingsAppearance-v9zeetcx.js → SettingsAppearance-DqJp4Clt.js} +14 -14
  224. package/dist/interface/ha/{SettingsBackup-eO4r8MZe.js → SettingsBackup-CHnCKYgz.js} +6 -6
  225. package/dist/interface/ha/{SettingsList-burOi4S6.js → SettingsList-DsQOPeKW.js} +5 -5
  226. package/dist/interface/ha/{SettingsMqtt-CjZERKR8.js → SettingsMqtt-TPIsEcXe.js} +124 -124
  227. package/dist/interface/ha/SettingsNotifications-DH3T_xyh.js +529 -0
  228. package/dist/interface/ha/{SettingsRecordings-DzsXkzeu.js → SettingsRecordings-Ay8lj8Lm.js} +7 -7
  229. package/dist/interface/ha/{SettingsRemote-B0HZwZj3.js → SettingsRemote-CHiBADuu.js} +202 -202
  230. package/dist/interface/ha/{SettingsSystem-Bc_c8XYh.js → SettingsSystem-tqs40pUW.js} +10 -10
  231. package/dist/interface/ha/{SettingsUsers-CxL65q1C.js → SettingsUsers-BUbC_Qc7.js} +29 -29
  232. package/dist/interface/ha/{Terminal-DsX-_5R2.js → Terminal-f_b-089t.js} +76 -76
  233. package/dist/interface/ha/Training-Dcxo9PFi.js +1479 -0
  234. package/dist/interface/ha/{Updates-DG9i-tQu.js → Updates-aGl5hy8Q.js} +14 -14
  235. package/dist/interface/ha/{VariableInput-CcevSEwK.js → VariableInput-yJGbaZEo.js} +1 -1
  236. package/dist/interface/ha/{VersionsHandler-5GeFt6Lw.js → VersionsHandler-Q4PfRpbs.js} +10 -10
  237. package/dist/interface/ha/{VirtualSensorCreate-dWN8FANX.js → VirtualSensorCreate-Gbi6aJBh.js} +8 -8
  238. package/dist/interface/ha/{Workers-D1y6eFKT.js → Workers-BbBqOc0H.js} +167 -167
  239. package/dist/interface/ha/{api-DDUXI4DG.js → api-DBu4gh4_.js} +9705 -9275
  240. package/dist/interface/ha/{api-BgQ9AVgK.js → api-DY0z6Sp_.js} +3 -3
  241. package/dist/interface/ha/{auth-C8Vp1TkJ.js → auth-C2V-kpRp.js} +38 -38
  242. package/dist/interface/ha/{automationBlueprint-DhRjWL2p.js → automationBlueprint-MGUZJTFY.js} +4 -4
  243. package/dist/interface/ha/cameraui-cards.js +1 -1
  244. package/dist/interface/ha/{cards-BGikU5nh.js → cards-BA6g_9R5.js} +573 -573
  245. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  246. package/dist/interface/ha/{config-WqhFqx8D.js → config-BGlhgEOa.js} +16 -16
  247. package/dist/interface/ha/{dist-BQFunPaA.js → dist-BqTZri2H.js} +743 -725
  248. package/dist/interface/ha/{mqtt-CQopAljB.js → mqtt-BLKZNA-E.js} +12 -12
  249. package/dist/interface/ha/{notifications-C4IU7Zbu.js → notifications-BW0RNMnG.js} +22 -22
  250. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DINxhtY-.js} +188 -162
  251. package/dist/interface/ha/{plugins-C2n0mAnr.js → plugins-Cj-B4Nwy.js} +62 -62
  252. package/dist/interface/ha/{rooms-qqdOrA2J.js → rooms-C32i51p-.js} +7 -7
  253. package/dist/interface/ha/{server-D6Yglz-z.js → server-CfbE_0Z9.js} +31 -31
  254. package/dist/interface/ha/{types-BtcJ7st-.js → types-Ry6RjBNa.js} +32 -32
  255. package/dist/interface/ha/{ungrouped-aASsOUNF.js → ungrouped-CO29-tSV.js} +415 -211
  256. package/dist/interface/ha/{updates-BuAFU-ZQ.js → updates-CZPI8XJ1.js} +38 -38
  257. package/dist/interface/ha/{useAppVersion-D0EOwpoO.js → useAppVersion-9jfqRo_z.js} +1 -1
  258. package/dist/interface/ha/{useLogsSocket-CCewWMZM.js → useLogsSocket-B0E7a3ys.js} +1 -1
  259. package/dist/interface/ha/{useNavLayout-B_QzdVtJ.js → useNavLayout-B2wfeha-.js} +19 -19
  260. package/dist/interface/ha/{useServerRestart-B0OMNlwZ.js → useServerRestart-CCH-yMWR.js} +1 -1
  261. package/dist/interface/ha/{useTabSwipe-DG6Gx2Md.js → useTabSwipe-D2uqGEvR.js} +1 -1
  262. package/dist/interface/ha/{useUpdateChannel-CXDGlWX2.js → useUpdateChannel--SP3Wjym.js} +2 -2
  263. package/dist/interface/ha/{useUpdatesSocket-BgCJLp_W.js → useUpdatesSocket-BBbUCMU-.js} +1 -1
  264. package/dist/interface/ha/{useUserOptions-rirRksyl.js → useUserOptions-Bh54UAkH.js} +1 -1
  265. package/dist/interface/index.html +28 -27
  266. package/dist/interface/sw.js +1 -1
  267. package/dist/server/package.json +8 -8
  268. package/dist/server/src/api/controllers/training.controller.d.ts +40 -0
  269. package/dist/server/src/api/controllers/training.controller.js +97 -0
  270. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  271. package/dist/server/src/api/database/constants.d.ts +1 -0
  272. package/dist/server/src/api/database/constants.js +1 -0
  273. package/dist/server/src/api/database/constants.js.map +1 -1
  274. package/dist/server/src/api/database/index.d.ts +3 -2
  275. package/dist/server/src/api/database/index.js +4 -2
  276. package/dist/server/src/api/database/index.js.map +1 -1
  277. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  278. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  280. package/dist/server/src/api/database/record-schemas.d.ts +7 -1
  281. package/dist/server/src/api/database/record-schemas.js +8 -0
  282. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  283. package/dist/server/src/api/database/types.d.ts +27 -0
  284. package/dist/server/src/api/index.js +1 -1
  285. package/dist/server/src/api/index.js.map +1 -1
  286. package/dist/server/src/api/render-index.js +1 -1
  287. package/dist/server/src/api/render-index.js.map +1 -1
  288. package/dist/server/src/api/routes/index.js +2 -0
  289. package/dist/server/src/api/routes/index.js.map +1 -1
  290. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  291. package/dist/server/src/api/routes/training.routes.js +107 -0
  292. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  293. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  294. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  295. package/dist/server/src/api/schemas/training.schema.d.ts +46 -0
  296. package/dist/server/src/api/schemas/training.schema.js +45 -0
  297. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  298. package/dist/server/src/api/services/cameras.service.js +7 -2
  299. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  300. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  301. package/dist/server/src/api/services/sensors.service.js +1 -0
  302. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  303. package/dist/server/src/api/types/index.d.ts +2 -1
  304. package/dist/server/src/api/websocket/index.js +3 -1
  305. package/dist/server/src/api/websocket/index.js.map +1 -1
  306. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  307. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  308. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  309. package/dist/server/src/api/websocket/types.d.ts +1 -1
  310. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  311. package/dist/server/src/camera/decoder/detection-coordinator.js +48 -2
  312. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  313. package/dist/server/src/camera/decoder/detection-window.d.ts +5 -0
  314. package/dist/server/src/camera/decoder/detection-window.js +5 -5
  315. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  316. package/dist/server/src/camera/decoder/event-manager.d.ts +10 -0
  317. package/dist/server/src/camera/decoder/event-manager.js +50 -1
  318. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  319. package/dist/server/src/camera/decoder/training-sink.d.ts +37 -0
  320. package/dist/server/src/camera/decoder/training-sink.js +146 -0
  321. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  322. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  323. package/dist/server/src/camera/decoder/types.js +8 -0
  324. package/dist/server/src/camera/decoder/types.js.map +1 -1
  325. package/dist/server/src/manager/coreManager.d.ts +3 -1
  326. package/dist/server/src/manager/coreManager.js +18 -0
  327. package/dist/server/src/manager/coreManager.js.map +1 -1
  328. package/dist/server/src/manager/trainingCandidateManager.d.ts +41 -0
  329. package/dist/server/src/manager/trainingCandidateManager.js +249 -0
  330. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  331. package/dist/server/src/manager/types.d.ts +23 -0
  332. package/dist/server/src/manager/types.js.map +1 -1
  333. package/dist/server/src/remote/api/index.d.ts +2 -0
  334. package/dist/server/src/remote/api/index.js +3 -0
  335. package/dist/server/src/remote/api/index.js.map +1 -1
  336. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  337. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  338. package/dist/server/src/remote/api/routes/train.d.ts +24 -0
  339. package/dist/server/src/remote/api/routes/train.js +51 -0
  340. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  341. package/dist/server/src/rpc/index.d.ts +2 -0
  342. package/dist/server/src/rpc/index.js +5 -0
  343. package/dist/server/src/rpc/index.js.map +1 -1
  344. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  345. package/dist/server/src/rpc/server.js +2 -0
  346. package/dist/server/src/rpc/server.js.map +1 -1
  347. package/dist/server/src/sensors/registry.d.ts +1 -0
  348. package/dist/server/src/sensors/registry.js +10 -0
  349. package/dist/server/src/sensors/registry.js.map +1 -1
  350. package/package.json +8 -8
  351. package/dist/interface/assets/Automation-DThD-djr.js +0 -3
  352. package/dist/interface/assets/AutomationImport-CHKkZqA4.js +0 -2
  353. package/dist/interface/assets/AutomationStore-Aon4kqZU.js +0 -2
  354. package/dist/interface/assets/AutomationStoreDetail-CfZ45tLW.js +0 -2
  355. package/dist/interface/assets/Automations-BkRuMd-d.js +0 -2
  356. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  357. package/dist/interface/assets/Camera-G6xTnRAk.js +0 -2
  358. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  359. package/dist/interface/assets/Camview-BjCuw7nI.js +0 -1
  360. package/dist/interface/assets/Config-BTXb1LHN.js +0 -2
  361. package/dist/interface/assets/ConfigActionNotification-DtoP3c7I.js +0 -1
  362. package/dist/interface/assets/ConfigTriggerGeofence-DLuNWaN6.js +0 -1
  363. package/dist/interface/assets/Console-hUeddOJc.js +0 -1
  364. package/dist/interface/assets/CuiBottomSheet-BGVpKjqe.js +0 -1
  365. package/dist/interface/assets/CuiBottomSheet-DOW6gNj0.js +0 -1
  366. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  367. package/dist/interface/assets/CuiCameraPipCard-BBMkU-eN.js +0 -1
  368. package/dist/interface/assets/CuiCameraShares-C9Th3jEn.js +0 -1
  369. package/dist/interface/assets/CuiCameraTable-Cti7FZma.js +0 -1
  370. package/dist/interface/assets/CuiLightControl-BhBIiPv-.js +0 -1
  371. package/dist/interface/assets/CuiPluginCard-yYGvVtDJ.js +0 -2
  372. package/dist/interface/assets/CuiPluginOAuthButton-C8VRPoMj.js +0 -2
  373. package/dist/interface/assets/CuiSchema-Dy2eRCu2.js +0 -1
  374. package/dist/interface/assets/CuiTopNavbarItem-Btig8IUi.js +0 -1
  375. package/dist/interface/assets/Faces-D5PMl5Bx.js +0 -1
  376. package/dist/interface/assets/FirstSteps-BcjeaLz_.js +0 -1
  377. package/dist/interface/assets/Floorplan-DHl3zibU.js +0 -1
  378. package/dist/interface/assets/Instances-DXksjsQR.js +0 -1
  379. package/dist/interface/assets/Metrics-BWTImHsV.js +0 -9
  380. package/dist/interface/assets/Plugin-D5WuhMPO.js +0 -1
  381. package/dist/interface/assets/PluginDetail-3qrahg0_.js +0 -2
  382. package/dist/interface/assets/PluginSearch-D8zmSpkN.js +0 -2
  383. package/dist/interface/assets/PluginSearch-D_ba5x-O.js +0 -1
  384. package/dist/interface/assets/Plugins-5MzJrkSA.js +0 -1
  385. package/dist/interface/assets/Recordings-BuGuUwYE.js +0 -1
  386. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  387. package/dist/interface/assets/SensorEdit-DF4sw0EW.js +0 -1
  388. package/dist/interface/assets/Sensors-D6GwAXQ2.js +0 -2
  389. package/dist/interface/assets/Settings-BZf-ziEZ.js +0 -1
  390. package/dist/interface/assets/SettingsAccount--5p79E6E.js +0 -1
  391. package/dist/interface/assets/SettingsAccount-Dlc0Wddo.js +0 -1
  392. package/dist/interface/assets/SettingsAppearance-B59zzxu4.js +0 -1
  393. package/dist/interface/assets/SettingsAppearance-xPKxmDpp.js +0 -1
  394. package/dist/interface/assets/SettingsBackup-CJJ5VBzp.js +0 -1
  395. package/dist/interface/assets/SettingsMqtt-DUUAcYuG.js +0 -1
  396. package/dist/interface/assets/SettingsNotifications-BH63oRsc.js +0 -1
  397. package/dist/interface/assets/SettingsRemote-Dbaxaq5H.js +0 -2
  398. package/dist/interface/assets/SettingsSystem-DzHIleOc.js +0 -2
  399. package/dist/interface/assets/SettingsUsers-D5YuEr7c.js +0 -1
  400. package/dist/interface/assets/Updates-DnAut-3U.js +0 -2
  401. package/dist/interface/assets/Workers-6aoL2zvF.js +0 -2
  402. package/dist/interface/assets/api-BI5TkcMD.js +0 -4
  403. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  404. package/dist/interface/assets/cameraSources-C3PFkewy.js +0 -1
  405. package/dist/interface/assets/cloudHandoff-B1HA65AZ.js +0 -1
  406. package/dist/interface/assets/main-C6AqiNZK.js +0 -3
  407. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  408. package/dist/interface/assets/mqtt-DGNlVikj.js +0 -1
  409. package/dist/interface/assets/rooms-DL_uUrGc.js +0 -1
  410. package/dist/interface/assets/types-QIK1kdY6.js +0 -1
  411. package/dist/interface/assets/ungrouped-CupkuPIQ.js +0 -1
  412. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  413. package/dist/interface/assets/useBackupRestore-jdHT_hab.js +0 -1
  414. package/dist/interface/assets/vendor-core-BUse5adB.js +0 -1
  415. package/dist/interface/ha/CuiPluginOAuthButton-ChNW42ux.js +0 -105
  416. package/dist/interface/ha/SettingsAccount-xJy6kGf6.js +0 -970
  417. package/dist/interface/ha/SettingsNotifications-QCKfSffa.js +0 -529
@@ -1,36 +1,141 @@
1
1
  import { Et as e, et as t, f as n, gt as r, i, m as a, rt as o } from "./ripple-BilzxWfY.js";
2
2
  import { n as s } from "./virtualscroller-s_gNqN5p.js";
3
- import { D as c, G as l, H as u, Jt as d, K as f, M as p, N as m, Wt as h, Y as g, d as _, f as v, kt as y, l as b, lt as x, ot as S, p as C, q as w, qt as T, r as E, rt as D, u as O, ut as k, x as A, xt as j, y as M, z as ee } from "./runtime-core.esm-bundler-D8slQ3BU.js";
4
- import { t as te } from "./tooltip-BIrD_hC8.js";
5
- import { $ as ne, Bn as N, J as re, Nn as ie, Pn as ae, Qn as oe, Un as se, X as ce, Y as le, Zn as P, _r as ue, et as de, fr as fe, gi as pe, hr as me, ia as he, ir as ge, jn as _e, o as ve, or as ye, pt as be, sr as xe, vr as F, yr as Se, zn as Ce } from "./api-DDUXI4DG.js";
6
- import { _ as we, o as Te } from "./intercomService-jB2mTgsn.js";
7
- import { n as Ee } from "./vue-i18n-Dcb07o5U.js";
8
- import { M as De } from "./dist-BQFunPaA.js";
9
- import { t as I } from "./spinner-D6iUldg9.js";
10
- import { t as Oe } from "./button-BlYuI0Q7.js";
11
- //#region src/components/CuiRecordings/RecordingCard.vue?vue&type=script&setup=true&lang.ts
12
- var ke = ["src"], Ae = {
3
+ import { D as c, G as l, H as u, Jt as d, K as f, M as p, N as m, Wt as h, Y as g, _t as _, d as v, f as y, gt as b, kt as x, l as S, lt as C, ot as ee, p as w, q as T, qt as E, r as D, rt as O, u as k, ut as A, x as j, xt as M, y as N, z as te } from "./runtime-core.esm-bundler-D8slQ3BU.js";
4
+ import { t as ne } from "./tooltip-BIrD_hC8.js";
5
+ import { $ as P, Bn as re, Ci as ie, Cr as F, Hn as ae, Kn as oe, Mn as se, Q as ce, Rn as le, Sr as ue, Un as de, Vn as fe, X as pe, Xn as me, Y as he, Z as ge, _r as _e, _t as ve, br as ye, da as be, dr as xe, fr as Se, it as Ce, o as we, rr as Te, rt as Ee, ut as De, wr as Oe, zn as I } from "./api-DBu4gh4_.js";
6
+ import { _ as ke, o as Ae } from "./intercomService-jB2mTgsn.js";
7
+ import { n as je } from "./vue-i18n-Dcb07o5U.js";
8
+ import { M as Me } from "./dist-BqTZri2H.js";
9
+ import { t as Ne } from "./spinner-D6iUldg9.js";
10
+ import { t as Pe } from "./button-BlYuI0Q7.js";
11
+ import { t as Fe } from "./inputtext-DGIESrd0.js";
12
+ import { t as Ie } from "./select-DjWkRqsI.js";
13
+ import { t as L } from "./ring-resize-VS4MSeBv.js";
14
+ //#region ~icons/tabler/dots-vertical
15
+ var Le = {
16
+ viewBox: "0 0 24 24",
17
+ width: "1.2em",
18
+ height: "1.2em"
19
+ };
20
+ function R(e, t) {
21
+ return u(), w("svg", Le, [...t[0] ||= [k("path", {
22
+ fill: "none",
23
+ stroke: "currentColor",
24
+ "stroke-linecap": "round",
25
+ "stroke-linejoin": "round",
26
+ "stroke-width": "2",
27
+ d: "M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0-14a1 1 0 1 0 2 0a1 1 0 1 0-2 0"
28
+ }, null, -1)]]);
29
+ }
30
+ var Re = _({
31
+ name: "tabler-dots-vertical",
32
+ render: R
33
+ }), z = {
34
+ viewBox: "0 0 24 24",
35
+ width: "1.2em",
36
+ height: "1.2em"
37
+ };
38
+ function B(e, t) {
39
+ return u(), w("svg", z, [...t[0] ||= [k("path", {
40
+ fill: "none",
41
+ stroke: "currentColor",
42
+ "stroke-linecap": "round",
43
+ "stroke-linejoin": "round",
44
+ "stroke-width": "2",
45
+ d: "M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3.5m4.92.61a2.1 2.1 0 0 1 2.97 2.97L18 22h-3v-3z"
46
+ }, null, -1)]]);
47
+ }
48
+ var ze = _({
49
+ name: "tabler-user-edit",
50
+ render: B
51
+ }), V = { class: "flex flex-col gap-4 w-full" }, H = {
52
+ key: 0,
53
+ class: "flex justify-center"
54
+ }, U = ["src", "alt"], W = { class: "flex flex-col gap-2 w-full" }, Be = { class: "cui-label" }, G = { class: "flex flex-col gap-2 w-full" }, K = {
55
+ for: "reassignTarget",
56
+ class: "cui-label"
57
+ }, Ve = /* @__PURE__ */ j({
58
+ __name: "FaceReassign",
59
+ props: {
60
+ cropUrl: {},
61
+ oldName: {}
62
+ },
63
+ setup(e, { expose: t }) {
64
+ let n = e, { t: r } = je(), { plugin: i } = Me("@camera.ui/camera-ui-nvr"), a = M(null), o = M([]), s = M(!0), c = S(() => n.oldName === "unknown" ? r("views.recordings.reassign_unknown_person") : n.oldName), l = S(() => {
65
+ let e = o.value.filter((e) => e !== n.oldName).map((e) => ({
66
+ label: e,
67
+ value: e
68
+ }));
69
+ return n.oldName !== "unknown" && e.push({
70
+ label: r("views.recordings.reassign_unknown"),
71
+ value: ""
72
+ }), e;
73
+ });
74
+ return te(async () => {
75
+ try {
76
+ let e = await i.value?.listKnownFaces?.();
77
+ o.value = (e ?? []).map((e) => e.name);
78
+ } catch {} finally {
79
+ s.value = !1;
80
+ }
81
+ }), t({ onConfirm: async () => a.value }), (e, t) => {
82
+ let r = Fe, i = Ie;
83
+ return u(), w("div", V, [
84
+ n.cropUrl ? (u(), w("div", H, [k("img", {
85
+ src: n.cropUrl,
86
+ alt: x(c),
87
+ class: "w-36 h-36 rounded-xl object-cover bg-neutral-900"
88
+ }, null, 8, U)])) : y("", !0),
89
+ k("div", W, [k("label", Be, d(e.$t("views.recordings.reassign_current")), 1), N(r, {
90
+ "model-value": x(c),
91
+ class: "w-full",
92
+ fluid: "",
93
+ disabled: ""
94
+ }, null, 8, ["model-value"])]),
95
+ k("div", G, [k("label", K, d(e.$t("views.recordings.reassign_new")), 1), N(i, {
96
+ id: "reassignTarget",
97
+ modelValue: x(a),
98
+ "onUpdate:modelValue": t[0] ||= (e) => b(a) ? a.value = e : null,
99
+ options: x(l),
100
+ "option-label": "label",
101
+ "option-value": "value",
102
+ class: "w-full",
103
+ fluid: "",
104
+ loading: x(s),
105
+ disabled: x(s),
106
+ placeholder: e.$t("views.faces.enter_or_pick_name")
107
+ }, null, 8, [
108
+ "modelValue",
109
+ "options",
110
+ "loading",
111
+ "disabled",
112
+ "placeholder"
113
+ ])])
114
+ ]);
115
+ };
116
+ }
117
+ }), He = ["src"], Ue = {
13
118
  key: 2,
14
119
  class: "w-full h-full flex items-center justify-center bg-neutral-800/80"
15
- }, je = { class: "absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]" }, Me = { class: "flex items-center gap-1.5" }, Ne = { class: "text-xs font-semibold text-white truncate min-w-0 flex-1" }, Pe = {
16
- key: 1,
120
+ }, We = { class: "absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]" }, Ge = { class: "flex items-center gap-1.5" }, Ke = { class: "text-xs font-semibold text-white truncate min-w-0 flex-1" }, qe = {
121
+ key: 0,
17
122
  class: "text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0"
18
- }, Fe = { class: "text-[10px] text-white/70" }, Ie = { class: "block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5" }, Le = { class: "flex items-center gap-1 min-w-0" }, Re = ["title"], ze = {
123
+ }, Je = { class: "text-[10px] text-white/70" }, Ye = { class: "block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5" }, Xe = { class: "flex items-center gap-1 min-w-0" }, Ze = ["title"], Qe = {
19
124
  key: 0,
20
125
  class: "flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200"
21
- }, Be = ["onClick"], Ve = ["src", "alt"], He = {
126
+ }, $e = ["onClick"], et = ["src", "alt"], tt = {
22
127
  key: 0,
23
128
  class: "text-[10px] text-white/60 font-medium"
24
- }, Ue = {
129
+ }, nt = {
25
130
  key: 6,
26
131
  class: "absolute inset-0 z-[4] flex items-center justify-center pointer-events-none"
27
- }, We = {
132
+ }, rt = {
28
133
  key: 7,
29
134
  class: "absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none"
30
- }, Ge = {
135
+ }, it = {
31
136
  class: "text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap",
32
137
  style: { "font-variant-numeric": "tabular-nums" }
33
- }, Ke = 24, qe = 30, Je = 22, Ye = 28, Xe = 8, L = /*#__PURE__*/ F(/* @__PURE__ */ A({
138
+ }, at = 24, ot = 30, st = 22, ct = 28, lt = 8, q = /*#__PURE__*/ F(/* @__PURE__ */ j({
34
139
  __name: "RecordingCard",
35
140
  props: {
36
141
  event: {},
@@ -50,7 +155,7 @@ var ke = ["src"], Ae = {
50
155
  "openTrace"
51
156
  ],
52
157
  setup(e, { emit: t }) {
53
- let r = e, i = t, o = Te(), s = pe(), { t: f } = Ee(), p = oe("@camera.ui/camera-ui-nvr"), { plugin: m } = De("@camera.ui/camera-ui-nvr"), { icons: w } = be(), T = p.getCachedThumbnails(r.event.id), A = T ? P(T, r.event, "card", r.segIndex).url ? "loaded" : "empty" : "loading", F = c(ie, void 0), I = D("rootRef"), L = D("previewCanvasRef"), R = D("footerRef"), z = j(!1), B = re(I, () => xt(), () => $()), V = j(!1), H = j(T ?? null), U = j(A), W = j(!1), G = j(0), { width: Ze } = we(R), Qe = b(() => (p.storeVersion.value, r.event.segments?.find((e) => e?.description)?.description?.title)), K = b(() => {
158
+ let r = e, i = t, o = Ae(), s = ie(), { t: f } = je(), p = me("@camera.ui/camera-ui-nvr"), { plugin: m } = Me("@camera.ui/camera-ui-nvr"), _ = De(), { icons: b } = ve(), T = p.getCachedThumbnails(r.event.id), E = T ? I(T, r.event, "card", r.segIndex).url ? "loaded" : "empty" : "loading", j = c(ae, void 0), F = O("rootRef"), Ne = O("previewCanvasRef"), Fe = O("footerRef"), Ie = O("cardMenuRef"), L = M(!1), Le = ge(F, () => Pt(), () => $()), R = M(!1), z = M(T ?? null), B = M(E), V = M(!1), H = M(0), U = M(null), W = M(!1), { width: Be } = ke(Fe), G = S(() => U.value ?? r.event.favorite ?? !1), K = S(() => {
54
159
  if (r.semanticScore == null) return;
55
160
  let e = Math.max(0, Math.min(1, r.semanticScore));
56
161
  return {
@@ -58,32 +163,37 @@ var ke = ["src"], Ae = {
58
163
  label: `${(e * 100).toFixed(0)}%`,
59
164
  color: e >= .5 ? "bg-green-500/80" : e >= .25 ? "bg-yellow-500/80" : "bg-red-400/80"
60
165
  };
61
- }), q = b(() => H.value ? P(H.value, r.event, "card", r.segIndex) : null), $e = b(() => {
166
+ }), q = S(() => z.value ? I(z.value, r.event, "card", r.segIndex) : null), ut = S(() => {
62
167
  let e = r.segIndex ?? q.value?.segIndex;
63
168
  return e === void 0 ? void 0 : r.event.segments?.[e];
64
- }), et = b(() => q.value?.url), tt = b(() => q.value?.label), nt = b(() => q.value?.type ?? r.event.types[0] ?? "motion"), rt = b(() => {
169
+ }), dt = S(() => q.value?.url), ft = S(() => q.value?.label), pt = S(() => q.value?.type ?? r.event.types[0] ?? "motion"), mt = S(() => {
65
170
  if (r.hideSegmentBadge) return;
66
171
  let e = r.event.segments?.length ?? 0;
67
172
  return r.segIndex !== void 0 && e > 1 ? `${r.segIndex + 1}/${e}` : void 0;
68
- }), J = b(() => {
69
- let e = H.value, t = q.value?.url;
173
+ }), J = S(() => {
174
+ let e = z.value, t = q.value?.url;
70
175
  if (!e || !t) return [];
71
176
  let n = [{
72
177
  url: t,
73
178
  label: q.value?.label,
74
- type: nt.value,
179
+ type: pt.value,
75
180
  crop: !1
76
181
  }];
77
- for (let t of _e(e, r.segIndex)) n.some((e) => e.url === t.url) || n.push({
78
- url: t.url,
79
- label: t.label,
80
- type: t.type,
81
- crop: !0
82
- });
182
+ for (let t of re(e, r.segIndex)) {
183
+ if (n.some((e) => e.url === t.url)) continue;
184
+ let e = t.key.split(":")[0];
185
+ n.push({
186
+ url: t.url,
187
+ label: t.label,
188
+ type: t.type,
189
+ crop: !0,
190
+ faceSeg: /^\d+$/.test(e) ? Number(e) : -1
191
+ });
192
+ }
83
193
  if (r.segIndex === void 0) for (let t of Object.keys(e.cards ?? e.strips ?? {}).sort((e, t) => Number(e) - Number(t))) {
84
- let i = Ce(e.cards?.[t] ?? e.strips?.[t]);
194
+ let i = de(e.cards?.[t] ?? e.strips?.[t]);
85
195
  if (!i || n.some((e) => e.url === i)) continue;
86
- let a = ce(r.event, t);
196
+ let a = P(r.event, t);
87
197
  n.push({
88
198
  url: i,
89
199
  label: a,
@@ -92,26 +202,26 @@ var ke = ["src"], Ae = {
92
202
  });
93
203
  }
94
204
  return n.length > 1 ? n : [];
95
- }), it = b(() => J.value.length > 1), Y = b(() => J.value.length ? Math.min(G.value, J.value.length - 1) : 0), at = b(() => it.value ? J.value[Y.value] : void 0), ot = b(() => !!at.value?.crop), st = b(() => at.value?.url ?? et.value), ct = b(() => at.value?.label ?? tt.value), X = b(() => {
96
- let e = $e.value;
97
- return (e ? se(r.event, e) : [...new Set(r.event.types)]).filter((e) => e !== "motion" && e !== "audio");
98
- }), lt = b(() => r.cameraName ?? r.event.cameraId), Z = b(() => J.value.map((e) => ({
205
+ }), Y = S(() => J.value.length > 1), X = S(() => J.value.length ? Math.min(H.value, J.value.length - 1) : 0), Z = S(() => Y.value ? J.value[X.value] : void 0), ht = S(() => !!Z.value?.crop), gt = S(() => Z.value?.url ?? dt.value), _t = S(() => Z.value?.label ?? ft.value), Q = S(() => {
206
+ let e = ut.value;
207
+ return (e ? oe(r.event, e) : [...new Set(r.event.types)]).filter((e) => e !== "motion" && e !== "audio");
208
+ }), vt = S(() => r.cameraName ?? r.event.cameraId), yt = S(() => J.value.map((e) => ({
99
209
  url: e.url,
100
210
  type: e.type
101
- }))), ut = b(() => X.value.slice(0, Q.value.icons)), Q = b(() => {
102
- let e = Ze.value;
211
+ }))), bt = S(() => Q.value.slice(0, xt.value.icons)), xt = S(() => {
212
+ let e = Be.value;
103
213
  if (!e) return {
104
214
  icons: 2,
105
215
  tiles: 2
106
216
  };
107
- let t = e - Xe;
108
- r.selectionMode && (t -= Ye);
109
- let n = Z.value.length > 0 ? 52 : 0, i = _t(X.value.length, Math.max(0, t - n), Ke), a = X.value.length > 0 ? Math.max(1, i) : 0, o = a * Ke + (a < X.value.length ? Je : 0);
217
+ let t = e - lt;
218
+ r.selectionMode && (t -= ct);
219
+ let n = yt.value.length > 0 ? 52 : 0, i = At(Q.value.length, Math.max(0, t - n), at), a = Q.value.length > 0 ? Math.max(1, i) : 0, o = a * at + (a < Q.value.length ? st : 0);
110
220
  return {
111
221
  icons: a,
112
- tiles: _t(Z.value.length, Math.max(0, t - o), qe)
222
+ tiles: At(yt.value.length, Math.max(0, t - o), ot)
113
223
  };
114
- }), dt = b(() => X.value.slice(Q.value.icons)), ft = b(() => Z.value.slice(0, Q.value.tiles)), pt = b(() => Z.value.length - Q.value.tiles), mt = b(() => {
224
+ }), St = S(() => Q.value.slice(xt.value.icons)), Ct = S(() => yt.value.slice(0, xt.value.tiles)), wt = S(() => yt.value.length - xt.value.tiles), Tt = S(() => {
115
225
  let e = r.segIndex === void 0 ? void 0 : r.event.segments?.[r.segIndex]?.firstSeen, t = new Date(e ?? r.event.thumbnailAt ?? r.event.startTime), n = /* @__PURE__ */ new Date(), i = t.toDateString() === n.toDateString(), a = t.toLocaleTimeString([], {
116
226
  hour: "2-digit",
117
227
  minute: "2-digit"
@@ -120,67 +230,143 @@ var ke = ["src"], Ae = {
120
230
  month: "short",
121
231
  day: "numeric"
122
232
  })} ${a}`;
123
- }), ht = b(() => !!(m.value && r.event.endTime && r.event.hasRecording !== !1)), gt = b(() => F ? z.value ? f("views.recordings.no_preview") : V.value ? F.status.value === "unavailable" ? f("views.recordings.no_preview") : F.status.value === "playing" && F.previewTimeMs.value ? bt(F.previewTimeMs.value) : "" : "" : "");
124
- function _t(e, t, n) {
125
- return e === 0 || t < n ? 0 : e * n <= t ? e : Math.max(0, Math.floor((t - Je) / n));
233
+ }), Et = S(() => !!(m.value && r.event.endTime && r.event.hasRecording !== !1)), Dt = S(() => j ? L.value ? f("views.recordings.no_preview") : R.value ? j.status.value === "unavailable" ? f("views.recordings.no_preview") : j.status.value === "playing" && j.previewTimeMs.value ? Nt(j.previewTimeMs.value) : "" : "" : ""), Ot = S(() => {
234
+ let e = Z.value;
235
+ if (!(!e || e.type !== "face")) return e.label ? e.label : "unknown";
236
+ }), kt = S(() => {
237
+ let e = [];
238
+ return Ot.value !== void 0 && e.push({
239
+ key: "reassign",
240
+ label: f("views.recordings.reassign_face"),
241
+ icon: ze,
242
+ loading: W.value,
243
+ onClick: () => Bt()
244
+ }), r.camera && e.push({
245
+ key: "trace",
246
+ label: f("views.recordings.open_trace"),
247
+ icon: Ee,
248
+ onClick: () => i("openTrace")
249
+ }), Et.value && e.push({
250
+ key: "download",
251
+ label: f("views.recordings.download"),
252
+ icon: Ce,
253
+ loading: V.value,
254
+ onClick: () => Ut()
255
+ }), e;
256
+ });
257
+ function At(e, t, n) {
258
+ return e === 0 || t < n ? 0 : e * n <= t ? e : Math.max(0, Math.floor((t - st) / n));
126
259
  }
127
- function vt(e) {
260
+ function jt(e) {
128
261
  let t = J.value.length;
129
- t && ($(), G.value = (Y.value + e + t) % t);
262
+ t && ($(), H.value = (X.value + e + t) % t);
130
263
  }
131
- function yt(e, t) {
132
- it.value && (t.stopPropagation(), $(), G.value = e);
264
+ function Mt(e, t) {
265
+ Y.value && (t.stopPropagation(), $(), H.value = e);
133
266
  }
134
267
  function $() {
135
- z.value = !1, !(!F || !V.value) && (V.value = !1, F.onHoverEnd());
268
+ L.value = !1, !(!j || !R.value) && (R.value = !1, j.onHoverEnd());
136
269
  }
137
- function bt(e) {
270
+ function Nt(e) {
138
271
  let t = new Date(e);
139
272
  return `${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}:${String(t.getSeconds()).padStart(2, "0")}`;
140
273
  }
141
- function xt() {
142
- if (!F || Y.value > 0) return;
143
- let e = L.value;
274
+ function Pt() {
275
+ if (!j || X.value > 0) return;
276
+ let e = Ne.value;
144
277
  if (!e) return;
145
- let t = N(r.event);
278
+ let t = Te(r.event);
146
279
  if (r.event.hasRecording === !1 || !t) {
147
- z.value = !0;
280
+ L.value = !0;
148
281
  return;
149
282
  }
150
- V.value = !0, F.onHoverStart(e, r.event.cameraId, r.event.id, r.event.startTime, t, r.camera?.zones?.privacy, ae(r.event));
283
+ R.value = !0, j.onHoverStart(e, r.event.cameraId, r.event.id, r.event.startTime, t, r.camera?.zones?.privacy, fe(r.event));
151
284
  }
152
- function St() {
153
- B.blocksMouseEnter() || xt();
285
+ function Ft() {
286
+ Le.blocksMouseEnter() || Pt();
154
287
  }
155
- function Ct() {
156
- z.value = !1, F && (V.value = !1, F.onHoverEnd());
288
+ function It() {
289
+ L.value = !1, j && (R.value = !1, j.onHoverEnd());
157
290
  }
158
- async function wt(e = 2) {
291
+ async function Lt(e = 2) {
159
292
  let t = await r.loadThumbnails(r.event.id, r.event.startTime);
160
293
  if (t) {
161
- H.value = t;
162
- let e = P(t, r.event, "card");
163
- U.value = e.url ? "loaded" : "empty";
164
- } else if (e > 0) return await new Promise((e) => setTimeout(e, 500)), wt(e - 1);
165
- else U.value = r.event.state === "active" ? "loading" : "empty";
294
+ z.value = t;
295
+ let e = I(t, r.event, "card");
296
+ B.value = e.url ? "loaded" : "empty";
297
+ } else if (e > 0) return await new Promise((e) => setTimeout(e, 500)), Lt(e - 1);
298
+ else B.value = r.event.state === "active" ? "loading" : "empty";
166
299
  }
167
- function Tt() {
168
- if (!B.consumesClick()) {
300
+ function Rt() {
301
+ if (!Le.consumesClick()) {
169
302
  if (r.selectionMode) {
170
303
  i("select");
171
304
  return;
172
305
  }
173
- i("scrollToEvent", $e.value?.firstSeen ?? le(r.event));
306
+ i("scrollToEvent", ut.value?.firstSeen ?? ce(r.event));
174
307
  }
175
308
  }
176
- async function Et() {
177
- if (W.value) return;
309
+ function zt(e) {
310
+ $(), Ie.value?.toggleMenu(e);
311
+ }
312
+ function Bt() {
313
+ let e = Ot.value;
314
+ e !== void 0 && _.openComponentDialog(Ve, {
315
+ data: {
316
+ title: f("views.recordings.reassign_face"),
317
+ confirmText: f("components.form.button.save"),
318
+ contentProps: {
319
+ cropUrl: Z.value?.url,
320
+ oldName: e
321
+ }
322
+ },
323
+ onConfirm: (e) => Vt(e)
324
+ });
325
+ }
326
+ async function Vt(e) {
327
+ let t = Ot.value;
328
+ if (t === void 0 || W.value) return;
329
+ let n = Z.value?.faceSeg ?? -1, i = m.value;
330
+ if (i?.reassignEventFace) {
331
+ W.value = !0;
332
+ try {
333
+ await i.reassignEventFace(r.event.id, n, t, e) > 0 && le(r.event.id), s.add({
334
+ severity: "success",
335
+ detail: f("views.recordings.reassign_done"),
336
+ life: 3e3
337
+ });
338
+ } catch (e) {
339
+ s.add({
340
+ severity: "error",
341
+ detail: we(e),
342
+ life: 5e3
343
+ });
344
+ } finally {
345
+ W.value = !1;
346
+ }
347
+ }
348
+ }
349
+ async function Ht() {
350
+ let e = !G.value;
351
+ U.value = e;
352
+ try {
353
+ await p.setEventFavorite(r.event.id, e);
354
+ } catch (e) {
355
+ U.value = null, s.add({
356
+ severity: "error",
357
+ detail: we(e),
358
+ life: 5e3
359
+ });
360
+ }
361
+ }
362
+ async function Ut() {
363
+ if (V.value) return;
178
364
  let e = m.value;
179
365
  if (!(!e?.nvrExport || !r.event.endTime)) {
180
- W.value = !0;
366
+ V.value = !0;
181
367
  try {
182
368
  let t = await e.nvrExport(r.event.cameraId, r.event.startTime * 1e3, r.event.endTime * 1e3);
183
- await me({
369
+ await ye({
184
370
  url: t.url,
185
371
  filename: t.filename
186
372
  });
@@ -188,177 +374,188 @@ var ke = ["src"], Ae = {
188
374
  o.error("Download failed:", e), s.add({
189
375
  severity: "error",
190
376
  summary: f("views.recordings.download_failed"),
191
- detail: ve(e),
377
+ detail: we(e),
192
378
  life: 5e3
193
379
  });
194
380
  } finally {
195
- W.value = !1;
381
+ V.value = !1;
196
382
  }
197
383
  }
198
384
  }
199
- return S(() => p.storeVersion.value, () => {
385
+ return ee(() => p.storeVersion.value, () => {
200
386
  let e = p.getCachedThumbnails(r.event.id);
201
- e && (H.value = e, P(e, r.event, "card").url && (U.value = "loaded"));
202
- }), ee(() => {
203
- A === "loading" && wt();
387
+ if (!e) {
388
+ z.value && Lt();
389
+ return;
390
+ }
391
+ z.value = e, I(e, r.event, "card").url && (B.value = "loaded");
392
+ }), te(() => {
393
+ E === "loading" && Lt();
204
394
  }), (t, r) => {
205
- let o = he, s = ue, c = ge, f = ne, p = Oe, m = de, b = ye, S = xe, T = fe, D = Se, A = te;
206
- return u(), C("div", {
395
+ let i = be, o = ue, s = he, c = pe, f = Pe, p = Re, m = xe, _ = Se, S = _e, ee = Oe, T = ne;
396
+ return u(), w("div", {
207
397
  ref_key: "rootRef",
208
- ref: I,
398
+ ref: F,
209
399
  class: "recording-card relative group cursor-pointer",
210
- onClick: Tt,
211
- onMouseenter: St,
212
- onMouseleave: Ct
213
- }, [O("div", {
400
+ onClick: Rt,
401
+ onMouseenter: Ft,
402
+ onMouseleave: It
403
+ }, [k("div", {
214
404
  class: h(["bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200", { "ring-2 ring-inset ring-primary/70": e.siblingActive }]),
215
405
  style: { "aspect-ratio": "1/1" }
216
406
  }, [
217
- y(U) === "loading" ? (u(), _(o, {
407
+ x(B) === "loading" ? (u(), v(i, {
218
408
  key: 0,
219
409
  width: "100%",
220
410
  height: "100%",
221
411
  class: "rounded-xl"
222
- })) : y(st) ? (u(), C(E, { key: 1 }, [y(ot) ? (u(), C("img", {
412
+ })) : x(gt) ? (u(), w(D, { key: 1 }, [x(ht) ? (u(), w("img", {
223
413
  key: 0,
224
- src: y(st),
414
+ src: x(gt),
225
415
  "aria-hidden": "true",
226
416
  class: "absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none"
227
- }, null, 8, ke)) : v("", !0), M(s, {
228
- src: y(st),
229
- alt: y(lt),
417
+ }, null, 8, He)) : y("", !0), N(o, {
418
+ src: x(gt),
419
+ alt: x(vt),
230
420
  class: "pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105",
231
- "image-style": { objectFit: y(ot) ? "contain" : "cover" },
421
+ "image-style": { objectFit: x(ht) ? "contain" : "cover" },
232
422
  "image-container-class": "w-full h-full"
233
423
  }, null, 8, [
234
424
  "src",
235
425
  "alt",
236
426
  "image-style"
237
- ])], 64)) : (u(), C("div", Ae, [(u(), _(g(y(w)[y(nt)] ?? y(w).motion), { class: "w-10 h-10 text-white/20" }))])),
238
- y(F) ? k((u(), C("canvas", {
427
+ ])], 64)) : (u(), w("div", Ue, [(u(), v(g(x(b)[x(pt)] ?? x(b).motion), { class: "w-10 h-10 text-white/20" }))])),
428
+ x(j) ? A((u(), w("canvas", {
239
429
  key: 3,
240
430
  ref_key: "previewCanvasRef",
241
- ref: L,
431
+ ref: Ne,
242
432
  class: "absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]"
243
- }, null, 512)), [[n, y(V)]]) : v("", !0),
244
- r[3] ||= O("div", { class: "absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]" }, null, -1),
245
- O("div", je, [O("div", Me, [
246
- y(Qe) ? (u(), _(c, {
247
- key: 0,
248
- position: "inline"
249
- })) : v("", !0),
250
- O("p", Ne, d(y(lt)), 1),
251
- y(rt) ? (u(), C("span", Pe, d(y(rt)), 1)) : v("", !0),
252
- y(K) ? (u(), C("span", {
433
+ }, null, 512)), [[n, x(R)]]) : y("", !0),
434
+ r[2] ||= k("div", { class: "absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]" }, null, -1),
435
+ k("div", We, [k("div", Ge, [
436
+ k("p", Ke, d(x(vt)), 1),
437
+ x(mt) ? (u(), w("span", qe, d(x(mt)), 1)) : y("", !0),
438
+ x(K) ? (u(), w("span", {
439
+ key: 1,
440
+ class: h(["text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0", x(K).color])
441
+ }, d(x(K).label), 3)) : y("", !0),
442
+ e.selectionMode ? y("", !0) : A((u(), v(f, {
253
443
  key: 2,
254
- class: h(["text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0", y(K).color])
255
- }, d(y(K).label), 3)) : v("", !0),
256
- e.camera && !e.selectionMode ? k((u(), _(p, {
257
- key: 3,
258
444
  rounded: "",
259
445
  text: "",
260
446
  severity: "secondary",
261
447
  class: "!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80",
262
- onClick: r[0] ||= a((e) => i("openTrace"), ["stop"]),
448
+ onClick: a(Ht, ["stop"]),
263
449
  onMouseenter: $
264
450
  }, {
265
- icon: x(() => [M(f, { class: "w-3 h-3 text-white" })]),
451
+ icon: C(() => [x(G) ? (u(), v(s, {
452
+ key: 0,
453
+ class: "w-3 h-3 text-yellow-400"
454
+ })) : (u(), v(c, {
455
+ key: 1,
456
+ class: "w-3 h-3 text-white"
457
+ }))]),
266
458
  _: 1
267
459
  })), [[
268
- A,
269
- { value: t.$t("views.recordings.open_trace") },
460
+ T,
461
+ { value: x(G) ? t.$t("views.recordings.unfavorite") : t.$t("views.recordings.favorite") },
270
462
  void 0,
271
463
  { left: !0 }
272
- ]]) : v("", !0),
273
- y(ht) && !e.selectionMode ? k((u(), _(p, {
274
- key: 4,
464
+ ]]),
465
+ x(kt).length > 0 && !e.selectionMode ? A((u(), v(f, {
466
+ key: 3,
275
467
  rounded: "",
276
468
  text: "",
277
469
  severity: "secondary",
278
- loading: y(W),
470
+ loading: x(V) || x(W),
279
471
  class: "!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80",
280
- onClick: a(Et, ["stop"]),
472
+ onClick: a(zt, ["stop"]),
281
473
  onMouseenter: $
282
474
  }, {
283
- icon: x(() => [M(m, { class: "w-3 h-3 text-white" })]),
475
+ icon: C(() => [N(p, { class: "w-3 h-3 text-white" })]),
284
476
  _: 1
285
477
  }, 8, ["loading"])), [[
286
- A,
287
- { value: t.$t("views.recordings.download") },
478
+ T,
479
+ { value: t.$t("views.recordings.more_actions") },
288
480
  void 0,
289
481
  { left: !0 }
290
- ]]) : v("", !0)
291
- ]), O("p", Fe, d(y(mt)), 1)]),
292
- y(J).length > 1 ? (u(), C(E, { key: 4 }, [M(p, {
482
+ ]]) : y("", !0)
483
+ ]), k("p", Je, d(x(Tt)), 1)]),
484
+ x(J).length > 1 ? (u(), w(D, { key: 4 }, [N(f, {
293
485
  rounded: "",
294
486
  text: "",
295
487
  severity: "secondary",
296
488
  class: "carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200",
297
489
  "aria-label": t.$t("views.recordings.prev_image"),
298
- onClick: r[1] ||= a((e) => vt(-1), ["stop"]),
490
+ onClick: r[0] ||= a((e) => jt(-1), ["stop"]),
299
491
  onMouseenter: $
300
492
  }, {
301
- icon: x(() => [M(b, { class: "w-5 h-5 text-white" })]),
493
+ icon: C(() => [N(m, { class: "w-5 h-5 text-white" })]),
302
494
  _: 1
303
- }, 8, ["aria-label"]), M(p, {
495
+ }, 8, ["aria-label"]), N(f, {
304
496
  rounded: "",
305
497
  text: "",
306
498
  severity: "secondary",
307
499
  class: "carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200",
308
500
  "aria-label": t.$t("views.recordings.next_image"),
309
- onClick: r[2] ||= a((e) => vt(1), ["stop"]),
501
+ onClick: r[1] ||= a((e) => jt(1), ["stop"]),
310
502
  onMouseenter: $
311
503
  }, {
312
- icon: x(() => [M(S, { class: "w-5 h-5 text-white" })]),
504
+ icon: C(() => [N(_, { class: "w-5 h-5 text-white" })]),
313
505
  _: 1
314
- }, 8, ["aria-label"])], 64)) : v("", !0),
315
- y(ct) ? (u(), C("div", {
506
+ }, 8, ["aria-label"])], 64)) : y("", !0),
507
+ x(_t) ? (u(), w("div", {
316
508
  key: 5,
317
- class: h(["absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200", y(gt) ? "bottom-16" : "bottom-10"])
318
- }, [O("span", Ie, d(y(ct)), 1)], 2)) : v("", !0),
319
- O("div", {
509
+ class: h(["absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200", x(Dt) ? "bottom-16" : "bottom-10"])
510
+ }, [k("span", Ye, d(x(_t)), 1)], 2)) : y("", !0),
511
+ k("div", {
320
512
  ref_key: "footerRef",
321
- ref: R,
513
+ ref: Fe,
322
514
  class: "absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]"
323
- }, [O("div", Le, [
324
- e.selectionMode ? (u(), C("div", {
515
+ }, [k("div", Xe, [
516
+ e.selectionMode ? (u(), w("div", {
325
517
  key: 0,
326
518
  class: h(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0", e.selected ? "bg-primary border-primary" : "bg-black/40 border-white/80"])
327
- }, [e.selected ? (u(), _(T, {
519
+ }, [e.selected ? (u(), v(S, {
328
520
  key: 0,
329
521
  class: "w-4 h-4 text-white"
330
- })) : v("", !0)], 2)) : v("", !0),
331
- (u(!0), C(E, null, l(y(ut), (e) => (u(), C("div", {
522
+ })) : y("", !0)], 2)) : y("", !0),
523
+ (u(!0), w(D, null, l(x(bt), (e) => (u(), w("div", {
332
524
  key: e,
333
525
  class: "flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0"
334
- }, [(u(), _(g(y(w)[e] ?? y(w).motion), { class: "w-3 h-3 text-white/80" }))]))), 128)),
335
- y(dt).length > 0 ? (u(), C("span", {
526
+ }, [(u(), v(g(x(b)[e] ?? x(b).motion), { class: "w-3 h-3 text-white/80" }))]))), 128)),
527
+ x(St).length > 0 ? (u(), w("span", {
336
528
  key: 1,
337
- title: y(dt).join(", "),
529
+ title: x(St).join(", "),
338
530
  class: "text-[10px] text-white/60 font-medium shrink-0"
339
- }, " +" + d(y(dt).length), 9, Re)) : v("", !0)
340
- ]), y(ft).length > 0 || y(pt) > 0 ? (u(), C("div", ze, [(u(!0), C(E, null, l(y(ft), (e, t) => (u(), C("div", {
531
+ }, " +" + d(x(St).length), 9, Ze)) : y("", !0)
532
+ ]), x(Ct).length > 0 || x(wt) > 0 ? (u(), w("div", Qe, [(u(!0), w(D, null, l(x(Ct), (e, t) => (u(), w("div", {
341
533
  key: t,
342
- class: h(["w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer", t === y(Y) ? "border-primary/80" : "border-white/20"]),
343
- onClick: (e) => yt(t, e)
344
- }, [O("img", {
534
+ class: h(["w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer", t === x(X) ? "border-primary/80" : "border-white/20"]),
535
+ onClick: (e) => Mt(t, e)
536
+ }, [k("img", {
345
537
  src: e.url,
346
538
  alt: e.type,
347
539
  decoding: "async",
348
540
  loading: "lazy",
349
541
  class: "w-full h-full object-cover"
350
- }, null, 8, Ve)], 10, Be))), 128)), y(pt) > 0 ? (u(), C("span", He, "+" + d(y(pt)), 1)) : v("", !0)])) : v("", !0)], 512),
351
- y(F) && y(V) && y(F).isLoading.value ? (u(), C("div", Ue, [M(D, {
542
+ }, null, 8, et)], 10, $e))), 128)), x(wt) > 0 ? (u(), w("span", tt, "+" + d(x(wt)), 1)) : y("", !0)])) : y("", !0)], 512),
543
+ x(j) && x(R) && x(j).isLoading.value ? (u(), w("div", nt, [N(ee, {
352
544
  class: "w-[28px] h-[28px] m-0",
353
545
  "stroke-width": "6"
354
- })])) : v("", !0),
355
- y(gt) ? (u(), C("div", We, [O("span", Ge, d(y(gt)), 1)])) : v("", !0)
356
- ], 2)], 544);
546
+ })])) : y("", !0),
547
+ x(Dt) ? (u(), w("div", rt, [k("span", it, d(x(Dt)), 1)])) : y("", !0)
548
+ ], 2), N(se, {
549
+ ref_key: "cardMenuRef",
550
+ ref: Ie,
551
+ items: x(kt),
552
+ popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
553
+ }, null, 8, ["items"])], 544);
357
554
  };
358
555
  }
359
- }), [["__scopeId", "data-v-97ad8176"]]), R = {
556
+ }), [["__scopeId", "data-v-dfc29d48"]]), ut = {
360
557
  name: "VirtualScroller",
361
- components: { SpinnerIcon: I },
558
+ components: { SpinnerIcon: Ne },
362
559
  extends: {
363
560
  name: "BaseVirtualScroller",
364
561
  extends: i,
@@ -906,14 +1103,14 @@ var ke = ["src"], Ae = {
906
1103
  this.content = e;
907
1104
  }
908
1105
  }
909
- }, z = ["tabindex"];
910
- function B(e, t, n, r, i, a) {
911
- let o = w("SpinnerIcon");
912
- return e.disabled ? (u(), C(E, { key: 1 }, [f(e.$slots, "default"), f(e.$slots, "content", {
1106
+ }, dt = ["tabindex"];
1107
+ function ft(e, t, n, r, i, a) {
1108
+ let o = T("SpinnerIcon");
1109
+ return e.disabled ? (u(), w(D, { key: 1 }, [f(e.$slots, "default"), f(e.$slots, "content", {
913
1110
  items: e.items,
914
1111
  rows: e.items,
915
1112
  columns: a.loadedColumns
916
- })], 64)) : (u(), C("div", p({
1113
+ })], 64)) : (u(), w("div", p({
917
1114
  key: 0,
918
1115
  ref: a.elementRef,
919
1116
  class: a.containerClass,
@@ -935,29 +1132,32 @@ function B(e, t, n, r, i, a) {
935
1132
  vertical: a.isVertical(),
936
1133
  horizontal: a.isHorizontal(),
937
1134
  both: a.isBoth()
938
- }, () => [O("div", p({
1135
+ }, () => [k("div", p({
939
1136
  ref: a.contentRef,
940
1137
  class: a.contentClass,
941
1138
  style: i.contentStyle
942
- }, e.ptm("content")), [(u(!0), C(E, null, l(a.loadedItems, (t, n) => f(e.$slots, "item", {
1139
+ }, e.ptm("content")), [(u(!0), w(D, null, l(a.loadedItems, (t, n) => f(e.$slots, "item", {
943
1140
  item: t,
944
1141
  options: a.getOptions(n)
945
1142
  }, void 0, void 0, a.resolveItemKey(t, n))), 128))], 16)]),
946
- e.showSpacer ? (u(), C("div", p({
1143
+ e.showSpacer ? (u(), w("div", p({
947
1144
  key: 0,
948
1145
  class: "p-virtualscroller-spacer",
949
1146
  style: i.spacerStyle
950
- }, e.ptm("spacer")), null, 16)) : v("", !0),
951
- !e.loaderDisabled && e.showLoader && i.d_loading ? (u(), C("div", p({
1147
+ }, e.ptm("spacer")), null, 16)) : y("", !0),
1148
+ !e.loaderDisabled && e.showLoader && i.d_loading ? (u(), w("div", p({
952
1149
  key: 1,
953
1150
  class: a.loaderClass
954
- }, e.ptm("loader")), [e.$slots && e.$slots.loader ? (u(!0), C(E, { key: 0 }, l(i.loaderArr, (t, n) => f(e.$slots, "loader", { options: a.getLoaderOptions(n, a.isBoth() && { numCols: e.d_numItemsInViewport.cols }) }, void 0, void 0, n)), 128)) : v("", !0), f(e.$slots, "loadingicon", {}, () => [M(o, p({
1151
+ }, e.ptm("loader")), [e.$slots && e.$slots.loader ? (u(!0), w(D, { key: 0 }, l(i.loaderArr, (t, n) => f(e.$slots, "loader", { options: a.getLoaderOptions(n, a.isBoth() && { numCols: e.d_numItemsInViewport.cols }) }, void 0, void 0, n)), 128)) : y("", !0), f(e.$slots, "loadingicon", {}, () => [N(o, p({
955
1152
  spin: "",
956
1153
  class: "p-virtualscroller-loading-icon"
957
- }, e.ptm("loadingIcon")), null, 16)])], 16)) : v("", !0)
958
- ], 16, z));
1154
+ }, e.ptm("loadingIcon")), null, 16)])], 16)) : y("", !0)
1155
+ ], 16, dt));
959
1156
  }
960
- var V = /*#__PURE__*/ F(R, [["render", B]]), H = /*#__PURE__*/ F(/* @__PURE__ */ A({
1157
+ var pt = /*#__PURE__*/ F(ut, [["render", ft]]), mt = {
1158
+ key: 1,
1159
+ class: "pointer-events-none absolute bottom-2 left-1/2 -translate-x-1/2 z-10 rounded-full bg-black/60 p-1.5"
1160
+ }, J = /*#__PURE__*/ F(/* @__PURE__ */ j({
961
1161
  __name: "CuiRecordingsGrid",
962
1162
  props: {
963
1163
  items: {},
@@ -978,15 +1178,15 @@ var V = /*#__PURE__*/ F(R, [["render", B]]), H = /*#__PURE__*/ F(/* @__PURE__ */
978
1178
  }
979
1179
  },
980
1180
  setup(e, { expose: t }) {
981
- let n = e, r = D("containerRef"), { width: i, height: a } = we(r), o = b(() => a.value > 0 ? `${a.value}px` : void 0), s = b(() => {
1181
+ let n = e, r = O("containerRef"), { width: i, height: a } = ke(r), o = S(() => a.value > 0 ? `${a.value}px` : void 0), s = S(() => {
982
1182
  let e = i.value;
983
1183
  if (!e) return 0;
984
1184
  let t = n.gap;
985
1185
  return Math.max(1, Math.floor((e + t) / (n.minItemWidth + t)));
986
- }), c = b(() => {
1186
+ }), c = S(() => {
987
1187
  let e = i.value, t = s.value;
988
1188
  return !e || !t ? 0 : Math.floor((e - (t - 1) * n.gap) / t);
989
- }), d = b(() => c.value ? Math.floor(c.value / n.aspectRatio) : 0), p = b(() => d.value ? d.value + n.gap : 0), h = b(() => {
1189
+ }), d = S(() => c.value ? Math.floor(c.value / n.aspectRatio) : 0), p = S(() => d.value ? d.value + n.gap : 0), h = S(() => {
990
1190
  let e = s.value;
991
1191
  if (!e) return [];
992
1192
  let t = [];
@@ -998,28 +1198,28 @@ var V = /*#__PURE__*/ F(R, [["render", B]]), H = /*#__PURE__*/ F(/* @__PURE__ */
998
1198
  let t = e;
999
1199
  return t.id ?? t.key ?? JSON.stringify(e);
1000
1200
  }
1001
- function w(e) {
1201
+ function _(e) {
1002
1202
  let t = e;
1003
1203
  if (!(!t || t.length === 0)) return g(t[0]);
1004
1204
  }
1005
- let k = !1, A = null;
1006
- async function M() {
1007
- if (k || !n.hasMore || !n.loadMore || A !== null && n.items.length === A) return;
1008
- k = !0;
1205
+ let b = M(!1), T = null;
1206
+ async function A() {
1207
+ if (b.value || !n.hasMore || !n.loadMore || T !== null && n.items.length === T) return;
1208
+ b.value = !0;
1009
1209
  let e = n.items.length;
1010
1210
  try {
1011
1211
  await Promise.resolve(n.loadMore());
1012
1212
  } finally {
1013
- k = !1, A = n.items.length === e ? e : null;
1213
+ b.value = !1, T = n.items.length === e ? e : null;
1014
1214
  }
1015
1215
  }
1016
- let ee = j(0);
1216
+ let j = M(0);
1017
1217
  function te(e) {
1018
1218
  let t = e.target;
1019
1219
  if (!t) return;
1020
- ee.value = t.scrollTop;
1220
+ j.value = t.scrollTop;
1021
1221
  let n = p.value * 3;
1022
- t.scrollTop + t.clientHeight >= t.scrollHeight - n && M();
1222
+ t.scrollTop + t.clientHeight >= t.scrollHeight - n && A();
1023
1223
  }
1024
1224
  function ne() {
1025
1225
  (r.value?.querySelector(".recordings-scroll"))?.scrollTo({
@@ -1027,49 +1227,49 @@ var V = /*#__PURE__*/ F(R, [["render", B]]), H = /*#__PURE__*/ F(/* @__PURE__ */
1027
1227
  behavior: "smooth"
1028
1228
  });
1029
1229
  }
1030
- let N = !1;
1031
- return S([
1230
+ let P = !1;
1231
+ return ee([
1032
1232
  () => n.items.length,
1033
1233
  a,
1034
1234
  p,
1035
1235
  () => n.hasMore
1036
1236
  ], () => {
1037
- N || (N = !0, m(() => {
1038
- if (N = !1, !n.hasMore) return;
1237
+ P || (P = !0, m(() => {
1238
+ if (P = !1, !n.hasMore) return;
1039
1239
  let e = a.value, t = h.value.length * p.value;
1040
- e > 0 && p.value > 0 && t < e + p.value && M();
1240
+ e > 0 && p.value > 0 && t < e + p.value && A();
1041
1241
  }));
1042
1242
  }, { flush: "post" }), t({
1043
1243
  scrollToTop: ne,
1044
- scrollY: ee
1244
+ scrollY: j
1045
1245
  }), (t, n) => {
1046
- let i = V;
1047
- return u(), C("div", {
1246
+ let i = pt, a = L;
1247
+ return u(), w("div", {
1048
1248
  ref_key: "containerRef",
1049
1249
  ref: r,
1050
- class: "recordings-grid-root"
1051
- }, [y(h).length > 0 && y(c) > 0 ? (u(), _(i, {
1250
+ class: "recordings-grid-root relative"
1251
+ }, [x(h).length > 0 && x(c) > 0 ? (u(), v(i, {
1052
1252
  key: 0,
1053
- items: y(h),
1054
- "item-size": y(p),
1055
- "scroll-height": y(o),
1253
+ items: x(h),
1254
+ "item-size": x(p),
1255
+ "scroll-height": x(o),
1056
1256
  orientation: "vertical",
1057
1257
  class: "recordings-scroll",
1058
1258
  "num-tolerated-items": 2,
1059
- "item-key": w,
1259
+ "item-key": _,
1060
1260
  onScroll: te
1061
1261
  }, {
1062
- item: x(({ item: n }) => [O("div", {
1262
+ item: C(({ item: n }) => [k("div", {
1063
1263
  class: "recordings-row",
1064
- style: T({
1065
- height: `${y(p)}px`,
1264
+ style: E({
1265
+ height: `${x(p)}px`,
1066
1266
  gap: `${e.gap}px`
1067
1267
  })
1068
- }, [(u(!0), C(E, null, l(n, (e) => (u(), C("div", {
1268
+ }, [(u(!0), w(D, null, l(n, (e) => (u(), w("div", {
1069
1269
  key: g(e),
1070
- style: T({
1071
- width: `${y(c)}px`,
1072
- height: `${y(d)}px`
1270
+ style: E({
1271
+ width: `${x(c)}px`,
1272
+ height: `${x(d)}px`
1073
1273
  })
1074
1274
  }, [f(t.$slots, "item", { item: e }, void 0, !0)], 4))), 128))], 4)]),
1075
1275
  _: 3
@@ -1077,13 +1277,17 @@ var V = /*#__PURE__*/ F(R, [["render", B]]), H = /*#__PURE__*/ F(/* @__PURE__ */
1077
1277
  "items",
1078
1278
  "item-size",
1079
1279
  "scroll-height"
1080
- ])) : v("", !0)], 512);
1280
+ ])) : y("", !0), x(b) ? (u(), w("div", mt, [N(a, {
1281
+ width: "18px",
1282
+ height: "18px",
1283
+ class: "text-white"
1284
+ })])) : y("", !0)], 512);
1081
1285
  };
1082
1286
  }
1083
- }), [["__scopeId", "data-v-e61b8b84"]]);
1287
+ }), [["__scopeId", "data-v-57a2aa74"]]);
1084
1288
  //#endregion
1085
1289
  //#region src/components/CuiRecordings/ungrouped.ts
1086
- function U(e) {
1290
+ function Y(e) {
1087
1291
  if (e.episode) return e.episode.endTime;
1088
1292
  if (e.segIndex !== void 0) {
1089
1293
  let t = e.event.segments?.[e.segIndex];
@@ -1091,7 +1295,7 @@ function U(e) {
1091
1295
  }
1092
1296
  return e.event.thumbnailAt ?? e.event.startTime;
1093
1297
  }
1094
- function W(e) {
1298
+ function X(e) {
1095
1299
  let t = [];
1096
1300
  for (let n of e) {
1097
1301
  let e = n.segments ?? [];
@@ -1110,7 +1314,7 @@ function W(e) {
1110
1314
  });
1111
1315
  });
1112
1316
  }
1113
- return t.sort((e, t) => U(t) - U(e)), t;
1317
+ return t.sort((e, t) => Y(t) - Y(e)), t;
1114
1318
  }
1115
1319
  //#endregion
1116
- export { L as i, U as n, H as r, W as t };
1320
+ export { q as i, Y as n, J as r, X as t };